AnsweredAssumed Answered

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

Question asked by xavi_arilos@yahoo.com on Oct 15, 2009
Latest reply on Oct 19, 2009 by xavi_arilos@yahoo.com
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.

Outcomes