/BlocklyPropLauncher

BlocklyProp client-side tool built with web technologies (for CrOS/Win/Mac)

Primary LanguageJavaScriptOtherNOASSERTION

BlocklyProp Launcher

Introduction

The BlocklyProp Launcher is an application built using web technologies that connects Parallax Propeller-powered hardware to the BlocklyProp website. Targeted for the Chromebook platform initially and later replacing the Python-based BlocklyPropClient.

It serves as the local conduit through which the cloud-based BlocklyProp Editor can download applications to, and debug with, the Propeller microcontroller.

Running

BlocklyProp Launcher has been written using HTML, CSS, and JavaScript, and is packaged as a Chrome Application.

There's a public release (available to anyone on a Chromebook) and a development release (available only to a select group of testers). Developers must be logged into Chrome with their "permitted" account in order for the development release link to work.

After installing the Chrome Application, simply click to run it on a Chromebook.

Building

To date, this application has been written using the Chrome Dev Editor and WebStorm IDE and launched/debugged using the Chrome Apps & Extensions Developer Tool or Chrome Extensions (chrome://extensions/) page along with the built-in Chrome Developer Tools (click on the desired "Inspect views" from the developer tool or extensions page, or right-click the running application's window and select "Inspect").

No build process is required- simply press the play button in Chrome Dev Editor or launch from the Chrome Apps & Extensions Developer Tool (or extension page). NOTE: App must first be loaded with the "Load unpacked extension..." feature.

Releasing

Though there is no need for a "build" process during development, the release process requires extra effort because certain files need be excluded from the release and the release set must be zipped up to package for the Chrome Web Store or to wrap it with nw.js for Windows, Mac, & Linux.

The first steps for release are:

  1. Create the release fileset:
    1. Switch to the repository's workspace:
      • IMPORTANT: On Windows platforms, open a Git Bash command window
      • $ cd path_to_BlocklyProp_Launcher/
    2. Run the MakeRelease script
      • $ ./MakeRelease
      • This will clean out (or create) the release subfolder and will copy files into it for a Chrome App package.
        • This folder should not be archived in repository commits, thus the repo's .gitignore file excludes the entire release folder.
  2. Test the app by installing the release subfolder contents (Load Unpackaged App from Chrome or the Chrome Apps & Extensions Developer Tool).
  3. Archiving (Zip up) the release subfolder contents (not the folder; just its contents).

For Chrome App publication:

  • Update the Chrome Web Store site.
    • IMPORTANT: Updates to the "public" release are automatically pushed to active existing Chromebook users - mistakes will propogate swiftly. Make frequent updates to the development release channel, and only well-tested, deliberate updates to the public release channel.

For Win, Mac, & Linux publication:

  • Follow the steps in the Developers section of the repo wiki.

Attribution

This application is built from routines and functions used in the following sample applications: