<?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 Custom dashlet: list documents contained in a Space in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155140#M109510</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, I would like to develop a "parametric dashlet" that will display the list of documents contained in any valid Space, passing the Space unique name (or unique ID) as a parameter of the Dashlet. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is such a thing possible?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So far I've developed a prototype Dashlet that uses a very simple freemarker script:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;#ftl strip_whitespace=true /&amp;gt;&lt;BR /&gt;&amp;lt;#setting locale="it_IT"/&amp;gt;&lt;BR /&gt;&amp;lt;#setting datetime_format="short"&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;!– Search a given space by its unique node ID –&amp;gt;&lt;BR /&gt;&amp;lt;!– This is a workaround since the childByNamePath method does not seem to work… –&amp;gt;&lt;BR /&gt;&amp;lt;#assign folderID = companyhome.childrenByLuceneSearch["ID:workspace\\:\\/\\/SpacesStore\\/2f93b4a6-f609-11dc-a589-999071556af1"] /&amp;gt;&lt;BR /&gt;&amp;lt;#list folderID as child&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;#assign folderContent = child.children /&amp;gt;&lt;BR /&gt;&amp;lt;/#list&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;!– Display all documents in the space –&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;script&amp;gt;var AlfNodeInfoMgr = new Alfresco.PanelManager("NodeInfoBean.sendNodeInfo", "noderef");&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;table class="recordSet" width=100%&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;thead&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th style="padding:2px;text-align:left" class="recordSetHeader" colspan=2&amp;gt;&amp;lt;b&amp;gt;Documento&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;th style="padding:2px;text-align:left" class="recordSetHeader"&amp;gt;&amp;lt;b&amp;gt;Data aggiorn.&amp;lt;/b&amp;gt;&amp;lt;/th&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/thead&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;tbody&amp;gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#list folderContent as child&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#assign rowstyle="recordSetRow" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if (child_index % 2 = 1)&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#assign rowstyle="recordSetRowAlt" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#else&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#assign rowstyle="recordSetRow" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;#if child.isDocument&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr valign=top class="${rowstyle}"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td style="padding:2px;text-align:right;vertical-align:top;padding-right:10px;"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="/alfresco${child.url}" target="_blank"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img src="/alfresco${child.icon32}" border=0&amp;gt;&amp;lt;/a&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td style="padding:2px;text-align:left;vertical-align:top;padding-right:10px;"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;a href="/alfresco${child.url}" target="_blank"&amp;gt;${child.properties.name}&amp;lt;/a&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span onclick="AlfNodeInfoMgr.toggle('${child.nodeRef}',this);"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img id="browse:col1-img" src="/alfresco/images/icons/popup.gif" height="16" width="16" class="popupImage" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td style="padding:2px;text-align:left"&amp;gt;&amp;lt;nobr&amp;gt;${child.properties["cm:modified"]?datetime}&amp;lt;/nobr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#if&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/#list&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/tbody&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The code works well, but unfortunately the ID of the space to be "listed" in the Dashlet output is hardcoded at the beginning of the Freemarker script.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately this code is not reusable. With the current approach, if I want to create a "My Alfresco" dashboard with (for instance) three Dashlets showing the content of three different spaces ("Whitepapers", "Brochures", "PowerPoint presentations"), I should define three different dashlets, each pointing to a different .jsp page and a different .ftl script, embedding the space ID.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ideally, I would have a single Dashlet (maybe based on a WebScript instead than on a Freemarker script as in the current prototype) capable of receiving, as a parameter, the name or the ID of the space to be listed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anyone already done something similar? I would not be surprised, because having a generic "List space content" Dashlet would&amp;nbsp; certainly be a nice add-on the the Web Client….&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Mar 2008 00:33:56 GMT</pubDate>
    <dc:creator>theorbix</dc:creator>
    <dc:date>2008-03-27T00:33:56Z</dc:date>
    <item>
      <title>Custom dashlet: list documents contained in a Space</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155140#M109510</link>
      <description>Hello, I would like to develop a "parametric dashlet" that will display the list of documents contained in any valid Space, passing the Space unique name (or unique ID) as a parameter of the Dashlet. Is such a thing possible?So far I've developed a prototype Dashlet that uses a very simple freemarke</description>
      <pubDate>Thu, 27 Mar 2008 00:33:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155140#M109510</guid>
      <dc:creator>theorbix</dc:creator>
      <dc:date>2008-03-27T00:33:56Z</dc:date>
    </item>
    <item>
      <title>Re: Custom dashlet: list documents contained in a Space</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155141#M109511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;While I haven't done such a thing, I wanted to give this idea another vote of support. I'd like to do something similar and if anyone has any thoughts I'd be happy to hear them.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This isn't a top priority for me, but I will be looking into it myself in the future.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Apr 2008 17:41:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155141#M109511</guid>
      <dc:creator>lnfalandino</dc:creator>
      <dc:date>2008-04-30T17:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: Custom dashlet: list documents contained in a Space</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155142#M109512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;While I haven't done such a thing, I wanted to give this idea another vote of support. I'd like to do something similar and if anyone has any thoughts I'd be happy to hear them.&lt;BR /&gt;This isn't a top priority for me, but I will be looking into it myself in the future.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes I do believe that this would be a useful general purpose enhancement for the Alfresco Web Client. "Parametric dashlets" would be something pretty useful, in a way similar to the way parametric portlets can be used in most web portal frameworks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm also pretty sure that someone with enough knowledge of the Web Client internals and JSF can implement this enhancement and contribute it back. Unfortunately I'm not a great Java developer, otherwise I would have tried by myself… &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;By the way, the only progress I've made so far is a slighly more elegant way of browsing the content a space in a Dashlet. You can see the details on this post &lt;/SPAN&gt;&lt;A href="http://forums.alfresco.com/viewtopic.php?f=12&amp;amp;t=12006" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/viewtopic.php?f=12&amp;amp;t=12006&lt;/A&gt;&lt;SPAN&gt;. The code is simply a bit cleaner than the one shown above…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another enhancement is that now the Freemarker script is stored in the Alfresco repository, and not in Tomcat. So it's much easier to edit the "path" of the space to display in case I want my Dashlet to display the content of a different space.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately, to have 3 dashlet listing the content of three different spaces (e.g. "Marketing stuff", "Offers", "HR Documentation"), I will have to create three copies of the same dashlet config files, and three almost identical Freemarker scripts (one for each space): a bit cumbersome, but better than nothing…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Apr 2008 20:35:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155142#M109512</guid>
      <dc:creator>theorbix</dc:creator>
      <dc:date>2008-04-30T20:35:53Z</dc:date>
    </item>
    <item>
      <title>Re: Custom dashlet: list documents contained in a Space</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155143#M109513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can use &amp;lt;#macro&amp;gt; to make a recursive template and get all spaces what you want.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jul 2010 16:28:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/custom-dashlet-list-documents-contained-in-a-space/m-p/155143#M109513</guid>
      <dc:creator>rafaelscg</dc:creator>
      <dc:date>2010-07-19T16:28:10Z</dc:date>
    </item>
  </channel>
</rss>

