Personal tools

Pawn:WebDav Package Creation

From Adapt

Jump to: navigation, search

NOT IMPLEMENTED, NOTES ONLY

Introduction

In a perfect world, everyone would write <nop>PAWN plugins to manage data, metadata, and package accessioning. However that's highly unrealistic and the really, most applications want direct file access to data. Without running applications directly on the receiving server, this leaves us w/ three possibilities.

nfs / samba
Expose the package directly. These won't work w/o writing our own protocol since the internal package representation of <nop>PAWN is meaningless outside the receiving servers
ftp / http
Expose the collection through an ftp or http interface. This allows the package to be laid out hierarchically by descriptive name. However clients still need to download packages in order to modify them, and re-upload the result.
webdav
Provide a webdav folder for each package. The folder can be provided hierarchically, most modern operating systems support mounting of webdav folders. There are servlet-based handlers for the protocol already, so we can track all changes.

Client Interaction

A client will be able to perform the following actions from this feature:

  • Create new packages from a web-interface
  • View available packages and open as webdav (ms webfolder)
  • Modify packages using webdav and have all actions logged

The workflow for accessing packages follows:

1. Login using the normal pawn name/password
2. Create new package
Client will be presented with a web page to create a new package. The client will select which record-set they wish to use if there is more than one available. Under the hood, the standard package creation calls will be made, calls will come from the manager instead of the client.
3. View available packages
A list of available package will be shown along w/ their status
4. Open package
Webdav connection to receiving server is made. If the browser is IE, the folder will automatically open when clicked, for firefox a plugin is available. For all others the link can be plugged into a standard webdav browser
5. Modify package contents
This is limited to simple add/remove/open/move filesystem type comments. Any higher level PAWN functions such as approving, archiving, etc are not supported through webdav at this time.

Most standard ldap actions will run without change, add/remove/etc, however for certain items in PAWN special behavior may be needed. Specifically, these are the record-set items at the top-level of a package and metadata.

Record Set Items
The top-level folder will contain a set of read-only list of record set items.
Metadata
Each folder (record set and below) will have a special PAWN Metadata folder that will host any attached metadata for that folder. Each item will have an Item Name - PAWN Metadata folder in the directory as well.
Move Support
Initially data moving will not be supported, however the final plan is for the following to be allowed. Note, these will only work within a package, not across packages. Cross-package will be a copy and no logs will be generated linking the two items.
  • Move items to other directories.
  • Move metadata from one folder to another metadata folder.
  • Move items from being metadata to being real files
  • Move real files to metadata status. (Note, file1 cannot move to file1.metadata, also files w/ existing metadata cannot be moved.)

Implementation

Resources

-- Main.MikeSmorul - 09 Feb 2007