Maintaining Production Game Boxes

From BOARD18 Project WIKI
Revision as of 13:07, 4 June 2020 by Pzieske (talk | contribs) (Updated and revised text, especially on how to handle minor changes. (Changed "minor corrections" to "minor changes" as some revisions may not actually be "corrections".)
Jump to navigation Jump to search

Maintaining Gameboxes for production is a bit more complex than it would appear at first glance.
This is the way that it has been handled for the Board18.org sites.

Two Types of Game Boxes

We differentiate between Gameboxes that are running on production sites and game boxes that are considered in production status.
By definition, Gameboxes that are in production status have been played to completion at least once on a production site.
Until then they should not appear in the repository of production game boxes.

Storage of Game Boxes

Production Gameboxes are currently stored in three places. The first, of course, is in at least one production site.
The second is in the repository of Gameboxes on Google Drive.
The third is in a redundant backup folder that should be kept on the administrator's local PC.
Also note, for correct sorting, all ZIP file names should begin with a capital “B”.

Non production game boxes that are running on at least one production site should also be stored in a “Not prod yet” folder.
This folder can be kept in a Google drive or on the administrator's local PC.

There are two Workflows involved in maintaining this arrangement.

First Workflow

The first workflow is triggered by someone submitting a new Gamebox. It goes like this:

  1. If the submitter is known and trusted then skip to step 4.
  2. Install the box on a test system and try it out.
  3. If there are problems then return the box to the submitter with comments.
  4. Place box in a “Not prod yet” backup folder.
  5. Install box on a production site.
  6. End of workflow.

Second Workflow

The second workflow should occur periodically [every week or 2?] for each box in the “Not prod yet” folder. It goes like this:

  1. Use The Manage Boxes Page to see if a game has been played to completion.
  2. If not, go to the next game in the folder.
  3. If it has been played to completion then move the Gamebox from “Not prod yet” folder to Google Drive and the redundant backup folder.
  4. Go to the next game in the folder

Revised Game Boxes

In general revised Gameboxes should have a new version number.
After such a Gamebox is in production status the version being replaced should be deactivated.
Deactivation of a Gamebox has no effect on ongoing games using that box.
Deactivation of a Gamebox will prevent any new games from using that box.

Minor Changes

Minor changes to existing Gameboxes can occur without a version number change.
Minor changes to existing boxes can also skip the above workflows.

To qualify as a minor correction, both of the following things must be true.

  1. No new tiles or tokens can have been added.
  2. The order of all items in all trays must be unchanged.

The above two items are critical. Treating a Gamebox change without them
as a minor correction will break all existing games that use that box.

  1. If the minor change is a revision of the JSON, an image file, etc, and just the revised file is sent to the administrator, then replace the old file with the new one in the zip file in the Gamebox Google drive folder, upload the updated zip file to Board18, and replace the old zip file with the new one in the Gamebox and local backup folders.
  2. if the minor change comes in as a complete zip file, then upload the zip file to Board18 and replace the old zip file with the new one in the Gamebox Google drive and local backup folders.

Note: Changes to "rots" or "flip" can occur in a minor correction with no ill effects.
But changes to the "dups" count of any items will not be seen by existing games.