package org.alfresco.repo.site; import java.util.List; import java.util.Map; import org.alfresco.service.Auditable; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; /** * Site service fundamental API. *
* 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
* @return SiteInfo information about the created site
*/
SiteInfo createSite(String sitePreset, String shortName, String title, String description, boolean isPublic);
/**
* 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
* 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.
*
* Note that the shortname and sitepreset 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 memebers of the site.
*
* Name and role filters are optional and if not specified all the memebers of the site are returned.
*
* @param shortName site short name
* @param nameFilter name filter
* @param roleFilter role filter
* @return Map