cancel
Showing results for 
Search instead for 
Did you mean: 

Modificando Alfresco

melongris
Champ in-the-making
Champ in-the-making
Hola, tengo que hacer algunas modificaciones en Alfreco y la verdad es que estoy hecho un lío.

Tengo Alfresco instalado, lo he probado y todo parece que funciona bien. Tengo eclipse y el SDK y aquí es donde me he perdido, porque no encuentro lo que tengo que modificar para que salga lo que yo quiero.

Por poner un ejemplo. Supongamos que voy a crear contenido nuevo y que al final, cuando relleno las propiedades, quiero que como título me salga un comboBox con tres posibles elecciones. ¿Qué archivos debo modificar para que esto funcione? y ya de paso ¿qué tengo que hacer para visualizar los cambios?

Sé que el ejemplo parece bastante absurdo y estúpido, pero sabiendo la respuesta sabré por donde tirar, porque de verdad que estoy totalmente perdido.
18 REPLIES 18

cesarista
World-Class Innovator
World-Class Innovator
Si no aparece nada en alfresco, mira los logs del catalina.out por si hay algun warning relacionado con el nuevo tipo de contenido missing.

Prueba en este caso, a añadir el modelo en el archivo tomcat/shared/classes/alfresco/extension/example-model-context.xml de esta manera, y reinicia el Alfresco.


<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>

    <!– Registration of new models –>
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/exampleModel.xml</value>
                <value>alfresco/extension/NewModel.xml</value>
            </list>
        </property>
    </bean>

</beans>

Un saludo.

–C.

pablo_zapico
Champ in-the-making
Champ in-the-making
Una cosa para que desde la parte web del gestor te permita añadir tu nuevo tipo de contenido, debes definirlo dentro de los aspects… Asi cuando crees un nuevo tipo de contenido te saldra el tuyo… Realmente lo que tienes que hacer es definir un tipo de aspecto. Por ese motivo no ves nada en la parte web.

La unica diferencia entre el tipo de aspecto y el tipo de contenido es que el tipo de aspecto nos permite utilizar las reglas y los wizards.

melongris
Champ in-the-making
Champ in-the-making
cesarista no me da ningún warning y el resultado sigue siendo el mismo declarándolo en example-model-context.xml.

pablo.zapico ¿no se supone que sólo con lo que aparece en la mini-guía debería de obtener algún resultado?  es que tambien lo hecho con el ejemplo inicial (o sea, para carpetas) y sigo sin obtener nada o es que yo no lo he entendido bien.

¿Es posible que no esté reiniciando bien? ¿cuál sería la mejor manera de hacerlo?

pablo_zapico
Champ in-the-making
Champ in-the-making
Buenas

En la mini-guia el tipo lo define asi:


<aspects>

<!– Aspect para el tipo folderEspecialidad–>

<aspect name = “prueba:aspectRegasoc“>

<title>Titulo</title>

<properties>

<property name = “prueba:nregistro“>

<title>Nº Registro</title>

<type>d:text</type>

</property>

<property name = “prueba:nombre“>

<title>Nombre</title>

<type>d:text</type>

</property>

<property name = “prueba:nexpediente“>

<title>Nº Expediente</title>

<type>d:text</type>

</property>

<property name = “prueba:seccion“>

<title>Sección</title>

<type>d:int</type>

</property>

<property name = “prueba:tipoImagen“>

<title>Tipo de Imagen</title>

<type>d:text</type>

</property>

</properties>

</aspect>

</aspects>

Dentro de Aspects se definen los metadatos que tendrian. Para poder probarlo desde la parte web seria la forma, xq si no no saldria en el wizard. Por eso yo creo que lo tienes bien pero lo unico que debes definir los metadatos en el aspect.

melongris
Champ in-the-making
Champ in-the-making
Bueno, empiezo a tener una ligera idea de donde está el error, pero no sé como solucionarlo ni porqué ocurre.

