cancel
Showing results for 
Search instead for 
Did you mean: 

Ottenere proprietà custom da template

raptus
Champ in-the-making
Champ in-the-making
Un saluto a tutto il forum,
ho un problema relativo alle template, purtroppo come tante cose con Alfresco non esiste una completa documentazione riguardo alle api…mi riferisco in particolare a quelle per i workflow.

Ho creato un workflow avanzato con una custom property "nota" chiamata "my:nota" di tipo string. Come faccio a visualizzarla con la template Freemarker??

premetto che vorrei vedere tutte le properties del workflow con un webscript html come negli esempi… basterebbe quindi solo sapere il codice corretto o almeno se si può fare, premesso che tutte le altre proprietà del workflow, cioè quelle base con namespace bpm riesco ad ottenerle.

Grazie,
raptus
6 REPLIES 6

openpj
Elite Collaborator
Elite Collaborator
Ho creato un workflow avanzato con una custom property "nota" chiamata "my:nota" di tipo string. Come faccio a visualizzarla con la template Freemarker??
Considerando che node è il nome della variabile nello scope del template FreeMarker:

${node.properties["my:nota"]}

raptus
Champ in-the-making
Champ in-the-making
grazie mille per la risposta, ho usato un altro stratagemma ma il consiglio è stato comunque prezioso, grazie ancora!  Smiley Happy

mturatti
Champ in-the-making
Champ in-the-making
Parlando in generale sulla documentazione free, in effetti devo ammettere che relativamente ai workflow alcuni documenti sono un po' datati…
Si può dare una occhiata, per partire, al wiki:
http://wiki.alfresco.com/wiki/Category:Workflow

Nella content community è presente un documento di Jeff Potts, non recente ma sempre interessante:
http://share.alfresco.com/share/page/site/community/document-details?nodeRef=workspace://SpacesStore...

Su Amazon esistono alcuni buoni libri su Alfresco, che trattano anche di workflow:
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=alfresco&x=0&y=0

Mi risulta che gli amici di Sourcesense stiano lavorando proprio adesso ad un altro libro su Alfresco, che immagino avrà un capitolo aggiornato sull'argomento.
In attesa che Activiti sia parte integrante del prodotto (http://www.activiti.org/).

Saluti

alch3mi5t_7429
Champ in-the-making
Champ in-the-making
Io invece ho dei problemi utilizzando la stringa suggerita sopra..
il mio FTL ha un pezzo scritto così:
<td>${node.name}</td>
<td>${node.properties.created?datetime}</td>
<td>${node.properties.modified?datetime}</td>
<td>${node.properties.description}</td>
<td>${node.content}</td>

Funziona perfettamente:
se lo modifico così:
<td>${node.name}</td>
<td>${node.properties.created?datetime}</td>
<td>${node.properties.modified?datetime}</td>
<td>${node.properties.["custom:customproperty"]}</td>
<td>${node.content}</td>

l'errore è:
   freemarker.core.ParseException - Encountered "[" at line 12, column 23 in org/alfresco/demo/wslib/simpleui/DocumentList.get.html.ftl. Was expecting one of: "false" … "true" … <LESS_THAN> … <LESS_THAN_EQUALS> … <ESCAPED_GT> … <ESCAPED_GTE> … "*" … "**" … "in" … "as" … "using" … <ID> …

freemarker.core.FMParser.generateParseException(FMParser.java:4697)
freemarker.core.FMParser.jj_consume_token(FMParser.java:4568)
freemarker.core.FMParser.DotVariable(FMParser.java:867)
freemarker.core.FMParser.AddSubExpression(FMParser.java:717)
freemarker.core.FMParser.PrimaryExpression(FMParser.java:273)
freemarker.core.FMParser.UnaryExpression(FMParser.java:319)
freemarker.core.FMParser.MultiplicativeExpression(FMParser.java:435)
freemarker.core.FMParser.AdditiveExpression(FMParser.java:385)
freemarker.core.FMParser.RangeExpression(FMParser.java:556)
freemarker.core.FMParser.RelationalExpression(FMParser.java:511)
freemarker.core.FMParser.EqualityExpression(FMParser.java:476)
freemarker.core.FMParser.AndExpression(FMParser.java:585)
freemarker.core.FMParser.OrExpression(FMParser.java:608)
freemarker.core.FMParser.Expression(FMParser.java:221)
freemarker.core.FMParser.StringOutput(FMParser.java:1061)
freemarker.core.FMParser.Content(FMParser.java:2575)
freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
freemarker.core.FMParser.List(FMParser.java:1257)
freemarker.core.FMParser.FreemarkerDirective(FMParser.java:2375)
freemarker.core.FMParser.Content(FMParser.java:2618)
freemarker.core.FMParser.OptionalBlock(FMParser.java:2786)
freemarker.core.FMParser.Root(FMParser.java:2958)
freemarker.template.Template.<init>(Template.java:149)
freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:448)
freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:361)
freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
freemarker.template.Configuration.getTemplate(Configuration.java:487)
freemarker.template.Configuration.getTemplate(Configuration.java:452)
org.alfresco.repo.web.scripts.RepositoryTemplateProcessor.hasTemplate(RepositoryTemplateProcessor.java:145)
org.springframework.extensions.webscripts.TemplateProcessorRegistry.findValidTemplatePath(TemplateProcessorRegistry.java:214)
org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:585)
org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)
org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)
org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:383)
org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)
org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)
org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)
org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:352)
org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)
org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
java.lang.Thread.run(Thread.java:662)

non ne esco proprio. Sembra che l'errore sia nella parentesi quadra..
ho provato a usare altre stringhe ma sempre con lo stesso risultato.

maverik
Champ in-the-making
Champ in-the-making
Questa va cambiata:

<td>${node.properties.["custom:customproperty"]}</td>

in:

<td>${node.properties["custom:customproperty"]}</td>

alch3mi5t_7429
Champ in-the-making
Champ in-the-making
Risolto!
grazie mille,
mi ero anche segnato da qualche parte la stringa esatta ma tra una cosa e l'altra me l'ero persa.
thx again
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.