RM-4199: after review changes

This commit is contained in:
Silviu Dinuta
2016-10-21 11:58:11 +03:00
parent ffdd4e70de
commit 3fd9de89a0
12 changed files with 88 additions and 51 deletions

View File

@@ -75,7 +75,7 @@
<cm:name>page.component-1-1.site~${siteId}~dashboard.xml</cm:name>
<sys:store-identifier>SpacesStore</sys:store-identifier>
<sys:locale>en_US_</sys:locale>
<cm:content>contentUrl=surf-config/content3.bin|mimetype=application/octet-stream|size=326|encoding=UTF-8|locale=en_US_</cm:content>
<cm:content>contentUrl=surf-config/content2.bin|mimetype=application/octet-stream|size=326|encoding=UTF-8|locale=en_US_</cm:content>
<sys:store-protocol>workspace</sys:store-protocol>
<cm:isIndexed>false</cm:isIndexed>
</view:properties>
@@ -91,7 +91,7 @@
<cm:name>page.component-2-1.site~${siteId}~dashboard.xml</cm:name>
<sys:store-identifier>SpacesStore</sys:store-identifier>
<sys:locale>en_US_</sys:locale>
<cm:content>contentUrl=surf-config/content4.bin|mimetype=application/octet-stream|size=270|encoding=UTF-8|locale=en_US_</cm:content>
<cm:content>contentUrl=surf-config/content3.bin|mimetype=application/octet-stream|size=270|encoding=UTF-8|locale=en_US_</cm:content>
<sys:store-protocol>workspace</sys:store-protocol>
<cm:isIndexed>false</cm:isIndexed>
</view:properties>
@@ -107,7 +107,7 @@
<cm:name>page.component-2-2.site~${siteId}~dashboard.xml</cm:name>
<sys:store-identifier>SpacesStore</sys:store-identifier>
<sys:locale>en_US_</sys:locale>
<cm:content>contentUrl=surf-config/content5.bin|mimetype=application/octet-stream|size=272|encoding=UTF-8|locale=en_US_</cm:content>
<cm:content>contentUrl=surf-config/content4.bin|mimetype=application/octet-stream|size=272|encoding=UTF-8|locale=en_US_</cm:content>
<sys:store-protocol>workspace</sys:store-protocol>
<cm:isIndexed>false</cm:isIndexed>
</view:properties>
@@ -174,7 +174,7 @@
<cm:name>dashboard.xml</cm:name>
<sys:store-identifier>SpacesStore</sys:store-identifier>
<sys:locale>en_US_</sys:locale>
<cm:content>contentUrl=surf-config/content6.bin|mimetype=application/octet-stream|size=481|encoding=UTF-8|locale=en_US_</cm:content>
<cm:content>contentUrl=surf-config/content5.bin|mimetype=application/octet-stream|size=481|encoding=UTF-8|locale=en_US_</cm:content>
<sys:store-protocol>workspace</sys:store-protocol>
<cm:isIndexed>false</cm:isIndexed>
</view:properties>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<component>
<guid>page.component-1-1.site~${siteId}~dashboard</guid>
<scope>page</scope>
<region-id>component-1-1</region-id>
<source-id>site/${siteId}/dashboard</source-id>
<url>/components/dashlets/colleagues</url>
<properties>
<height>504</height>
</properties>
</component>

View File

@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<component>
<guid>page.component-1-1.site~${siteId}~dashboard</guid>
<guid>page.component-2-1.site~${siteId}~dashboard</guid>
<scope>page</scope>
<region-id>component-1-1</region-id>
<region-id>component-2-1</region-id>
<source-id>site/${siteId}/dashboard</source-id>
<url>/components/dashlets/colleagues</url>
<properties>
<height>504</height>
</properties>
<url>/components/dashlets/docsummary</url>
</component>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<component>
<guid>page.component-2-1.site~${siteId}~dashboard</guid>
<guid>page.component-2-2.site~${siteId}~dashboard</guid>
<scope>page</scope>
<region-id>component-2-1</region-id>
<region-id>component-2-2</region-id>
<source-id>site/${siteId}/dashboard</source-id>
<url>/components/dashlets/docsummary</url>
<url>/components/dashlets/activityfeed</url>
</component>

View File

@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<component>
<guid>page.component-2-2.site~${siteId}~dashboard</guid>
<scope>page</scope>
<region-id>component-2-2</region-id>
<source-id>site/${siteId}/dashboard</source-id>
<url>/components/dashlets/activityfeed</url>
</component>
<page>
<title>Records Management Site Dashboard</title>
<title-id>page.rmSiteDashboard.title</title-id>
<description>Records Management site's dashboard page</description>
<description-id>page.rmSiteDashboard.description</description-id>
<template-instance>dashboard-2-columns-wide-right</template-instance>
<authentication>user</authentication>
<properties>
<sitePages>[{"pageId":"documentlibrary"}, {"pageId":"rm-search"}]</sitePages>
<pageMetadata>{"documentlibrary":{"titleId":"page.rmDocumentLibrary.title", "descriptionId":"page.rmDocumentLibrary.description", "type":"dod5015"}}</pageMetadata>
</properties>
</page>

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<page>
<title>Records Management Site Dashboard</title>
<title-id>page.rmSiteDashboard.title</title-id>
<description>Records Management site's dashboard page</description>
<description-id>page.rmSiteDashboard.description</description-id>
<template-instance>dashboard-2-columns-wide-right</template-instance>
<authentication>user</authentication>
<properties>
<sitePages>[{"pageId":"documentlibrary"}, {"pageId":"rm-search"}]</sitePages>
<pageMetadata>{"documentlibrary":{"titleId":"page.rmDocumentLibrary.title", "descriptionId":"page.rmDocumentLibrary.description", "type":"dod5015"}}</pageMetadata>
</properties>
</page>

View File

@@ -24,7 +24,7 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rm.rest.api.impl;
package org.alfresco.rm.rest.api;
import org.alfresco.rest.api.Nodes;

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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 +"]";
}
}

View File

@@ -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,