cancel
Showing results for 
Search instead for 
Did you mean: 

No me aparece el nuevo tipo de espacio

isa_7149
Champ in-the-making
Champ in-the-making
En mi proyecto, necesito crear espacios para distintos servicios, de forma que cuando ello incluyan contenido en su espacio/s, les solicite la introducción de unos datos, que no son los que alfresco pide por defecto.

Encontré en este foro la mini-guia que en su día público en este foro ajv, siguiendo sus indicaciones he intentado definir un tipo de contenido personalizado. Pero al ir a crear nuevo espacio, no me aparece el nuevo tipo que he incluido, y en el alfresco.log me reporta el siguiente error:

09:10:08,136%20WARN%20%20[org.alfresco.web.bean.spaces.CreateSpaceWizard]%20Failed%20to%20add%20'ajv:carpeta'%20to%20the%20list%20of%20folder%20types%20as%20the%20prefix%20can%20not%20be%20resolved‍


Alfresco esta instalado en un linux version DEBIAN lenny, en /opt/Alfresco/. He creado siguiendo la miniguia los siguientes ficheros en /opt/Alfresco/tomcat/shared/classes/alfresco/extension:

ajvModel.xml

<?xml version="1.0" encoding="UTF-8"?>

<!– Modelo personalizado –>

<model name="ajv:modeloPersonalizado" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>
   <description>Modelo personalizado</description>
   <author>Adrian E. Jimenez Vega</author>
   <version>1.0</version>

   <imports>
        <!– Importamos definiciones de Alfresco, concretamente el diccionario de datos y el modelo de contenido de Alfresco –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
      <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>

   <!– Registramos el Nuevo namespaces que se utilizara en este modelo –>
   <!– NOTE: The following namespace custom.model should be changed to reflect your own namespace –>

   <namespaces>
      <namespace uri="ajv.model" prefix="ajv"/>
   </namespaces>

  <types>
   <!– Definicion de los tipos de contenido personalizados –>

   <!–  Definicion del tipo de contenido ajv:carpeta –>
   <type name="ajv:carpeta">
      <title>Carpeta de Proyecto</title>
      <parent>cm:folder</parent>
      <properties>
         <property name="ajv:Mail">
            <title>eMail</title>
            <type>d:text</type>
         </property>
         <property name="ajv:Proyecto">
            <title>Proyecto</title>
            <type>d:text</type>
         </property>
         <property name="ajv:Fecha">
            <title>Fecha</title>
            <type>d:date</type>

         </property>
      </properties>
   </type>
  </types>
  <aspects>
   <!– Definicion de los aspectos personalizados –>
  </aspects>
</model>

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

ajvModel-context.xml

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

<beans>

    <!– Registro de nuevos modelos –>
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/ajvModel.xml</value>
            </list>
        </property>
    </bean>

</beans>
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Y en el fichero web-client-config-custom.xml he añadido al final las siguientes líneas:

   </config>^M
   –>^M
   <config evaluator="string-compare" condition="Action Wizards">
          <subtypes>
              <type name="ajv:carpeta"/>
          </subtypes>
   </config>
   <config evaluator="string-compare" condition="Action Wizards">
          <especialise-types>
              <type name="ajv:carpeta"/>
          </especialise-types>
   </config>

   <config evaluator="string-compare" condition="Space Wizards">
      <folder-types>
         <type name="ajv:carpeta"/>
      </folder-types>
   </config>
   <config evaluator="node-type" condition="ajv:carpeta">
      <property-sheet>
         <show-property name="ajv:Mail"/>
         <show-property name="ajv:Proyecto"/>
         <show-property name="ajv:Fecha"/>
      </property-sheet>
   </config>
^M
</alfresco-config>^M
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

No he tocado nada mas.


Gracias,
14 REPLIES 14

ajimenez
Champ in-the-making
Champ in-the-making
Hola Isa,
Precisamente tenia el  mismo problema que tú, a partir de la observación que hace pjcaracuel, he podido comprobar que si tengo mas de un fichero -context.xml solo me carga el espacio de uno de ellos. La solución que he tomé inicialmente es tener un fichero común xxx-context.xml donde añado los ficheros de los modelos a cargar.


<?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/modelo1.xml</value>
                <value>alfresco/extension/modelo2.xml</value>
            </list>
        </property>
    </bean>         
</beans>
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Investigando un poco mas, he visto que esto es debido a que en los distintos ficheros xxx-context.xml, los creé definiendo siempre el bean con el mismo id extension.dictionaryBootstrap. Y claro, las definiciones no son "acumulativas". Si creas varios ficheros context con ids distintos para los beans, se cargan correctamente los modelos.

Espero que os sirva.

Por otro lado, no consigo que convivan espacios creados añadiendo los ficheros de configuración en este directorio, y espacios creados e instalados mediante un jar. A ver si en este punto alguien ha tenido problemas.



Saludos.

isa_7149
Champ in-the-making
Champ in-the-making
He vuelto a retomar el tema, y he conseguido que me aparezca el nuevo tipo de espacio, pero todavía me falta de conseguir lo que quería sigo con ello. No se muy bien como he conseguido que funcionara, lo que he hecho es quitar del fichero web-client-config-custom.xml, todo lo que estaba comentado y todos los ^M, además he puesto las líneas de definición del folder-types antes de subtypes y especialise-types.

yoshuros
Champ in-the-making
Champ in-the-making
Tuve el mismo problema que isa

y en mi caso el problema paso por haber intentado crear en una carpeta alfresco/extension ubicada en WEB-INF el modelo propuesto

Sin embargo la unica soluciuon que encontre dado que ya habia estado peleando mucho. Fue partir de cero con un modelo limpio y creando los cambios en la carpeta correcta.

Como al igual que Isa no soy muy linuxero, tiempo a pensar que talvez habia algun error de codificacion en el archivo

es decir latin-1 en vez de UTF-8 a pesar de declarar de esta forma la cabecera del xml.

en fin gracias por la ayuda

rogerguasch
Champ in-the-making
Champ in-the-making
una pregunta de novato: cada vez que haceis cambios en el xxxModel.xml o xxxModel-context-xml o el web-client-config-custom.xml se tiene que hacer todo el depoloy otra vez (build.xml)??
o estos archivos los poneis en "ruta_tomcat/shared/clases/extension/" ???


tengo esta duda pq dentro del proyecto de alfresco en la ruta: "projects >> web-client >> config >> alfresco >> extension" es donde lo estoy haciendo yo…y por ahora no consigo sacarlo…


1 saludo!

yoshuros
Champ in-the-making
Champ in-the-making
yo tuve problemas haciéndolo en esa carpeta, no se si eso gatillo mi problema inicial

pero después lo hice en esta carpeta:

Alfresco/tomcat/shared/classes/alfresco/extension

tratándose de la versión community.

y ahí si resulto
claro esta que antes tuve que borrar todo y partir de cero, pues parece se que mi modelo se ensucio mucho con tanto intento fallido

eso si debes reiniciar Alfresco(Tomcat)  cada vez que introduzcas un cambio en el modelo.

espero te sirva :mrgreen: