To create an Alfresco Share site in the repository use the createSite method of the SitesApi, which is the main API used to create and manage sites.
For more information about this ReST API endpoint, see Create a Site.
For a description of the common parameters, such as fields, see Common Parameters.
import org.alfresco.core.handler.SitesApi; import org.alfresco.core.model.Site; import org.alfresco.core.model.SiteBodyCreate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.List; @Component public class CreateSite { static final Logger LOGGER = LoggerFactory.getLogger(CreateSite.class); private List<String> fields = null; // Flag to indicate whether the Share-specific (surf) configuration files for the site should not be created // Default = false Boolean skipConfiguration = null; // Flag to indicate whether the site should not be added to the user's site favorites // Default = false Boolean skipAddToFavorites = null; @Autowired SitesApi sitesApi; public void execute(String siteId) throws IOException { SiteBodyCreate siteBodyCreate = new SiteBodyCreate(); siteBodyCreate.setId(siteId); siteBodyCreate.setTitle("title-" + siteId); siteBodyCreate.setDescription("description-" + siteId); siteBodyCreate.setVisibility(SiteBodyCreate.VisibilityEnum.PUBLIC); Site site = sitesApi.createSite(siteBodyCreate, skipConfiguration, skipAddToFavorites, fields).getBody().getEntry(); LOGGER.info("Created site: {}", site); } }