Interface SiteService
- All Known Subinterfaces:
SiteServiceInternal
- All Known Implementing Classes:
SiteServiceImpl
This service API is designed to support the public facing Site APIs
- Author:
- Roy Wetherall
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic enum -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleancanAddMember(String shortName, String authorityName, String role) Can the current user add the authority "authorityName" to the site "shortName" with role "role"?voidcleanSitePermissions(NodeRef relocatedNode, SiteInfo containingSite) This method cleans the permissions on the specified node.intcountAuthoritiesWithRole(String shortName, String role) createContainer(String shortName, String componentId, QName containerType, Map<QName, Serializable> containerProperties) Creates a container for a component is a site of the given container type (must be a sub-type of st:siteContainer)createSite(String sitePreset, String shortName, String title, String description, boolean isPublic) Deprecated.createSite(String sitePreset, String shortName, String title, String description, SiteVisibility visibility) Create a new site.createSite(String sitePreset, String shortName, String title, String description, SiteVisibility visibility, QName siteType) Create a new site.voiddeleteSite(String shortName) Delete the site.This method will find allsitesavailable to the currently authenticated user based on the specified site filter and result set size.This method will find allsitesavailable to the currently authenticated user based on the specified site filter, site preset filter and result set size.getContainer(String shortName, String componentId) Gets the "container" folder for the specified component.getMembersRole(String shortName, String authorityName) getMembersRoleInfo(String shortName, String authorityName) Gets the extended role information of the specified user.Gets site information based on the short name of a site.This method gets theSiteInfofor the Share Site which contains the given NodeRef.getSiteGroup(String shortName) Gets the sites group.getSiteRoleGroup(String shortName, String role) Gets the sites role group.Gets a list of all the currently available roles that a user can perform on all sitesgetSiteRoles(String shortName) Gets a list of all the currently available roles that a user can perform on a specific site.Gets the reference to the folder that is the Site root node.getSiteShortName(NodeRef nodeRef) This method gets the shortName for the Share Site which contains the given NodeRef.booleanhasContainer(String shortName, String componentId) Determines if a "container" folder for the specified component exists.booleanThis method checks if the currently authenticated user has permission to create sites.booleanReturns true if the site exists.booleanIndicates whether an authority is a member of a site or notbooleanisSiteAdmin(String userName) Indicates whether the specified user is a site administrator or not.org.alfresco.query.PagingResults<FileInfo>listContainers(String shortName, org.alfresco.query.PagingRequest pagingRequest) Returns a paged list of top level containers for the siteorg.alfresco.query.PagingResults<SiteGroupMembership>listGroupMembersPaged(String shortName, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) Returns a paged list of the groups for the site.voidlistMembers(String shortName, String nameFilter, String roleFilter, boolean includeUsers, boolean includeGroups, boolean expandGroups, SiteService.SiteMembersCallback callback) List the members of the site.voidlistMembers(String shortName, String nameFilter, String roleFilter, boolean collapseGroups, SiteService.SiteMembersCallback callback) Deprecated.from 7.0.0, use #listMembers(String, String, String, boolean, boolean, boolean, SiteMembersCallback) instead List the members of the site.listMembers(String shortName, String nameFilter, String roleFilter, int size) List the members of the site.listMembers(String shortName, String nameFilter, String roleFilter, int size, boolean collapseGroups) List the members of the site.listMembersInfo(String shortName, String nameFilter, String roleFilter, int size, boolean collapseGroups) List the members of the site.org.alfresco.query.PagingResults<SiteMembership>listMembersPaged(String shortName, boolean collapseGroups, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) Gets the role of the specified user.listSiteMemberships(String userName, int size) Lists all the memberships in sites that the specified user is in.List all the sites that the specified user has a explicit membership to.List all the sites that the specified user has a explicit membership to.List the available sites.List the available sites.org.alfresco.query.PagingResults<SiteInfo>listSites(List<FilterProp> filterProps, List<Pair<QName, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) This method returnspaged result setsofSiteInfoobjects, which should be more efficient than the unpaged methods also available on this interface.org.alfresco.query.PagingResults<SiteMembership>listSitesPaged(String userName, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) List all the sites that the specified user has a explicit membership to.voidremoveMembership(String shortName, String authorityName) Clears an authorities role within a siteresolveSite(String group) voidsetMembership(String shortName, String authorityName, String role) Sets the role of an authority within a sitevoidupdateSite(SiteInfo siteInfo) Update the site information.
-
Field Details
-
DOCUMENT_LIBRARY
- See Also:
-
-
Method Details
-
createSite
@Auditable(parameters={"sitePreset","shortName"}) SiteInfo createSite(String sitePreset, String shortName, String title, String description, boolean isPublic) Deprecated.since version 3.2, replaced bycreateSite(String, String, String, String, SiteVisibility)Create a new site.- Parameters:
sitePreset- site preset nameshortName- site short name, must be uniquetitle- site titledescription- site descriptionisPublic- whether the site is public or not (true = public, false = private)- Returns:
- SiteInfo information about the created site
-
canAddMember
Can the current user add the authority "authorityName" to the site "shortName" with role "role"?- Parameters:
shortName- site short name, must be uniqueauthorityName- authority to addrole- site role- Returns:
- true if the current user can add the authority to the site, false otherwise
-
createSite
@Auditable(parameters={"sitePreset","shortName"}) SiteInfo createSite(String sitePreset, String shortName, String title, String description, SiteVisibility visibility) Create a new site.- Parameters:
sitePreset- site preset nameshortName- site short name, must be uniquetitle- site titledescription- site descriptionvisibility- site visibility (public|moderated|private)- Returns:
- SiteInfo information about the created site
-
createSite
@Auditable(parameters={"sitePreset","shortName"}) SiteInfo createSite(String sitePreset, String shortName, String title, String description, SiteVisibility visibility, QName siteType) Create a new site.- Parameters:
sitePreset- site preset nameshortName- site short name, must be uniquetitle- site titledescription- site descriptionvisibility- site visibility (public|moderated|private)siteType- type of site to create, must be a sub-type of st:site- Returns:
- SiteInfo information about the created site
-
hasCreateSitePermissions
This method checks if the currently authenticated user has permission to create sites.- Returns:
trueif current user can create sites, elsefalse.- Since:
- 3.4
-
findSites
This method will find allsitesavailable to the currently authenticated user based on the specified site filter, site preset filter and result set size. The filter parameter will match any sites whosecm:name,cm:titleorcm:descriptioncontain the specified string (ignoring case). Note that this method uses Alfresco Full Text Search to retrieve results and depending on server Lucene, SOLR configuration may only offer eventually consistent results.- Parameters:
filter- Any supplied filter will be wrapped in asterisks (e.g. '*foo*') and used to match the sites' cm:name, cm:title or cm:description.sitePresetFilter- a site preset filter name to match against.size- this parameter specifies a maximum result set size.- Returns:
- Site objects for all matching sites up to the maximum result size.
- Since:
- 4.0
-
findSites
This method will find allsitesavailable to the currently authenticated user based on the specified site filter and result set size. The filter parameter will match any sites whosecm:name,cm:titleorcm:descriptioncontain the specified string (ignoring case). Note that this method uses Alfresco Full Text Search to retrieve results and depending on server Lucene, SOLR configuration may only offer eventually consistent results.- Parameters:
filter- Any supplied filter will be wrapped in asterisks (e.g. 'foo*') and used to match the sites' cm:name, cm:title or cm:description.size- this parameter specifies a maximum result set size.- Returns:
- Site objects for all matching sites up to the maximum result size.
- Since:
- 5.0
-
listSites
List the available sites. This list can optionally be filtered by site name/title/description and/or site preset. Note: Starting with Alfresco 4.0, the filter parameter will only match sites whosecm:nameorcm:titleorcm:descriptionstart with the specified string (ignoring case). The listing of sites whose cm:names (or titles or descriptions) contain the specified string is no longer supported. To retrieve sites whose cm:names etc contain a substring,findSites(String, String, int)should be used instead. THIS METHOD CAN RETURN INCOMPLETE RESULTS WHILE CACHES CATCH UP WITH REALITY (BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow).- Parameters:
filter- filter (sites whose cm:name, cm:title or cm:description START WITH filter)sitePresetFilter- site preset filter (sites whose preset EQUALS sitePresetFilter)size- list maximum size or zero for all- Returns:
- list of site information
-
listSites
List the available sites. This list can optionally be filtered by site name/title/description and/or site preset. Note: Starting with Alfresco 4.0, the filter parameter will only match sites whosecm:nameorcm:titleorcm:descriptionstart with the specified string (ignoring case). The listing of sites whose cm:names (or titles or descriptions) contain the specified string is no longer supported. To retrieve sites whose cm:names etc contain a substring,findSites(String, String, int)should be used instead.- Parameters:
filter- filtersitePresetFilter- site preset filter- Returns:
- list of site information
-
listSites
List all the sites that the specified user has a explicit membership to.- Parameters:
userName- user name- Returns:
- list of site information
-
listSites
@NotAuditable org.alfresco.query.PagingResults<SiteInfo> listSites(List<FilterProp> filterProps, List<Pair<QName, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) This method returnspaged result setsofSiteInfoobjects, which should be more efficient than the unpaged methods also available on this interface. It is also guaranteed to return fully consistent results.- Parameters:
filterProps- property filterssortProps- sorting optionspagingRequest- paging options- Returns:
- a page of SiteInfo objects.
- Since:
- 4.0
-
listSiteMemberships
Lists all the memberships in sites that the specified user is in.- Parameters:
userName- Stringsize- list maximum size or zero for all- Returns:
- a list of SiteMembership objects
-
listSites
List all the sites that the specified user has a explicit membership to.- Parameters:
userName- user namesize- list maximum size or zero for all- Returns:
- list of site information
-
getSite
Gets site information based on the short name of a site.Returns null if the site can not be found.
- Parameters:
shortName- the site short name- Returns:
- SiteInfo the site information
-
getSite
This method gets theSiteInfofor the Share Site which contains the given NodeRef. If the given NodeRef is not contained within a Share Site, thennullis returned.- Parameters:
nodeRef- the node whose containing site's info is to be found.- Returns:
- SiteInfo site information for the containing site or
nullif node is not in a site.
-
getSiteShortName
This method gets the shortName for the Share Site which contains the given NodeRef. If the given NodeRef is not contained within a Share Site, thennullis returned.- Parameters:
nodeRef- the node whose containing site's info is to be found.- Returns:
- String site short name for the containing site or
nullif node is not in a site.
-
hasSite
Returns true if the site exists. This allows create scripts to confirm the existence of private sites - they would not normally be returned from getSite() if the user does not have permission on the site noderef.- Parameters:
shortName- the site short name- Returns:
- true if the site exists, false otherwise
-
updateSite
Update the site information.Note that the short name and site preset of a site can not be updated once the site has been created.
- Parameters:
siteInfo- site information
-
deleteSite
Delete the site.- Parameters:
shortName- site short name
-
listMembers
@NotAuditable void listMembers(String shortName, String nameFilter, String roleFilter, boolean collapseGroups, SiteService.SiteMembersCallback callback) Deprecated.from 7.0.0, use #listMembers(String, String, String, boolean, boolean, boolean, SiteMembersCallback) instead List the members of the site. This includes both users and groups.Name and role filters are optional and if not specified all the members of the site are returned.
- Parameters:
shortName- site short namenameFilter- name filterroleFilter- role filtercollapseGroups- true if includes group member into user list, false otherwisecallback- callback
-
listMembers
@NotAuditable void listMembers(String shortName, String nameFilter, String roleFilter, boolean includeUsers, boolean includeGroups, boolean expandGroups, SiteService.SiteMembersCallback callback) List the members of the site. This includes both users and groups. Users and groups can be controlled by passing paramsName and role filters are optional and if not specified all the members of the site are returned.
- Parameters:
shortName- site short namenameFilter- name filterroleFilter- role filterincludeUsers- includes the usersincludeGroups- include the groupsexpandGroups- true if expand group member into user list, false otherwisecallback- callback
-
listMembers
@NotAuditable Map<String,String> listMembers(String shortName, String nameFilter, String roleFilter, int size) List the members of the site. This includes both users and groups.Name and role filters are optional and if not specified all the members of the site are returned.
- Parameters:
shortName- site short namenameFilter- name filterroleFilter- role filtersize- max results size crop if >0- Returns:
- the authority name and their role
-
listMembers
@NotAuditable Map<String,String> listMembers(String shortName, String nameFilter, String roleFilter, int size, boolean collapseGroups) List the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.- Parameters:
shortName- site short namenameFilter- name filterroleFilter- role filtersize- max results size crop if >0collapseGroups- true if includes group member into user list, false otherwise- Returns:
- the authority name and their role
-
listMembersInfo
@NotAuditable List<SiteMemberInfo> listMembersInfo(String shortName, String nameFilter, String roleFilter, int size, boolean collapseGroups) List the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.- Parameters:
shortName- site short namenameFilter- name filterroleFilter- role filtersize- max results size crop if >0collapseGroups- true if includes group member into user list, false otherwise- Returns:
- List of site authorities’ information objects
-
listMembersPaged
@NotAuditable org.alfresco.query.PagingResults<SiteMembership> listMembersPaged(String shortName, boolean collapseGroups, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) Gets the role of the specified user. Returns a paged list of the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.- Parameters:
shortName- site short namecollapseGroups- true if collapse member groups into user list, false otherwisepagingRequest- the paging request- Returns:
- the authority name and their role
-
getMembersRoleInfo
Gets the extended role information of the specified user.- Parameters:
shortName- site short nameauthorityName- full authority name (so if it's a group then its prefixed with 'GROUP_')- Returns:
- SiteMemberInfo site role information, null if none
-
isMember
Indicates whether an authority is a member of a site or not- Parameters:
shortName- site short nameauthorityName- authority name (so if it's a group then its prefixed with 'GROUP_')- Returns:
- boolean true if the authority is a member of the site, false otherwise
-
setMembership
@Auditable(parameters={"shortName","authorityName","role"}) void setMembership(String shortName, String authorityName, String role) Sets the role of an authority within a site- Parameters:
shortName- site short nameauthorityName- authority name (so if it's a group then its prefixed with 'GROUP_')role- site role- Throws:
UnknownAuthorityException- if the site role is not supported.
-
removeMembership
@Auditable(parameters={"shortName","authorityName"}) void removeMembership(String shortName, String authorityName) Clears an authorities role within a site- Parameters:
shortName- site short nameauthorityName- authority name (so if it's a group then its prefixed with 'GROUP_')
-
createContainer
@NotAuditable NodeRef createContainer(String shortName, String componentId, QName containerType, Map<QName, Serializable> containerProperties) Creates a container for a component is a site of the given container type (must be a sub-type of st:siteContainer)If no container type is specified then a node of type st:siteContainer is created.
The map of container properties are set on the created container node. Null can be provided when no properties need to be set.
- Parameters:
shortName- site short namecomponentId- component idcontainerType- container type to create (can be null)containerProperties- container property values (can be null)- Returns:
- noderef of container or null if a container can't be created.
-
getContainer
Gets the "container" folder for the specified component.- Parameters:
shortName- short name of sitecomponentId- component id- Returns:
- noderef of container
-
listContainers
@NotAuditable org.alfresco.query.PagingResults<FileInfo> listContainers(String shortName, org.alfresco.query.PagingRequest pagingRequest) Returns a paged list of top level containers for the site- Parameters:
shortName- short name of sitepagingRequest- paging request- Returns:
- paged list of top level containers
-
hasContainer
Determines if a "container" folder for the specified component exists.- Parameters:
shortName- short name of sitecomponentId- component id- Returns:
- true => "container" folder exists for component
-
getSiteRoles
Gets a list of all the currently available roles that a user can perform on all sites- Returns:
- list of available roles
-
getSiteRoles
Gets a list of all the currently available roles that a user can perform on a specific site. This will generally only differ fromgetSiteRoles()if your site is of a custom type.- Returns:
- list of available roles
-
getSiteGroup
Gets the sites group. All members of the site are contained within this group.- Parameters:
shortName- site short name- Returns:
- String group name
-
getSiteRoleGroup
Gets the sites role group. All members assigned the given role will be members of the returned group.- Parameters:
shortName- site short namerole- membership role- Returns:
- String group name
-
getSiteRoot
Gets the reference to the folder that is the Site root node.- Returns:
- site root node.
-
cleanSitePermissions
This method cleans the permissions on the specified node. It is intended to be used after a node is moved or copied from one site to another. Permissions relating to the former site are removed and the node is given the default permissions for its new site.- Parameters:
relocatedNode- NodeRefcontainingSite- SiteInfo- Since:
- 3.4.2
-
listSitesPaged
@NotAuditable org.alfresco.query.PagingResults<SiteMembership> listSitesPaged(String userName, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) List all the sites that the specified user has a explicit membership to.- Parameters:
userName- user name- Returns:
- paged list of site information
-
resolveSite
-
getMembersRole
-
countAuthoritiesWithRole
-
isSiteAdmin
Indicates whether the specified user is a site administrator or not.Note: The super/repo admin is considered to be a site administrator too.
- Parameters:
userName- The user name- Returns:
- true if the specified user is a 'site administrator', false otherwise
-
listGroupMembersPaged
@NotAuditable org.alfresco.query.PagingResults<SiteGroupMembership> listGroupMembersPaged(String shortName, List<Pair<SiteService.SortFields, Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest) Returns a paged list of the groups for the site.- Parameters:
shortName- site short namesortProps- sorting optionspagingRequest- the paging request- Returns:
- the authority name and their role
-
createSite(String, String, String, String, SiteVisibility)