mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
MERGE DEV/3.2_INVITATION to HEAD
MOB-124 First cut of invitation service First cut group site membership git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13378 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
207
source/java/org/alfresco/service/cmr/site/SiteService.java
Normal file
207
source/java/org/alfresco/service/cmr/site/SiteService.java
Normal file
@@ -0,0 +1,207 @@
|
||||
package org.alfresco.service.cmr.site;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
|
||||
/**
|
||||
* Site service fundamental API.
|
||||
* <p>
|
||||
* This service API is designed to support the public facing Site APIs
|
||||
*
|
||||
* @author Roy Wetherall
|
||||
*/
|
||||
public interface SiteService
|
||||
{
|
||||
/**
|
||||
* Create a new site.
|
||||
*
|
||||
* @param sitePreset site preset name
|
||||
* @param shortName site short name, must be unique
|
||||
* @param title site title
|
||||
* @param description site description
|
||||
* @param isPublic whether the site is public or not (true = public, false = private)
|
||||
* @return SiteInfo information about the created site
|
||||
* @deprecated since version 3.2, replaced by {@link #createSite(String, String, String, String, SiteVisibility)}
|
||||
*/
|
||||
SiteInfo createSite(String sitePreset, String shortName, String title, String description, boolean isPublic);
|
||||
|
||||
/**
|
||||
* Create a new site.
|
||||
*
|
||||
* @param sitePreset site preset name
|
||||
* @param shortName site short name, must be unique
|
||||
* @param title site title
|
||||
* @param description site description
|
||||
* @param visibility site visibility (public|moderated|private)
|
||||
* @return SiteInfo information about the created site
|
||||
*/
|
||||
SiteInfo createSite(String sitePreset, String shortName, String title, String description, SiteVisibility visibility);
|
||||
|
||||
/**
|
||||
* List the available sites. This list can optionally be filtered by site name and/or site preset.
|
||||
*
|
||||
* @param nameFilter name filter
|
||||
* @param sitePresetFilter site preset filter
|
||||
* @return List<SiteInfo> list of site information
|
||||
*/
|
||||
List<SiteInfo> listSites(String nameFilter, String sitePresetFilter);
|
||||
|
||||
/**
|
||||
* List all the sites that the specified user has a explicit membership to.
|
||||
*
|
||||
* @param userName user name
|
||||
* @return List<SiteInfo> list of site information
|
||||
*/
|
||||
List<SiteInfo> listSites(String userName);
|
||||
|
||||
/**
|
||||
* Gets site information based on the short name of a site.
|
||||
* <p>
|
||||
* Returns null if the site can not be found.
|
||||
*
|
||||
* @param shortName the site short name
|
||||
* @return SiteInfo the site information
|
||||
*/
|
||||
SiteInfo getSite(String shortName);
|
||||
|
||||
/**
|
||||
* Update the site information.
|
||||
* <P>
|
||||
* Note that the short name and site preset of a site can not be updated once the site has been created.
|
||||
*
|
||||
* @param siteInfo site information
|
||||
*/
|
||||
void updateSite(SiteInfo siteInfo);
|
||||
|
||||
/**
|
||||
* Delete the site.
|
||||
*
|
||||
* @param shortName site short name
|
||||
*/
|
||||
void deleteSite(String shortName);
|
||||
|
||||
/**
|
||||
* List the members of the site. This includes both users and groups.
|
||||
* <p>
|
||||
* Name and role filters are optional and if not specified all the members of the site are returned.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param nameFilter name filter
|
||||
* @param roleFilter role filter
|
||||
* @return Map<String, String> the authority name and their role
|
||||
*/
|
||||
Map<String, String> listMembers(String shortName, String nameFilter, String roleFilter);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param nameFilter name filter
|
||||
* @param roleFilter role filter
|
||||
* @param collapseGroups true if collapse member groups into user list, false otherwise
|
||||
* @return Map<String, String> the authority name and their role
|
||||
*/
|
||||
Map<String, String> listMembers(String shortName, String nameFilter, String roleFilter, boolean collapseGroups);
|
||||
|
||||
/**
|
||||
* Gets the role of the specified user.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param authorityName authority name
|
||||
* @return String site role, null if none
|
||||
*/
|
||||
String getMembersRole(String shortName, String authorityName);
|
||||
|
||||
/**
|
||||
* Indicates whether an authority is a member of a site or not
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param authorityName authority name
|
||||
* @return boolean true if the authority is a member of the site, false otherwise
|
||||
*/
|
||||
boolean isMember(String shortName, String authorityName);
|
||||
|
||||
/**
|
||||
* Sets the role of an authority within a site
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param authorityName authority name
|
||||
* @param role site role
|
||||
*/
|
||||
void setMembership(String shortName, String authorityName, String role);
|
||||
|
||||
/**
|
||||
* Clears an authorities role within a site
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param authorityName authority name
|
||||
*/
|
||||
void removeMembership(String shortName, String authorityName);
|
||||
|
||||
/**
|
||||
* Creates a container for a component is a site of the given container type (must be a sub-type of st:siteContainer)
|
||||
* <p>
|
||||
* If no container type is specified then a node of type st:siteContainer is created.
|
||||
* <p>
|
||||
* The map of container properties are set on the created container node. Null can be provided when no properties
|
||||
* need to be set.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param componentId component id
|
||||
* @param containerType container type to create (can be null)
|
||||
* @param containerProperties container property values (can be null)
|
||||
* @return
|
||||
*/
|
||||
NodeRef createContainer(String shortName, String componentId, QName containerType, Map<QName, Serializable> containerProperties);
|
||||
|
||||
/**
|
||||
* Gets the "container" folder for the specified
|
||||
* component.
|
||||
*
|
||||
* @param shortName short name of site
|
||||
* @param componentId component id
|
||||
* @param folderType type of folder to create (if null, creates standard folder)
|
||||
* @return noderef of container
|
||||
*/
|
||||
NodeRef getContainer(String shortName, String componentId);
|
||||
|
||||
/**
|
||||
* Determines if a "container" folder for the specified component exists.
|
||||
*
|
||||
* @param shortName short name of site
|
||||
* @param componentId component id
|
||||
* @return true => "container" folder exists for component
|
||||
*/
|
||||
boolean hasContainer(String shortName, String componentId);
|
||||
|
||||
/**
|
||||
* Gets a list of all the currently available roles that a user can perform on a site
|
||||
*
|
||||
* @return List<String> list of available roles
|
||||
*/
|
||||
List<String> getSiteRoles();
|
||||
|
||||
/**
|
||||
* Gets the sites group. All members of the site are contained within this group.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @return String group name
|
||||
*/
|
||||
String getSiteGroup(String shortName);
|
||||
|
||||
/**
|
||||
* Gets the sites role group. All members assigned the given role will be memebers of
|
||||
* the returned group.
|
||||
*
|
||||
* @param shortName site short name
|
||||
* @param role membership role
|
||||
* @return String group name
|
||||
*/
|
||||
String getSiteRoleGroup(String shortName, String role);
|
||||
|
||||
}
|
Reference in New Issue
Block a user