mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4199: after review changes
This commit is contained in:
@@ -75,7 +75,7 @@
|
|||||||
<cm:name>page.component-1-1.site~${siteId}~dashboard.xml</cm:name>
|
<cm:name>page.component-1-1.site~${siteId}~dashboard.xml</cm:name>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:locale>en_US_</sys:locale>
|
<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>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<cm:isIndexed>false</cm:isIndexed>
|
<cm:isIndexed>false</cm:isIndexed>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
<cm:name>page.component-2-1.site~${siteId}~dashboard.xml</cm:name>
|
<cm:name>page.component-2-1.site~${siteId}~dashboard.xml</cm:name>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:locale>en_US_</sys:locale>
|
<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>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<cm:isIndexed>false</cm:isIndexed>
|
<cm:isIndexed>false</cm:isIndexed>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
<cm:name>page.component-2-2.site~${siteId}~dashboard.xml</cm:name>
|
<cm:name>page.component-2-2.site~${siteId}~dashboard.xml</cm:name>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:locale>en_US_</sys:locale>
|
<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>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<cm:isIndexed>false</cm:isIndexed>
|
<cm:isIndexed>false</cm:isIndexed>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<cm:name>dashboard.xml</cm:name>
|
<cm:name>dashboard.xml</cm:name>
|
||||||
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
<sys:store-identifier>SpacesStore</sys:store-identifier>
|
||||||
<sys:locale>en_US_</sys:locale>
|
<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>
|
<sys:store-protocol>workspace</sys:store-protocol>
|
||||||
<cm:isIndexed>false</cm:isIndexed>
|
<cm:isIndexed>false</cm:isIndexed>
|
||||||
</view:properties>
|
</view:properties>
|
||||||
|
@@ -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>
|
@@ -1,12 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<component>
|
<component>
|
||||||
<guid>page.component-1-1.site~${siteId}~dashboard</guid>
|
<guid>page.component-2-1.site~${siteId}~dashboard</guid>
|
||||||
<scope>page</scope>
|
<scope>page</scope>
|
||||||
<region-id>component-1-1</region-id>
|
<region-id>component-2-1</region-id>
|
||||||
<source-id>site/${siteId}/dashboard</source-id>
|
<source-id>site/${siteId}/dashboard</source-id>
|
||||||
<url>/components/dashlets/colleagues</url>
|
<url>/components/dashlets/docsummary</url>
|
||||||
<properties>
|
|
||||||
<height>504</height>
|
|
||||||
</properties>
|
|
||||||
</component>
|
</component>
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<component>
|
<component>
|
||||||
<guid>page.component-2-1.site~${siteId}~dashboard</guid>
|
<guid>page.component-2-2.site~${siteId}~dashboard</guid>
|
||||||
<scope>page</scope>
|
<scope>page</scope>
|
||||||
<region-id>component-2-1</region-id>
|
<region-id>component-2-2</region-id>
|
||||||
<source-id>site/${siteId}/dashboard</source-id>
|
<source-id>site/${siteId}/dashboard</source-id>
|
||||||
<url>/components/dashlets/docsummary</url>
|
<url>/components/dashlets/activityfeed</url>
|
||||||
</component>
|
</component>
|
||||||
|
@@ -1,9 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<component>
|
<page>
|
||||||
<guid>page.component-2-2.site~${siteId}~dashboard</guid>
|
<title>Records Management Site Dashboard</title>
|
||||||
<scope>page</scope>
|
<title-id>page.rmSiteDashboard.title</title-id>
|
||||||
<region-id>component-2-2</region-id>
|
<description>Records Management site's dashboard page</description>
|
||||||
<source-id>site/${siteId}/dashboard</source-id>
|
<description-id>page.rmSiteDashboard.description</description-id>
|
||||||
<url>/components/dashlets/activityfeed</url>
|
<template-instance>dashboard-2-columns-wide-right</template-instance>
|
||||||
</component>
|
<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>
|
||||||
|
@@ -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>
|
|
@@ -24,7 +24,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.rm.rest.api.impl;
|
package org.alfresco.rm.rest.api;
|
||||||
|
|
||||||
import org.alfresco.rest.api.Nodes;
|
import org.alfresco.rest.api.Nodes;
|
||||||
|
|
@@ -31,7 +31,21 @@ import org.alfresco.rest.api.Sites;
|
|||||||
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
||||||
import org.alfresco.rm.rest.api.model.RMSite;
|
import org.alfresco.rm.rest.api.model.RMSite;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RM Sites API
|
||||||
|
*
|
||||||
|
* @author Silviu Dinuta
|
||||||
|
* @since 2.6
|
||||||
|
*
|
||||||
|
*/
|
||||||
public interface RMSites extends Sites
|
public interface RMSites extends Sites
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Creates RM site
|
||||||
|
*
|
||||||
|
* @param site
|
||||||
|
* @param parameters
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
RMSite createRMSite(RMSite site, Parameters parameters);
|
RMSite createRMSite(RMSite site, Parameters parameters);
|
||||||
}
|
}
|
||||||
|
@@ -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.EntityNotFoundException;
|
||||||
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
|
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
|
||||||
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
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.CategoryNode;
|
||||||
import org.alfresco.rm.rest.api.model.FileplanComponentNode;
|
import org.alfresco.rm.rest.api.model.FileplanComponentNode;
|
||||||
import org.alfresco.rm.rest.api.model.RecordFolderNode;
|
import org.alfresco.rm.rest.api.model.RecordFolderNode;
|
||||||
|
@@ -61,10 +61,12 @@ import org.alfresco.service.namespace.QName;
|
|||||||
*/
|
*/
|
||||||
public class RMSitesImpl extends SitesImpl implements RMSites
|
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 String RM_SITE_ID = "rm";
|
||||||
private static final int SITE_MAXLEN_TITLE = 256;
|
private static final int SITE_MAXLEN_TITLE = 256;
|
||||||
private static final int SITE_MAXLEN_DESCRIPTION = 512;
|
private static final int SITE_MAXLEN_DESCRIPTION = 512;
|
||||||
|
|
||||||
|
@Override
|
||||||
public RMSite createRMSite(RMSite rmSite, Parameters parameters)
|
public RMSite createRMSite(RMSite rmSite, Parameters parameters)
|
||||||
{
|
{
|
||||||
RMSiteCompliance compliance = rmSite.getCompliance();
|
RMSiteCompliance compliance = rmSite.getCompliance();
|
||||||
@@ -77,13 +79,15 @@ public class RMSitesImpl extends SitesImpl implements RMSites
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Site createSite(Site site, Parameters parameters) {
|
public Site createSite(Site site, Parameters parameters)
|
||||||
|
{
|
||||||
site = validateSite(site);
|
site = validateSite(site);
|
||||||
|
|
||||||
SiteInfo siteInfo = null;
|
SiteInfo siteInfo = null;
|
||||||
try
|
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)
|
catch (SiteServiceException sse)
|
||||||
{
|
{
|
||||||
@@ -106,8 +110,13 @@ public class RMSitesImpl extends SitesImpl implements RMSites
|
|||||||
// pre-create doclib
|
// pre-create doclib
|
||||||
siteService.createContainer(siteId, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null);
|
siteService.createContainer(siteId, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null);
|
||||||
|
|
||||||
String personId = AuthenticationUtil.getFullyAuthenticatedUser();
|
// default false (if not provided)
|
||||||
favouritesService.addFavourite(personId, siteNodeRef); // ignore result
|
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);
|
return getSite(siteInfo, true);
|
||||||
}
|
}
|
||||||
@@ -217,11 +226,21 @@ public class RMSitesImpl extends SitesImpl implements RMSites
|
|||||||
return site;
|
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();
|
RMSiteCompliance compliance = rmSite.getCompliance();
|
||||||
if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD)) {
|
if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD))
|
||||||
|
{
|
||||||
return RecordsManagementModel.TYPE_RM_SITE;
|
return RecordsManagementModel.TYPE_RM_SITE;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return DOD5015Model.TYPE_DOD_5015_SITE;
|
return DOD5015Model.TYPE_DOD_5015_SITE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -31,23 +31,28 @@ import org.alfresco.rest.api.model.Site;
|
|||||||
import org.alfresco.service.cmr.site.SiteInfo;
|
import org.alfresco.service.cmr.site.SiteInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Concrete class carrying general information for RM site
|
||||||
*
|
*
|
||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
|
* @since 2.6
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class RMSite extends Site
|
public class RMSite extends Site
|
||||||
{
|
{
|
||||||
private RMSiteCompliance compliance;
|
private RMSiteCompliance compliance;
|
||||||
|
|
||||||
public RMSiteCompliance getCompliance() {
|
public RMSiteCompliance getCompliance()
|
||||||
|
{
|
||||||
return compliance;
|
return compliance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCompliance(RMSiteCompliance compliance) {
|
public void setCompliance(RMSiteCompliance compliance)
|
||||||
|
{
|
||||||
this.compliance = compliance;
|
this.compliance = compliance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMSite() {
|
public RMSite()
|
||||||
|
{
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,10 +67,12 @@ public class RMSite extends Site
|
|||||||
this.compliance = compliance;
|
this.compliance = compliance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance) {
|
public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance)
|
||||||
|
{
|
||||||
super(siteInfo, role);
|
super(siteInfo, role);
|
||||||
this.compliance = compliance;
|
this.compliance = compliance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
@@ -73,5 +80,4 @@ public class RMSite extends Site
|
|||||||
+ title + ", description=" + description + ", visibility="
|
+ title + ", description=" + description + ", visibility="
|
||||||
+ visibility + ", role=" + role + ", compliance="+ compliance +"]";
|
+ visibility + ", role=" + role + ", compliance="+ compliance +"]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -27,15 +27,12 @@
|
|||||||
|
|
||||||
package org.alfresco.rm.rest.api.model;
|
package org.alfresco.rm.rest.api.model;
|
||||||
|
|
||||||
import org.alfresco.api.AlfrescoPublicApi;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enumeration representing rm site compliance
|
* Enumeration representing rm site compliance
|
||||||
*
|
*
|
||||||
* @author Silviu Dinuta
|
* @author Silviu Dinuta
|
||||||
*
|
* @since 2.6
|
||||||
*/
|
*/
|
||||||
@AlfrescoPublicApi
|
|
||||||
public enum RMSiteCompliance
|
public enum RMSiteCompliance
|
||||||
{
|
{
|
||||||
STANDARD,
|
STANDARD,
|
||||||
|
Reference in New Issue
Block a user