/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see
* The site short name will be used to uniquely identify the site so it must be unique.
*
* @param sitePreset site preset
* @param shortName site short name
* @param title site title
* @param description site description
* @param visibility visibility of the site (public|moderated|private)
* @return Site the created site
*/
public Site createSite(String sitePreset, String shortName, String title, String description, String visibility)
{
ParameterCheck.mandatoryString("visibility", visibility);
SiteVisibility siteVisibility = SiteVisibility.valueOf(visibility);
SiteInfo siteInfo = this.siteService.createSite(sitePreset, shortName, title, description, siteVisibility);
return new Site(siteInfo, this.serviceRegistry, this.siteService, getScope());
}
/**
* This method checks if the currently authenticated user has permission to create sites.
*
* @return true
if the current user is a Contributor to "Sites" node, else false
.
* @since 3.4
*/
public boolean hasCreateSitePermissions()
{
return siteService.hasCreateSitePermissions();
}
/**
* Determines if the current user is a manager of the given site.
*
* @param siteId The short name of the site to check
* @return true if the current user is a manager of the given site
*/
public boolean isSiteManager(String siteId)
{
String role = siteService.getMembersRole(siteId, AuthenticationUtil.getFullyAuthenticatedUser());
return (SiteServiceImpl.SITE_MANAGER.equals(role));
}
/**
* List the sites available in the repository. The returned list can optionally be filtered by name and site
* preset.
*
* If no filters are specified then all the available sites are returned. * * @param nameFilter name filter * @param sitePresetFilter site preset filter * @return Site[] a list of the site filtered as appropriate */ public Site[] listSites(String nameFilter, String sitePresetFilter) { return listSites(nameFilter, sitePresetFilter, 0); } /** * List the sites available in the repository. The returned list can optionally be filtered by name and site * preset. *
* If no filters are specified then all the available sites are returned.
*
* @param nameFilter name filter
* @param sitePresetFilter site preset filter
* @param size max results size crop if >0
*
* @return Site[] a list of the site filtered as appropriate
*/
public Site[] listSites(String nameFilter, String sitePresetFilter, int size)
{
List
* Returns null if the site does not exist.
*
* @param shortName short name of the site
* @return Site the site, null if does not exist
*/
public Site getSite(String shortName)
{
Site site = null;
SiteInfo siteInfo = this.siteService.getSite(shortName);
if (siteInfo != null)
{
site = new Site(siteInfo, this.serviceRegistry, this.siteService, getScope());
}
return site;
}
/**
* Returns an array of all the roles that can be assigned to a member of a site.
*
* @return String[] roles available to assign to a member of a site
*/
public String[] listSiteRoles()
{
List