diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config.xml index 2f5124eefe..7353ac2930 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config.xml @@ -75,7 +75,7 @@ page.component-1-1.site~${siteId}~dashboard.xml SpacesStore en_US_ - contentUrl=surf-config/content3.bin|mimetype=application/octet-stream|size=326|encoding=UTF-8|locale=en_US_ + contentUrl=surf-config/content2.bin|mimetype=application/octet-stream|size=326|encoding=UTF-8|locale=en_US_ workspace false @@ -91,7 +91,7 @@ page.component-2-1.site~${siteId}~dashboard.xml SpacesStore en_US_ - contentUrl=surf-config/content4.bin|mimetype=application/octet-stream|size=270|encoding=UTF-8|locale=en_US_ + contentUrl=surf-config/content3.bin|mimetype=application/octet-stream|size=270|encoding=UTF-8|locale=en_US_ workspace false @@ -107,7 +107,7 @@ page.component-2-2.site~${siteId}~dashboard.xml SpacesStore en_US_ - contentUrl=surf-config/content5.bin|mimetype=application/octet-stream|size=272|encoding=UTF-8|locale=en_US_ + contentUrl=surf-config/content4.bin|mimetype=application/octet-stream|size=272|encoding=UTF-8|locale=en_US_ workspace false @@ -174,7 +174,7 @@ dashboard.xml SpacesStore en_US_ - contentUrl=surf-config/content6.bin|mimetype=application/octet-stream|size=481|encoding=UTF-8|locale=en_US_ + contentUrl=surf-config/content5.bin|mimetype=application/octet-stream|size=481|encoding=UTF-8|locale=en_US_ workspace false diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content2.bin b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content2.bin new file mode 100644 index 0000000000..12a81426c2 --- /dev/null +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content2.bin @@ -0,0 +1,12 @@ + + + + page.component-1-1.site~${siteId}~dashboard + page + component-1-1 + site/${siteId}/dashboard + /components/dashlets/colleagues + + 504 + + diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content3.bin b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content3.bin index 12a81426c2..1c5dd174c0 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content3.bin +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content3.bin @@ -1,12 +1,9 @@ - page.component-1-1.site~${siteId}~dashboard + page.component-2-1.site~${siteId}~dashboard page - component-1-1 + component-2-1 site/${siteId}/dashboard - /components/dashlets/colleagues - - 504 - + /components/dashlets/docsummary diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content4.bin b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content4.bin index 1c5dd174c0..c8781e5292 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content4.bin +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content4.bin @@ -1,9 +1,9 @@ - page.component-2-1.site~${siteId}~dashboard + page.component-2-2.site~${siteId}~dashboard page - component-2-1 + component-2-2 site/${siteId}/dashboard - /components/dashlets/docsummary + /components/dashlets/activityfeed diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content5.bin b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content5.bin index c8781e5292..1036e4456f 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content5.bin +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content5.bin @@ -1,9 +1,14 @@ - - page.component-2-2.site~${siteId}~dashboard - page - component-2-2 - site/${siteId}/dashboard - /components/dashlets/activityfeed - + + Records Management Site Dashboard + page.rmSiteDashboard.title + Records Management site's dashboard page + page.rmSiteDashboard.description + dashboard-2-columns-wide-right + user + + [{"pageId":"documentlibrary"}, {"pageId":"rm-search"}] + {"documentlibrary":{"titleId":"page.rmDocumentLibrary.title", "descriptionId":"page.rmDocumentLibrary.description", "type":"dod5015"}} + + diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content6.bin b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content6.bin deleted file mode 100644 index 1036e4456f..0000000000 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/bootstrap/site/surf-config/content6.bin +++ /dev/null @@ -1,14 +0,0 @@ - - - - Records Management Site Dashboard - page.rmSiteDashboard.title - Records Management site's dashboard page - page.rmSiteDashboard.description - dashboard-2-columns-wide-right - user - - [{"pageId":"documentlibrary"}, {"pageId":"rm-search"}] - {"documentlibrary":{"titleId":"page.rmDocumentLibrary.title", "descriptionId":"page.rmDocumentLibrary.description", "type":"dod5015"}} - - diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodes.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMNodes.java similarity index 97% rename from rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodes.java rename to rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMNodes.java index 78f85a080d..dc8ba77759 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodes.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMNodes.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.rm.rest.api.impl; +package org.alfresco.rm.rest.api; import org.alfresco.rest.api.Nodes; diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMSites.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMSites.java index ec231e73be..1b0b6377b2 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMSites.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/RMSites.java @@ -31,7 +31,21 @@ import org.alfresco.rest.api.Sites; import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rm.rest.api.model.RMSite; +/** + * RM Sites API + * + * @author Silviu Dinuta + * @since 2.6 + * + */ public interface RMSites extends Sites { + /** + * Creates RM site + * + * @param site + * @param parameters + * @return + */ RMSite createRMSite(RMSite site, Parameters parameters); } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java index d867c9ede5..edee84f1e5 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMNodesImpl.java @@ -46,6 +46,7 @@ import org.alfresco.rest.api.model.UserInfo; import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException; import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; import org.alfresco.rest.framework.resource.parameters.Parameters; +import org.alfresco.rm.rest.api.RMNodes; import org.alfresco.rm.rest.api.model.CategoryNode; import org.alfresco.rm.rest.api.model.FileplanComponentNode; import org.alfresco.rm.rest.api.model.RecordFolderNode; diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMSitesImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMSitesImpl.java index bd4bc2b140..ea7661b12a 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMSitesImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/impl/RMSitesImpl.java @@ -61,10 +61,12 @@ import org.alfresco.service.namespace.QName; */ public class RMSitesImpl extends SitesImpl implements RMSites { + private static final String RM_SITE_PRESET = "rm-site-dashboard"; private static final String RM_SITE_ID = "rm"; private static final int SITE_MAXLEN_TITLE = 256; private static final int SITE_MAXLEN_DESCRIPTION = 512; + @Override public RMSite createRMSite(RMSite rmSite, Parameters parameters) { RMSiteCompliance compliance = rmSite.getCompliance(); @@ -77,13 +79,15 @@ public class RMSitesImpl extends SitesImpl implements RMSites } @Override - public Site createSite(Site site, Parameters parameters) { + public Site createSite(Site site, Parameters parameters) + { site = validateSite(site); SiteInfo siteInfo = null; try { - siteInfo = siteService.createSite("rm-site-dashboard", RM_SITE_ID, site.getTitle(), site.getDescription(), SiteVisibility.PUBLIC, getRMSiteType((RMSite) site)); + siteInfo = siteService.createSite(RM_SITE_PRESET, RM_SITE_ID, site.getTitle(), site.getDescription(), + SiteVisibility.PUBLIC, getRMSiteType((RMSite) site)); } catch (SiteServiceException sse) { @@ -106,8 +110,13 @@ public class RMSitesImpl extends SitesImpl implements RMSites // pre-create doclib siteService.createContainer(siteId, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null); - String personId = AuthenticationUtil.getFullyAuthenticatedUser(); - favouritesService.addFavourite(personId, siteNodeRef); // ignore result + // default false (if not provided) + boolean skipAddToFavorites = Boolean.valueOf(parameters.getParameter(PARAM_SKIP_ADDTOFAVORITES)); + if (skipAddToFavorites == false) + { + String personId = AuthenticationUtil.getFullyAuthenticatedUser(); + favouritesService.addFavourite(personId, siteNodeRef); // ignore result + } return getSite(siteInfo, true); } @@ -217,11 +226,21 @@ public class RMSitesImpl extends SitesImpl implements RMSites return site; } - private QName getRMSiteType(RMSite rmSite) { + /** + * Gets RM site type based on compliance. + * + * @param rmSite + * @return + */ + private QName getRMSiteType(RMSite rmSite) + { RMSiteCompliance compliance = rmSite.getCompliance(); - if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD)) { + if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD)) + { return RecordsManagementModel.TYPE_RM_SITE; - } else { + } + else + { return DOD5015Model.TYPE_DOD_5015_SITE; } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSite.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSite.java index 8e2ed2a847..02dc253e6e 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSite.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSite.java @@ -31,23 +31,28 @@ import org.alfresco.rest.api.model.Site; import org.alfresco.service.cmr.site.SiteInfo; /** + * Concrete class carrying general information for RM site * * @author Silviu Dinuta + * @since 2.6 * */ public class RMSite extends Site { private RMSiteCompliance compliance; - public RMSiteCompliance getCompliance() { + public RMSiteCompliance getCompliance() + { return compliance; } - public void setCompliance(RMSiteCompliance compliance) { + public void setCompliance(RMSiteCompliance compliance) + { this.compliance = compliance; } - public RMSite() { + public RMSite() + { super(); } @@ -62,10 +67,12 @@ public class RMSite extends Site this.compliance = compliance; } - public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance) { + public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance) + { super(siteInfo, role); this.compliance = compliance; } + @Override public String toString() { @@ -73,5 +80,4 @@ public class RMSite extends Site + title + ", description=" + description + ", visibility=" + visibility + ", role=" + role + ", compliance="+ compliance +"]"; } - } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSiteCompliance.java b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSiteCompliance.java index 9cbebdcf31..33b6885ca9 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSiteCompliance.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/rm/rest/api/model/RMSiteCompliance.java @@ -27,15 +27,12 @@ package org.alfresco.rm.rest.api.model; -import org.alfresco.api.AlfrescoPublicApi; - /** * Enumeration representing rm site compliance * * @author Silviu Dinuta - * + * @since 2.6 */ -@AlfrescoPublicApi public enum RMSiteCompliance { STANDARD,