AnsweredAssumed Answered

Duda con campos mltext como title o description

Question asked by ruben.arjonilla on Nov 13, 2013
Latest reply on Nov 18, 2013 by ruben.arjonilla
Buenas a todos.

Tengo dudas acerca del funcionamiento de los campos mltext y su comportamiento con los webscripts.

Para empezar, estoy usando alfresco 4.0-e.

Entiendo que un campo mltext, si lo modificas con un usuario que tiene por defecto español, solo modificas el campo en su versión de español, y que si lo hace un usuario con el idioma definido en inglés, este cambia los valores del idioma inglés.

En los webscripts:
Si ejecutas un webscript usando la url /alfresco/service/xxx, este ejecuta el webscript y te retorna los datos según el idioma definido en el navegador.
Si ejecutas un webscript usando la url /alfresco/wcs/xxx, este ejecuta el script con el idioma del usuario logueado (pero siempre tiene que haber un usuario loginado para que funcione, sinos te lleva a la página de login)

Hasta aquí lo entiendo.

Mis dudas vienen ahora.
1-
Por ejemplo, si uso un webscript según navegador (/alfresco/service/xxx), si el idioma del navegador no ha estado definido en la propiedad (pongamos que nos viene un alemán), si ningún usuario alemán ha modificado el texto, que texto se muestra? cuál es el idioma por defecto y como se define?


2-
Como hago para cambiar el texto de una propiedad por defecto?
Imaginad que creo un documento, y le pongo "Patatas", viene el ingles y le pone "Potatoes", pero luego veo que me he equivocado, y que en vez de "Patatas", quería poner "Patata", puedo entrar y modificar el castellano, y puede entrar el inglés para modificarlo, pero el por defecto me seguirá siendo "Patatas"


3-
Este es otro problema con el que me he encontrado.
Tengo distintos webscripts que me devuelven unos documentos según el tipo y la búsqueda. Me los devuelve en formato JSON.
Y tengo una aplicación externa, que consulta estos webscripts, y muestra la información en una web.

Para realizar dichas consultas, primero hago un login con unas url, /alfresco/service/api/login.json?u=usuarioWeb&pw=passwordUsarioWeb
Y obtengo el ticket.

Después hago las llamadas a estos webscripts pasándoles el ticket obtenido
/alfresco/service/xxx?alf_ticket=yyy

Esto me devuelve el json según el idioma en que se ejecuta el tomcat del servidor, y no tiene en cuenta el idioma del navegador.
Me encuentro de que para mostrar la página en español, tengo que ejecutar el tomcat en español, esto me limita mucho el multi-idioma, ya que quería aprovechar la misma aplicación para distintos idiomas.
Probé intentado usar la url /alfresco/wcs/xxx, llamando a un usuario distinto, ej: usando el usuarioWebEs, usuarioWebEN, …
pero esto me da un error, ya que usando /alfresco/wcs/, no admite tickets, ya que has de tener el login del navegador.

Hay alguna manera de poder ejecutar una url con wcs y que coja el idioma del usuario que yo le diga? o sea, alguna manera de hacer login desde la aplicación externa?
O como se debería hacer para usar los webscripts desde aplicaciones externas a alfresco usando /alfresco/service y poder usar el multiidioma del propio navegador en vez del del tomcat?


4-
Otra solución que estoy barajando, es la de que al webscript le pase el locale del navegador, recoger la variable y coger el campo title/description con el idioma del locale que me llegue, asi me aseguro de que el json devuelto sea correcto.
Pero no se como se puede llegar a coger.

Yo uso los webscripts con la api, no uso JAVA, uso la api de javascript.

un ejemplo de webscript seria este:
prueba1.get.desc.xml
prueba1.get.js
prueba1.get.json.ftl

se podria hacer lo que yo digo? ya sea en el .ftl o en .js
ejemplo en prueba1.get.js:
//meto el node en una variable
var node = cogerNodo();
//cojo el title
var title = node.properties["cm:title"];
model.title=title;


como seria para coger el title en el idioma que yo quiera?



Para cualquier cosa que no haya quedado clara me lo decís e intento explicarlo mejor ;)

Muchas gracias de antemano.

Outcomes