ALFRESCO: El modelo de contenidos

Diseño y desarrollo de los cimientos de un proyecto de gestión de contenidos

Alfresco incorpora un metamodelo en su estructura, es decir, la capacidad para que nosotros declaremos nuevos modelos de contenido.

Un modelo de contenido define la estructura de información acompañará a nuestros documentos digitales.

Dotar de semántica al documento para que posteriormente se puedan implementar búsquedas y procesos más eficientes e “inteligentes”.

El modelo de contenidos por defecto se conoce en Alfresco como “Diccionario de Datos” o “Data Dictionary” y soporta ser extendido para que el repositorio pueda manejar nuevos modelos de contenido.

El Diccionario de Datos describe las estructura del contenido a través de propiedades, asociaciones y reglas o restricciones.

El Diccionario de Datos es un metamodelo que permite describir uno o más modelos de contenido específicos.

Estructuras de contenido: Tipos y Aspectos

El metamodelo permite definir en los modelos de contenido dos clases de estructuras: tipos de contenido y aspectos de contenido.

La diferencia entre Content Type y Content Aspect es que un contenido sólo tiene un tipo que es el que define su estructura fundamental. Sin embargo, un mismo contenido puede tener muchos aspectos que son conceptos transversales aplicables a cualquier tipo de contenido.

Un mismo nodo puede tener un aspecto en un momento temporal y posteriormente dejar de tenerlo.

Tipos de contenido

Alfresco almacena, por defecto, los documentos como nodos de tipo cm:content que están formados por un fichero binario y por los metadatos básicos (titulo, autor, fecha de modificación, etc.)

Podemos heredar de cm:content para hacer un nuevo tipo “Informe Técnico”.

Los tipos presentan un gran parecido a las clases en el mundo de orientación a objetos. Un modelo de contenidos puede definir N tipos de contenido nuevos. Pueden usarse para representar objetos de nuestro modelo de negocio: Tienen propiedades y pueden heredar de un tipo base. Contenido (cm:content) , Persona (cm:person) o Carpeta (cm:folder) son tres tipos importantes definidos por Alfresco.

Los tipos personalizados están limitados únicamente por nuestra imaginación y requerimientos de negocio. Factura, Receta médica o Película serían ejemplos de tipos personalizados.

Definir un modelo

Un modelo de contenido es una colección de tipos de contenidos y aspectos relacionados.

Cada modelo se asocia a un namespace XML para que sea único.

Modelos predefinidos

System – describe conceptos a nivel del repositorio.

Content – describe el modelo de contenido del dominio estándar (ej. Carpeta, Fichero, Dublin-Core, …)

Application – describe el modelo de aplicación de Alfresco (ej. glosario, …)

Dictionary – describe el metamodelo del Diccionario de Datos (enteros, flotantes, fechas…).

Namespaces de los modelos predefinidos

System – http://www.alfresco.org/model/ system/1.0 – Prefijo sys

Content – http://www.alfresco.org/model/ content/1.0 – Prefijo cm

Application – http://www.alfresco.org/model/ application/1.0 – Prefijo app

Dictionary – http://www.alfresco.org/model/ dictionary/1.0 – Prefijo d

Crear un nuevo modelo

Se declara en un fichero XML cuyo nodo principal es el elemento <model> del esquema “Data Dictionary XML Schema”. Dicho esquema está en el espacio de nombres referenciado por la URI http://www.alfresco.org/model/dictionary/1.0

Este fichero debe colocarse en la carpeta de extensión de Alfresco para despliegues estáticos y dentro del espacio “Company Home -> Data Dictionary -> Models”) para despliegues dinámicos.

    <model name="prefijo:nuevoModelo" xmlns="http://
    www.alfresco.org/model/dictionary/1.0">
    <description>Modelo Contenido Nuevo</description>
    <author>Formacion S.L.</author>
    <published>2011-01-01</published>
    <version>1.0</version>
    <imports>
        ! <!-- Importamos las definiciones del Diccionario de Datos -->
        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
        <!-- Importamos las definiciones del modelo de contenidos estandar -->
        <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
    </imports>

 

Declarar un nuevo modelo

La propiedad name del elemento model define el nombre único del modelo. El prefijo debe usarse el que se declare en el espacio de nombres.

xmlns declara el espacio de nombres del metamodelo como espacio de nombres por defecto.

La sección de imports hace que los modelos de contenido estándares así como el metamodelo y el diccionario de datos estén disponible para su uso y referencia en nuestro modelo.

    <namespaces>
    <namespace
    uri="http://www.formacion.com/xmlns/modelo/1.0/"
    prefix="prefijo"/>
    </namespaces>
    ...

uri: identificador único del espacio de nombres

prefix: prefijo que se usará en el resto del documento

 

Comments are closed.