Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The following is a suggested workflow for new Pico developers.   Related information is available in the following resources:

Programming involves a collection of tools, often referred to as the "tool chain" since they are used more or less in sequence. Here's a graphical representation of the tool chain for programming picos, noting each stage. We'll use this to organize the remainder of this document. 

Image Added

Develop

...

To develop KRL for picos, you can use Git (or another versioning tool) and your favorite editor. There are plug ins for several popular editors

  1. Create a directory for your project 

    Code Block
    languagebash
    $ mkdir workflow
    $ cd workflow/


  2. Initialize the project directory as a Git repository

    Code Block
    languagebash
    $ git init


  3. Create a KRL ruleset as a file in the repository using your favorite editor. There may be a KRL plugin for your editor

Build

The build process for rulesets primarily involves parsing to ensure it is correctly formatted. The preferred way to do this is using a Git pre-commit hook. 

  1. Follow the directions in Setting Up a Git Pre-Commit Hook to Parse KRL to set up the KRL parser and ensure that KRL files are parsed before they are committed. 

  2. Create a KRL ruleset as a file in the repository using your favorite editor. There may be a KRL plugin for your editor
  3. Add the file to the repository and commit it. 

    Code Block
    languagebash
    $ git add hello_world.krl
    $ git commit -a -m "initial commit"
    Flushing com.windley.hello_world
    [master (root-commit) 4a2f95c] initial commit
     1 file changed, 34 insertions(+)
     create mode 100644 hello_world.krl

    With the pre-commit hook in place, you're assured that there are no parse errors in your ruleset if it commits.

  4. Register the ruleset with the pico engine. There are automated ways to do this, but for initial development, you can do in manually. Navigate to the rulesets.html resource on your engine (i.e. if you engine is running at localhost:8080, then go to http://localhost:8080/rulesets.html. You'll see a screen that looks like this:


Deploy

Deploying 

  1. Also, the pre-commit hook flushes rulesets in a local engine. 

  2. install the ruleset in your pico by navigating to the Rulesets page in the pico engine interface and putting it's full URL in the box labeled "Install ruleset from URL:" and clicking the button. We are using the file: URL scheme to load the ruleset from the filesystem directly into the engine rather than relying on an external server. The file URL is the schema file:// prepended to the full pathname of the file (yes, there are three slashes): 

    file:///Users/pjw/prog/picolabs/pico_lessons/workflow/hello_world.krl



  3. You'll now see the ruleset listed in the installed rulesets in the pico. If you click on the "Engine Rulesets" link, you'll navigate to a page that shows the rulesets registered with the engine.


...