Process

The basic content workflow can be seen in this diagram:

Locomote.sh process

  1. The process starts when content is added to a content repository.
  2. Once received by the server, a build process is executed on the source content. This step is used to e.g. generated HTML from markdown, or to resize images.
  3. The output of the build process is used to generate a static website and made available to standard web clients over HTTP.
  4. Fileset processors are used to generate file database entries from the published files. This data can include meta-data about each file, or additional data derived from the file (e.g. by parsing the contents of JSON files).
  5. The contents of the file database are used to generate the web feeds used to update the mobile clients.

Builds

The build process is triggered automatically each time new content is added to a content repository. The standard build process contains a number of steps, described below:

docx

The docx step looks for .docx files within the content repository and automatically converts them to markdown (which in turn is used to generate HTML files in the jekyll step described below). This step allows content producers who are not familiar with markdown to edit web content using Word.

This step supports all basic text formatting, as well as lists, tables and images.

jekyll

The jekyll build step generates HTML files from markdown found in the content repository.

assets

The assets step can be used to generate image and other mobile app assets. Single, high resolution versions of images can be provided, and then be used to generate multiple smaller image versions targetting specific mobile device display resolutions. Output images are written to a directory structure suitable for the mobile app platform being targeted (e.g. into resource/drawable-xxxx folders for Android), or are given suitable filenames (e.g. image@2x.png on iOS).

Mobile feeds

Locomote generates web feeds from the content repository which allow mobile app clients using the Locomote SDKs to efficiently download content which has been published to a repository. The feeds allow mobile clients to query a repository for updates, and to perform efficient downloads of files and data.