I’ve started building the export plugin for Mahara which allows the user to deposit content directly into a remote repository, using SWORD.
I’m keeping it simple at first, and aiming to do the bare minimum to make SWORD transactions possible. Once the transactions are functioning I can add a bit more sophistication into the user experience. I am also trying to stay within the limitations of the Mahara plugin structure where possible, so that I don’t have to make changes to core files in Mahara. That may influence some of the decisions in the development process.
The first steps involve setting up configuration options for the Mahara administrator, which allow the details of the remote repositories to be added. I have built the basic mechanism for this into the configuration options of the plugin:
When the repositories have been added, they will be selectable by the end user making the deposit. At the moment we have a simple SWORD – HTML selection option, without a list of available repositories:
The approach at the moment is to export an HTML package file, but a key extra step will be to add a manifest file to the zip package being exported, which should make the content browsable from within the repository. That manifest file includes Dublin Core metadata, which we will lift directly from existing Mahara fields. This should help to keep the process of depositing items as simple as possible, but it does mean that we will probably require users to add titles, descriptions and tags to their pages before exporting.
Next steps:
- Make added repositories editable and deletable.
- Present selection of repositories to end user as part of export process.
- Write manifest file when exporting the package.