El nuevo motor de formularios de
Alfresco Share proporciona características muy interesantes para los
formularios de tipos de contenido en cuanto a personalización de
componentes se refiere. Un ejemplo de formulario de registro de
entrada/salida en una aplicación administrativa dentro de Alfresco
Share podría ser la que se muestra más abajo. Personalizamos estilos
css en el formulario (left-aligned-label.css), aplicamos una plantilla
de freemaker al mismo formulario de edición de metadatos
(tab-edit-form.ftl) e incluso aplicamos diferentes plantillas a
componentes específicos del formulario (richtext.ftl).
La config necesaria en share para la edición de metadatos del
tipo de contenido registro se muestra a continuación (además sería
necesaria la definición del tipo documental registro con su esquema de
metadatos y aspectos correspondiente en el directorio de
extensiones). En el archivo share-config-custom.xml
tendríamos algo tal que así:
<config evaluator="node-type" condition="eu:registro"> <forms> <dependencies> <css src="/fdk/left-aligned-label.css" /> </dependencies> <form> <edit-form template="/fdk/templates/tab-edit-form.ftl" /> <field-visibility> <show id="cm:name" /> <show id="cm:title" force="true" /> <show id="cm:description" force="true" /> <show id="cm:author" force="true" /> <show id="cm:creator" for-mode="view" /> <show id="cm:created" for-mode="view" /> <show id="cm:modifier" for-mode="view" /> <show id="eu:NumeroRegistro" /> <show id="eu:Medio" /> <show id="eu:FechaRegistro" /> <show id="eu:NumeroHojas" /> <show id="eu:Expediente" /> <show id="eu:Estado" /> <show id="eu:Observaciones" /> <show id="eu:Resumen" /> <show id="eu:OrganoOrigen" /> <show id="eu:SuborganoOrigen" /> <show id="eu:Remitente" /> <show id="eu:CodigoOrigen" /> <show id="eu:Localidad" /> <show id="eu:Provincia" /> <show id="eu:Destinatario" /> <show id="eu:Revisor" /> <show id="eu:ResponsableArchivo" /> <show id="eu:DocumentosAdjuntos" /> </field-visibility> <appearance> <set id="" appearance="bordered-panel" label="Registro" /> <set id="panel1" label-id="General" /> <set id="panel2" label-id="Resumen" /> <set id="panel3" label-id="Origen" /> <set id="panel4" label-id="Documentos" /> <field id="cm:title"> <control template="/fdk/controls/autocomplete.ftl"> <control-param name="ds">/service/ds/autocomplete/google</control-param> </control> </field> <field id="cm:description"> <control template="/org/alfresco/components/form/controls/richtext.ftl" /> </field> <field id="eu:NumeroRegistro" set="panel1" /> <field id="eu:Medio" set="panel1" /> <field id="eu:FechaRegistro" set="panel1" /> <field id="eu:NumeroHojas" set="panel1" /> <field id="eu:Expediente" set="panel2" /> <field id="eu:Estado" set="panel2" /> <field id="eu:Destinatario" set="panel2" /> <field id="eu:Revisor" set="panel2" /> <field id="eu:ResponsableArchivo" set="panel2" /> <field id="eu:Observaciones" set="panel2"> <control template="/org/alfresco/components/form/controls/richtext.ftl" /> </field> <field id="eu:Resumen" set="panel2"> <control template="/org/alfresco/components/form/controls/richtext.ftl" /> </field> <field id="eu:OrganoOrigen" set="panel3" /> <field id="eu:SuborganoOrigen" set="panel3" /> <field id="eu:Remitente" set="panel3" /> <field id="eu:CodigoOrigen" set="panel3" /> <field id="eu:Localidad" set="panel3" /> <field id="eu:Provincia" set="panel3" /> <field id="eu:DocumentosAdjuntos" set="panel4" /> </appearance> </form> </forms> </config>
http://wiki.alfresco.com/wiki/Forms
http://wiki.alfresco.com/wiki/Forms_Developer_Guide
http://wiki.alfresco.com/wiki/Forms_Development_Kit