Crear Nuevo Tipo de Dato

cancel
Showing results for 
Search instead for 
Did you mean: 
aferez
Member II

Crear Nuevo Tipo de Dato

Buenas a todos,
tenemos un gran problema y quería ver si me podéis guiar un poco. Necesitamos un nuevo tipo de dato, ya que necesitamos un tipo de dato que cuando se cree un nuevo tipo de documento, éste tengo un metadato "especial" que sea del nuevo tipo creado. Esto es porque vamos a tener tipos en tablas auxiliares externas a las de alfresco y va a ver casos en los que a dar de alta un tipo de contenido éste tenga un metadato que dependerá de una de estas tablas y por lo tanto el combo que presentará al usuario se cargará de nuestras tablas externas. Es un poco lioso lo que hemos pensado hacer pero si lográramos realizar un tipo de dato que nos leyera de estas tablas nuevas nos facilitaría muchísimo el desarrollo de lo demás.
Lo primero no sé si se puede crear un nuevo tipo de dato porque he estado mirando y buscando información y no he encontrado nada y si se puede agradecería que me guiárais o mostrarais algún post donde se trate este tema.

Un saludo,
Alfonso
3 Replies
ajv
Member II

Re: Crear Nuevo Tipo de Dato

Hola Alfonso,

He estado rebuscando un poco y, además de los tipos de datos habituales con los que todos estamos habituados a trabajar con Alfresco (date, text, int, boolean,…), existe un tipo de datos "any" que admite cualquier java.lang.Object…vamos, cualquier cosa.
En principio definiendo esas propiedades como any, podrías introducirle cualquier objeto como metadato. No sé si con eso te puede bastar.
Los tipos de datos permitidos en Alfresco son: text, content, int, long, float, double, date, datetime, boolean, qname, category, noderef, path y any.

Ejemplo:
<property name="custom:miContenedor">
               <type>d:any</type>
</property>

Si, a parte, lo que te interesa es que estén retringidos por algunos tipos que tengas definidos en base de datos, lo que podrías definirte son constraints que obliguen a que los datos instroducidos en esos tipos "any" satisfagan las restricciones relacionadas con el tipo en cuestión.

Me parece un tema interesante…si avanzas o consigues resultados, estaría chulo que informases cómo lo has enfocado.
Saludos y suerte!!  Smiley Very Happy
aferez
Member II

Re: Crear Nuevo Tipo de Dato

he conseguido crear mi componente tal y como quería. Para ello he creado en el paquete org.alfresco.web.bean.generator una clase que será a la que llame desde mi modelo. Esta clase puede ser parecida a TextFieldGenerator lo único que modificando el método createComponent y aqui utilizando Faces diseñas tu componente como quieras(pones un combo, una caja de text, etc…). Una vez que tienes la componente creada ya está todo el trabajo realizado, sólamente tendrías que llamarlo desde el modelo, el primer paso sería mapear esta nueva clase en el faces-config-beans.xml y el segundo paso utilizarlo en el modelo y en el web-client-config-custom.xml añadiriamos en la propiedad donde hayamos añadido nuestra componente lo siguiente:
<show-property name="modeloUno:Nuestro_Componente" component-generator="NuestroSelectorGenerator"/>

UN saludo
aferez
Member II

Re: Crear Nuevo Tipo de Dato

Se me olvidaba, la información de base de datos la recuperas cuando estas en el createComponent, en este punto rellenas un List que viene de base de datos con los datos.