diff --git a/config/alfresco/site-services-context.xml b/config/alfresco/site-services-context.xml index 06f6ab20f9..3554f9e224 100644 --- a/config/alfresco/site-services-context.xml +++ b/config/alfresco/site-services-context.xml @@ -176,6 +176,7 @@ + diff --git a/source/java/org/alfresco/repo/site/SiteServiceImpl.java b/source/java/org/alfresco/repo/site/SiteServiceImpl.java index 071c42d25c..8d0b01405c 100644 --- a/source/java/org/alfresco/repo/site/SiteServiceImpl.java +++ b/source/java/org/alfresco/repo/site/SiteServiceImpl.java @@ -35,6 +35,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.alfresco.error.AlfrescoRuntimeException; +import org.alfresco.events.types.Event; +import org.alfresco.events.types.SiteManagementEvent; import org.alfresco.model.ContentModel; import org.alfresco.query.CannedQuery; import org.alfresco.query.CannedQueryFactory; @@ -48,6 +50,8 @@ import org.alfresco.query.PagingResults; import org.alfresco.repo.activities.ActivityType; import org.alfresco.repo.admin.SysAdminParams; import org.alfresco.repo.cache.SimpleCache; +import org.alfresco.repo.events.EventPreparator; +import org.alfresco.repo.events.EventPublisher; import org.alfresco.repo.node.NodeArchiveServicePolicies; import org.alfresco.repo.node.NodeArchiveServicePolicies.BeforePurgeNodePolicy; import org.alfresco.repo.node.NodeServicePolicies; @@ -185,6 +189,7 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic private SitesPermissionCleaner sitesPermissionsCleaner; private PolicyComponent policyComponent; private PublicServiceAccessService publicServiceAccessService; + private EventPublisher eventPublisher; private NamedObjectRegistry> cannedQueryRegistry; @@ -549,6 +554,14 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic // Create the relevant groups and assign permissions setupSitePermissions(siteNodeRef, shortName, visibility, null); + eventPublisher.publishEvent(new EventPreparator(){ + @Override + public Event prepareEvent(String user, String networkId, String transactionId) + { + return new SiteManagementEvent("site.create", transactionId, networkId, new Date().getTime(), + user, shortName,title,description, visibility.toString(),sitePreset); + } + }); // Return created site information Map customProperties = getSiteCustomProperties(siteNodeRef); SiteInfo siteInfo = new SiteInfoImpl(sitePreset, shortName, title, description, visibility, customProperties, siteNodeRef); @@ -3145,4 +3158,9 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic GROUP_SITE_ADMINISTRATORS_AUTHORITY); } + public void setEventPublisher(EventPublisher eventPublisher) + { + this.eventPublisher = eventPublisher; + } + }