mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
. Edit Web Project wizard
- Settings for Forms, Rendering Engines (templates), workflows and workflow config can be modified for a website - DNS name and Default Webapp cannot be changed at present - Fix to saving of workflow names against web project model - Users for a website are not managed in the Edit Web Project Wizard - instead use the Delete Sandbox and Invite Web Project users actions . Preview Snapshot against previous version UI action removed (not being implemented in the vserver for GA) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4485 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -807,7 +807,7 @@ space_type_note=Note: If you can only see one type of space then other space typ
|
|||||||
template_space=Template Space
|
template_space=Template Space
|
||||||
select_template=Select the template you want to use.
|
select_template=Select the template you want to use.
|
||||||
|
|
||||||
# Create Website Wizard messages
|
# Create and Edit Website Wizard messages
|
||||||
create_website=Create Web Project
|
create_website=Create Web Project
|
||||||
create_website_title=Create Web Project Wizard
|
create_website_title=Create Web Project Wizard
|
||||||
create_website_desc=This wizard helps you create a new web project space.
|
create_website_desc=This wizard helps you create a new web project space.
|
||||||
@@ -852,6 +852,10 @@ create_website_step5_title=Step Five - Notify Users
|
|||||||
create_website_step5_desc=Notify the invited users.
|
create_website_step5_desc=Notify the invited users.
|
||||||
create_website_finish_instruction=To close this wizard and create your web project space click Finish. To review or change your selections click Back.
|
create_website_finish_instruction=To close this wizard and create your web project space click Finish. To review or change your selections click Back.
|
||||||
create_website_summary_users=Users and Roles
|
create_website_summary_users=Users and Roles
|
||||||
|
edit_website_title=Edit Web Project Wizard
|
||||||
|
edit_website_desc=This wizard helps you modify the settings for a web project space.
|
||||||
|
edit_website_finish_instruction=To close this wizard and save the modified settings for your web project space click Finish. To review or change your selections click Back.
|
||||||
|
edit_website=Edit Web Project Settings
|
||||||
|
|
||||||
# Invite web users wizard messages
|
# Invite web users wizard messages
|
||||||
invite_website_users=Invite Web Project Users
|
invite_website_users=Invite Web Project Users
|
||||||
|
@@ -165,6 +165,18 @@
|
|||||||
<dialog name="formTemplateWorkflow" page="/jsp/wcm/create-website-wizard/form-workflow.jsp" managed-bean="FormWorkflowDialog"
|
<dialog name="formTemplateWorkflow" page="/jsp/wcm/create-website-wizard/form-workflow.jsp" managed-bean="FormWorkflowDialog"
|
||||||
icon="/images/icons/manage_workflow_task_large.gif" title-id="form_template_workflow"
|
icon="/images/icons/manage_workflow_task_large.gif" title-id="form_template_workflow"
|
||||||
description-id="form_template_workflow_desc" />
|
description-id="form_template_workflow_desc" />
|
||||||
|
|
||||||
|
<dialog name="editFormTemplateDetails" page="/jsp/wcm/create-website-wizard/form-details.jsp" managed-bean="EditFormDetailsDialog"
|
||||||
|
icon="/images/icons/webform_large.gif" title-id="form_template_details"
|
||||||
|
description-id="form_template_details_desc" />
|
||||||
|
|
||||||
|
<dialog name="editFormTemplateTemplates" page="/jsp/wcm/create-website-wizard/form-templates.jsp" managed-bean="EditFormTemplatesDialog"
|
||||||
|
icon="/images/icons/template_large.gif" title-id="form_template_templates"
|
||||||
|
description-id="form_template_templates_desc" />
|
||||||
|
|
||||||
|
<dialog name="editFormTemplateWorkflow" page="/jsp/wcm/create-website-wizard/form-workflow.jsp" managed-bean="EditFormWorkflowDialog"
|
||||||
|
icon="/images/icons/manage_workflow_task_large.gif" title-id="form_template_workflow"
|
||||||
|
description-id="form_template_workflow_desc" />
|
||||||
</dialogs>
|
</dialogs>
|
||||||
</config>
|
</config>
|
||||||
|
|
||||||
|
@@ -202,6 +202,20 @@
|
|||||||
</params>
|
</params>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
|
<!-- Edit Web Project wizard -->
|
||||||
|
<action id="edit_website">
|
||||||
|
<permissions>
|
||||||
|
<permission allow="true">Write</permission>
|
||||||
|
</permissions>
|
||||||
|
<label-id>edit_website</label-id>
|
||||||
|
<image>/images/icons/edit_website.gif</image>
|
||||||
|
<action>wizard:editWebsite</action>
|
||||||
|
<action-listener>#{BrowseBean.setupSpaceAction}</action-listener>
|
||||||
|
<params>
|
||||||
|
<param name="id">#{actionContext.id}</param>
|
||||||
|
</params>
|
||||||
|
</action>
|
||||||
|
|
||||||
|
|
||||||
<!-- Actions for a file in the AVM Browse screen -->
|
<!-- Actions for a file in the AVM Browse screen -->
|
||||||
<action-group id="avm_file_browse">
|
<action-group id="avm_file_browse">
|
||||||
@@ -284,6 +298,7 @@
|
|||||||
<action idref="copy_node" />
|
<action idref="copy_node" />
|
||||||
<action idref="delete_space" />
|
<action idref="delete_space" />
|
||||||
<action idref="take_ownership_space" />
|
<action idref="take_ownership_space" />
|
||||||
|
<action idref="edit_website" />
|
||||||
<action idref="invite_website_users" />
|
<action idref="invite_website_users" />
|
||||||
<action idref="run_action" />
|
<action idref="run_action" />
|
||||||
</action-group>
|
</action-group>
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<wizards>
|
<wizards>
|
||||||
|
|
||||||
<!-- Definition of a create website wizard -->
|
<!-- Definition of a create Web Project wizard -->
|
||||||
<wizard name="createWebsite" managed-bean="CreateWebsiteWizard"
|
<wizard name="createWebsite" managed-bean="CreateWebsiteWizard"
|
||||||
title-id="create_website_title" description-id="create_website_desc"
|
title-id="create_website_title" description-id="create_website_desc"
|
||||||
icon="/images/icons/create_website_large.gif">
|
icon="/images/icons/create_website_large.gif">
|
||||||
@@ -47,6 +47,36 @@
|
|||||||
</step>
|
</step>
|
||||||
</wizard>
|
</wizard>
|
||||||
|
|
||||||
|
<!-- Definition of an edit Web Project wizard -->
|
||||||
|
<wizard name="editWebsite" managed-bean="EditWebsiteWizard"
|
||||||
|
title-id="edit_website_title" description-id="edit_website_desc"
|
||||||
|
icon="/images/icons/create_website_large.gif">
|
||||||
|
<step name="details" title-id="website_details" description-id="create_website_step1_desc">
|
||||||
|
<page path="/jsp/wcm/create-website-wizard/details.jsp"
|
||||||
|
title-id="create_website_step1_title"
|
||||||
|
description-id="create_website_step1_desc"
|
||||||
|
instruction-id="default_instruction" />
|
||||||
|
</step>
|
||||||
|
<step name="forms" title-id="website_forms" description-id="create_website_step2_desc">
|
||||||
|
<page path="/jsp/wcm/create-website-wizard/forms.jsp"
|
||||||
|
title-id="create_website_step2_title"
|
||||||
|
description-id="create_website_step2_desc"
|
||||||
|
instruction-id="default_instruction" />
|
||||||
|
</step>
|
||||||
|
<step name="settings" title-id="website_settings" description-id="create_website_step3_desc">
|
||||||
|
<page path="/jsp/wcm/create-website-wizard/settings.jsp"
|
||||||
|
title-id="create_website_step3_title"
|
||||||
|
description-id="create_website_step3_desc"
|
||||||
|
instruction-id="default_instruction" />
|
||||||
|
</step>
|
||||||
|
<step name="summary" title-id="summary" description-id="summary_step_description">
|
||||||
|
<page path="/jsp/wcm/create-website-wizard/summary.jsp"
|
||||||
|
title-id="summary"
|
||||||
|
description-id="summary_desc"
|
||||||
|
instruction-id="edit_website_finish_instruction" />
|
||||||
|
</step>
|
||||||
|
</wizard>
|
||||||
|
|
||||||
<!-- Definition of a Invite Website Users wizard -->
|
<!-- Definition of a Invite Website Users wizard -->
|
||||||
<wizard name="inviteWebUsers" managed-bean="InviteWebsiteUsersWizard"
|
<wizard name="inviteWebUsers" managed-bean="InviteWebsiteUsersWizard"
|
||||||
title-id="invite_webusers_title" description-id="invite_webusers_desc"
|
title-id="invite_webusers_title" description-id="invite_webusers_desc"
|
||||||
|
@@ -27,7 +27,6 @@ import java.util.Collection;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
|
||||||
|
|
||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
import javax.faces.event.ActionEvent;
|
import javax.faces.event.ActionEvent;
|
||||||
@@ -83,40 +82,42 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
|
|
||||||
private static Log logger = LogFactory.getLog(CreateWebsiteWizard.class);
|
private static Log logger = LogFactory.getLog(CreateWebsiteWizard.class);
|
||||||
|
|
||||||
|
protected boolean editMode = false;
|
||||||
|
|
||||||
protected String dnsName;
|
protected String dnsName;
|
||||||
protected String title;
|
protected String title;
|
||||||
protected String name;
|
protected String name;
|
||||||
protected String description;
|
protected String description;
|
||||||
protected String webapp = WEBAPP_DEFAULT;
|
protected String webapp = WEBAPP_DEFAULT;
|
||||||
|
|
||||||
private String websitesFolderId = null;
|
protected String websitesFolderId = null;
|
||||||
|
|
||||||
protected AVMService avmService;
|
protected AVMService avmService;
|
||||||
protected WorkflowService workflowService;
|
protected WorkflowService workflowService;
|
||||||
|
|
||||||
/** datamodel for table of selected forms */
|
/** datamodel for table of selected forms */
|
||||||
private DataModel formsDataModel = null;
|
protected DataModel formsDataModel = null;
|
||||||
|
|
||||||
/** transient list of form UIListItem objects */
|
/** transient list of form UIListItem objects */
|
||||||
private List<UIListItem> formsList = null;
|
protected List<UIListItem> formsList = null;
|
||||||
|
|
||||||
/** list of form wrapper objects */
|
/** list of form wrapper objects */
|
||||||
private List<FormWrapper> forms = null;
|
protected List<FormWrapper> forms = null;
|
||||||
|
|
||||||
/** Current form for dialog context */
|
/** Current form for dialog context */
|
||||||
private FormWrapper actionForm = null;
|
protected FormWrapper actionForm = null;
|
||||||
|
|
||||||
/** datamodel for table of selected workflows */
|
/** datamodel for table of selected workflows */
|
||||||
private DataModel workflowsDataModel = null;
|
protected DataModel workflowsDataModel = null;
|
||||||
|
|
||||||
/** transient list of workflow UIListItem objects */
|
/** transient list of workflow UIListItem objects */
|
||||||
private List<UIListItem> workflowsList = null;
|
protected List<UIListItem> workflowsList = null;
|
||||||
|
|
||||||
/** list of workflow wrapper objects */
|
/** list of workflow wrapper objects */
|
||||||
private List<WorkflowWrapper> workflows = null;
|
protected List<WorkflowWrapper> workflows = null;
|
||||||
|
|
||||||
/** Current workflow for dialog context */
|
/** Current workflow for dialog context */
|
||||||
private WorkflowWrapper actionWorkflow = null;
|
protected WorkflowWrapper actionWorkflow = null;
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
@@ -146,6 +147,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
/**
|
/**
|
||||||
* @see org.alfresco.web.bean.dialog.BaseDialogBean#finishImpl(javax.faces.context.FacesContext, java.lang.String)
|
* @see org.alfresco.web.bean.dialog.BaseDialogBean#finishImpl(javax.faces.context.FacesContext, java.lang.String)
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
protected String finishImpl(FacesContext context, String outcome) throws Exception
|
protected String finishImpl(FacesContext context, String outcome) throws Exception
|
||||||
{
|
{
|
||||||
// create the website space in the correct parent folder
|
// create the website space in the correct parent folder
|
||||||
@@ -209,7 +211,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
*
|
*
|
||||||
* @param nodeRef NodeRef to the web project
|
* @param nodeRef NodeRef to the web project
|
||||||
*/
|
*/
|
||||||
private void saveWebProjectModel(NodeRef nodeRef)
|
protected void saveWebProjectModel(NodeRef nodeRef)
|
||||||
{
|
{
|
||||||
Map<QName, Serializable> props = new HashMap<QName, Serializable>(4, 1.0f);
|
Map<QName, Serializable> props = new HashMap<QName, Serializable>(4, 1.0f);
|
||||||
|
|
||||||
@@ -282,7 +284,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
for (WorkflowWrapper workflow : this.workflows)
|
for (WorkflowWrapper workflow : this.workflows)
|
||||||
{
|
{
|
||||||
props.clear();
|
props.clear();
|
||||||
props.put(ContentModel.PROP_NAME, workflow.getName());
|
props.put(WCMAppModel.PROP_WORKFLOW_NAME, workflow.getName());
|
||||||
NodeRef workflowRef = this.nodeService.createNode(nodeRef,
|
NodeRef workflowRef = this.nodeService.createNode(nodeRef,
|
||||||
WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS,
|
WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS,
|
||||||
WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS,
|
WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS,
|
||||||
@@ -355,6 +357,22 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Bean getters and setters
|
// Bean getters and setters
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Returns the wizard Edit Mode.
|
||||||
|
*/
|
||||||
|
public boolean getEditMode()
|
||||||
|
{
|
||||||
|
return this.editMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param editMode The wizard Edit Mode to set.
|
||||||
|
*/
|
||||||
|
public void setEditMode(boolean editMode)
|
||||||
|
{
|
||||||
|
this.editMode = editMode;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the name.
|
* @return Returns the name.
|
||||||
*/
|
*/
|
||||||
@@ -846,6 +864,18 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
return this.templates;
|
return this.templates;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param template to add to the list of PresentationTemplate
|
||||||
|
*/
|
||||||
|
public void addTemplate(PresentationTemplate template)
|
||||||
|
{
|
||||||
|
if (this.templates == null)
|
||||||
|
{
|
||||||
|
this.templates = new ArrayList<PresentationTemplate>(4);
|
||||||
|
}
|
||||||
|
this.templates.add(template);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param templates The presentation templates to set.
|
* @param templates The presentation templates to set.
|
||||||
*/
|
*/
|
||||||
|
249
source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java
Normal file
249
source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2005 Alfresco, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Mozilla Public License version 1.1
|
||||||
|
* with a permitted attribution clause. You may obtain a
|
||||||
|
* copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.alfresco.org/legal/license.txt
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
* either express or implied. See the License for the specific
|
||||||
|
* language governing permissions and limitations under the
|
||||||
|
* License.
|
||||||
|
*/
|
||||||
|
package org.alfresco.web.bean.wcm;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.faces.context.FacesContext;
|
||||||
|
|
||||||
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.model.WCMAppModel;
|
||||||
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
|
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
||||||
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
|
import org.alfresco.web.forms.Form;
|
||||||
|
import org.alfresco.web.forms.FormsService;
|
||||||
|
import org.alfresco.web.forms.RenderingEngineTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Backing bean for the Edit Web Project wizard.
|
||||||
|
*
|
||||||
|
* @author Kevin Roast
|
||||||
|
*/
|
||||||
|
public class EditWebsiteWizard extends CreateWebsiteWizard
|
||||||
|
{
|
||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
// Wizard implementation
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialises the wizard
|
||||||
|
*/
|
||||||
|
public void init(Map<String, String> parameters)
|
||||||
|
{
|
||||||
|
super.init(parameters);
|
||||||
|
|
||||||
|
// the editMode flag is used to disabled some wizard fields
|
||||||
|
this.editMode = true;
|
||||||
|
|
||||||
|
NodeRef websiteRef = this.browseBean.getActionSpace().getNodeRef();
|
||||||
|
if (websiteRef == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Edit Web Project wizard requires action node context.");
|
||||||
|
}
|
||||||
|
loadWebProjectModel(websiteRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the forms, templates and workflows from the model for this web project
|
||||||
|
*
|
||||||
|
* @param nodeRef NodeRef to the web project
|
||||||
|
*/
|
||||||
|
private void loadWebProjectModel(NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
// simple properties
|
||||||
|
this.name = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
|
||||||
|
this.title = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_TITLE);
|
||||||
|
this.description = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_DESCRIPTION);
|
||||||
|
this.dnsName = (String)this.nodeService.getProperty(nodeRef, WCMAppModel.PROP_AVMSTORE);
|
||||||
|
this.webapp = (String)this.nodeService.getProperty(nodeRef, WCMAppModel.PROP_DEFAULTWEBAPP);
|
||||||
|
|
||||||
|
// load the form templates
|
||||||
|
List<ChildAssociationRef> webFormRefs = this.nodeService.getChildAssocs(
|
||||||
|
nodeRef, WCMAppModel.ASSOC_WEBFORM, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef ref : webFormRefs)
|
||||||
|
{
|
||||||
|
NodeRef formRef = ref.getChildRef();
|
||||||
|
|
||||||
|
String name = (String)this.nodeService.getProperty(formRef, WCMAppModel.PROP_FORMNAME);
|
||||||
|
Form formImpl = FormsService.getInstance().getForm(name);
|
||||||
|
if (formImpl != null)
|
||||||
|
{
|
||||||
|
FormWrapper form = new FormWrapper(formImpl);
|
||||||
|
form.setTitle((String)this.nodeService.getProperty(formRef, ContentModel.PROP_TITLE));
|
||||||
|
form.setDescription((String)this.nodeService.getProperty(formRef, ContentModel.PROP_DESCRIPTION));
|
||||||
|
form.setFilenamePattern((String)this.nodeService.getProperty(formRef, WCMAppModel.PROP_FILENAMEPATTERN));
|
||||||
|
|
||||||
|
// the single workflow attached to the form
|
||||||
|
List<ChildAssociationRef> workflowRefs = this.nodeService.getChildAssocs(
|
||||||
|
formRef, WCMAppModel.ASSOC_WORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL);
|
||||||
|
if (workflowRefs.size() == 1)
|
||||||
|
{
|
||||||
|
NodeRef wfRef = workflowRefs.get(0).getChildRef();
|
||||||
|
String wfName = (String)this.nodeService.getProperty(wfRef, WCMAppModel.PROP_WORKFLOW_NAME);
|
||||||
|
WorkflowDefinition wfDef = this.workflowService.getDefinitionByName("jbpm$" + wfName);
|
||||||
|
if (wfDef != null)
|
||||||
|
{
|
||||||
|
WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle());
|
||||||
|
wfWrapper.setParams((Map<QName, Serializable>)deserializeWorkflowParams(wfRef));
|
||||||
|
if (wfDef.startTaskDefinition != null)
|
||||||
|
{
|
||||||
|
wfWrapper.setType(wfDef.startTaskDefinition.metadata.getName());
|
||||||
|
}
|
||||||
|
form.setWorkflow(wfWrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// the templates attached to the form
|
||||||
|
List<RenderingEngineTemplate> engineTemplates = formImpl.getRenderingEngineTemplates();
|
||||||
|
List<ChildAssociationRef> templateRefs = this.nodeService.getChildAssocs(
|
||||||
|
formRef, WCMAppModel.ASSOC_WEBFORMTEMPLATE, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef tChildRef : templateRefs)
|
||||||
|
{
|
||||||
|
NodeRef templateRef = tChildRef.getChildRef();
|
||||||
|
NodeRef engineRef = (NodeRef)this.nodeService.getProperty(templateRef, WCMAppModel.PROP_ENGINE);
|
||||||
|
for (RenderingEngineTemplate ret : engineTemplates)
|
||||||
|
{
|
||||||
|
if (engineRef.equals(ret.getNodeRef()))
|
||||||
|
{
|
||||||
|
String filenamePattern = (String)this.nodeService.getProperty(templateRef,
|
||||||
|
WCMAppModel.PROP_FILENAMEPATTERN);
|
||||||
|
PresentationTemplate template = new PresentationTemplate(ret, filenamePattern);
|
||||||
|
form.addTemplate(template);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.forms.add(form);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// load the workflows associated with the website
|
||||||
|
List<ChildAssociationRef> workflowRefs = this.nodeService.getChildAssocs(
|
||||||
|
nodeRef, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef wChildRef : workflowRefs)
|
||||||
|
{
|
||||||
|
NodeRef wfRef = wChildRef.getChildRef();
|
||||||
|
String wfName = (String)this.nodeService.getProperty(wfRef, WCMAppModel.PROP_WORKFLOW_NAME);
|
||||||
|
WorkflowDefinition wfDef = this.workflowService.getDefinitionByName("jbpm$" + wfName);
|
||||||
|
if (wfDef != null)
|
||||||
|
{
|
||||||
|
WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle());
|
||||||
|
wfWrapper.setParams((Map<QName, Serializable>)deserializeWorkflowParams(wfRef));
|
||||||
|
wfWrapper.setFilenamePattern((String)this.nodeService.getProperty(
|
||||||
|
wfRef, WCMAppModel.PROP_FILENAMEPATTERN));
|
||||||
|
if (wfDef.startTaskDefinition != null)
|
||||||
|
{
|
||||||
|
wfWrapper.setType(wfDef.startTaskDefinition.metadata.getName());
|
||||||
|
}
|
||||||
|
this.workflows.add(wfWrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.alfresco.web.bean.dialog.BaseDialogBean#finishImpl(javax.faces.context.FacesContext, java.lang.String)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected String finishImpl(FacesContext context, String outcome) throws Exception
|
||||||
|
{
|
||||||
|
NodeRef nodeRef = this.browseBean.getActionSpace().getNodeRef();
|
||||||
|
|
||||||
|
// apply the name, title and description props
|
||||||
|
this.nodeService.setProperty(nodeRef, ContentModel.PROP_NAME, this.name);
|
||||||
|
this.nodeService.setProperty(nodeRef, ContentModel.PROP_TITLE, this.title);
|
||||||
|
this.nodeService.setProperty(nodeRef, ContentModel.PROP_DESCRIPTION, this.description);
|
||||||
|
|
||||||
|
// clear the existing settings for forms, template and workflows - then the existing methods
|
||||||
|
// can be used to apply the modified and previous settings from scratch
|
||||||
|
clearWebProjectModel(nodeRef);
|
||||||
|
|
||||||
|
// TODO: add the ability to change/rename the root webapp and DNS name for the website
|
||||||
|
|
||||||
|
// persist the forms, templates, workflows and workflow defaults to the model for this web project
|
||||||
|
saveWebProjectModel(nodeRef);
|
||||||
|
|
||||||
|
return AlfrescoNavigationHandler.CLOSE_WIZARD_OUTCOME;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cascade delete the existing Form and Workflow defs attached to the specified Web Project node
|
||||||
|
*
|
||||||
|
* @param nodeRef Web project node
|
||||||
|
*/
|
||||||
|
private void clearWebProjectModel(NodeRef nodeRef)
|
||||||
|
{
|
||||||
|
List<ChildAssociationRef> webFormRefs = nodeService.getChildAssocs(
|
||||||
|
nodeRef, WCMAppModel.ASSOC_WEBFORM, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef ref : webFormRefs)
|
||||||
|
{
|
||||||
|
// cascade delete will take case of child-child relationships
|
||||||
|
this.nodeService.removeChild(nodeRef, ref.getChildRef());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ChildAssociationRef> wfRefs = nodeService.getChildAssocs(
|
||||||
|
nodeRef, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL);
|
||||||
|
for (ChildAssociationRef ref : wfRefs)
|
||||||
|
{
|
||||||
|
this.nodeService.removeChild(nodeRef, ref.getChildRef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deserialize the workflow params from a content stream
|
||||||
|
*
|
||||||
|
* @param workflowRef The noderef to write the property too
|
||||||
|
*
|
||||||
|
* @return Serializable workflow params
|
||||||
|
*/
|
||||||
|
private Serializable deserializeWorkflowParams(NodeRef workflowRef)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// restore the serialized Map from a binary content stream - like database blob!
|
||||||
|
Serializable params = null;
|
||||||
|
ContentService cs = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getContentService();
|
||||||
|
ContentReader reader = cs.getReader(workflowRef, WCMAppModel.PROP_WORKFLOWDEFAULTS);
|
||||||
|
if (reader != null)
|
||||||
|
{
|
||||||
|
ObjectInputStream ois = new ObjectInputStream(reader.getContentInputStream());
|
||||||
|
params = (Serializable)ois.readObject();
|
||||||
|
ois.close();
|
||||||
|
}
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
catch (IOException ioErr)
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + ioErr.getMessage());
|
||||||
|
}
|
||||||
|
catch (ClassNotFoundException classErr)
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + classErr.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -234,12 +234,13 @@ public class UISandboxSnapshots extends SelfRenderingComponent
|
|||||||
requestMap.put(REQUEST_SNAPVERSION, Integer.toString(item.getVersionID()));
|
requestMap.put(REQUEST_SNAPVERSION, Integer.toString(item.getVersionID()));
|
||||||
Utils.encodeRecursive(context, action);
|
Utils.encodeRecursive(context, action);
|
||||||
requestMap.remove(REQUEST_SNAPVERSION);
|
requestMap.remove(REQUEST_SNAPVERSION);
|
||||||
out.write(" ");
|
//out.write(" ");
|
||||||
|
|
||||||
Utils.encodeRecursive(context, aquireAction(
|
// TODO: restore once preview of a store by version is implemented in vserver
|
||||||
|
/*Utils.encodeRecursive(context, aquireAction(
|
||||||
context, sandbox, ACT_SNAPSHOT_PREVIEW, null,
|
context, sandbox, ACT_SNAPSHOT_PREVIEW, null,
|
||||||
null, null));
|
null, null));
|
||||||
out.write(" ");
|
out.write(" ");*/
|
||||||
|
|
||||||
out.write("</nobr></td></tr>");
|
out.write("</nobr></td></tr>");
|
||||||
}
|
}
|
||||||
|
@@ -2162,6 +2162,43 @@
|
|||||||
</managed-property>
|
</managed-property>
|
||||||
</managed-bean>
|
</managed-bean>
|
||||||
|
|
||||||
|
<managed-bean>
|
||||||
|
<description>
|
||||||
|
The bean that backs up the Edit Website Wizard
|
||||||
|
</description>
|
||||||
|
<managed-bean-name>EditWebsiteWizard</managed-bean-name>
|
||||||
|
<managed-bean-class>org.alfresco.web.bean.wcm.EditWebsiteWizard</managed-bean-class>
|
||||||
|
<managed-bean-scope>session</managed-bean-scope>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>browseBean</property-name>
|
||||||
|
<value>#{BrowseBean}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>nodeService</property-name>
|
||||||
|
<value>#{NodeService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>fileFolderService</property-name>
|
||||||
|
<value>#{FileFolderService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>navigator</property-name>
|
||||||
|
<value>#{NavigationBean}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>searchService</property-name>
|
||||||
|
<value>#{SearchService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>avmService</property-name>
|
||||||
|
<value>#{AVMService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>workflowService</property-name>
|
||||||
|
<value>#{WorkflowService}</value>
|
||||||
|
</managed-property>
|
||||||
|
</managed-bean>
|
||||||
|
|
||||||
<managed-bean>
|
<managed-bean>
|
||||||
<description>
|
<description>
|
||||||
The bean that backs up the Import Website Dialog
|
The bean that backs up the Import Website Dialog
|
||||||
@@ -2634,6 +2671,61 @@
|
|||||||
</managed-property>
|
</managed-property>
|
||||||
</managed-bean>
|
</managed-bean>
|
||||||
|
|
||||||
|
<managed-bean>
|
||||||
|
<description>
|
||||||
|
The bean that backs up the Edit Form Template Details dialog
|
||||||
|
</description>
|
||||||
|
<managed-bean-name>EditFormDetailsDialog</managed-bean-name>
|
||||||
|
<managed-bean-class>org.alfresco.web.bean.wcm.FormDetailsDialog</managed-bean-class>
|
||||||
|
<managed-bean-scope>session</managed-bean-scope>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>avmService</property-name>
|
||||||
|
<value>#{AVMService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>createWebsiteWizard</property-name>
|
||||||
|
<value>#{EditWebsiteWizard}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>workflowService</property-name>
|
||||||
|
<value>#{WorkflowService}</value>
|
||||||
|
</managed-property>
|
||||||
|
</managed-bean>
|
||||||
|
|
||||||
|
<managed-bean>
|
||||||
|
<description>
|
||||||
|
The bean that backs up the Edit Form Template Templates dialog
|
||||||
|
</description>
|
||||||
|
<managed-bean-name>EditFormTemplatesDialog</managed-bean-name>
|
||||||
|
<managed-bean-class>org.alfresco.web.bean.wcm.FormTemplatesDialog</managed-bean-class>
|
||||||
|
<managed-bean-scope>session</managed-bean-scope>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>avmService</property-name>
|
||||||
|
<value>#{AVMService}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>createWebsiteWizard</property-name>
|
||||||
|
<value>#{EditWebsiteWizard}</value>
|
||||||
|
</managed-property>
|
||||||
|
</managed-bean>
|
||||||
|
|
||||||
|
<managed-bean>
|
||||||
|
<description>
|
||||||
|
The bean that backs up the Edit Form Template Workflow dialog
|
||||||
|
</description>
|
||||||
|
<managed-bean-name>EditFormWorkflowDialog</managed-bean-name>
|
||||||
|
<managed-bean-class>org.alfresco.web.bean.wcm.FormWorkflowDialog</managed-bean-class>
|
||||||
|
<managed-bean-scope>session</managed-bean-scope>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>createWebsiteWizard</property-name>
|
||||||
|
<value>#{EditWebsiteWizard}</value>
|
||||||
|
</managed-property>
|
||||||
|
<managed-property>
|
||||||
|
<property-name>workflowService</property-name>
|
||||||
|
<value>#{WorkflowService}</value>
|
||||||
|
</managed-property>
|
||||||
|
</managed-bean>
|
||||||
|
|
||||||
<!-- ==================== COMPONENT GENERATOR BEANS ==================== -->
|
<!-- ==================== COMPONENT GENERATOR BEANS ==================== -->
|
||||||
<managed-bean>
|
<managed-bean>
|
||||||
<description>
|
<description>
|
||||||
|
BIN
source/web/images/icons/edit_website.gif
Normal file
BIN
source/web/images/icons/edit_website.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 601 B |
BIN
source/web/images/icons/edit_website_large.gif
Normal file
BIN
source/web/images/icons/edit_website_large.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@@ -34,7 +34,6 @@
|
|||||||
document.getElementById("wizard:wizard-body:name").focus();
|
document.getElementById("wizard:wizard-body:name").focus();
|
||||||
document.getElementById("wizard").onsubmit = validate;
|
document.getElementById("wizard").onsubmit = validate;
|
||||||
document.getElementById("wizard:next-button").onclick = function() {finishButtonPressed = true; clear_wizard();}
|
document.getElementById("wizard:next-button").onclick = function() {finishButtonPressed = true; clear_wizard();}
|
||||||
document.getElementById("wizard:finish-button").onclick = function() {finishButtonPressed = true; clear_wizard();}
|
|
||||||
checkButtonState();
|
checkButtonState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,12 +43,10 @@
|
|||||||
document.getElementById("wizard:wizard-body:dnsname").value.length < 2)
|
document.getElementById("wizard:wizard-body:dnsname").value.length < 2)
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:next-button").disabled = true;
|
document.getElementById("wizard:next-button").disabled = true;
|
||||||
document.getElementById("wizard:finish-button").disabled = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:next-button").disabled = false;
|
document.getElementById("wizard:next-button").disabled = false;
|
||||||
document.getElementById("wizard:finish-button").disabled = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,7 +113,7 @@
|
|||||||
<td width="85%">
|
<td width="85%">
|
||||||
</f:verbatim>
|
</f:verbatim>
|
||||||
<h:inputText id="dnsname" value="#{WizardManager.bean.dnsName}" size="35" maxlength="64"
|
<h:inputText id="dnsname" value="#{WizardManager.bean.dnsName}" size="35" maxlength="64"
|
||||||
onkeyup="javascript:checkButtonState();" />
|
onkeyup="javascript:checkButtonState();" disabled="#{WizardManager.bean.editMode}" />
|
||||||
<f:verbatim>
|
<f:verbatim>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -129,7 +126,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td width="85%">
|
<td width="85%">
|
||||||
</f:verbatim>
|
</f:verbatim>
|
||||||
<h:inputText id="webapp" value="#{WizardManager.bean.webapp}" size="35" maxlength="256" />
|
<h:inputText id="webapp" value="#{WizardManager.bean.webapp}" size="35" maxlength="256"
|
||||||
|
disabled="#{WizardManager.bean.editMode}" />
|
||||||
<f:verbatim>
|
<f:verbatim>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@@ -58,9 +58,16 @@
|
|||||||
<f:facet name="header">
|
<f:facet name="header">
|
||||||
<h:outputText value="#{msg.configure}" />
|
<h:outputText value="#{msg.configure}" />
|
||||||
</f:facet>
|
</f:facet>
|
||||||
<h:commandButton value="#{msg.form_template_details}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateDetails" actionListener="#{WizardManager.bean.setupFormAction}" />
|
<h:panelGroup rendered="#{WizardManager.bean.editMode == false}">
|
||||||
<h:commandButton value="#{msg.form_template_conf_workflow}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateWorkflow" actionListener="#{WizardManager.bean.setupFormAction}" disabled="#{row.workflow == null}" />
|
<h:commandButton id="cmd1-1" value="#{msg.form_template_details}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateDetails" actionListener="#{WizardManager.bean.setupFormAction}" />
|
||||||
<h:commandButton value="#{msg.form_template_select_templates}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateTemplates" actionListener="#{WizardManager.bean.setupFormAction}" />
|
<h:commandButton id="cmd1-2" value="#{msg.form_template_conf_workflow}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateWorkflow" actionListener="#{WizardManager.bean.setupFormAction}" disabled="#{row.workflow == null}" />
|
||||||
|
<h:commandButton id="cmd1-3" value="#{msg.form_template_select_templates}" style="margin:2px" styleClass="dialogControls" action="dialog:formTemplateTemplates" actionListener="#{WizardManager.bean.setupFormAction}" />
|
||||||
|
</h:panelGroup>
|
||||||
|
<h:panelGroup rendered="#{WizardManager.bean.editMode == true}">
|
||||||
|
<h:commandButton id="cmd2-1" value="#{msg.form_template_details}" style="margin:2px" styleClass="dialogControls" action="dialog:editFormTemplateDetails" actionListener="#{WizardManager.bean.setupFormAction}" />
|
||||||
|
<h:commandButton id="cmd2-2" value="#{msg.form_template_conf_workflow}" style="margin:2px" styleClass="dialogControls" action="dialog:editFormTemplateWorkflow" actionListener="#{WizardManager.bean.setupFormAction}" disabled="#{row.workflow == null}" />
|
||||||
|
<h:commandButton id="cmd2-3" value="#{msg.form_template_select_templates}" style="margin:2px" styleClass="dialogControls" action="dialog:editFormTemplateTemplates" actionListener="#{WizardManager.bean.setupFormAction}" />
|
||||||
|
</h:panelGroup>
|
||||||
</h:column>
|
</h:column>
|
||||||
<h:column>
|
<h:column>
|
||||||
<a:actionLink actionListener="#{WizardManager.bean.removeForm}" image="/images/icons/delete.gif"
|
<a:actionLink actionListener="#{WizardManager.bean.removeForm}" image="/images/icons/delete.gif"
|
||||||
|
@@ -54,7 +54,8 @@
|
|||||||
</f:facet>
|
</f:facet>
|
||||||
<h:outputText value="#{msg.website_filename_pattern}:" style="padding-right:4px" />
|
<h:outputText value="#{msg.website_filename_pattern}:" style="padding-right:4px" />
|
||||||
<h:inputText value="#{row.filenamePattern}" />
|
<h:inputText value="#{row.filenamePattern}" />
|
||||||
<h:commandButton value="#{msg.form_template_conf_workflow}" style="margin-left:4px" styleClass="dialogControls" action="dialog:formTemplateWorkflow" actionListener="#{WizardManager.bean.setupWorkflowAction}" />
|
<h:commandButton id="cmd-1" rendered="#{WizardManager.bean.editMode == false}" value="#{msg.form_template_conf_workflow}" style="margin-left:4px" styleClass="dialogControls" action="dialog:formTemplateWorkflow" actionListener="#{WizardManager.bean.setupWorkflowAction}" />
|
||||||
|
<h:commandButton id="cmd-2" rendered="#{WizardManager.bean.editMode == true}" value="#{msg.form_template_conf_workflow}" style="margin-left:4px" styleClass="dialogControls" action="dialog:editFormTemplateWorkflow" actionListener="#{WizardManager.bean.setupWorkflowAction}" />
|
||||||
</h:column>
|
</h:column>
|
||||||
<h:column>
|
<h:column>
|
||||||
<a:actionLink actionListener="#{WizardManager.bean.removeWorkflow}" image="/images/icons/delete.gif"
|
<a:actionLink actionListener="#{WizardManager.bean.removeWorkflow}" image="/images/icons/delete.gif"
|
||||||
|
Reference in New Issue
Block a user