The forces of Alfresco and Drupal combined!

Tue, Nov 3, 2009 by Chunho

Recently, we have been working on developing the Appnovation Applicant Tracking System, and also looking around to find solutions to the problem on how we can formalize the processes that involve human interaction. Especially since this kind of interaction involves documents such as pdf or data entered by users and follows a "workfolw".

The basic workflow of the system is that when an Appnovation administrator posts a new job entry in the Drupal node, Alfresco CMIS API will create a job folder for the new job entry and all applicants' meta data such as: first/last name or email address, attached documents, such as resumes or cover letters will be stored in this folder. And then the application will be reviewed by Project Manager, Sr. Developer or CEO and based on each state, the applicant's data will be moved from one to the other. In every step, each user will receive proper email messages or tasks.

In order to meet all of these requirements, we decided to use the Alfresco Document Management System as our primary document repository because Alfresco provided the most complete solution. For instance, all requirements, such as Simple Check-In/Out, Version Control, Shared Drive interface and automated workflows were met. In the system, Alfresco is used as a "Document Management System" and Drupal is used as a "Presentation Management". That is, the Drupal CMIS module receives the content generated by users and sends it to Alfresco in order to store it into the Alfresco repository, and then return the unique identifiers to the Drupal side. By this id, Drupal is able to keep track of the version history when content is created and updated.

The best part is, all of these documents will be accessible via Alfresco Share which provides many user friendly convenient tools such as Dynamic filters, Hierarchical folder navigation, Rich Document Metadata, Preview or RSS Feed.
The combination of Alfreso and Drupal is great and absolutely the way to go!

P.S.
As you might know, On November 12th, we will be hosting Vancouver's first ever Alfresco event and there will be a session on about how we use Alfresco as an applicant tracking system for managing job applicants. If interested, please register at www.appnovation.com/register

Chunho posted on November 23, 2009 7:11 pm

We successfully deployed this to live and everything is working correctly. And this is the feedback from one of our Drupal developers who mainly customized the module.

Basically, these modules allowed us:
1. Browse a CMIS repository; create folder/content, upload content(file)
2. Synchronize nodes between the CMIS repository and Drupal (text, not files)
3. in CCK, use an Alfresco files as attachments to nodes
and some other things, such as repository search, querying etc (see http://drupal.org/project/cmis_alfresco)

We needed to execute CMIS API calls (via hook_nodeapi) against repository to create a folder and a file.
To serve our purpose we have called some customizes variant of those functions that are used to implement functionality of #1.

In the ideal world:
1. cmis_alfresco_cmisapi_updateProperties function would allow us to send title as a separate xml node, because it has been ignored by Alfresco if sent as a property
2. _cmis_browser_actions_content_create would allow to send not only 'content-type' and 'title' as properties, but other custom properties (we needed to send 'summary' aka Description to show it as document's Metadata in Alfresco)
3. would not show anyone but admin (and watchdog) all kinds of "Failed to invoke service..." error messages, or at least made them more user friendly.
4. would have some documentation (we had to look into the code to figure out how this should work)

Other than that - the modules are pretty good and work without any bugs.

Chris posted on November 9, 2009 6:49 pm

Sounds great - I look forward to hearing more when it's done!

Chunho posted on November 9, 2009 7:00 am

Yes. It is true. Actually, thanks to the CMIS module, we were able to save lots of times to develop front-end components to access our main Alfresco document repository. We could get most of our functionalities to browse/query from within in the Drupal interface and save applicants' documents into the Alfresco repository.
In addition, we could easily extend the module to pass some custom meta-data to our customized web scripts. Again, I strongly believe that this combination allows us to leverage the strengths of both systems, Alfresco as a document managemnt system and Drupal as a presentation managemnt system.

Once we completely finish this project then our drupal developer will be able to provide more comments on the module.

Chris posted on November 5, 2009 1:32 pm

Just wondering if you're using the existing CMIS modules for this (http://drupal.org/project/cmis and http://drupal.org/project/cmis_alfresco). If so, we'd love to get your feedback on how this is working out. Sounds like this application is a great fit for leveraging the Drupal Alfresco combination

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <h2>
  • Lines and paragraphs break automatically.

More information about formatting options