Merged V2.2 to HEAD

7422: Deployment UI changes
   7424: Deployment UI changes
   7426: Created 'More Actions' menu for user sandboxes and moved various actions into it
   7428: Server config UI
   7433: Added ability to deploy a workflow sandbox to a test server
   7434: Fixed confusing comment
   7442: Enabled users with contributor and reviewer roles to reserve a test server and deploy to it
   7443: Preparation for auto deployment


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8362 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley 2008-02-22 14:50:39 +00:00
parent 30b8c64faa
commit d175db706e
4 changed files with 28 additions and 9 deletions

View File

@ -117,7 +117,7 @@ avm-undo-list.node-list.display-label=The string encoded list of nodes to revert
avm-deploy-website.title=Deploy a website to a remote server. avm-deploy-website.title=Deploy a website to a remote server.
avm-deploy-website.description=This deploys a website to a remote server. avm-deploy-website.description=This deploys a website to a remote server.
avm-deploy-website.website.display-label=NodeRef of the website the deploy is occurring from. avm-deploy-website.webproject.display-label=NodeRef of the web project the deploy is occurring from.
avm-deploy-website.server.display-label=NodeRef of the deploymentserver to deploy to. avm-deploy-website.server.display-label=NodeRef of the deploymentserver to deploy to.
avm-deploy-website.attempt.display-label=NodeRef of the deploymentattempt this deployment is part of. avm-deploy-website.attempt.display-label=NodeRef of the deploymentattempt this deployment is part of.
avm-deploy-website.callback.display-label=The DeploymentCallback listener object. avm-deploy-website.callback.display-label=The DeploymentCallback listener object.

View File

@ -249,6 +249,11 @@
<description>The webapp within the workflow store to check links for</description> <description>The webapp within the workflow store to check links for</description>
<type>d:text</type> <type>d:text</type>
</property> </property>
<property name="wcmwf:autoDeploy">
<title>Auto Deploy</title>
<description>Determines whether the changes should be deployed upon submission</description>
<type>d:boolean</type>
</property>
</properties> </properties>
</aspect> </aspect>

View File

@ -37,6 +37,7 @@ public interface WCMWorkflowModel
static final QName PROP_LABEL = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "label"); static final QName PROP_LABEL = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "label");
static final QName PROP_LAUNCH_DATE = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "launchDate"); static final QName PROP_LAUNCH_DATE = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "launchDate");
static final QName PROP_VALIDATE_LINKS = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "validateLinks"); static final QName PROP_VALIDATE_LINKS = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "validateLinks");
static final QName PROP_AUTO_DEPLOY = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "autoDeploy");
static final QName PROP_WEBAPP = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "webapp"); static final QName PROP_WEBAPP = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "webapp");
static final QName ASSOC_WEBPROJECT = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "webproject"); static final QName ASSOC_WEBPROJECT = QName.createQName(NamespaceService.WCMWF_MODEL_1_0_URI, "webproject");
} }

View File

@ -67,7 +67,7 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
public static final String NAME = "avm-deploy-website"; public static final String NAME = "avm-deploy-website";
public static final String FILE_SERVER_PREFIX = "\\\\"; public static final String FILE_SERVER_PREFIX = "\\\\";
public static final String PARAM_WEBSITE = "website"; public static final String PARAM_WEBPROJECT = "webproject";
public static final String PARAM_SERVER = "server"; public static final String PARAM_SERVER = "server";
public static final String PARAM_ATTEMPT = "attempt"; public static final String PARAM_ATTEMPT = "attempt";
public static final String PARAM_CALLBACK = "callback"; public static final String PARAM_CALLBACK = "callback";
@ -202,8 +202,8 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
@Override @Override
protected void addParameterDefinitions(List<ParameterDefinition> paramList) protected void addParameterDefinitions(List<ParameterDefinition> paramList)
{ {
paramList.add(new ParameterDefinitionImpl(PARAM_WEBSITE, DataTypeDefinition.NODE_REF, true, paramList.add(new ParameterDefinitionImpl(PARAM_WEBPROJECT, DataTypeDefinition.NODE_REF, true,
getParamDisplayLabel(PARAM_WEBSITE))); getParamDisplayLabel(PARAM_WEBPROJECT)));
paramList.add(new ParameterDefinitionImpl(PARAM_SERVER, DataTypeDefinition.NODE_REF, true, paramList.add(new ParameterDefinitionImpl(PARAM_SERVER, DataTypeDefinition.NODE_REF, true,
getParamDisplayLabel(PARAM_SERVER))); getParamDisplayLabel(PARAM_SERVER)));
paramList.add(new ParameterDefinitionImpl(PARAM_ATTEMPT, DataTypeDefinition.NODE_REF, false, paramList.add(new ParameterDefinitionImpl(PARAM_ATTEMPT, DataTypeDefinition.NODE_REF, false,
@ -228,7 +228,7 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
} }
// get the NodeRef representing the website being deployed // get the NodeRef representing the website being deployed
NodeRef websiteRef = (NodeRef)action.getParameterValue(PARAM_WEBSITE); NodeRef websiteRef = (NodeRef)action.getParameterValue(PARAM_WEBPROJECT);
if (this.nodeService.exists(websiteRef) == false) if (this.nodeService.exists(websiteRef) == false)
{ {
throw new IllegalStateException("The website NodeRef (" + websiteRef + throw new IllegalStateException("The website NodeRef (" + websiteRef +
@ -269,8 +269,6 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
String targetName = (String)serverProps.get(WCMAppModel.PROP_DEPLOYSERVERTARGET); String targetName = (String)serverProps.get(WCMAppModel.PROP_DEPLOYSERVERTARGET);
String targetPath = path; String targetPath = path;
// TODO: determine if we need to deploy a subfolder of the website
if (fileServerDeployment == false) if (fileServerDeployment == false)
{ {
// if "localhost" is passed as the target server add "live" to the end of the // if "localhost" is passed as the target server add "live" to the end of the
@ -312,6 +310,19 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
targetName = this.defaultTargetName; targetName = this.defaultTargetName;
} }
// determine the actual source path
if (sourcePath != null && sourcePath.length() > 0)
{
// make sure the path starts with /
if (sourcePath.startsWith("/") == false)
{
sourcePath = "/" + sourcePath;
}
// append to the root path
path = path + sourcePath;
}
// take a note of the current date/time // take a note of the current date/time
Date startDate = new Date(); Date startDate = new Date();
@ -336,7 +347,8 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
if (fileServerDeployment) if (fileServerDeployment)
{ {
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Performing file server deployment to " + host + ":" + port); logger.debug("Performing file server deployment to " + host + ":" + port +
" using deploymentserver: " + serverProps);
// TODO: Added new NameMatcher parameter to deploy methods. It acts as a filter. // TODO: Added new NameMatcher parameter to deploy methods. It acts as a filter.
// Any matching path names are ignored for deployment purposes. // Any matching path names are ignored for deployment purposes.
@ -346,7 +358,8 @@ public class AVMDeployWebsiteAction extends ActionExecuterAbstractBase
else else
{ {
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Performing Alfresco deployment to " + host + ":" + port); logger.debug("Performing Alfresco deployment to " + host + ":" + port +
" using deploymentserver: " + serverProps);
// TODO: Added new NameMatcher parameter to deploy methods. It acts as a filter. // TODO: Added new NameMatcher parameter to deploy methods. It acts as a filter.
// Any matching path names are ignored for deployment purposes. // Any matching path names are ignored for deployment purposes.