<?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 Re: Dashlet Creation in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264387#M217517</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I already extended the initial dashlet with configuration options like set the title for the dashlet and set a path for the folder to look for. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point you have to manually write the folder path (e.g. /Sites/sample-site/documentLibrary/…/) in the configuration of the dashlet, which works nicely but could easily be done by using the folder picker: &lt;/SPAN&gt;&lt;A href="http://i.imgur.com/hQGPL.jpg" rel="nofollow noopener noreferrer"&gt;http://i.imgur.com/hQGPL.jpg&lt;/A&gt;&lt;SPAN&gt; (image is from the javascript console).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That folder picker is using /share/res/modules/documentlibrary/global-folder.js so I figured I could re-use this but I'm still figuring out how to do this though, tips are welcome…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code in next post…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 Mar 2012 12:30:30 GMT</pubDate>
    <dc:creator>riktaminaars</dc:creator>
    <dc:date>2012-03-20T12:30:30Z</dc:date>
    <item>
      <title>Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264380#M217510</link>
      <description>HiI have a folder where a new document is placed in every day, how can I automatically show this one most recent document in a dashlet ?It only needs to show 1 document, so dashlets recent documents / my documents etc. not really useful. I tried creating my own dashlet myself but there is no tutoria</description>
      <pubDate>Thu, 16 Feb 2012 15:24:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264380#M217510</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-02-16T15:24:40Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264381#M217511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It sounds like you have seen how to create a dashlet, but maybe you are struggling with how to retrieve data from the repository from within your dashlet. Here is one way to do it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Share tier web script controllers can make calls back to alfresco through the "remote" object. There may be out-of-the-box web scripts on the repository tier that would help you with this, but let's assume those don't meet your needs or that you just want/need to use your own. Given that, the high-level steps are:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Create a repository tier web script to query the repository to find the node you want and return metadata about that node as JSON.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Create a dashlet controller that uses the remote object to invoke the repository web script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. Place the object that is returned into the model and render the dashlet.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You've already seen the structure of dashlets and web scripts by working through the Hello World Dashlet in Share Extras. That's great. Let's build on that example and use that structure for this one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 1: Build the repository tier web script&lt;BR /&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Create a new web script under config/alfresco/templates/webscripts/org/alfresco/example. Web scripts consist of a descriptor, a controller, and one or more views. Here are those files:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;get-latest-doc.get.desc.xml&lt;/SPAN&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;nbsp; &amp;lt;shortname&amp;gt;Retrieves Latest Document&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;Returns properties of the latest document&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/example/get-latest-doc?nodeRef={nodeRef}&amp;lt;/url&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;format default="json"&amp;gt;argument&amp;lt;/format&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;authentication&amp;gt;user&amp;lt;/authentication&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;transaction&amp;gt;none&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;get-latest-doc.get.js&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function main()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentNodeRef = search.findNode(args.nodeRef);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var query = "PARENT:\"" + parentNodeRef.nodeRef + "\" AND TYPE:\"cm:content\"";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var results = search.luceneSearch(query, "@cm:modified", false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.latestDoc = results[0];&lt;BR /&gt;}&lt;BR /&gt;main();&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;The controller assumes it will be handed a node reference. It then does a search on that node reference, sorting the results by last modified date descending. That way, the latest document to be added to the folder is always the first search result. The result is added to the model so it can be rendered by the view.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;get-latest-doc.get.json.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;#macro dateFormat date&amp;gt;${date?string("dd MMM yyyy HH:mm:ss 'GMT'Z '('zzz')'")}&amp;lt;/#macro&amp;gt;&lt;BR /&gt;&amp;lt;#escape x as jsonUtils.encodeJSONString(x)&amp;gt;&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "nodeRef": "${latestDoc.nodeRef}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "name": "${latestDoc.properties.name}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "title": "${latestDoc.properties.title}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "description": "${latestDoc.properties.description}",&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "created": "&amp;lt;@dateFormat latestDoc.properties.created /&amp;gt;",&lt;BR /&gt;&amp;nbsp;&amp;nbsp; "modified": "&amp;lt;@dateFormat latestDoc.properties.modified /&amp;gt;"&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/#escape&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;/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;This view is building a JSON object with selected metadata from the latest document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That's it for the repository tier. Now let's create the dashlet.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 2: Create the dashlet&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dashlets are just web scripts. Under config/alfresco/site-webscripts/org/alfresco/components/dashlets, create the following files.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;hello-latest-doc.get.desc.xml&lt;/SPAN&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;nbsp; &amp;lt;shortname&amp;gt;Hello Latest Document&amp;lt;/shortname&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;Displays properties of the latest document to the user&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;family&amp;gt;dashlet&amp;lt;/family&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;/components/dashlets/hello-latest-doc&amp;lt;/url&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;hello-latest-doc.get.js&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function main()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var json = remote.call("/example/get-latest-doc?nodeRef=workspace://SpacesStore/6fc1a5f9-31ac-4457-9620-eef4b82cabdd");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (json.status == 200)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj = eval('(' + json + ')');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; model.result = obj;&lt;BR /&gt;}&lt;BR /&gt;main();&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;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;This is the controller. It is using the remote object to call the web script you created in the prior step. Note the hard-coded node reference. That's the node reference to the folder you want to display in the dashlet. Obviously it would be better if you used dashlet configuration to let the user pick the folder. Regardless of how it is configured, you'll still end up passing a node reference to the repository tier web script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;hello-latest-doc.get.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;header=Hello Latest Document!&lt;BR /&gt;label.hello=Hello Doc&lt;BR /&gt;label.name=Name&lt;BR /&gt;label.title=Title&lt;BR /&gt;label.description=Description&lt;BR /&gt;label.created=Created&lt;BR /&gt;label.modified=Modified&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;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;The config and the controller are done. The last step is to create the dashlet markup in the view.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Step 3: Create the dashlet's view&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The view lives in the same folder as the rest of the web script. The file is named hello-latest-doc.get.html.ftl:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;script type="text/javascript"&amp;gt;//&amp;lt;![CDATA[&lt;BR /&gt;&amp;nbsp;&amp;nbsp; new Alfresco.widget.DashletResizer("${args.htmlid}", "${instance.object.id}");&lt;BR /&gt;//]]&amp;gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;div class="dashlet"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;div class="title"&amp;gt;${msg("header")}&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;div class="body scrollableList" &amp;lt;#if args.height??&amp;gt;style="height: ${args.height}px;"&amp;lt;/#if&amp;gt;&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="detail-list-item first-item last-item"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.hello")}&amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.name")}&amp;lt;/span&amp;gt;: &amp;lt;span&amp;gt;${result.name}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.title")}&amp;lt;/span&amp;gt;: &amp;lt;span&amp;gt;${result.title}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.description")}&amp;lt;/span&amp;gt;: &amp;lt;span&amp;gt;${result.description}&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.created")}&amp;lt;/span&amp;gt;: &amp;lt;span&amp;gt;${result.created}&amp;lt;/span&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span&amp;gt;${msg("label.modified")}&amp;lt;/span&amp;gt;: &amp;lt;span&amp;gt;${result.modified}&amp;lt;/span&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;lt;/div&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;/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;STRONG&gt;Deploy, Test, &amp;amp; Enjoy&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you put all of this in the Hello World Dashlet project, or used that as a starting point, all you should have to do is run ant to deploy this. I used hotcopy-tomcat-jar to stick the JAR in $TOMCAT_HOME/shared/lib. The JAR contains both repository tier and Share tier assets so if you were going to run those webapps on separate tiers, you'd have to either split your JAR or deploy it to both places. I actually prefer AMPs over JAR-based deployments and we believe AMPs to be the best practice, but for this little demo the JAR works nicely.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Summary&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dashlets on the Share tier need to communicate remotely to retrieve data from the repository tier. One way to do that is to create "data web scripts" on the repository tier that return JSON. That's what the get-latest-doc web script does. The dashlet on the Share tier (also a web script) makes a server-side call to the repository tier web script and grabs the JSON that is returned. The dashlet's view then arranges it as needed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You'll want to add better config, error checking, comments, etc. But this should give you an idea of how it is done.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Feb 2012 23:18:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264381#M217511</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-02-23T23:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264382#M217512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Fantastic!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried it out and it works great.. Really learned alot from this. Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Feb 2012 08:48:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264382#M217512</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-02-28T08:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264383#M217513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried these steps. Please help me, I got an error related to the "TypeError: Cannot read property 'nodeRef' from null" and "result" variable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you help me on this error :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from class path resource [alfresco/repository.properties]&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from class path resource [alfresco/domain/transaction.properties]&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\module\org_alfresco_module_dod5015\alfresco-global.properties]&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\module\test\alfresco-global.properties]&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\module\tests\alfresco-global.properties]&lt;BR /&gt;16:05:40,995&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertiesFactoryBean] Loading properties file from URL [file:/C:/Alfresco/tomcat/shared/classes/alfresco-global.properties]&lt;BR /&gt;16:05:41,073&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:05:41,245&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:05:41,307&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:03,589&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.TemplateProcessorRegistry] Registered template processor Repository Template Processor for extension ftl&lt;BR /&gt;16:06:03,589&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.ScriptProcessorRegistry] Registered script processor Repository Script Processor for extension js&lt;BR /&gt;16:06:13,198&amp;nbsp; INFO&amp;nbsp; [domain.schema.SchemaBootstrap] Schema managed by database dialect org.hibernate.dialect.MySQLInnoDBDialect.&lt;BR /&gt;16:06:13,807&amp;nbsp; INFO&amp;nbsp; [domain.schema.SchemaBootstrap] No changes were made to the schema.&lt;BR /&gt;16:06:13,932&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]&lt;BR /&gt;16:06:13,948&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:13,948&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:13,948&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:13,964&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete&lt;BR /&gt;16:06:15,761&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'thirdparty' subsystem, ID: [thirdparty, default]&lt;BR /&gt;16:06:15,776&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:15,776&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:15,776&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:15,886&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'thirdparty' subsystem, ID: [thirdparty, default] complete&lt;BR /&gt;16:06:15,886&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'OOoDirect' subsystem, ID: [OOoDirect, default]&lt;BR /&gt;16:06:15,886&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:15,886&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:15,886&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:17,292&amp;nbsp; WARN&amp;nbsp; [alfresco.util.OpenOfficeConnectionTester] An initial OpenOffice connection could not be established.&lt;BR /&gt;16:06:17,292&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'OOoDirect' subsystem, ID: [OOoDirect, default] complete&lt;BR /&gt;16:06:17,854&amp;nbsp; INFO&amp;nbsp; [repo.admin.ConfigurationChecker] The Alfresco root data directory ('dir.root') is: C:\Alfresco\alf_data&lt;BR /&gt;16:06:18,089&amp;nbsp; INFO&amp;nbsp; [admin.patch.PatchExecuter] Checking for patches to apply …&lt;BR /&gt;16:06:19,698&amp;nbsp; INFO&amp;nbsp; [admin.patch.PatchExecuter] No patches were required.&lt;BR /&gt;16:06:19,714 User:System INFO&amp;nbsp; [repo.module.ModuleServiceImpl] Found 1 module(s).&lt;BR /&gt;16:06:19,839 User:System INFO&amp;nbsp; [repo.module.ModuleServiceImpl] Starting module 'org_alfresco_module_dod5015' version 1.0.&lt;BR /&gt;16:06:19,901&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'fileServers' subsystem, ID: [fileServers, default]&lt;BR /&gt;16:06:19,932&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:19,932&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:19,932&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:21,120&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]&lt;BR /&gt;16:06:21,136&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:21,136&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:21,136&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:21,276&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1] complete&lt;BR /&gt;16:06:21,339&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'fileServers' subsystem, ID: [fileServers, default] complete&lt;BR /&gt;16:06:21,339&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'imap' subsystem, ID: [imap, default]&lt;BR /&gt;16:06:21,354&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:21,354&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:21,354&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:21,511&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'imap' subsystem, ID: [imap, default] complete&lt;BR /&gt;16:06:21,511&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'email' subsystem, ID: [email, outbound]&lt;BR /&gt;16:06:21,526&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:21,526&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:21,526&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:21,604&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'email' subsystem, ID: [email, outbound] complete&lt;BR /&gt;16:06:21,604&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'email' subsystem, ID: [email, inbound]&lt;BR /&gt;16:06:21,620&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:21,620&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:21,620&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:21,667&amp;nbsp; WARN&amp;nbsp; [springframework.beans.GenericTypeAwarePropertyDescriptor] Invalid JavaBean property 'blockedSenders' being accessed! Ambiguous write methods found next to actually used [public void org.alfresco.email.server.EmailServer.setBlockedSenders(java.lang.String)]: [public void org.alfresco.email.server.EmailServer.setBlockedSenders(java.util.List)]&lt;BR /&gt;16:06:21,667&amp;nbsp; WARN&amp;nbsp; [springframework.beans.GenericTypeAwarePropertyDescriptor] Invalid JavaBean property 'allowedSenders' being accessed! Ambiguous write methods found next to actually used [public void org.alfresco.email.server.EmailServer.setAllowedSenders(java.util.List)]: [public void org.alfresco.email.server.EmailServer.setAllowedSenders(java.lang.String)]&lt;BR /&gt;16:06:21,682&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'email' subsystem, ID: [email, inbound] complete&lt;BR /&gt;16:06:21,682&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'googledocs' subsystem, ID: [googledocs, default]&lt;BR /&gt;16:06:21,714&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:21,714&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:21,714&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:22,089&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'googledocs' subsystem, ID: [googledocs, default] complete&lt;BR /&gt;16:06:22,089&amp;nbsp; INFO&amp;nbsp; [repo.usage.UserUsageTrackingComponent] Enabled - calculate missing user usages …&lt;BR /&gt;16:06:22,104&amp;nbsp; INFO&amp;nbsp; [repo.usage.UserUsageTrackingComponent] Found 0 users to recalculate&lt;BR /&gt;16:06:22,104&amp;nbsp; INFO&amp;nbsp; [repo.usage.UserUsageTrackingComponent] … calculated missing usages for 0 users&lt;BR /&gt;16:06:22,104&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'Synchronization' subsystem, ID: [Synchronization, default]&lt;BR /&gt;16:06:22,120&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:22,120&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:22,120&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:22,307&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'Synchronization' subsystem, ID: [Synchronization, default] complete&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [service.descriptor.DescriptorService] Alfresco JVM - v1.6.0_18-b07; maximum heap size 682.688MB&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [service.descriptor.DescriptorService] Alfresco started (Community): Current version 3.4.0 (d 3370) schema 4113 - Originally installed version 3.4.0 (d 3370) schema 4113&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Starting 'Replication' subsystem, ID: [Replication, default]&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/version.properties]&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [alfresco.config.JndiPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/alfresco-shared.properties]&lt;BR /&gt;16:06:22,386&amp;nbsp; INFO&amp;nbsp; [alfresco.config.FixedPropertyPlaceholderConfigurer] Loading properties file from class path resource [alfresco/domain/cache-strategies.properties]&lt;BR /&gt;16:06:22,401&amp;nbsp; INFO&amp;nbsp; [management.subsystems.ChildApplicationContextFactory] Startup of 'Replication' subsystem, ID: [Replication, default] complete&lt;BR /&gt;16:06:41,417 User:System INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 439 Web Scripts (+0 failed), 690 URLs&lt;BR /&gt;16:06:41,417 User:System INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 2 Package Description Documents (+0 failed) &lt;BR /&gt;16:06:41,417 User:System INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 1 Schema Description Documents (+0 failed) &lt;BR /&gt;16:06:41,417 User:System INFO&amp;nbsp; [extensions.webscripts.AbstractRuntimeContainer] Initialised Repository Web Script Container (in 16218.162ms)&lt;BR /&gt;16:06:41,432&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.TemplateProcessorRegistry] Registered template processor freemarker for extension ftl&lt;BR /&gt;16:06:41,432&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.ScriptProcessorRegistry] Registered script processor javascript for extension js&lt;BR /&gt;16:06:50,917&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 306 Web Scripts (+0 failed), 316 URLs&lt;BR /&gt;16:06:50,917&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 8 Package Description Documents (+0 failed) &lt;BR /&gt;16:06:50,917&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.DeclarativeRegistry] Registered 0 Schema Description Documents (+0 failed) &lt;BR /&gt;16:06:51,792&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.AbstractRuntimeContainer] Initialised Spring Surf Container Web Script Container (in 3587.3289ms)&lt;BR /&gt;16:06:51,854&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.TemplateProcessorRegistry] Registered template processor freemarker for extension ftl&lt;BR /&gt;16:06:51,948&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.ScriptProcessorRegistry] Registered script processor javascript for extension js&lt;BR /&gt;16:06:52,229&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.TemplateProcessorRegistry] Registered template processor freemarker for extension ftl&lt;BR /&gt;16:06:52,229&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.ScriptProcessorRegistry] Registered script processor javascript for extension js&lt;BR /&gt;16:06:52,464&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.TemplateProcessorRegistry] Registered template processor freemarker for extension ftl&lt;BR /&gt;16:06:52,464&amp;nbsp; INFO&amp;nbsp; [extensions.webscripts.ScriptProcessorRegistry] Registered script processor javascript for extension js&lt;BR /&gt;16:06:58,401&amp;nbsp; ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 02090001 Wrapped Exception (with status template): 02090003 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090002 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;org.springframework.extensions.webscripts.WebScriptException: 02090001 Wrapped Exception (with status template): 02090003 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090002 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:758)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:336)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;Caused by: org.alfresco.scripts.ScriptException: 02090003 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090002 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:194)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:282)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:981)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 22 more&lt;BR /&gt;Caused by: org.alfresco.error.AlfrescoRuntimeException: 02090002 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:488)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 26 more&lt;BR /&gt;Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3356)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3375)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1362)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4._c17(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js:816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4._c0(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js:820)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.exec(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:472)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 27 more&lt;BR /&gt;16:06:58,604 http-8080-1 ERROR [freemarker.runtime] Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&lt;BR /&gt;Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;The problematic instruction:&lt;BR /&gt;———-&lt;BR /&gt;==&amp;gt; ${result.name} [on line 9, column 58 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl]&lt;BR /&gt;———-&lt;BR /&gt;&lt;BR /&gt;Java backtrace for programmers:&lt;BR /&gt;———-&lt;BR /&gt;freemarker.core.InvalidReferenceException: Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.DollarVariable.accept(DollarVariable.java:76)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:589)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:69)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:231)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebScriptProcessor.executeBody(WebScriptProcessor.java:284)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processComponent(RenderService.java:264)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ComponentRenderer.body(ComponentRenderer.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderComponent(RenderService.java:600)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegionComponents(RenderService.java:539)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderChromeInclude(RenderService.java:893)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.ChromeIncludeFreeMarkerDirective.execute(ChromeIncludeFreeMarkerDirective.java:71)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processRenderable(RenderService.java:186)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.body(ChromeRenderer.java:89)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.render(ChromeRenderer.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.RegionRenderer.body(RegionRenderer.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegion(RenderService.java:492)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.RegionFreemarkerTagDirective.execute(RegionFreemarkerTagDirective.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IfBlock.accept(IfBlock.java:82)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:395)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processTemplate(RenderService.java:378)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.body(TemplateInstanceRenderer.java:123)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.PageRenderer.body(PageRenderer.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderPage(RenderService.java:408)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.dispatchPage(PageView.java:388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:329)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:285)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:301)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;16:06:58,604 http-8080-1 ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 02090000 Failed to process template org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl&lt;BR /&gt;org.springframework.extensions.webscripts.WebScriptException: 02090000 Failed to process template org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:175)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:589)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:69)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:231)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebScriptProcessor.executeBody(WebScriptProcessor.java:284)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processComponent(RenderService.java:264)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ComponentRenderer.body(ComponentRenderer.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderComponent(RenderService.java:600)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegionComponents(RenderService.java:539)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderChromeInclude(RenderService.java:893)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.ChromeIncludeFreeMarkerDirective.execute(ChromeIncludeFreeMarkerDirective.java:71)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processRenderable(RenderService.java:186)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.body(ChromeRenderer.java:89)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.render(ChromeRenderer.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.RegionRenderer.body(RegionRenderer.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegion(RenderService.java:492)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.RegionFreemarkerTagDirective.execute(RegionFreemarkerTagDirective.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IfBlock.accept(IfBlock.java:82)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:395)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processTemplate(RenderService.java:378)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.body(TemplateInstanceRenderer.java:123)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.PageRenderer.body(PageRenderer.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderPage(RenderService.java:408)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.dispatchPage(PageView.java:388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:329)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:285)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:301)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;Caused by: freemarker.core.InvalidReferenceException: Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.DollarVariable.accept(DollarVariable.java:76)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 110 more&lt;BR /&gt;16:07:20,276&amp;nbsp; ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 02090002 Wrapped Exception (with status template): 02090005 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090004 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;org.springframework.extensions.webscripts.WebScriptException: 02090002 Wrapped Exception (with status template): 02090005 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090004 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:758)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:336)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;Caused by: org.alfresco.scripts.ScriptException: 02090005 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js': 02090004 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:194)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:282)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:981)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 22 more&lt;BR /&gt;Caused by: org.alfresco.error.AlfrescoRuntimeException: 02090004 TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:488)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 26 more&lt;BR /&gt;Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "nodeRef" from null (jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js#816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3356)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3375)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1362)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4._c17(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js:816)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4._c0(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js:820)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.call(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.mozilla.javascript.gen.c4.exec(jar:file:/C:/Alfresco/tomcat/shared/lib/recent-doc-dashlet.jar!/alfresco/templates/webscripts/org/alfresco/example/get-latest-doc.get.js)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:472)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 27 more&lt;BR /&gt;16:07:20,323 http-8080-7 ERROR [freemarker.runtime] Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&lt;BR /&gt;Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;The problematic instruction:&lt;BR /&gt;———-&lt;BR /&gt;==&amp;gt; ${result.name} [on line 9, column 58 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl]&lt;BR /&gt;———-&lt;BR /&gt;&lt;BR /&gt;Java backtrace for programmers:&lt;BR /&gt;———-&lt;BR /&gt;freemarker.core.InvalidReferenceException: Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.DollarVariable.accept(DollarVariable.java:76)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:589)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:69)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:231)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebScriptProcessor.executeBody(WebScriptProcessor.java:284)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processComponent(RenderService.java:264)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ComponentRenderer.body(ComponentRenderer.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderComponent(RenderService.java:600)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegionComponents(RenderService.java:539)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderChromeInclude(RenderService.java:893)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.ChromeIncludeFreeMarkerDirective.execute(ChromeIncludeFreeMarkerDirective.java:71)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processRenderable(RenderService.java:186)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.body(ChromeRenderer.java:89)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.render(ChromeRenderer.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.RegionRenderer.body(RegionRenderer.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegion(RenderService.java:492)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.RegionFreemarkerTagDirective.execute(RegionFreemarkerTagDirective.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IfBlock.accept(IfBlock.java:82)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:395)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processTemplate(RenderService.java:378)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.body(TemplateInstanceRenderer.java:123)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.PageRenderer.body(PageRenderer.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderPage(RenderService.java:408)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.dispatchPage(PageView.java:388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:329)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:285)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:301)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;16:07:20,323 http-8080-7 ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 02090001 Failed to process template org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl&lt;BR /&gt;org.springframework.extensions.webscripts.WebScriptException: 02090001 Failed to process template org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:175)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:589)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.PresentationContainer.executeScript(PresentationContainer.java:69)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer.executeScript(LocalWebScriptRuntimeContainer.java:231)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebScriptProcessor.executeBody(WebScriptProcessor.java:284)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processComponent(RenderService.java:264)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ComponentRenderer.body(ComponentRenderer.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderComponent(RenderService.java:600)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegionComponents(RenderService.java:539)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderChromeInclude(RenderService.java:893)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.ChromeIncludeFreeMarkerDirective.execute(ChromeIncludeFreeMarkerDirective.java:71)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processRenderable(RenderService.java:186)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.body(ChromeRenderer.java:89)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.ChromeRenderer.render(ChromeRenderer.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.RegionRenderer.body(RegionRenderer.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderRegion(RenderService.java:492)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.RegionFreemarkerTagDirective.execute(RegionFreemarkerTagDirective.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:263)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:126)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:417)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.IfBlock.accept(IfBlock.java:82)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:395)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.BodyInstruction.accept(BodyInstruction.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Macro$Context.runMacro(Macro.java:172)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.WebTemplateProcessor.executeBody(WebTemplateProcessor.java:345)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractProcessor.execute(AbstractProcessor.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.processTemplate(RenderService.java:378)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.TemplateInstanceRenderer.body(TemplateInstanceRenderer.java:123)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.bean.PageRenderer.body(PageRenderer.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.AbstractRenderer.render(AbstractRenderer.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.render.RenderService.renderPage(RenderService.java:408)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.dispatchPage(PageView.java:388)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.PageView.renderView(PageView.java:329)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.surf.mvc.AbstractWebFrameworkView.renderMergedOutputModel(AbstractWebFrameworkView.java:285)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:301)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:619)&lt;BR /&gt;Caused by: freemarker.core.InvalidReferenceException: Expression result.name is undefined on line 9, column 60 in org/alfresco/components/dashlets/hello-latest-doc.get.html.ftl.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Expression.getStringValue(Expression.java:93)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.DollarVariable.accept(DollarVariable.java:76)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.MixedContent.accept(MixedContent.java:92)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.visit(Environment.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at freemarker.core.Environment.process(Environment.java:190)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.extensions.webscripts.processor.FTLTemplateProcessor.process(FTLTemplateProcessor.java:171)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 110 more&lt;BR /&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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/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;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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2012 09:16:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264383#M217513</guid>
      <dc:creator>aslon</dc:creator>
      <dc:date>2012-03-09T09:16:54Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264384#M217514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;aslon,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have hardcoded the folder to use as a node reference in the controller. Based on the error message, I suspect that you either did not change the node reference, you used an invalid node reference, or you pointed to an empty folder.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Mar 2012 18:14:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264384#M217514</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-03-11T18:14:58Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264385#M217515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you for the response, Jeff. Could you guide me step by step to do not use hard-code for "noderef"?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FYI, I've tried to use the "noderef" of my Company Home because I think all of my documents are on it. Unfortunately, I still get the same error, please help. &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2012 03:38:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264385#M217515</guid>
      <dc:creator>aslon</dc:creator>
      <dc:date>2012-03-12T03:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264386#M217516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well, you could add a config XML for your web script and put the node ref in there. Of course that's just hard coding in a different place.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could add a "configuration" link to the dashlet and persist the node ref to the dashlet config. I am working on that example but I may not have time to work on it this week. There are many dashlets out there that use a config in this way. Look at the RSS Feed, for example.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also note that instead of using node ref you might want to use folder path.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Mar 2012 14:39:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264386#M217516</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-03-19T14:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264387#M217517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I already extended the initial dashlet with configuration options like set the title for the dashlet and set a path for the folder to look for. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point you have to manually write the folder path (e.g. /Sites/sample-site/documentLibrary/…/) in the configuration of the dashlet, which works nicely but could easily be done by using the folder picker: &lt;/SPAN&gt;&lt;A href="http://i.imgur.com/hQGPL.jpg" rel="nofollow noopener noreferrer"&gt;http://i.imgur.com/hQGPL.jpg&lt;/A&gt;&lt;SPAN&gt; (image is from the javascript console).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That folder picker is using /share/res/modules/documentlibrary/global-folder.js so I figured I could re-use this but I'm still figuring out how to do this though, tips are welcome…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code in next post…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Mar 2012 12:30:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264387#M217517</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-03-20T12:30:30Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264388#M217518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;A href="https://code.google.com/p/alfresco-get-latest-document/" rel="nofollow noopener noreferrer"&gt;https://code.google.com/p/alfresco-get-latest-document/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2012 08:01:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264388#M217518</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-03-21T08:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264389#M217519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Figured it out with the folder picker.. also added some basic validation. Now I'm trying to learn how to update/refresh the dashlet automatically after saving the configuration settings (now you'd have to refresh the whole page to see the changes). Pointers appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If anyone is interested:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://code.google.com/p/alfresco-get-latest-document/" rel="nofollow noopener noreferrer"&gt;https://code.google.com/p/alfresco-get-latest-document/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2012 11:55:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264389#M217519</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-03-28T11:55:59Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264390#M217520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have it on my to-do list to download and review this code. I think it would make a good blog post or wiki page because it encapsulates a lot of techniques fundamental to Share customizations. We need all of the examples we can get.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regarding the refresh, here's a high-level tip. A technique that is common across Share is to use YUI bubbling events. Components throw events and then other components subscribe to those events. So in this case, setting the config should throw an event and the dashlet's client-side code can listen for that event and then refresh itself when it captures the event.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't yet looked at your revisions, but the original version of the dashlet did everything in the Share-tier web script controller. To make this refresh work, it might be better to refactor the dashlet a bit. Instead of doing the work in the controller, the work can be done in client-side JavaScript that posts an AJAX call to the Share proxy that invokes the existing repository web script. That way, you can refresh the data in the dashlet without refreshing the entire page.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Mar 2012 14:25:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264390#M217520</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-03-28T14:25:35Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264391#M217521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Related to the refresh question, the Alfresco.component.Base class (which your dashlet client-side code will likely extend) now (as of Alfresco 4) has a refresh() method that can be used to re-draw the contents of a component on-screen. I'm not sure how practical it is for dashlets, since you need to provide the URL of the web script as a parameter to the method, and that URL would need to include the htmlid of the dashlet div as a URL parameter, but it could simplify your code if it works for you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://sharextras.org/jsdoc/share/community-4.0.d/symbols/Alfresco.component.Base.html" rel="nofollow noopener noreferrer"&gt;http://sharextras.org/jsdoc/share/community-4.0.d/symbols/Alfresco.component.Base.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Will.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Apr 2012 13:21:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264391#M217521</guid>
      <dc:creator>wabson</dc:creator>
      <dc:date>2012-04-10T13:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264392#M217522</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;RikTaminaars,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I took your code and did a little bit of refactoring. The result lives &lt;/SPAN&gt;&lt;A href="http://ecmarchitect.com/images/Get%20Latest%20Document.zip" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The biggest change was to get everything out of the Alfresco namespace. So now all web scripts (folder structure and URL) and client-side JavaScript objects are in a "SomeCo" example namespace.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also was seeing a problem with the validation on the config dialog that wasn't properly detecting when the file path was set. I just disabled the validation for that particular field for now.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also the "clear" button was clearing out the dashlet title, which didn't seem optimal, so I tweaked that.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think there are a few places where this could still be trimmed down/cleaned up, and it still has the refresh issue, but it is a decent example of the simple pattern of retrieving data from the repo as well as working with configuration.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used Will's Share Extras build script. So the whole thing is an Eclipse project with an Ant build that can deploy using AMPs, JARs, or zip.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Apr 2012 22:15:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264392#M217522</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-04-20T22:15:08Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264393#M217523</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi guys, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been looking for information about dashlet creation, and of course this post has been very useful for me. I understand that there is a javascript API, with many objects that we have to use to retrieve data. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But I wonder how can I show in a dashlet, data from a table that I created by my self (for example GLOSARY_TABLE) ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it necesary to extend JavaScript API, in order to have my own JavaScript objects that connects with my own table in DB ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How can I program something like that ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am not very well with english, but I hope you can understand me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your support and your time.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 May 2012 14:38:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264393#M217523</guid>
      <dc:creator>angello0571</dc:creator>
      <dc:date>2012-05-03T14:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264394#M217524</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If you would like to access your own custom database table from JavaScript, you might find it easier to access the table from Java, then expose that Java bean as a JavaScript root scoped object. This would allow your web scripts to get to the data.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is documented in various places, but one place you might want to start is with my colleague, Nathan McMinn. He has a &lt;/SPAN&gt;&lt;A href="http://www.unorganizedmachines.com/site/software-and-technology/34-software-development/97-calling-web-services-from-alfresco-web-scripts" rel="nofollow noopener noreferrer"&gt;blog post&lt;/A&gt;&lt;SPAN&gt; on the subject.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 May 2012 19:48:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264394#M217524</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-05-03T19:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264395#M217525</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks a lot Jeff, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just have a few weeks working with Alfresco, and that is exactly I was looking for, right now I have my own webscript with an AMP as service for retrieve data of my custom table!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I feel deeply in debt with you &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; thank you man !&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 May 2012 16:01:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264395#M217525</guid>
      <dc:creator>angello0571</dc:creator>
      <dc:date>2012-05-14T16:01:05Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264396#M217526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sure, no problem. Glad it helped.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If anyone else is interested, there are two blog posts that go along with this example. They live &lt;/SPAN&gt;&lt;A href="http://ecmarchitect.com/archives/2012/05/08/1592" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;A href="http://ecmarchitect.com/archives/2012/05/15/1599" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;SPAN&gt;. The source code has been checked into a &lt;/SPAN&gt;&lt;A href="http://code.google.com/p/alfresco-get-latest-document" rel="nofollow noopener noreferrer"&gt;Google Code project&lt;/A&gt;&lt;SPAN&gt; if anyone needs it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2012 12:42:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264396#M217526</guid>
      <dc:creator>jpotts</dc:creator>
      <dc:date>2012-05-15T12:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264397#M217527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is me again &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As I told you, I could buid my data webscript with the functionallity that I need, of course, the component lives into Alfresco app. But now I have a question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) The URI for my webscript is next one:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /alfresco/service/com/webscripts/dataservice/glossary-definitions?keyWord={keyWordValue}&amp;amp;ramo={ramoValue}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) When I set a value for twice variables I get perfectly the JSON String with my data:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;{"definition":"Indica el número de años de antigüedad que la póliza tenía al momento de ocurrir el siniestro. ","concept_name":"Año Póliza Siniestro","technical_ref":"Se identificará a cada registro con el número de años de antigüedad que la póliza tenía al momento de ocurrir el siniestro, debido a que hay siniestros que ocurrieron en ejercicios anteriores al que se reporta, cuyas pólizas pueden o no estar en vigor. Este valor se reportará en números enteros, considerándose como año póliza al periodo que comprende su aniversario. Dicho número deberá guardar consistencia con el archivo actual y futuro de emisión.","clasification":"Siniestro"}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;3) The next step is to build my dashlet for consuming the webscript I created before. When I add the dashlet to my dashbord I hope to see all those information but I'm getting an error. The error message is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error Message: 04150001 Failed to execute script 'classpath*:alfresco/site-webscripts/org/alfresco/components/dashlets/glossary-definitions-dashlet.get.js': 04150000 Invalid uri '&lt;/SPAN&gt;&lt;A href="http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO" rel="nofollow noopener noreferrer"&gt;http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO&lt;/A&gt;&lt;SPAN&gt; POLIZA SINIESTRO&amp;amp;ramo=ap&amp;amp;alf_ticket=TICKET_727cf1379f21d1552152e449c94b519aadf3555b': Invalid query&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A snippet of the full stack trace is :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exception: java.lang.IllegalArgumentException - Invalid uri '&lt;/SPAN&gt;&lt;A href="http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO" rel="nofollow noopener noreferrer"&gt;http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO&lt;/A&gt;&lt;SPAN&gt; POLIZA SINIESTRO&amp;amp;ramo=ap&amp;amp;alf_ticket=TICKET_727cf1379f21d1552152e449c94b519aadf3555b': Invalid query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.springframework.extensions.webscripts.WebScriptException - 04150000 Invalid uri '&lt;/SPAN&gt;&lt;A href="http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO" rel="nofollow noopener noreferrer"&gt;http://localhost:9001/alfresco/s/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO&lt;/A&gt;&lt;SPAN&gt; POLIZA SINIESTRO&amp;amp;ramo=ap&amp;amp;alf_ticket=TICKET_727cf1379f21d1552152e449c94b519aadf3555b': Invalid query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.springframework.extensions.webscripts.processor.JSScriptProcessor.executeScriptImpl(JSScriptProcessor.java:324)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;4) This is the way I call the webscript to retrive data from my Java Script file dashlet:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;var connector = remote.connect("alfresco");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var json = connector.get("/com/webscripts/dataservice/glossary-definitions?keyWord=ANIO POLIZA SINIESTRO&amp;amp;ramo=ap");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I noticed that, there is a "extra parameter" that I never specify called "alf_ticket". My webscripts are set with no authentication ( &amp;lt;authentication&amp;gt;none&amp;lt;/authentication&amp;gt; ) &lt;/SPAN&gt;&lt;STRONG&gt;and I have no clear why this parameter is present&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course, any link or explanation for help me to solve this, is welcome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Angel.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2012 17:18:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264397#M217527</guid>
      <dc:creator>angello0571</dc:creator>
      <dc:date>2012-05-15T17:18:03Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264398#M217528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I found the problem haha &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the&amp;nbsp; spaces as value for my params caused the issue, i guess that i should use scape characters for this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks in advance .&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2012 17:53:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264398#M217528</guid>
      <dc:creator>angello0571</dc:creator>
      <dc:date>2012-05-15T17:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: Dashlet Creation</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264399#M217529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I updated the dashlet again &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've used jpotts his latest version of the dashlet as starting point… as it's better than my initial version&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've added/tweaked a couple of things, first off, it wasn't possible to configure the dashlet when it was added to the user dashboard, changes were made in dashlet's controller, get-latest-doc.get.js (along userIsSiteManager…)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks to jpotts his tip about using an AJAX call in the client side js, I've managed to implement refreshing the dashlets' metadata without refreshing the whole page. (changes in function onConfigGetLatestDocClick)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Some bugs as well: the dashlet template would throw an exception and not display itself at all if the folder "/test" (or whatever is set in the get.config.xml) does not exist or if the folder does exist but has no files in it. This is fixed by adding default values for the template if the file/folder can't be found.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also added a simple javascript 'alert' if the user tries to add a folder that has no files in it, so it won't throw an error.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Code here: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://code.google.com/p/alfresco-get-latest-document/" rel="nofollow noopener noreferrer"&gt;https://code.google.com/p/alfresco-get-latest-document/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2012 10:05:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dashlet-creation/m-p/264399#M217529</guid>
      <dc:creator>riktaminaars</dc:creator>
      <dc:date>2012-06-01T10:05:39Z</dc:date>
    </item>
  </channel>
</rss>

