diff --git a/config/alfresco/extension/bootstrap/remote-api-context.xml b/config/alfresco/extension/bootstrap/remote-api-context.xml
index dd798ae259..9160c97b38 100644
--- a/config/alfresco/extension/bootstrap/remote-api-context.xml
+++ b/config/alfresco/extension/bootstrap/remote-api-context.xml
@@ -6,29 +6,5 @@
startup for beans in the Remote API project.
-->
-
-
-
-
-
- jbpm
- alfresco/workflow/invite_processdefinition.xml
- text/xml
- false
-
-
-
-
-
-
- alfresco/workflow/invite-workflow-model.xml
-
-
-
-
-
- alfresco/workflow/invite-workflow-messages
-
-
-
+
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.lib.ftl
index 57c0ca4e83..94cada3a4a 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.lib.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.lib.ftl
@@ -11,6 +11,7 @@
"tagScope" : "${url.serviceContext + "/api/tagscopes/" + site.node.storeType + "/" + site.node.storeId + "/" + site.node.id}",
#if>
"isPublic" : ${site.isPublic?string("true", "false")},
+ "visibility" : "${site.visibility}",
<#if site.customProperties?size != 0>
"customProperties" :
{
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.put.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.put.json.js
index 94f43466dd..f2f840c967 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.put.json.js
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/site.put.json.js
@@ -6,10 +6,36 @@ function main()
if (site != null)
{
- // Update the sites details
- site.title = json.get("title");
- site.description = json.get("description");
- site.isPublic = json.getBoolean("isPublic");
+ // Updafte the sites details
+ if (json.has("title") == true)
+ {
+ site.title = json.get("title");
+ }
+ if (json.has("description") == true)
+ {
+ site.description = json.get("description");
+ }
+
+ // Use the visibility flag before the isPublic flag
+ if (json.has("visibility") == true)
+ {
+ site.visibility = json.get("visibility");
+ }
+ else if (json.has("isPublic") == true)
+ {
+ // Deal with deprecated isPublic flag accordingly
+ var isPublic = json.getBoolean("isPublic");
+ if (isPublic == true)
+ {
+ site.visibility = siteService.PUBLIC_SITE;
+ }
+ else
+ {
+ site.visibility = siteService.PRIVATE_SITE;
+ }
+ }
+
+ // Save the site
site.save();
// Pass the model to the template
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.post.json.js b/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.post.json.js
index 188c6e1159..fce85e71fa 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.post.json.js
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.post.json.js
@@ -8,15 +8,15 @@ function main()
return;
}
- // See if the shortName is available
- var site = siteService.getSite(shortName);
- if (site != null)
- {
- status.setCode(status.STATUS_INTERNAL_SERVER_ERROR, "error.duplicateShortName");
- return;
- }
+ // See if the shortName is available
+ var site = siteService.getSite(shortName);
+ if (site != null)
+ {
+ status.setCode(status.STATUS_INTERNAL_SERVER_ERROR, "error.duplicateShortName");
+ return;
+ }
- var sitePreset = json.get("sitePreset");
+ var sitePreset = json.get("sitePreset");
if (shortName == null || shortName.length == 0)
{
status.setCode(status.STATUS_BAD_REQUEST, "Site preset missing when creating site");
@@ -25,10 +25,28 @@ function main()
var title = json.get("title");
var description = json.get("description");
- var isPublic = json.getBoolean("isPublic");
+
+ // Use the visibility flag before the isPublic flag
+ var visibility = siteService.PUBLIC_SITE;
+ if (json.has("visibility") == true)
+ {
+ visibility = json.get("visibility");
+ }
+ else if (json.has("isPublic") == true)
+ {
+ var isPublic = json.getBoolean("isPublic");
+ if (isPublic == true)
+ {
+ visibility = siteService.PUBLIC_SITE;
+ }
+ else
+ {
+ visibility = siteService.PRIVATE_SITE;
+ }
+ }
// Create the site
- var site = siteService.createSite(sitePreset, shortName, title, description, isPublic);
+ var site = siteService.createSite(sitePreset, shortName, title, description, visibility);
// Put the created site into the model
model.site = site;
diff --git a/config/alfresco/workflow/invite-workflow-messages.properties b/config/alfresco/workflow/invite-workflow-messages.properties
deleted file mode 100644
index f3e5075142..0000000000
--- a/config/alfresco/workflow/invite-workflow-messages.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-# Display labels for out-of-the-box Site-oriented Workflows
-
-#
-# Invite Workflow
-#
-
-wf_invite.workflow.title=Site Invite
-wf_invite.workflow.description=Invite to a Share Site
-
-# Invite Task Definitions
-
-wf_invite-workflow-model.type.wf_inviteToSiteTask.title=Start Invite
-wf_invite-workflow-model.type.wf_inviteToSiteTask.description=Start an invite to a Site
-wf_invite-workflow-model.type.wf_invitePendingTask.title=Site Invite
-wf_invite-workflow-model.type.wf_invitePendingTask.description=Invite to a Site
-wf_invite-workflow-model.type.wf_rejectInviteTask.title=Rejected
-wf_invite-workflow-model.type.wf_rejectInviteTask.description=Rejected
-wf_invite-workflow-model.type.wf_acceptInviteTask.title=Accepted
-wf_invite-workflow-model.type.wf_acceptInviteTask.description=Accepted
-
-# Invite Process Definitions
-
-wf_invite.node.start.title=Start
-wf_invite.node.start.description=Start
-wf_invite.node.invitePending.title=Invite Pending
-wf_invite.node.invitePending.description=Invite Pending
-wf_invite.node.invitePending.transition.reject.title=Reject
-wf_invite.node.invitePending.transition.reject.description=Reject
-wf_invite.node.invitePending.transition.accept.title=Accept
-wf_invite.node.invitePending.transition.accept.description=Accept
-wf_invite.node.inviteRejected.title=Rejected
-wf_invite.node.inviteRejected.description=Rejected
-wf_invite.task.wf_rejectInviteTask.title=Rejected
-wf_invite.task.wf_rejectInviteTask.description=Rejected
-wf_invite.node.inviteAccepted.title=Accepted
-wf_invite.node.inviteAccepted.description=Accepted
-wf_invite.task.wf_acceptInviteTask.title=Accepted
-wf_invite.task.wf_acceptInviteTask.description=Accepted
-wf_invite.node.end.title=End
-wf_invite.node.end.description=End
diff --git a/config/alfresco/workflow/invite-workflow-model.xml b/config/alfresco/workflow/invite-workflow-model.xml
deleted file mode 100644
index 0e1a559c58..0000000000
--- a/config/alfresco/workflow/invite-workflow-model.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bpm:startTask
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
- d:text
-
-
-
- bpm:assignee
-
-
-
-
- bpm:workflowTask
-
-
-
- bpm:workflowTask
-
-
-
- bpm:workflowTask
-
-
-
-
diff --git a/config/alfresco/workflow/invite_processdefinition.xml b/config/alfresco/workflow/invite_processdefinition.xml
deleted file mode 100644
index 638accb1ee..0000000000
--- a/config/alfresco/workflow/invite_processdefinition.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #{bpm_assignee.properties['cm:userName']}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java b/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java
index 4d1eb46b63..d7995f9f45 100644
--- a/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java
+++ b/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java
@@ -31,9 +31,9 @@ import java.util.Map;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
-import org.alfresco.repo.site.SiteInfo;
-import org.alfresco.repo.site.SiteService;
import org.alfresco.service.cmr.activities.ActivityService;
+import org.alfresco.service.cmr.site.SiteInfo;
+import org.alfresco.service.cmr.site.SiteService;
import org.alfresco.util.JSONtoFmModel;
import org.alfresco.web.scripts.DeclarativeWebScript;
import org.alfresco.web.scripts.Status;
diff --git a/source/java/org/alfresco/repo/web/scripts/blog/BlogServiceTest.java b/source/java/org/alfresco/repo/web/scripts/blog/BlogServiceTest.java
index 1e2a0dd25d..e726564692 100644
--- a/source/java/org/alfresco/repo/web/scripts/blog/BlogServiceTest.java
+++ b/source/java/org/alfresco/repo/web/scripts/blog/BlogServiceTest.java
@@ -30,12 +30,12 @@ import java.util.List;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationComponent;
-import org.alfresco.repo.site.SiteInfo;
import org.alfresco.repo.site.SiteModel;
-import org.alfresco.repo.site.SiteService;
import org.alfresco.repo.web.scripts.BaseWebScriptTest;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.cmr.security.PersonService;
+import org.alfresco.service.cmr.site.SiteInfo;
+import org.alfresco.service.cmr.site.SiteService;
import org.alfresco.util.PropertyMap;
import org.alfresco.web.scripts.TestWebScriptServer.DeleteRequest;
import org.alfresco.web.scripts.TestWebScriptServer.GetRequest;
diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionServiceTest.java b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionServiceTest.java
index 15e29017e6..cd05c0b6e0 100644
--- a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionServiceTest.java
+++ b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionServiceTest.java
@@ -29,12 +29,12 @@ import java.util.List;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationComponent;
-import org.alfresco.repo.site.SiteInfo;
import org.alfresco.repo.site.SiteModel;
-import org.alfresco.repo.site.SiteService;
import org.alfresco.repo.web.scripts.BaseWebScriptTest;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.cmr.security.PersonService;
+import org.alfresco.service.cmr.site.SiteInfo;
+import org.alfresco.service.cmr.site.SiteService;
import org.alfresco.util.PropertyMap;
import org.alfresco.web.scripts.TestWebScriptServer.DeleteRequest;
import org.alfresco.web.scripts.TestWebScriptServer.GetRequest;
diff --git a/source/java/org/alfresco/repo/web/scripts/invite/AcceptInviteAction.java b/source/java/org/alfresco/repo/web/scripts/invite/AcceptInviteAction.java
deleted file mode 100644
index a0f7bace05..0000000000
--- a/source/java/org/alfresco/repo/web/scripts/invite/AcceptInviteAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2005-2007 Alfresco Software Limited.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- * As a special exception to the terms and conditions of version 2.0 of
- * the GPL, you may redistribute this Program in connection with Free/Libre
- * and Open Source Software ("FLOSS") applications as described in Alfresco's
- * FLOSS exception. You should have received a copy of the text describing
- * the FLOSS exception, and it is also available here:
- * http://www.alfresco.com/legal/licensing"
- */
-package org.alfresco.repo.web.scripts.invite;
-
-import org.alfresco.repo.security.authentication.AuthenticationUtil;
-import org.alfresco.repo.security.authentication.MutableAuthenticationDao;
-import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
-import org.alfresco.repo.site.SiteService;
-import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler;
-import org.alfresco.service.ServiceRegistry;
-import org.jbpm.graph.exe.ExecutionContext;
-import org.springframework.beans.factory.BeanFactory;
-
-/**
- * This class contains logic that gets executed when
- * the wf:invitePendingTask in the invite workflow gets completed
- * along the "accept" transition
- *
- * @author glen johnson at alfresco com
- */
-public class AcceptInviteAction extends JBPMSpringActionHandler
-{
- private static final long serialVersionUID = 8133039174866049136L;
-
- private SiteService siteService;
- private MutableAuthenticationDao mutableAuthenticationDao;
-
- /* (non-Javadoc)
- * @see org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler#initialiseHandler(org.springframework.beans.factory.BeanFactory)
- */
- @Override
- protected void initialiseHandler(BeanFactory factory)
- {
- ServiceRegistry services = (ServiceRegistry)factory.getBean(ServiceRegistry.SERVICE_REGISTRY);
- mutableAuthenticationDao = (MutableAuthenticationDao) factory.getBean("authenticationDao");
- siteService = services.getSiteService();
- }
-
- /* (non-Javadoc)
- * @see org.jbpm.graph.def.ActionHandler#execute(org.jbpm.graph.exe.ExecutionContext)
- */
- @SuppressWarnings("unchecked")
- public void execute(final ExecutionContext executionContext) throws Exception
- {
- final String inviteeUserName = (String) executionContext.getVariable("wf_inviteeUserName");
- final String siteShortName = (String) executionContext.getVariable("wf_siteShortName");
- final String inviterUserName = (String) executionContext.getVariable("wf_inviterUserName");
- final String inviteeSiteRole = (String) executionContext.getVariable("wf_inviteeSiteRole");
-
- // if there is already a user account for the invitee and that account
- // is disabled, then enable the account because he/she has accepted the
- // site invitation
- if ((this.mutableAuthenticationDao.userExists(inviteeUserName))
- && (this.mutableAuthenticationDao.getEnabled(inviteeUserName) == false))
- {
- this.mutableAuthenticationDao.setEnabled(inviteeUserName, true);
- }
-
- // add Invitee to Site with the site role that the inviter "started" the invite process with
- AuthenticationUtil.runAs(new RunAsWork