How to Jam

This is the recommended workflow for Process development

0. Initialize the library with all the processes you need

Know what processes you need to create, then follow the Quick Start a Process Library from Scratch in Three Steps if you don't already have a Process Library created.

1. BOSS: Basic Outline Sections Steps

1.1 First pass: Outline the process with "Section" lines

Limit yourself to only using "Section" and "Section Reference" lines in the first pass.

Here's an example of what that can look like, using the "Sec" and "SecRef" aliases:

SecRef | SOP01 | Start
Sec | Do core steps
Sec | The other part
Sec | Verify requirements
Sec | Get more stuff done
Sec | Specific end steps
SecRef | SOP01 | End
Note

The example above refers to another process in the same library with the Document Number "SOP01" and inserts sections named "Start" and "End" from that process into this one. See Section Reference (EBML Structure)

1.2 Second pass: "Step" lines

For the second pass, limit yourself to the "Step" line type, so that you strictly think through the order of operations for the process.

Here's an example of what that can look like, extending the previous pass into the first native section:

SecRef | SOP01 | Start

Sec | Do core steps
	Step | Do this first
	Step | Do this next
	Step | We also need to do this
	Step | Check your work
	Step | Turn it in
	
Sec | The other part
Sec | Verify requirements
Sec | Get more stuff done
Sec | Specific end steps
SecRef | SOP01 | End

Fill in all the Steps for all the Sections (not the Section References though...).

Info

Now's a good time run the EasyButton script toget a preview...

2. Image Placeholders

This is the point in the jamming process you know when the user needs visual aids. For instance, if you are authoring an assembly procedure, you might be envisioning screenshots or drawings from CAD at certain steps.

Restrict yourself to placeholder "Image" lines according to Image (EBML SubStep) guidelines. That might look like this, continuing our example:

...
Sec | Do core steps
	
	Step | Do this first
		Image | initial-state.png | This is an image of the first thing we need to do
		
	Step | Do this next
		Image | second-thing.png | This is the second thing to do
		Image | second-thing-detailed.png | Zoom in on a critical area for the second thing
		
	Step | We also need to do this
	
	Step | Check your work
		Image | check-your-work.png | This is how to check your work
	
	Step | Turn it in
...
Alert

It's presumed that you don't actually have "initial-state.png" or "second-thing.png" etc.
We're going to create those later and drop them in the Process Folder, but for now we are focusing so we can get all of the actual process content into the document.

3. Other SubStep types

File ebmlKey ebmlArguments
Action (EBML SubStep)
  • Action
  • Do
  • Action to perform
  • Expected result
  • Two-Party Verification (optional)
Command (EBML SubStep)
  • Command
  • CMD
  • >
  • %
  • $
  • #
  • text
Context (EBML SubStep)
  • Context
  • Comment
  • TXT
  • CMT
  • text
Image (EBML SubStep)
  • Image
  • IMG
  • Picture
  • PIC
  • Figure
  • FIG
  • filename
  • caption (optional)
Objective (EBML SubStep)
  • Objective
  • OBJ
  • text
Out of Scope (EBML SubStep)
  • Out of Scope
  • OOS
  • text
Resource (EBML SubStep)
  • Resource
  • RES
  • resource name
  • calibration (optional)
Table (EBML SubStep)
  • CSV Start
  • CSV End
  • CSV File
  • External CSV filename (if "CSV File")
  • Table caption
Verification (EBML SubStep)
  • Verification
  • VER
  • Requirement
  • REQ
  • Requirement ID
  • Requirement Full Text
  • Verification Method
Warning (EBML SubStep)
  • Warning
  • Warn
  • War
  • Wrn
  • Alert
  • !
  • text

If you really want some low-level documentation on SubSteps that is... less than practical while you're jamming, check out the stanhope source code documentation for Enum SubStep or perhaps even the SubStep extraction code lines themselves to see exactly how stanhope reads EBML within a particular step.

4. Generate all the Images

You have a nice-looking process, except for all the image placeholders. You can either keep jamming on other processes by repeating all of (1) above throughout the library, or you can focus and finish on this one process. That decision depends on how urgently you need this process.

4.1 Get a list of filenames

See Audit a Library for Missing Image Files and look for this process in the results.

The output will look something like this:

▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
▌ Library Graphics Audit ▐
▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
 [ No missing images! ]    SG-TP-STYL-202 - One SECREF to 201
 [ No missing images! ]    SG-TP-STYL-203 - One self-SECREF
 [ No missing images! ]    EB-WI-0010 - Start a New Process Library
 [ No missing images! ]    SG-TP-STYL-201 - One SECREF to 200
 [ No missing images! ]    SG-TP-STYL-103 - Basic Process Custom Compact
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    TC-SCRIPT-01 - Bash Script Example
            ▒▒▒▒▒▒▒▒▒▒▒      -> Missing Images
               ▒▒▒▒▒▒▒▒        posix-commands.png
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    EB-RP-900 - Merge Dev to Main
            ▒▒▒▒▒▒▒▒▒▒▒      -> Missing Images
               ▒▒▒▒▒▒▒▒        git-branch-dev.png
               ▒▒▒▒▒▒▒▒        merge-dev-to-main.png
 [ No missing images! ]    R-IP-THNG-001 - Install a Thing

In the example above, two processes have missing images: TC-SCRIPT-01 (posix-commands.png) and EB-RP-900 (git-branch-dev.png and merge-dev-to-main.png).

Now you have a punch-list of images to create for the process(es) you are jamming on!

4.2 Make your images!

As you create each image on your punch-list, be sure to:

You can periodically publish the process with the EasyButton script to check that the images look OK.

Repeat until there are no more placeholders or missing images in a graphics audit