cancel
Showing results for 
Search instead for 
Did you mean: 

How to get version label

sumantapakira
Champ in-the-making
Champ in-the-making
My webscript returns list of documents from a space called Folder A. Then I have to display those documents in ftl. So for that I applied Versionalbe aspect to that Folder A by running rule from UI. Now when I login to Alfresco Explore then Version label is displaying. But when I'm trying to iterate in ftl then I'm getting error when calling this web script.

Code to iterate -


<tr>
<td><b>Version Lable</b></td><td>${child.marktng.properties["cm:versionLabel"]}</td>
</tr>


Error -
<code>
500 Description:    An error inside the HTTP server which prevented it from fulfilling the request.

Message:   06130513 Wrapped Exception (with status template): 06132122 Error during processing of the template 'Expression child.marktng.properties["cm:versionLabel"] is undefined on line 20, column 36 in marktng.get.html.ftl.'. Please contact your system administrator.

Exception:   freemarker.core.InvalidReferenceException - Expression child.marktng.properties["cm:versionLabel"] is undefined on line 20, column 36 in marktng.get.html.ftl.

freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
freemarker.core.Expression.getStringValue(Expression.java:118)
freemarker.core.Expression.getStringValue(Expression.java:93)
freemarker.core.DollarVariable.accept(DollarVariable.java:76)
freemarker.core.Environment.visit(Environment.java:221)
freemarker.core.MixedContent.accept(MixedContent.java:92)
freemarker.core.Environment.visit(Environment.java:221)
freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
freemarker.core.Environment.visit(Environment.java:428)
freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
2 REPLIES 2

sumantapakira
Champ in-the-making
Champ in-the-making
I made it work after I removed aspect from Space. The steps I followed -
1. Create a rule to add aspect in UI and apply.
2. Uploaded content.
3. Removed aspect again.

After removing aspect, freemarker was able to pull version label. Can someone please tell me why I have to remove aspect?

scouil
Star Contributor
Star Contributor
Hi,

The problem that is described in the log is that one of your document didn't have the version property, hence the null exception.
To be safe, I'd replace your code with:

<tr>
    <td><b>Version Label</b></td><td>${(child.marktng.properties["cm:versionLabel"])!"0.1"}</td>
</tr>