v1.0 Development Plan - NFLC-UMD/NFLCIME GitHub Wiki

NFLCIME 1.1 Development Plan

  1. Refactor directory structure (completed) NFLCIME has a relatively flat file system. During this phase of the project we will separate the core JavaScript files from the data files (keyboard mappings and keyboard UIs).

  2. Create working examples
    NFLCIME will have at least four examples

  • A simple textarea supporting multiple language selection via a select box (completed)
  • Multiple textareas that are hardcoded to support a specific language (completed)
  • An Ext JS 4 app with TinyMCE 4, the ICE version control plugin, and language switching (completed)
  • An HTML app with the ICE version control plugin, and language switching (completed)
  1. Migrate changes from Bloom (completed)
    Areas of the NFLCIME core were modified to support the UMD Bloom project. Unfortunately, these changes broke the simple textarea examples. Changes from Bloom will be carefully merged back into NFLCIME, and modified as required to not break the textarea use-cases.

  2. Document NFLCIME with JSDuck (completed)
    We will create robust API documentation for NFLCIME that links to the working examples and contains a guide for getting started with the product.

  3. Create a Build Process (completed)
    We will use grunt to minify and compress all libraries in order to reduce download times for the toolkit.

  4. Create an example on Sencha Fiddle (can't do)
    Create a Sencha Fiddle which illustrates, to the extent possible within a single page, the functionality of the keyboards integrated with TinyMCE and ExtJS 5.

  5. Provide documentation on the GitHub wiki (completed)
    Describe the basic code structure and how to install, extend, test, and run a build to concatenate and minify the code. Include a list of use cases for testing.

  6. Define a series of unit tests (optional)

  7. Read supported language list from external .json file (completed)