Skip to content

Instantly share code, notes, and snippets.

@bradland
Last active December 15, 2015 07:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bradland/5222517 to your computer and use it in GitHub Desktop.
Save bradland/5222517 to your computer and use it in GitHub Desktop.

BrainHoney Technical Solution Outline

Goal

Provide customers with a solution that can run on their own servers without the requirement for an active internet connection.

Solution Strategy

BrainHoney will host both the content and assessments for ERR items, eliminating the need for ERR to run on customer's equipment.

  • Import ERR content and assessment in to BrainHoney
  • BrainHoney application will be installed on customer equipment and serve content & assessment information to end users
  • ERR application will not need to run on the customer's equipment
  • ERR application will not need to interface with customer's application on an automated basis

Because this solution will serve customers who may not have internet access, and because this will be a periodic import, the development of data interchange tools do not need to be formalized in an API that will be called externally. Priority should be placed on quick turn around. For example, a Rake task that must run on the server (or wrapped in a Capistrano task) would be an acceptable solution.

Non-development Prerequisites

Agilix suggests a two-phase approach. In phase 1, we would input 3-4 items through the BrainHoney interactive interface, using the Course Setup and Advanced Assessment Editor (documentation) tools. Rourke staff will need to work through these steps in order to "map" ERR data to the appropriate course "objects" in BrainHoney.

Once 3-4 titles have been input in to BrainHoney, we would export and examine the manifests for the courses and use that information to build the tool that will push the remaining items through the DLAP API PutItems action.

Development Items

We will operate under the assumption that there are fields required by BrainHoney that do not currently exist in ERR. This data will be obtained by providing an Excel workbook to Rourke staff with a field set and a record ID column that will map to ERR items. The workflow will look like this:

  • Rourke inputs items in to BrainHoney staging environment
  • Items are exported
  • Examine exported data
  • Identify missing fields
  • Provide item map workbook for Rourke to complete (would contain item IDs for match on import)
  • Export workbook data in CSV/TSV/XML/whatever format required by tool
  • Execute tool to push ERR items to BrainHoney staging instance
  • Agilix moves this data to the customer instance

Export Tool and Future Considerations

The tool will interact with the BrainHoney DLAP API. From a usage perspective, no strict technical requirements for this tool exists. We can develop it under the assumption that developer involvement will be required for this project. However, given the nature of the Agilix/Rourke relationship, I would expect that future sales will require the repetition of this task. This means we should:

  • Assume that these actions will be formalized in an admin interface at some point
  • Assume that the BrainHoney fields mapped through the workbook will be added to the application over the long term
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment