Looking for Archivematica the software project? see: archivematica.org


archivemati.ca header image 1

ICA-AtoM: open source software for archives

June 20th, 2006 · 2 Comments · Archives Access Systems, ICA-AtoM

I am very pleased to announce that the consulting project I will be working on over the summer is the design and development of an open source archival description application. The codename for the project and software is ICA-AtoM, which is an acronymn for International Council on Archives – Access to Memory.

The International Council on Archives (ICA) is the project sponsor. I am managing the software development through my consulting company Artefactual Systems in collaboration with the Dutch Archiefschool and their research coordinator Peter Horsman (also one of my PhD supervisors).

Guide to Archival Sources on Human Rights Violations

The impetus for the ICA-AtoM software project is another ICA project. The ICA Archives and Human Rights working group received funding recently from UNESCO to create a searchable, online guide to international archival sources on human rights violations. The goal of this Guide is to enable users to identify archival materials relating to a particular human rights event or topic, locate the country and repository in which the archival materials are held, and determine the conditions for access to these documents.

One of UNESCO and the ICA’s requirements was that any software produced as part of the Guide project should be made available under an open source license. At its core, this Guide will require a basic web-based archival description application. It makes sense, therefore, to leverage the work done on the Guide website and software as the first step in creating a generic archival description application that can be made available to the archival community as a whole.

The core application requirements will be based on the ICA standard’s for archival description (ISAD(G)) and archival authorities (ISAAR(CPF)) as well as the OSARIS functional requirements which were drafted in 2003 by the ICA Committee on Information Technology.

ICA-AtoM Development Roadmap

The first phase of the ICA-AtoM project is the development of the website and software to host the Guide to Archival Sources on Human Rights Violations. The first beta release of this website is due in Fall 2006. The second phase will be to extract the archival description and retrieval component of the Guide software and make it available as the first core version of the ICA-AtoM open source software. The future requirements of the ICA-AtoM software will be accounted for as the Guide website is designed and developed.

The Guide website is located at: http://humanrightsarchives.org
The ICA-AtoM website is located at: http://ica-atom.org

Discussions are already under way to add additional modules to the core archival description application to provide functionality and features such as digital repository interfaces, accessioning workflow, physical box management, reference room management, etc..

Of course, any further development will be dependent on a combination of securing additional funding and generating enough interest and support in the project from the archival community and other developers who are interested in contributing to the application’s codebase. The ICA-AtoM application will likely be released under a GPL open source license.

ICA-AtoM Technical Architecture

On this blog I have been posting about my evaluation of several options (RubyOnRails, Django, Drupal, Greenstone, Fedora) for building the Guide and ICA-AtoM as a web-based application (see the posts under the Systems Architecture category). In the end we’ve selected the Symfony PHP5 MVC framework as the development platform for a number of reasons including; the breadth of MVC features and functionality that Symfony incorporates, the extensive internationalization support, the ubiquity of PHP servers and developers, the richest set of online documentation of any of the MVC frameworks, and the very active and supportive community of Symfony developers and users.

The Model, View, Controller (MVC) design pattern is the current best practice for architecting web applications. A MVC architecture seperates a web application into three primary layers. The Model layers abstracts a domain-specific data model and interacts with the data persistence layer on its behalf (usually a database but could also be XML or text files). The Controller interacts with the user through an interface (e.g. a webpage). The Controller receives information or requests from the user, routes these to the appropriate place in the application and returns the application’s response to the user. The View layer adds presentation templates (e.g. styles, themes, etc.) to the data that comes from the model layer, before it is sent back to the user interface by the Controller.

MVC architectures improve the development, scalability and on-going maintenance of web applications by dividing their critical components into seperate layers that can be enhanced or exchanged without affecting the other layers. Essentially, the MVC pattern follows the long-established software engineering paradigm of seperating data persistence from application logic from presentation.

2 responses so far ↓