Plugin: Alfresco AttachmentProvider

From iDempiere en


  • Provides capability to use Alfresco® as Attachment StorageProvider
  • Builds on ADempiere Integration With Alfresco
  • New functionality
    • Generates a md5 message digest for each file and stores this as additional attachment property
    • Uses versioning capabilty of Alfresco® to store updated attachment files as new version of the same object when the message digest is different

If you want to provide additional comments, please use the Discussion page.


In ADempiere two different storage providers were implemented. You could choose between database (the default) or filesystem (this you had to configure). New functionality has been developed as described in ADempiere Integration With Alfresco to connect to an external system using CMIS.

Now in iDempiere - thanks to the StorageProvider functionality - the storage provider is easier to configure and "OSGI-pluggable".

This plugin provides the capability to use Alfresco® as storage for attachments.

Of course a working Alfresco® installation is a prerequisite. The development has been done against community version 5.0.d. The current 5.1 versions should work ok. Previous versions may or may not be working - the Alfresco wiki provides information. Feedback is welcome.

Follow these steps

  • Install Alfresco
  • Create a user
  • Create a folder in the repository
  • Use OpenCMIS Workbench to validate access
  • Download the jarfile from bitbucket
  • Use the Felix console to load the plugin
  • In iDempiere in the relevant client create a new "Storage Provider"
    • You should find "Alfresco" as selectable method
  • In the "Client" config on "Client Info" select you new created "Storage Provider" as AttachmentStore
  • Prepare Alfresco so that it know about our new type
    • The two xml files from stuff/iDModel have to be put into tomcat/shared/classes/alfresco/extension of your Alfresco® installation
    • Restart Alfresco®
  • Login to Alfresco® and open the relevant folder in the repository
  • Create an attachment in iDempiere and "find" it in the Alfresco® folder

If you want to use the auto-creation of subfolders as described in Let's do some more fancy stuff follow these steps

  • Put the file idempiere.js from stuff/rule_script into the folder dataDictionary/Scripts in the repository
  • Create a rule for your iDempiere folder to apply this script when objects are moved to this folder or are updated (!)
  • Create a new attachment and find out, that Alfresco® has created the relevant table and tableID related subfolders and moved the object there

What is new?

This plugin is generating a md5 message digest for each file to be attached. The digest ist stored within the id:checksum property of the attachment. If a diferent checksum is detected at a later save then in the repository a new version of this object is created and stored. You can then use Alfrescos functionality to work on the different versions of your attachment.

In iDempiere you will always see the latest version - without a hint whether there are more, this may be future functionality.

A42niem (talk) 14:32, 25 June 2016 (CEST)

Cookies help us deliver our services. By using our services, you agree to our use of cookies.