A customer of my company (www.fme.de) asked me to develop some extensions for Alfresco Share datalist:
automatic generation of an ID for each item. These IDs are generated using a separate ID sequence on each datalist.
Double clicking an item display a view-mode form via FormService.
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.
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.
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.
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.
I made another screencast that demonstrates most of the features in common:
I guess some of them are useful for every Alfresco Share installations. Thus me, fme and our client are willing to contribute these extensions.