Modelo de contenidos.
El primer paso es la creación de un modelo de contenidos custom para Alfresco donde irá la definición de los metadatos, en este se puede meter cualquier cosa, incluso tipos nuevos.
El modelo tiene que tener la siguiente forma:
<model>
<imports></imports>
<namespaces></namespaces>
<aspects>
<aspect name=”” >
<property name=”” >
<type>
</type>
</property>
</aspect>
</aspects>
</model>
El modelo se puede añadir al modelo standard de Alfresco pero lo recomendable es añadirlo en la carpeta de extensión.
El modelo se debe guardar en la carpeta $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/model
Donde $TOMCAT_HOME es la carpeta root donde esté instalado tomcat, en nuestro caso es /opt/alfresco-4.2.c/tomcat
Subida del modelo
Alfresco no es capaz de reconocer el modelo automáticamente (aunque existe una subida dinámica desde la carpeta que permite activarlo a mano) por lo que se va a utilizar Bootstrap.
Para ello se ha de crear otro XML con la siguiente forma:
<beans>
<!-- Registration of new models -->
<bean id="realtech.dictionaryBootstrap" parent="dictionaryModelBootstrap"
depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/model/rtModel.xml</value>
</list>
</property>
</bean>
</beans>
El valor de list indicará la ruta y nombre de los modelos de contenido custom que se van a importar.
Este fichero tiene que llamarse *-context.xml, ya que Alfresco reconoce sólo los ficheros con ese nombre, e irá en la siguiente ruta:
$TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension
Visualización en SHARE.
La siguiente parte consiste en la modificación de los xml de SHARE para que muestre los aspectos nuevos:
Existe un xml (en caso de no existir se crea) llamado share-config-custom en la ruta:
$TOMCAT_HOME/webapps/share/WEB-INF/classes/alfresco/web-extension
Este fichero indica a SHARE los aspectos custom que van a ser visibles.
Tiene la siguiente forma
<alfresco-config>
<!-- Document Library config section -->
<config evaluator="string-compare" condition="DocumentLibrary">
<aspects>
<!-- Aspects that a user can see -->
<visible>
<aspect name="rt:object" />
<aspect name="rt:test" />
</visible>
<addable>
</addable>
<removeable>
</removeable>
</aspects>
</config>
</alfresco-config>
Los campos addable y removeable en el caso de dejarse vacíos toman los valores de visible.
Por último existe otros dos ficheros que no son necesarios el primero indica a share los campos a visualizar de los metadatos (pero haciendo pruebas creo que no es necesario indicar nada aquí)
El fichero es :
va en la misma ruta que el anterior:
$TOMCAT_HOME/webapps/share/WEB-INF/classes/alfresco/web-extension
Existe un último fichero de configuración que no he conseguido hacer funcionar que permite cambiar los textos que se visualizan de las variables de los metadatos, el fichero es:
$TOMCAT_HOME/webapps/share/WEB-INF/classes/alfresco/web-extension/messages
Para subir este fichero, hay que usar otro bootstrap en la carpeta:
$TOMCAT_HOME/webapps/share/WEB-INF/classes/alfresco/web-extension
Reinicio del servidor
Una vez creados todos los ficheros, se ha de reiniciar el servidor de Alfresco, se hace desde la ruta de instalación de alfresco, en nuestro caso /opt/alfresco-4.2.c
Los comandos son:
./alfresco.sh stop
./alfresco.sh start
En el caso de haber un error estará en Alfresco.log en la misma ruta. Cada app tiene su propio log, incluída la base de datos y Tomcat, que están en /tomcat/logs o en /tomcat.