<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic webscripts and wcm in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/webscripts-and-wcm/m-p/174299#M127429</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to use a webscript to deliver created content of several web forms. My approach was to adapt the freemarker template which is delivered with the blog-article example (&lt;/SPAN&gt;&lt;A href="http://community.alfresco.com/alfresco/n/browse/workspace/SpacesStore/a6d453bc-6878-11dd-ac51-d1d10fea7bdd" rel="nofollow noopener noreferrer"&gt;http://community.alfresco.com/alfresco/n/browse/workspace/SpacesStore/a6d453bc-6878-11dd-ac51-d1d10fea7bdd&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have following web script:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Web Script: org/alfresco/sample/blog-article.get&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Alfresco Enterprise Network v2.2.0 (159)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Generated from /alfresco/service/script/org/alfresco/sample/blog-article.get on Aug 21, 2008 1:55:52 PM&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Script Properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Id:&amp;nbsp;&amp;nbsp;&amp;nbsp;org/alfresco/sample/blog-article.get&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Short Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;Blog Article data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Description:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Authentication:&amp;nbsp;&amp;nbsp;&amp;nbsp;admin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Transaction:&amp;nbsp;&amp;nbsp;&amp;nbsp;required&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Method:&amp;nbsp;&amp;nbsp;&amp;nbsp;GET&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;URL Template:&amp;nbsp;&amp;nbsp;&amp;nbsp;/sample/blog/article&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Format Style:&amp;nbsp;&amp;nbsp;&amp;nbsp;extension&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Default Format:&amp;nbsp;&amp;nbsp;&amp;nbsp;html&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Implementation:&amp;nbsp;&amp;nbsp;&amp;nbsp;class org.alfresco.web.scripts.DeclarativeWebScript&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Store: workspace://SpacesStore/app:company_home/app:dictionary/cm:extensionwebscripts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[No implementation files]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Store: workspace://SpacesStore/app:company_home/app:dictionary/cm:webscripts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;File: org/alfresco/sample/blog-article.get.desc.xml&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;webscript&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;shortname&amp;gt;Blog Article data&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/sample/blog/article&amp;lt;/url&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;format default="html"&amp;gt;extension&amp;lt;/format&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;admin&amp;lt;/authentication&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;transaction&amp;gt;required&amp;lt;/transaction&amp;gt;&lt;BR /&gt;&amp;lt;/webscript&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;File: org/alfresco/sample/blog-article.get.html.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;#assign docs = alf.parseXMLDocuments('blog-article', '/')&amp;gt;&lt;BR /&gt;&amp;lt;#list docs as x&amp;gt;&lt;BR /&gt;&amp;lt;blog&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;${x.title}&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;lt;abstract&amp;gt;${x.abstract}&amp;lt;/abstract&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;${x.body}&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/blog&amp;gt;&lt;BR /&gt;&amp;lt;/#list&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Store: classpath:/alfresco/templates/webscripts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[No implementation files]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;———————————————–&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that the variable alf is not injected in this context, so by calling the webscript following error occurs:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error during processing of the template 'Expression alf is undefined on line 1, column 17 in org/alfresco/sample/blog-article.get.html.ftl.'. Please contact your system administrator.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exception:&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.InvalidReferenceException - Expression alf is undefined on line 1, column 17 in org/alfresco/sample/blog-article.get.html.ftl.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Dot._getAsTemplateModel(Dot.java:78)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Expression.getAsTemplateModel(Expression.java:89)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:86)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Expression.getAsTemplateModel(Expression.java:89)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Assignment.accept(Assignment.java:90)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Environment.visit(Environment.java:196)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Environment.visit(Environment.java:196)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.core.Environment.process(Environment.java:176)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;freemarker.template.Template.process(Template.java:232)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:201)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:406)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:268)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:174)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptRuntime.wrappedExecute(WebScriptRuntime.java:364)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptRuntime$1.execute(WebScriptRuntime.java:330)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:241)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:171)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptRuntime.transactionedExecute(WebScriptRuntime.java:341)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptRuntime.authenticatedExecute(WebScriptRuntime.java:284)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptRuntime.executeScript(WebScriptRuntime.java:150)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.web.scripts.WebScriptServlet.service(WebScriptServlet.java:109)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;javax.servlet.http.HttpServlet.service(HttpServlet.java:803)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;java.lang.Thread.run(Thread.java:619)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exception:&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.service.cmr.repository.TemplateException - Error during processing of the template 'Expression alf is undefined on line 1, column 17 in org/alfresco/sample/blog-article.get.html.ftl.'. Please contact your system administrator.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:205)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any idea how I can get access to the function parseXMLDocuments?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Jens&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Aug 2008 12:08:52 GMT</pubDate>
    <dc:creator>jego</dc:creator>
    <dc:date>2008-08-21T12:08:52Z</dc:date>
    <item>
      <title>webscripts and wcm</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscripts-and-wcm/m-p/174299#M127429</link>
      <description>Hello,I want to use a webscript to deliver created content of several web forms. My approach was to adapt the freemarker template which is delivered with the blog-article example (http://community.alfresco.com/alfresco/n/browse/workspace/SpacesStore/a6d453bc-6878-11dd-ac51-d1d10fea7bdd)I have follow</description>
      <pubDate>Thu, 21 Aug 2008 12:08:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscripts-and-wcm/m-p/174299#M127429</guid>
      <dc:creator>jego</dc:creator>
      <dc:date>2008-08-21T12:08:52Z</dc:date>
    </item>
    <item>
      <title>Re: webscripts and wcm</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/webscripts-and-wcm/m-p/174300#M127430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The alf object is only injected into freemarker and xslt during form rendering. It is not available within the web script context AFIK. To parse XML files from within web scripts take a look at this thread: &lt;/SPAN&gt;&lt;A href="http://forums.alfresco.com/en/viewtopic.php?f=36&amp;amp;t=12067" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/en/viewtopic.php?f=36&amp;amp;t=12067&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Aug 2008 19:35:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/webscripts-and-wcm/m-p/174300#M127430</guid>
      <dc:creator>zaizi</dc:creator>
      <dc:date>2008-08-24T19:35:23Z</dc:date>
    </item>
  </channel>
</rss>

