Introduction ============ The launch of the new API based CCHDO website required both a rewrite and a rethink of how a unit of work and fetch/commits should function. The cchdo website API is rather low level compared to what may are used to. It has no concept of what a commit is, it barely has a concept of what a cruise is, and has a slightly stronger concept of what a file is. Here are some important differences: * UOW directories are **cruise contexts** * Everything done inside them is done in the context of the cruise for which is was initialized with. * This means all files commited as part of a uow are attached to the cruise * Multiple files of any particular data type and format may be in a cruises dataset * Files being replaced must be explicitly marked as "merged" * Commits **do not occur within a transaction** * If an API call fails, the commit aborts, however any number of API calls may have already been made, and any number of API calls may have yet to be made * Failing in the middle of a commit requries manual fixing. Getting Started --------------- The uow command is a packaged collection of python scripts which may be executed like a normal program. It has no external dependancies. TODO: Put the packaged program somewhere Simply grab the program, ensure the executable bit is set and run it. For convienence, you should put the program somewhere in your ``$PATH``. Building From Source -------------------- Get the srouce from (TODO some location), and run ``make`` where the Makefile is.