cancel
Showing results for 
Search instead for 
Did you mean: 

Problema con acentos en modelo?

spilby
Confirmed Champ
Confirmed Champ
Buenas,

seguimos afinando el modelo de datos en Alfresco 5.0… Nos encontramos que al insertar un nodo nos devuelve una excepción con esta información:

<blockcode>
Invalid property value:
   Node: workspace://SpacesStore/14gf6d15-9bd9-4dd9-9f37-e5ebd214ffa2
   Name: ejemplo.pdf
   Type: {own.model}own_type
   Property: {own.model}own_prop
   Constraint: 10120007 The value is not an allowed value: Sí
</blockcode>

Se produce justo en 5 de los metadatos que incluimos en el modelo con constraints cuyos valores contienen acentos. Así que imagino que falta configurar en algún sitio algo para que se permitan acentos en ese tipo de properties.

El xml del modelo empieza por un encoding UTF-8 y una de las constrains que contienen acentos está definida así:


<constraint name="example" type="org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint">
   <parameter name="allowedValues">
      <list>
         <value></value>
         <value>Sí</value>
         <value>No</value>
      </list>
   </parameter>
   <parameter name="caseSensitive">
      <value>true</value>
   </parameter>
</constraint>


siendo luego la property:


<property name="own.model:own_prop" default="Sí" editVisible="true" createVisible="true" editable="true" inheritable="false" calculable="true">
    <title>Own Prop</title>
    <type>d:text</type>
    <mandatory>false</mandatory>
    <constraints>
        <constraint ref="example" />
    </constraints>
</property>


Los nombres los he simplificado a modo de ejemplo. El Alfresco está instalado en un Windows y ha cogido configuración en castellano, de la máquina.

Y en el alfresco-global.properties he añadido ?useUnicode=yes&characterEncoding=UTF-8 en db.url.

¿Qué hace falta para que funcionen los acentos? Estoy buscando pero no encuentro nada relacionado…
10 REPLIES 10

spilby
Confirmed Champ
Confirmed Champ
Oks, le escharé un ojo, me será muy útil.

Sobre el problema con los caracteres, ya lo he conseguido resolver! No solo era un problema a la hora de arrancar con UTF-8, solucionado en parte al especificar el encoding en los ficheros que indicaba en el anterior post. También lo tenía a la hora de recuperar los parámetros en el webscript. Es recomendable recuperarlos de esta manera:


new String(Base64.decode(parametro), Charsets.UTF_8);


siendo parametro un campo obtenido de un request.getParameter y cuyo valor lo recibo codificado en base64.

Antes no especificaba el Chartsets al crear el String, y al estar el Alfresco sobre Linux no había problema, ya estaba la máquina en UTF-8. Al estar ahora sobre Windows, no me lo hacía bien. En BD por tanto ya se estaba grabando mal. Añadiendo al Charsets, se soluciona el problema del todo.