Web Script: org/alfresco/components/dashlets/colleagues.get
Generated from /share/service/script/org/alfresco/components/dashlets/colleagues.get on Jun 15, 2026 9:58:32 PM

Script Properties
Id:org/alfresco/components/dashlets/colleagues.get
Short Name:Site Colleagues
Description:Lists colleagues in the collaboration site
Authentication:none
Transaction:none
Method:GET
URL Template:/components/dashlets/colleagues
Format Style:any
Default Format:html
Negotiated Formats:[undefined]
Implementation:class org.alfresco.web.scripts.DeclarativeWebScript
Extensions:[undefined]

Store: classpath:alfresco/site-webscripts

File: org/alfresco/components/dashlets/colleagues.get.desc.xml
<webscript>
   <shortname>Site Colleagues</shortname>
   <description>Lists colleagues in the collaboration site</description>
   <family>site-dashlet</family>
   <url>/components/dashlets/colleagues</url>
</webscript>
File: org/alfresco/components/dashlets/colleagues.get.html.ftl
<div class="dashlet">
   <div class="title">${msg("header.colleagues")}</div>
   <div class="body scrollableList">
<#if (memberships?size > 0)>
   <#list memberships as m>
      <div class="detail-list-item <#if m_index = 0>first-item<#elseif !m_has_next>last-item</#if>">
         <div class="avatar">
            <img src="${url.context}<#if m.avatar??>/proxy/alfresco/api/node/${m.avatar?replace(':/','')}/content/thumbnails/avatar?c=force<#else>/components/images/no-user-photo-64.png</#if>" alt="Avatar" />
         </div>
         <div class="person">
            <h4><a href="${url.context}/page/user/${m.person.userName?url}/profile" class="theme-color-1">${m.person.firstName?html} <#if m.person.lastName??>${m.person.lastName?html}</#if></a></h4>
            <span>${m.role}</span>
         </div>
      </div>
   </#list>
<#else>
      <div class="detail-list-item first-item last-item">
         <h3>${msg("label.noMembers")}</h3>
      </div>
</#if>
   </div>
</div>
File: org/alfresco/components/dashlets/colleagues.get.js
function sortByName(membership1, membership2)
{
   var name1 = membership1.person ? membership1.person.firstName + membership1.person.lastName : "";
   var name2 = membership2.person ? membership2.person.firstName + membership2.person.lastName : "";
   return (name1 > name2) ? 1 : (name1 < name2) ? -1 : 0;
}

// Call the repo for the site memberships
var json = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships");

var memberships = [];

if (json.status == 200)
{
   // Create javascript objects from the repo response
   var obj = eval('(' + json + ')');
   if (obj)
   {
      memberships = obj;
      var userObj, member;
      for (var i = 0, j = memberships.length; i < j; i++)
      {
         member = memberships[i];
         userObj = user.getUser(member.person.userName);
         if (userObj != null)
         {
            member.avatar = userObj.properties.avatar;
         }
      }
      memberships.sort(sortByName);

   }
}

// Prepare the model
model.memberships = memberships;
File: org/alfresco/components/dashlets/colleagues.get.properties
header.colleagues = Site Colleagues 
link.viewAll = All
link.find = Find
label.noMembers = No members in this site yet

Store: classpath:alfresco/webscripts

[No implementation files]