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.