Wednesday, September 27, 2006

Seasonal Migration

The air is a bit crisper here in New England. The geese are flying south for the winter. Migration is an instinct for the geese. Too bad data migration isn't instinctive as well.

We had a phone meeting of people interested in moving data into and out of Sakai yesterday under the banner of the Migration Working Group (Mig-WG). The key thing coming out of this meeting was the creation of five sub-projects related to migration:
  1. Vender Content Migration
  2. Sakai Archiving
  3. IMS Course Cartridge Support
  4. Open Courseware (OCW) Support
  5. Migration Architecture
Have a look at the meeting notes for more information.

Naturally, the architecture of migration is of keen interest to me. Zach Thomas has started crafting a migration architecture that should serve as the basis of an archive or migration service in Sakai. This approach calls for parsers and handlers that are registered with an archiving service. It has the nice feature of scanning through parsers to see who can handle a given package to be imported.

One idea that I've kicked around is creating some form of abstract content to serve as an intermediate data structure for import, export, and data handling. It seems to me that if we created a set of objects that describe content and how it is organized, it would enable n-way movement of data. For example, it would allow us to import and SCORM package and export it as OCW. It would allow us to select a collection of Sakai content and export it as an IMS Course Common Cartridge, or QTI Question Pool, etc. This content abstraction would be in-memory only and ephemeral, it's not intended to be persisted -- that's what content hosting does.

This is not a big step from the architecture that Zach has laid out. It does, however, prepare us to handle export, which we've kinda avoided so far. Export, especially for Common Cartridge, will be an important part of Sakai 2.4.

- Mark