GSOC idea: Integrate Drupal & CollectiveAccess (open source collection management software)

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
svendecabooter's picture

I am currently working on a (set of) module(s) to integrate Drupal with CollectiveAccess, an open source PHP collection management system that is focussed towards cataloguing, maintaining and managing collection data. This software is getting quite some traction with museums, archives and other institutions that require digital collections.

The big picture:

We have been pitching the idea of Drupal / CollectiveAccess integration to a few (cultural) non-profit institutions, and there is real interest in this approach. The people behind the CollectiveAccess software are also receiving plenty of requests for good integration of CollectiveAccess with Drupal, so demand is certainly there. CollectiveAccess already comes separated as a backend + frontend. However the frontend system is not very powerful, and that's where Drupal could come in.

The idea for the integration is to use CollectiveAccess as a powerful collection management backend, where editors and administrators of the institutions are able to easily add, import and manage the collections that they own or maintain, whereas Drupal would be used as a flexible frontend to present these collections to the general / broad public, leveraging the myriad of great possibilities that Drupal provides. Just to name a few:
* facilities to browse and filter collections with Views or Apache Solr
* add "web 2.0" functionality such as personal collections for logged in users (Flag module) or social network interaction (Facebook, Service Links module, ...)
* ability to comment and interact on collection objects
* and much much more

These possibilities are of course most likely not in the scope of the Drupal CollectiveAccess module itself, but the purpose of the module is to prepare and deliver that data to Drupal in such a way that these possibilities become easily implementable.

The CollectiveAccess module (set) should provide a generic and modular architecture, so integration between CollectiveAccess and Drupal would become trivial. The aim is to have as little dependency on programmers or Drupal experts as possible, once an institution has their CollectiveAccess system set up, so they could potentially do the integration with Drupal themselves and have the richness of Drupal at their fingertips when building their web presence frontend.

History & current status:

I have already done integration of both systems for a cultural institution, and part of that effort was the CollectiveAccess module for Drupal

. However this module is currently only usable for developers, and still too specific for the project I created it for. Also, it's currently only for Drupal 6.

Therefore my plan is to take this a step further and create a generic, well structured module (or set), focussed primarily at Drupal 7, to be able to leverage the functionality in D7 that could ease integration of those 2 systems significantly.

Battle plan: functional requirements / wishlist roadmap:

  • Create a general SDK / API wrapper around the webservices provided by CollectiveAccess. (current CollectiveAccess module already comes with a basic shot at that)
  • UI to easily connect your Drupal site to one or more CollectiveAccess instances (current CollectiveAccess module already comes with a basic shot at that)
  • UI to specify what data should be retrieved from each CollectiveAccess instance (e.g. all objects, objects in specific collection, objects by specific author, ...)
  • Ability to create Drupal entities for each object that gets fetched (leverage D7 Entities API)
  • Ability to map CollectiveAccess fields with Drupal fields (leverage D7 Field API)
  • Implement a smart caching system
  • Implement a smart syncing mechanism
  • Potentially backport (some of) the functionality to Drupal 6
  • ...

GSOC

I'm not deeply familiar with the GSOC program or processes that it contains, so let me know if I'm missing something or need to formalize this idea somehow...
If a student sees potential in (parts of) this idea, I would love to personally dedicate all the time that is needed to mentor and guide him / her, while actively participating in the creation of this module. I'm furthermore in contact with a bunch of people that really want to put their shoulders behind this project, so from that side you could surely expect mentoring, guidance and feedback as well.

If you need any additional information on this idea, or want to brainstorm some more about it, feel free to contact me!

Sven

Comments

i'm interested

ahmdrefat's picture

i believe that, this idea is great,
and i have interested to work on it,
but i think i need some additional explanation and resources;

i wish to be sure that; this idea can be fit with a begginer, but i promise you that; i am a hard-worker and i have a high learning rate :) but unfortunately; i become interested in open source recently

Maybe interesting to see our

Hanno's picture

Maybe interesting to see our approach. We are testing at the moment a new module to connect Drupal to Adlib collection management software. The functionality is in several modules:
* Adlib API module - to connect to Adlib databases, with an UI
* Adlib feeds module - to import and map the collection
* Adlib images - to handle the images
* Adlib references - to recreate internal references from the collection database
This could in the future get some additional modules:
* Adlib views module (to show the records in a view without importing)
* Adlib write module (to update the collection databaserecord with information in the Drupal node)

Because we use the feeds module, most of the syncing, configuration, caching and mapping is already done.

Thanks for the small

svendecabooter's picture

Thanks for the small architectural overview.
Integration with Feeds would indeed be something to look at closely, as to not reinvent the wheel.
I'm not sure anymore why I didn't integrate with Feeds for the D6 version, but there was some reason :)

it's really interested too...

ahmdrefat's picture

i think it's also another good idea, but what i miss right now,
that; some recourses and more explanation to make give me a deeper look into the idea,
so, plz help me :)

I also have interest on it...

eltermann's picture

svendecabooter,
I'm thinking in apply as student this year, and you CollectiveAccess proposal looks a great project! I got personally interested on it.
Just read some details on http://www.collectiveaccess.org/download : your idea is to build a Drupal based "Pawtucket" alternative?

Hanno,
Adlib is free software?
Surelly it's not a need, but should be a plus! :)

Hi, Glad to hear you like the

svendecabooter's picture

Hi,

Glad to hear you like the idea :)
The idea is indeed to use the CollectiveAccess backend (Providence) with Drupal as a frontend, thus replacing the need for Pawtucket.
Pawtucket is OK for quickly making your collection available, but it's not nearly as powerful as Drupal could be :)

And to answer your question about AdLib: it is pretty popular, but proprietary software. From what I hear it's quite ok, but has pretty high recurring licensing fees, so that's one of the reasons that some institutions are looking for open source alternatives. We hope to help with that with the creation of this CollectiveAccess connector module :)

Have you looked at Islandora?

highermath's picture

Islandora connects Drupal to the FOSS digital library/asset management software, Fedora Commons (Duraspace).

Museum

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: