Webscript que funciona en Alfresco pero no en Share (SOLVED)

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Member II

Webscript que funciona en Alfresco pero no en Share (SOLVED)

Hola, soy nuevo en el foro, estoy intentando preparar un Alfresco Share como herramienta de soporte al proyecto en el que estoy actualmente.

Estoy empezando a trabajar con webscripts y he creado un 'hello world' siguiendo el tutorial: http://wiki.alfresco.com/wiki/Web_Scripts_Hello_World_Quick_Start

El resultado es que el mismo webscript funciona en Alfresco pero no en Share:

helloworld.get.html.ftl
<div class="dashlet">
<div class="title">Hello World Title</div>
<div class="body">
<span>Hello World Body for : username: ${person.properties.userName}</span>
</div>
</div>

helloworld.get.desc.xml
<webscript>
   <shortname>Hello World</shortname>
   <description>Hello World Dashlet</description>
   <family>user-dashlet</family>
   <url>/jaltest/helloworld</url>
   <transaction>required</transaction>
   <authentication>user</authentication>
</webscript>

Para desplegarlo:
1. En Alfresco, lo subo al espacio: Company Home > Data Dictionary > Web Scripts > jal . Lo activo con el boton 'refresh web scripts' en http://alfrescosrvr:8080/alfresco/service/index
2. En Share, lo copio en el directorio (todos los path son por defecto): c:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\hello-world\ Lo activo de la misma manera que en Alfresco pero en Share (http://alfrescosrvr:8080/share/service/index)

Al ejecutar, en Alfresco funciona, mientras que en Share el error es el siguiente:
Caused by: freemarker.core.InvalidReferenceException: Expression person is undefined on line 4, column 42 in hello-world
/helloworld.get.html.ftl.
        at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
        at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
        at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
        at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
        at freemarker.core.Dot._getAsTemplateModel(Dot.java:74)
        at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
        at freemarker.core.Expression.getStringValue(Expression.java:93)
        at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
        at freemarker.core.Environment.visit(Environment.java:208)
        at freemarker.core.MixedContent.accept(MixedContent.java:92)
        at freemarker.core.Environment.visit(Environment.java:208)
        at freemarker.core.Environment.process(Environment.java:188)
        at freemarker.template.Template.process(Template.java:237)
        at org.alfresco.web.scripts.PresentationTemplateProcessor.process(PresentationTemplateProcessor.java:185)
        … 109 more

Si omito el nombre de usuario en el .ftl funciona correctamente en Share también. Para asegurar que estoy bien identificado, la url de ejecución del webscript la pongo en el navegador una vez hecho login en Share.

Agradeceré cualquier ayuda al respecto.
Un saludo.
1 Reply
Highlighted
Member II

Re: Webscript que funciona en Alfresco pero no en Share (SOLVED)

Ya está resuelto.

Segun un ingeniero de Alfresco, Share, al ser una aplicación remota, no incluye todos los objetos de Alfresco. Tanto node como person forman parte de este grupo.

Comenta que hay un objeto user de solo lectura, que es similar. Este objeto contiene todos los datos de usuario.

Saludos.