Get All Root Groups in Alfresco
I was too curious and wonder how I can get or visibly see all the groups in Alfresco aside from using the Admin Console functionality. I found out that it is possible using web scripts.
I want to display in a web browser the list of all groups in Alfresco using a simple java-script web script.
NOTE: I will assume you know how to create a web script, or at least have an idea. =P
1. Log in to your Alfresco as admin.
This folder is where we usually put our custom web scripts. By default, custom web scripts should be pit in this folder.
3. Create a folder (any name will do, e.g. getAllGroups) inside the Web Scripts Extensions folder.
4. Under the folder created in step 3, we create the 3 files below:
a. getAllGroups.get.desc.xml – the descriptor file that is responsible for registering our web script in Alfresco. This file will containt the following code
<shortname>Gets All the Groups in Alfresco</shortname>
<description>This is a sample web script</description>
The explanation for each tags can be found here.
b. getAllGroups.get.html.ftl – free-marker template, used to represent the response data from Alfresco. Below is an example with formatting.
<#list alfrescoGroups as g>
/*@author – anythingalfresco: Gets all the root groups in Alfresco*/
var myGroups = groups.getAllRootGroups();
model.alfrescoGroups = myGroups;
5. After creating these 3 files, go to the web scripts index page at http://localhost:8080/alfresco/service/index and click Refresh Web Scripts button. Invoke the web script uri (http://localhost:8080/alfresco/service/get/all/groups) and the result should be like the one below:
Now we are done! It’s quite easy? You can try the code in your Alfresco installation and see if it works. BTW, I’ve used Alfresco Enterprise 3.2r in this example. But, it should work in higher versions too. If you want to know more about about Alfresco web scripts, you can visit the Alfresco wiki. =P