Friday, July 31, 2009

If You Give a Mouse a Cookie

I've spent the last few weeks building objects to ingest in our fledgling Fedora repository. There is a lot of new technology to learn, such as various XML schemas for storing preservation metadata, descriptive metadata, content models, and access controls. And there are also somewhat older technologies with which to become re-acquainted, such as LDAP. (I think my last use of LDAP was a few years after we have developed DIXIE, and I was building a command-line utility that helped test some of the LDAP library routines.)

There have been many times during this process where it has felt like I learned just enough about technology X to get part of the project finished, only to discover that technology Y is also critical. And, of course, technology Y is something where I have little current knowledge.

As I repeated this process, it kept reminding me of one of my daughter's books, If You Give a Mouse a Cookie. The book is an entertaining look at unintended consequences: You give the mouse a cookie, but now it wants milk. So you get the mouse some milk, but now it wants a straw. You get the straw, and .... You get the idea.

And so with apologies to Ms Numeroff and Ms Bond...

If You Give a Mouse Fedora

If you give a mouse Fedora, it'll want to be sure that it is version 3.x

If you give it version 3.x, it'll want to use the new Content Model Architecture (CMA).

To use the new CMA, the mouse will ask you to learn a bit more about FOXML and Content Model objects.

As you work through Content Models, you'll come across WSDL in the Service Definitions and Service Deployments.

WSDL will remind you to brush up on Dublin Core.

So the mouse will ask you to generate Dublin Core (DC) for descriptive metadata, but will want you to use PREMIS for preservation metadata.

Once your objects have been expressed in FOXML and PREMIS and DC, the mouse will want to start adding references to Datastreams. The mouse will need a MIME-type for each Datastream.

To get good MIME types for each Datastreams, the mouse will ask you to use the UNIX file command.

If you use the file command, you'll need to create your own local magic.mime database, since you'll likely have stuff that confuses file.

Once you've added MIME types and ingested your objects, the mouse will want to protect them against unauthorized access. So the mouse will want you to learn XACML.

Once you've learned XACML and written policies to protect your resources, the mouse will want an LDAP server to authenticate users and register attributes.

Once you've deployed the LDAP server, you document all of the steps that you have completed. The mouse will want a place to store this documentation you've written.

And chances are if the mouse wants a place to store important information, the mouse is going to want a Fedora repository.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.