07-07-2011 08:31 AM
<?xml version="1.0"?>
<project name="Change Default Content" default="package-amp" basedir=".">
<property name="project.dir" value="." />
<property file="${project.dir}/amp-build.properties" />
<property file="${project.dir}/module.properties" />
<property name="build.dir" value="${project.dir}/build" />
<property name="config.dir" value="${project.dir}/config" />
<property name="jar.file" value="${build.dir}/lib/${lib.name}.jar" />
<property name="amp.file" value="${build.dir}/dist/${amp.name}.amp" />
<target name="mkdirs">
<mkdir dir="${build.dir}/dist" />
<mkdir dir="${build.dir}/lib" />
<mkdir dir="${build.dir}/classes" />
</target>
<path id="class.path">
<dirset dir="${build.dir}" />
<fileset dir="${project.dir}/lib" includes="**/*.jar" />
<fileset dir="/alfresco-community-sdk-3.4.d/lib/server" includes="**/*.jar"/>
<!– Tiene que indicar la ruta a esa carpeta dentro de alfresco-community-sdk-3.4.d –>
</path>
<target name="clean">
<delete dir="${build.dir}" />
</target>
<target name="compile" depends="mkdirs">
<javac classpathref="class.path" debug="${debug}" srcdir="${project.dir}/source/java" destdir="${build.dir}/classes" target="1.5" encoding="UTF-8" />
<copy todir="${build.dir}/classes">
<fileset dir="${project.dir}/source/java" defaultexcludes="false">
<exclude name="**/*.java" />
<exclude name="**/.svn/**" />
<exclude name="**/CVS/**" />
</fileset>
</copy>
</target>
<target name="package-jar" depends="compile">
<jar destfile="${jar.file}" encoding="UTF-8">
<fileset dir="${build.dir}/classes" excludes="**/custom*,**/*Test*" defaultexcludes="false" />
</jar>
</target>
<target name="package-amp" depends="package-jar" description="Package the Module">
<zip destfile="${amp.file}" encoding="UTF-8">
<fileset dir="${project.dir}/build" includes="lib/*.jar" />
<fileset dir="${project.dir}" includes="config/**/*.*" excludes="**/module.properties" />
<fileset dir="${project.dir}">
<include name="module.properties" />
<include name="file-mapping.properties" />
<include name="WEB-INF/**/*" />
<exclude name="WEB-INF/alfresco.tld" />
<exclude name="WEB-INF/repo.tld" />
</fileset>
<zipfileset dir="source/web" prefix="web" />
</zip>
</target>
</project>
amp.name=NewModule
lib.name=NewModule
module.id=org.alfresco.module.NewContent
module.title=NewContent Project
module.description=NewContent Project to build an amp file
module.version=1.0
include.default=true
/web/WEB-INF=/WEB-INF
<?xml version="1.0" encoding="UTF-8"?>
<!– Custom Model –>
<!– Note: This model is pre-configured to load at startup of the Repository. So, all custom –>
<!– types and aspects added here will automatically be registered –>
<model name="custom:customModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!– Optional meta-data about the model –>
<description>Custom Model</description>
<author></author>
<version>1.0</version>
<imports>
<!– Import Alfresco Dictionary Definitions –>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!– Import Alfresco Content Domain Model Definitions –>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<!– Introduction of new namespaces defined by this model –>
<!– NOTE: The following namespace custom.model should be changed to reflect your own namespace –>
<namespaces>
<namespace uri="http://www.alfresco.org/model/custom/1.0" prefix="custom"/>
</namespaces>
<types>
<type name="custom:contenido">
<title>Versionable Aspect</title>
<parent>cm:content</parent>
<mandatory-aspects>
<aspect>cm:versionable</aspect> <!– Contenidos versionables –>
<aspect>cm:generalclassifiable</aspect><!– Contenidos Categorizables –>
</mandatory-aspects>
</type>
</types>
</model>
<alfresco-config>
<config evaluator="string-compare" condition="Content Wizards">
<content-types>
<type name="custom:contenido" display-label-id="custom_title" />
<!–Se añade el nuevo tipo de contenido a la lista –>
</content-types>
</config>
<config>
<!-Indicamos la nueva jsp para el Bean AddContentDialog –>
<dialogs>
<dialog name="addContent" page="/jsp/extension/add-content-dialog.jsp" managed-bean="AddContentDialog"
icon="/images/icons/add_content_large.gif" title-id="custom_add_content_dialog_title"
description-id="custom_add_content_dialog_desc"/>
</dialogs>
</config>
<config>
<wizards>
<!-Indicamos los nuevos pasos del Wizard Crear Contenido. Se añade paso 3 (selección de categorías) –>
<wizard name="createContent" managed-bean="CustomCreateContentWizard"
title-id="custom_create_content_wizard_title"
description-id="create_content_desc"
icon="/images/icons/new_content_large.gif">
<step name="details" title-id="details" description-id="create_content_step1_desc">
<page path="/jsp/content/create-content-wizard/details.jsp"
title-id="create_content_step1_title"
description-id="create_content_step1_desc"
instruction-id="default_instruction" />
</step>
<step name="content" title-id="enter_content" description-id="create_content_step2_desc">
<condition if="#{CreateContentWizard.mimeType == 'text/html'}">
<page path="/jsp/content/create-content-wizard/create-html.jsp"
title-id="create_content_step2_title"
description-id="create_content_step2_desc"
instruction-id="default_instruction" />
</condition>
<!– Default to the inline text editor –>
<page path="/jsp/content/create-content-wizard/create-text.jsp"
title-id="create_content_step2_title"
description-id="create_content_step2_desc"
instruction-id="default_instruction" />
</step>
<step name="aspect" title-id="select_category" description-id="create_content_step3_desc">
<page path="/jsp/extension/add-category.jsp"
title-id="create_content_step3_title"
description-id="create_content_step3_desc"
instruction-id="default_instruction" />
</step>
<step name="summary" title-id="summary" description-id="summary_step_description">
<page path="/jsp/wizard/summary.jsp"
title-id="summary"
description-id="summary_desc"
instruction-id="content_finish_instruction" />
</step>
</wizard>
</wizards>
</config>
<config evaluator="string-compare" condition="Languages" replace="true">
<!– the list of available language files –>
<languages>
<language locale="es_ES">Spanish</language>
<language locale="en_US">English</language>
<language locale="it_IT">Italian</language>
<language locale="fr_FR">French</language>
<language locale="de_DE">German</language>
</languages>
</config>
</alfresco-config>
custom_add_content_dialog_title=Add Content Dialog
custom_add_content_dialog_desc=This dialog helps you to add content to a space.
custom_title=New Content
custom_create_content_wizard_title=Create Content Wizard
select_category=Select a category
create_content_step3_title=Step Three - Select categories
create_content_step3_desc=Select categories to the content. Must have previously chosen the right model (New Content)
custom_title=New Content
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="AddContentDialog" class="org.alfresco.module.NewContent.CustomAddContentDialog" >
</bean>
</beans>
log4j.logger.org.alfresco.module.NewContent.CustomAddContentDialog=debug
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<import resource="classpath:alfresco/module/org.alfresco.module.NewContent/context/service-context.xml" />
<!– Registration of new models –>
<bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/model/customModel.xml</value>
</list>
</property>
</bean>
<!– Load the UI customizations –>
<bean id="content.ConfigBootstrap" class="org.alfresco.web.config.WebClientConfigBootstrap" init-method="init">
<property name="configs">
<list>
<value>classpath:alfresco/module/org.alfresco.module.NewContent/ui/web-client-config-custom.xml</value>
</list>
</property>
</bean>
<bean id="bootstrapExtraBundlesBean" class="org.alfresco.web.app.ResourceBundleBootstrap">
<property name="resourceBundles">
<list>
<value>alfresco.messages.messages_newContent</value>
</list>
</property>
</bean>
</beans>
package org.alfresco.module.NewContent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.io.Serializable;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.web.bean.content.AddContentDialog;
import org.apache.log4j.Logger;
@SuppressWarnings({"serial", "unchecked"})
public class CustomAddContentDialog extends AddContentDialog
{
/**
* Log variable
*/
private Logger logger = Logger.getLogger(CustomAddContentDialog.class);
private NodeRef addedCategory;
private List<NodeRef> categories;
public List getCategories(){
return this.categories;
}
public void setCategories(List categories)
{
this.categories = categories;
}
public void setAddedCategory(NodeRef addedCategory)
{
this.addedCategory = addedCategory;
}
public NodeRef getAddedCategory()
{
return this.addedCategory;
}
// ——————————————————————————
// Dialog implementation
@Override
protected String finishImpl(FacesContext context, String outcome) throws Exception
{
outcome = super.finishImpl(context, outcome);
Map updateProps = getNodeService().getProperties(this.createdNode);
updateProps.put(ContentModel.PROP_CATEGORIES, (Serializable)this.categories);
getNodeService().setProperties(this.createdNode, updateProps);
// return default outcome
return outcome;
}
@Override
public void init(Map<String, String> parameters)
{
super.init(parameters);
clearUpload();
this.categories = new ArrayList<NodeRef>();
this.addedCategory = null;
}
@Override
public boolean getFinishButtonDisabled()
{
return false;
}
/**
* @return Returns a list of object types to allow the user to select from
*/
@Override
public List<SelectItem> getObjectTypes()
{
this.objectTypes = newGetObjectTypes();
return this.objectTypes;
}
/*
* Función que sirve para cambiar el orden en el que aparece el desplegable con los tipos de contenido
* Modificar a gusto del consumidor
*/
public List<SelectItem> newGetObjectTypes()
{
/*
* En este ejemplo simplemente creo una lista con los valores originales que aparecen
* en el desplegable y los ordeno de tal manera que el Nuevo Contenido definido
* anteriormente sea el primero de la lista
*
* Modelos que pertenecen a la lista original del desplegable de Añadir Contenido
*/
String contentModel = ContentModel.TYPE_CONTENT.toString();
String articleModel = "{http://www.alfresco.org/model/website/1.0}article";
String imageModel = "{http://www.alfresco.org/model/website/1.0}image";
String visitorFeedbackModel = "{http://www.alfresco.org/model/website/1.0}visitorFeedback";
/**
* Lista auxiliar que recibe la lista original del desplegable de Añadir Contenido
*/
List<SelectItem> original_objectTypes;
original_objectTypes = new ArrayList<SelectItem>(5);
original_objectTypes = super.getObjectTypes();
/**
* Lista reordenada para el desplegable de Añadir Contenido
*/
List<SelectItem> new_objectTypes;
new_objectTypes = new ArrayList<SelectItem>(5);
/*
* Array con los modelos originales de alfresco
*/
List<String> codes = Arrays.asList(contentModel,articleModel,imageModel,visitorFeedbackModel);
/*
* Iterador sobre la lista original
*/
Iterator itr = original_objectTypes.iterator();
while(itr.hasNext())
{
SelectItem selectItem = (SelectItem)itr.next();
if(codes.contains(selectItem.getValue().toString()))
{
new_objectTypes.add(selectItem);
}
else // Si no es un modelo original (si es el modelo que creamos ) se añade en la primera
{ // posición para que salga por defecto en el desplegable
new_objectTypes.add(0, selectItem);
}
}
return new_objectTypes;
}
}
package org.alfresco.module.NewContent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.io.Serializable;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.web.bean.content.CreateContentWizard;
import org.apache.log4j.Logger;
@SuppressWarnings({"serial", "unchecked"})
public class CustomCreateContentWizard extends CreateContentWizard
{
/**
* Log variable
*/
private Logger logger = Logger.getLogger(CustomCreateContentWizard.class);
private NodeRef addedCategory;
private List<NodeRef> categories;
public List getCategories(){
return this.categories;
}
public void setCategories(List categories)
{
this.categories = categories;
}
public void setAddedCategory(NodeRef addedCategory)
{
this.addedCategory = addedCategory;
}
public NodeRef getAddedCategory()
{
return this.addedCategory;
}
// ——————————————————————————
// Dialog implementation
@Override
protected String finishImpl(FacesContext context, String outcome) throws Exception
{
outcome = super.finishImpl(context, outcome);
Map updateProps = getNodeService().getProperties(this.createdNode);
updateProps.put(ContentModel.PROP_CATEGORIES, (Serializable)this.categories);
getNodeService().setProperties(this.createdNode, updateProps);
// return default outcome
return outcome;
}
@Override
public void init(Map<String, String> parameters)
{
super.init(parameters);
this.categories = new ArrayList<NodeRef>();
this.addedCategory = null;
}
@Override
public boolean getFinishButtonDisabled()
{
return false;
}
/**
* @return Returns a list of object types to allow the user to select from
*/
@Override
public List<SelectItem> getObjectTypes()
{
this.objectTypes = newGetObjectTypes();
return this.objectTypes;
}
/*
*
*/
public List<SelectItem> newGetObjectTypes()
{
/* FALTA CÓDIGO PARA REORDENAR EL DESPLEGABLE
*
*/
}
}
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<!– *************************************************************** –>
<!– Empty JSF config file to prevent errors being thrown during JSF –>
<!– initialisation. Overwrite this file with your custom version. –>
<!– *************************************************************** –>
<managed-bean>
<description>
The bean that backs up the Add Content Dialog
</description>
<managed-bean-name>AddContentDialog</managed-bean-name>
<managed-bean-class>org.alfresco.module.NewContent.CustomAddContentDialog</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<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>searchService</property-name>
<value>#{SearchService}</value>
</managed-property>
<managed-property>
<property-name>navigator</property-name>
<value>#{NavigationBean}</value>
</managed-property>
<managed-property>
<property-name>browseBean</property-name>
<value>#{BrowseBean}</value>
</managed-property>
<managed-property>
<property-name>contentService</property-name>
<value>#{ContentService}</value>
</managed-property>
<managed-property>
<property-name>dictionaryService</property-name>
<value>#{DictionaryService}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>CustomCreateContentWizard</managed-bean-name>
<managed-bean-class>org.alfresco.module.NewContent.CustomCreateContentWizard</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<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>searchService</property-name>
<value>#{SearchService}</value>
</managed-property>
<managed-property>
<property-name>navigator</property-name>
<value>#{NavigationBean}</value>
</managed-property>
<managed-property>
<property-name>browseBean</property-name>
<value>#{BrowseBean}</value>
</managed-property>
<managed-property>
<property-name>contentService</property-name>
<value>#{ContentService}</value>
</managed-property>
<managed-property>
<property-name>dictionaryService</property-name>
<value>#{DictionaryService}</value>
</managed-property>
</managed-bean>
</faces-config>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<f:verbatim>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td colspan="2" class="paddingRow"></td>
</tr>
<tr>
<td>
</f:verbatim><h:outputText value="#{msg.categories}" /><f:verbatim>:
</td>
<td width="98%">
</f:verbatim>
<r:multiValueSelector id="multi-category-selector"
value="#{AddContentDialog.categories}"
lastItemAdded="#{AddContentDialog.addedCategory}"
selectItemMsg="#{msg.select_category}"
selectedItemsMsg="#{msg.selected_categories}"
noSelectedItemsMsg="#{msg.no_selected_categories}"
styleClass="multiValueSelector">
<f:subview id="categorySelector">
<r:ajaxCategorySelector id="catSelector" styleClass="selector"
value="#{AddContentDialog.addedCategory}"
label="#{msg.select_category_prompt}" />
</f:subview>
</r:multiValueSelector>
<f:verbatim>
</td>
</tr>
<tr>
<td colspan="2" class="paddingRow"></td>
</tr>
</table>
</f:verbatim>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a"%>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r"%>
<%@ page buffer="32kb" contentType="text/html;charset=UTF-8"%>
<%@ page isELIgnored="false"%>
<%@ page import="javax.faces.context.FacesContext"%>
<%@ page import="org.alfresco.web.app.Application"%>
<%@ page import="org.alfresco.web.bean.content.AddContentDialog"%>
<%@ page import="org.alfresco.web.app.servlet.FacesHelper"%>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator"%>
<%
boolean fileUploaded = false;
AddContentDialog dialog = (AddContentDialog) FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), "AddContentDialog");
if (dialog != null && dialog.getFileName() != null)
{
fileUploaded = true;
}
%>
<f:verbatim>
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/validation.js"> </script>
<%
if (fileUploaded)
{
PanelGenerator.generatePanelStart(out, request.getContextPath(), "yellowInner", "#ffffcc");
out.write("<img alt='' align='absmiddle' src='");
out.write(request.getContextPath());
out.write("/images/icons/info_icon.gif' /> ");
out.write(dialog.getFileUploadSuccessMsg());
PanelGenerator.generatePanelEnd(out, request.getContextPath(), "yellowInner");
out.write("<div style='padding:2px;'></div>");
}
%>
<table cellpadding="2" cellspacing="2" border="0" width="100%">
</f:verbatim>
<%
if (fileUploaded == false)
{
%>
<f:verbatim>
<tr>
<td colspan="3" class="wizardSectionHeading"></f:verbatim><h:outputText id="text0" value="#{msg.upload_content}" /><f:verbatim></td>
</tr>
<tr>
<td></f:verbatim>
<h:panelGrid id="upload_panel" columns="2" cellpadding="2" cellspacing="2" border="0" width="100%" columnClasses="panelGridLabelColumn,panelGridValueColumn,panelGridRequiredImageColumn">
<h:outputText value="#{msg.locate_content}" style="padding-left:8px"/>
<f:verbatim/>
<h:outputText id="out_schema" value="#{msg.file_location}:" style="padding-left:8px" />
<r:upload id="uploader" value="#{DialogManager.bean.fileName}" framework="dialog"/>
</h:panelGrid>
<f:verbatim></td>
</tr></f:verbatim>
<%}
if (fileUploaded)
{
%>
<f:verbatim>
<tr>
<td colspan="3">
<table border="0" cellspacing="2" cellpadding="2" class="selectedItems">
<tr>
<td colspan="2" class="selectedItemsHeader"></f:verbatim><h:outputText id="text2" value="#{msg.uploaded_content}" />
<f:verbatim>
</td>
</tr>
<tr>
<td class="selectedItemsRow"></f:verbatim><h:outputText id="text3" value="#{AddContentDialog.fileName}" /><f:verbatim></td>
<td></f:verbatim><a:actionLink image="/images/icons/delete.gif" value="#{msg.remove}" action="#{AddContentDialog.removeUploadedFile}" showLink="false" id="link1" /><f:verbatim></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="paddingRow"></td>
</tr>
<tr>
<td colspan="3" class="wizardSectionHeading"> </f:verbatim><h:outputText id="text4" value="#{msg.general_properties}" /><f:verbatim></td>
</tr>
<tr>
<td class="paddingRow"></td>
</tr>
<tr>
<td align="middle"></f:verbatim><h:graphicImage id="img0" value="/images/icons/required_field.gif" alt="#{msg.required_field}" /><f:verbatim></td>
<td></f:verbatim><h:outputText id="text5" value="#{msg.name}:" /><f:verbatim></td>
<td width="85%"></f:verbatim><h:inputText id="name" value="#{AddContentDialog.fileName}" maxlength="1024" size="35" onkeyup="checkButtonState();" onchange="checkButtonState();" /><f:verbatim></td>
</tr>
<tr>
<td></td>
<td></f:verbatim><h:outputText id="text6" value="#{msg.type}:" /><f:verbatim></td>
<td></f:verbatim><h:selectOneMenu id="object-type" value="#{AddContentDialog.objectType}">
<f:selectItems value="#{AddContentDialog.objectTypes}" />
</h:selectOneMenu><f:verbatim></td>
</tr>
<tr>
<td></td>
<td></f:verbatim><h:outputText id="text12" value="#{msg.encoding}:" /><f:verbatim></td>
<td></f:verbatim><h:selectOneMenu id="encoding" value="#{AddContentDialog.encoding}">
<f:selectItems value="#{AddContentDialog.encodings}" />
</h:selectOneMenu><f:verbatim></td>
</tr>
<tr>
<td></td>
<td></f:verbatim><h:outputText id="text7" value="#{msg.content_type}:" /><f:verbatim></td>
<td></f:verbatim><r:mimeTypeSelector id="mime-type" value="#{AddContentDialog.mimeType}" /><f:verbatim></td>
</tr>
</f:verbatim>
<%
if (dialog.getOtherPropertiesChoiceVisible())
{
%>
<f:verbatim>
<tr>
<td class="paddingRow"></td>
</tr>
<tr>
<td colspan="3" class="wizardSectionHeading"> </f:verbatim><h:outputText id="text8" value="#{msg.other_properties}" /><f:verbatim></td>
</tr>
<tr>
<td colspan="3">
<table style="padding-top: 2px;">
<tr>
<td colspan="3"></f:verbatim><h:outputText id="text9" value="#{msg.modify_props_help_text}" /><f:verbatim></td>
</tr>
<tr>
<td class="paddingRow"></td>
</tr>
<tr>
<td></f:verbatim><h:selectBooleanCheckbox value="#{AddContentDialog.showOtherProperties}" /><f:verbatim></td>
<td width="100%"></f:verbatim><h:outputText id="text10" value="#{msg.modify_props_when_page_closes}" /><f:verbatim></td>
</tr>
<%– AÑADIDO –%>
</table>
</td>
</tr>
<tr>
<td colspan="3">
<table cellpadding="2" cellspacing="2" border="0" width="100%">
<tr>
<td colspan="2" class="wizardSectionHeading"> </f:verbatim><h:outputText id="text15" value="#{msg.categories}" /><f:verbatim></td>
</tr>
<tr>
<td>
</f:verbatim>
<h:outputText value="#{msg.categories}" /><f:verbatim>:</td>
<td width="98%">
</f:verbatim>
<r:multiValueSelector id="multi-category-selector"
value="#{AddContentDialog.categories}"
lastItemAdded="#{AddContentDialog.addedCategory}"
selectItemMsg="#{msg.select_category}"
selectedItemsMsg="#{msg.selected_categories}"
noSelectedItemsMsg="#{msg.no_selected_categories}"
styleClass="multiValueSelector">
<f:subview id="categorySelector">
<r:ajaxCategorySelector id="catSelector" styleClass="selector"
value="#{AddContentDialog.addedCategory}"
label="#{msg.select_category_prompt}" />
</f:subview>
</r:multiValueSelector>
<f:verbatim>
</td>
</tr>
<tr>
<td colspan="2" class="paddingRow"></td>
</tr>
</table>
</td>
</tr>
<%– FIN AÑADIDO –%>
</f:verbatim>
<%
}
%>
<%
}
%>
<f:verbatim>
</table>
<script type="text/javascript">
var finishButtonPressed = false;
addEventToElement(window, 'load', pageLoaded, false);
function pageLoaded()
{
document.getElementById("dialog:finish-button").onclick = function() {finishButtonPressed = true; clear_dialog();}
}
function checkButtonState()
{
if (document.getElementById("dialog:dialog-body:name").value.length == 0 )
{
document.getElementById("dialog:finish-button").disabled = true;
}
else
{
document.getElementById("dialog:finish-button").disabled = false;
}
}
</script>
</f:verbatim>
ant
java -jar alfresco-mmt-3.3g.jar install build/dist/NewModule.amp alfresco.war -verbose
09-09-2011 03:09 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.