We consider a range of OpenSource projects that relate to or may be of use to CollectionSpace.
Open Source DAM and ECM projects/products
Alfresco is the Open Source Alternative for Enterprise Content Management (ECM), providing Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging.
PatrickS and the UCB team have just begun the analysis. Notes are gathered here. Quick summary: not a good candidate for re-use.
Fedora Commons provides sustainable technologies to create, manage, publish, share and preserve digital content as a basis for intellectual, organizational, scientific and cultural heritage by bringing two communities together.
This project has been identified as another potential connection point.
PatrickS and the UCB team have just begun the analysis. Notes are gathered here.
Nuxeo 5 is "an innovative, standards-based, open source platform for building ECM applications. Its component-based and service-oriented architecture makes it easy to customize and extend, making developers more efficient and ultimately, happier."
There is a host of documentation available, including developer docs. They have a layered architecture that includes a service layer, and although it is not built on classic SOA design patterns, it does offer a very SOA like model. It is Java based, and has several deployment models: web client to web-services, rich client platform, and a hybrid of the two.
Update: at one point, it was reported that Nuxeo was under GPL license. I [Patrick] just dug into this deeper and the license is LGPL, which is a good deal more flexible than GPL, if not as free as Apache. There is so much of value in Nuxeo that I would like to explore living with the license.
Open-source web software for publishing museum collections on-line in a collection / exhibition format.
'Items' (objects) can be created by serial input of data via a number of predetermined 'item types', values being entered into a number of default fields complying with Dublin Core standard. Extra metadata fields can be added to the core fields, and 'item' types can be created or edited.
Exhibitions (groups of selected 'items') can then be created and further published online via one of twelve pre-set templates. Accompanying text needs to be added manually and it doesn't appear to be possible to pull data through from the 'item' metadata. Templates can be customised or added to. Interface publishing themes can be easily created and loaded in manually. Plug-in modules can also be integrated to further customise the software.
Access to the dataset derives from 4 default roles. Can't edit roles, nor their respective access levels.
User documentation: On-line and very extent. Functions also listed related to creating exhibtion layouts and themes to view collections and items.
Pachyderm, New Media Consortium
Not open-source (yet), so no source code to analyse. However, the software does incorporate an interesting, self-intuitive faceted search engine which uses Ruby. The project also intends to link to many online databases, so this could be of technological interest.
Open Source ESB, SOA and related toolkits
This is an interesting, thorough analysis of ESB solutions for an open source, SOA-based project. It's a year old at this point, but much of it seems to remain valid, and JBoss, Mule and ServiceMix seem to remain the top contenders. The report does not mention a recent contender, WSO2.
JBoss is a large collection of middleware projects, including the JBoss ESB. Nuxeo can run on JBoss.
Mule is a lightweight messaging framework and message broker that can integrate apps build on a number of models. This Use Case Study for Mule is kind of interesting. Here is an article on ESB patterns with Mule. Another article reviews Mule capabilities.
Burton did an analysis of Mule in early 2008. Their report is not publicly available, but a summary is reported here. The high points are that there are few other commercial vendors that integrate with Mule, so if that is a requirement, Mule may be more difficult to use. Read the summary article.
"Apache ServiceMix is an open source ESB (Enterprise Service Bus) that combines the functionality of a Service Oriented Architecture (SOA) and an Event Driven Architecture (EDA) to create an agile, enterprise ESB."
The article Pattern Based Development with ServiceMix explains some of the basics (non-trivial).
This is a lesser know player also built upon Apache components. It is supposed to be lighter-weight and very fast. Some related articles are listed here. It's reputation is for solid, fast code, but I have not yet found reviews of real deployments.