Skip to content

Outpost enhancements for use by Santa Clara County ARES and RACES

License

Notifications You must be signed in to change notification settings

jmkristian/OutpostForSCCo

Repository files navigation

This software augments Outpost Packet Message Manager, adding forms that are used for emergency communication by ARES and RACES in Santa Clara County, California. It uses the add-on interface to Outpost, and a web browser to display and edit forms.

For installation and usage instructions, see the UserGuide.html file in each release.

Source code is stored in this repository. To build it, you'll need:

  • Git configured with core.autocrlf true, so it will check out text files with CRLF but check them in with LF.
  • nvm for Windows
  • NSIS version 3 or later, with the Simple Firewall Plugin.
  • SignTool, which is included in the Windows SDK feature Windows App Certification Kit.
  • a code signing certificate and private key
  • a bash shell. The bash shell included with Git for Windows is sufficient.

Using nvm, install the 32-bit variants of Node.js version 4.9.1 (yes that old) and version 10.18.1. Run "nvm install" from a Windows cmd or PowerShell prompt (not bash). That old version of Node.js builds code that runs on Windows XP; newer versions don't.

In your PATH environment variable, add the folder that contains SignTool.exe (so it can be executed by the script sign.cmd).

  1. Clone this repository. In your clone:
  2. Create a file signingCert.pfx, which contains your code signing certificate and private key, in PKCS#12 format with no password.
  3. Use bash to run webToPDF/build.sh
  4. Use bash to run ./build.sh

Most improvements to the web user interface will be done in pack-it-forms (not this repository). You can experiment by replacing the pack-it-forms sub-folder with a clone of the pack-it-forms repository. When you're done experimenting, release pack-it-forms and then use the new released version here. That is, commit changes to pack-it-forms, push them to GitHub, release pack-it-forms, move your experimental pack-it-forms sub-folder out of OutpostForSCCo, update ./build.sh to refer to the new version of pack-it-forms, build a new installer, test it, commit and push changes to GitHub and create a new release including the new installer.

To develop another add-on, create form-*.html files in pack-it-forms. For guidance, see pack-it-forms/README.md. Also, create Addon.nsi and Addon.launch files in pack-it-forms/resources/integration/scco, using Los_Altos.nsi and Los_Altos.launch as models. And add a stanza into build.cmd, to copy the new Addon.nsi and call makensis. Other configuration files will be generated by bin/Outpost_Forms.js#installConfigFiles.

If you need to store new forms in a private repository, organize them in parallel with pack-it-forms. At a minimum, the private repository should contain form-xx.html files, and a resources/integration/scco folder that contains build.cmd, Addon.nsi and Addon.launch files. Use the files from pack-it-forms as models. Pass the name of your private repository to ./build.sh on the command line.

The installer source code is setup.nsi, and the source for most of the installed code is bin/Outpost_Forms.js. The installer configures Outpost to execute launch.js. For debugging, you might change the configuration to execute launch-v.cmd instead.