La cuestión es que yo tengo web-client-config-custom.xml configurado para que me salga como uno de los posibles idiomas el español, no conseguí que me llegase a cargar el idioma y como no era importante me olvidé del asunto. Por eso no me había dado cuenta de que al iniciar sesión ya no me salía la opción Spanish. Me he puesto a hacer pruebas y he visto que si comento todas las lineas (menos las del idioma) me vuelve a salir la opción y si pongo algo más, ya no.

He borrado todo y he dejado sólo esto:

<alfresco-config>
   <config evaluator="string-compare" condition="Languages" replace="true">
            <languages>
               <language locale="es_ES">Spanish</language>
            </languages>
      </config>

   <config evaluator="string-compare" condition="Content Wizards">
      <content-types>
         <type name="ajv:carpeta">
      </content-types>
   </config>
</alfresco-config>

Quizás sea por aquí por donde la cosa no está yendo bien.

pablo_zapico
Champ in-the-making
Champ in-the-making
Buenas, yo tengo alfresco en castellano…. no se si son estos los pasos que has seguido para la traduccion, pero te dejo aqui un link donde puedes ver los que yo he seguido.

http://codigoutil.wordpress.com/alfresco/traduccion-de-alfresco/

Fijandome mejor veo que esta incompleto el fichero que muestras, te falta indicarle las propiedades que se mostraran en los detalles del contenido

   <config evaluator="aspect-name" condition="prueba:aspectRegasoc">
      <property-sheet>
         <show-property name="prueba:nombre" component-generator="TextAreaGenerator"/>
         <show-property name="prueba:apellido"/>
      </property-sheet>
   </config>
     
   <config evaluator="node-type" condition="prueba:regasoc">
      <property-sheet>
         <show-property name="prueba:nombre" component-generator="TextAreaGenerator"/>
         <show-property name="prueba:apellido"/>           
      </property-sheet>
   </config>

Te pego las dos, tanto para un tipo de contenido  como para un tipo de aspecto

melongris
Champ in-the-making
Champ in-the-making
Increible, menuda chorrada. Resulta que miré el inicio y me encontré un error que no se guardaba en los logs:

11:14:02, 312 User:System ERROR [alfresco.config.BaseConfigService] Input stream invalid - skipped for source: classpath:alfresco/extension/webclient-config-custom.xml'
org.alfresco.config.ConfigException: 11100001 Failed parse config stream
De esto deduje que estaba en lo cierto al pensar que era el web-client-config-custom.xml el fichero que estaba mal y que tenía que ser algún fallo de sintaxis, total que no veía nada que estuviera mal y de pronto se me ocurrio poner una barra al final de esta linea <type name="ajv:carpeta">, o sea <type name="ajv:carpeta"/>, y efectivamente, adios error y adios problema, lo curioso del asunto es que al principio estaba puesta y no funcionaba y no sé en que momento la quité, pero bueno, ya no importa.

A partir de ahora mis dudas serán más del tipo ¿cómo demonios se hace esto?

pablo_zapico
Champ in-the-making
Champ in-the-making
jejeje. Buenos esos errores son los peores, porque cuesta más dar con ello… lo bueno es que al menos te has pegado de lo lindo con Alfresco…

maca_winny
Champ in-the-making
Champ in-the-making
Buenas,
Tengo un problema con los combos, no me funciona, osea no me aparecen, no sé si creo mal el fichero con este tipo, os lo pego por si me podéis echar una mano.
Muchas gracias.

<parent>cm:content</parent>
      <properties>
     
         <property name="ajv:Zona">
            <title>Zona</title>
            <type>d:text</type>
           
            <protected>false</protected>
            <mandatory>true</mandatory>
            <multiple>false</multiple>
            <constraints>
                <constraint ref="ajv:Zona_list"/>
            </constraints>

         </property>
       
         <constraints>
                <constraint name="ajv:Zona_list" type="list">
                        <parameter name="allowedValues">
                        <list>
                                <value>Sevilla</value>
                                <value>Huelva</value>
                                <value>Cádiz</value> 
                                <value>Córdoba</value>
                                <value>Málaga</value>
                                <value>Granada</value>
                                <value>Jaén</value>  
                                <value>Almería</value>
                        </list>
                        </parameter>
                </constraint>
         </constraints>