cancel
Showing results for 
Search instead for 
Did you mean: 

Webscripts: Crear documento editable inline

ricard
Champ in-the-making
Champ in-the-making
Hola a todos

Estoy usando webscripts para la creación de documentos en Alfresco.
En la capa de presentación uso un fckeditor como editor HTML WYSIWYG y mediante un webscript guardo esto en el contenido del documento creado.

El problema es que cuando voy a través del cliente JSP de Alfresco, no puedo editar este contenido salvo si activo la opción de "Make Inline Editable". Es un solo click pero los usuarios suelen ser recalcitrantes  :wink:

El código que uso creo que es correcto ya que fuerzo el aspect app:inlineeditable y pongo a true la property app:editInline a true, pero ni así lo consigo

¿Alguien ha hecho algo parecido? Os adjunto mi código de webscript a ver si alguien tiene ideas

(myexp es un contenido tipo Folder, con algunos metadatos customizados y fecha es un new Date con formato, body sería el texto que le llega al webscript)
var nuevaopinion = myexp.createFile("opinion_"+fecha);
nuevaopinion.specializeType("{http://www.someco.es/model/expedientes/1.0}opinion");
nuevaopinion.specializeType("{http://www.alfresco.org/model/application/1.0}inlineeditable");
nuevaopinion.content = body;
nuevaopinion.mimetype = "text/html";
nuevaopinion.properties["expSmiley Surprisedpinionbody"] = body;
nuevaopinion.properties["app:editInline"] = true;
nuevaopinion.save();

Gracias y saludos
1 REPLY 1

ricard
Champ in-the-making
Champ in-the-making
Bueno, al final gracias al prueba y error lo he conseguido solucionar

No sé por qué, pero aquellos aspects que vienen predefinidos en Alfresco hay que aplicarlos con addAspect y los aspectos que creamos nosotros con specializeType (o por lo menos a mí solo me va así). Además, no sé qué implicaciones colaterales pueden tener uno u otro. Si alguien puede aportar luz en este sentido, se lo agradecería.

En cualquier caso, para esto, el webscript quedaría con

var nuevaopinion = myexp.createFile("opinion_"+fecha);
/* Esto es un aspect mío para añadir alguna columna más */
nuevaopinion.specializeType("{http://www.someco.es/model/expedientes/1.0}opinion");
/* Este es el aspect inline editable que trae Alfresco por defecto */
nuevaopinion.addAspect("app:inlineeditable");
nuevaopinion.content = body;
nuevaopinion.mimetype = "text/html";
/* Propiedad de mi aspect */
nuevaopinion.properties["expSmiley Surprisedpinionbody"] = body;
/* Propiedad del aspect de Alfresco */
nuevaopinion.properties["app:editInline"] = true;
nuevaopinion.save();

Interesante remarcar que los cambios de FCKEditor son compatibles con el Editor HTML interno de Alfresco, o sea que genial por si queremos tener varias fuentes de edición. Bueno no he probado todo, pero negritas, subrayados y colores sí  Smiley Happy

Saludos!