Alfresco Share datalist extensions

A customer of my company ( asked me to develop some extensions for Alfresco Share datalist:

ID generation:

automatic generation of an ID for each item. These IDs are generated using a separate ID sequence on each datalist.

Read-only/view dialog

Double clicking an item display a view-mode form via FormService.


Auto versioning

Aspect cm:versionable with auto-version on property changes is applied to each item. A custom policy triggers versioning if an association was modified  – e.g. dl:assignee.

To display version history a new FormService control was implemented. Via show version link the selected version will be display in another view-mode dialog.

Comments (fm:discussable)

Alfresco only supports a simple comment field, but you often like to have  a discussion thread as you have in doclib. Hence I added support of fm:discussable aspect to datalist items.

Ellipsis for long text

Per default the whole text of a property is displayed in the datagrid. If you’ve longer text – e.g. in cm:description – your datagrid layout will be suboptimal.

So, I added an ellipsis feature for text longer than 40 chars. The whole text will be displayed as tooltip on mouse over.


Upload & Attach

To allow attaching a file to a datalist item that isn’t already stored in the repo an upload&attach action was added to cm:attachment-control.

After you’ve choosen the upload destination directory (reused global-folder.js here) you’ll get the normal upload dialog.

Unable to display content. Adobe Flash is required.


Nick Burch had already developed a basic XLS-export WebScript. I resused that one & added support for fm:discussable comment threads.

XLS-Export button is displayed in the datalist toolbar.

Unable to display content. Adobe Flash is required.


Form-based filters

my last step was to provide form based filters for each datalist. Hence I configured a filter-form for each datalist-type & extended the filter logic of datagrid.js via JS/YUI augment/extend mechanism.

These form based filters support browser history & URL addressability and are collapsable via Alfresco.util.Twister.

Unable to display content. Adobe Flash is required.


I made another screencast that demonstrates most of the features in common:

Unable to display content. Adobe Flash is required.


I guess some of them are useful for every Alfresco Share installations. Thus me, fme and our client are willing to contribute these extensions.

a worldwide project swift launch codeCamp

I had a short chat with Jeff Potts & Bernard Werner (both Alfresco) regarding the Alfresco community a few days ago.

Besides some discussion especially regarding Alfresco’s community in D A CH,  I made the following proposal that I’d like to propagate here:

Currently Alfresco is developing the next “big” Alfresco version with code name swift – I bet it will be Alfresco 4.0. What I proposed to Jeff is to organize a worldwide – but local – Alfresco CodeCamp when 4.0 is launched. I mean a worldwide series of local Alfresco CodeCamps regarding new stuff in 4.0 (Solr, Social enhancements etc.) (nearly) simultaneous.

I guess that will be a big distributed event… & yes, of course John Newton should make an online Key Note 😉

What do you think?