Release: Wombat

Version Wombat is actively laying the foundation for ecosystems Documentation.

Read the Roadmap

Boards & Columns

This is archived documentation for SnapBoard 0.2.5 Alpha, not a guide to a current SnapDock feature.

Data Model

SnapBoard stored an array of boards. Each board contained an ID, name, and ordered array of columns. Each column contained an ID, title, and ordered array of cards.

application state
└── boards[]
    └── board { id, name, columns[] }
        └── column { id, title, cards[] }

The first launch created My Board with To Do, Doing, and Done. A board created through the state method started with no columns; the three defaults applied only to initial application setup.

What the Final Interface Implemented

The final interface rendered the current board and its columns. Users could:

Column titles and card counts were escaped before insertion into the page. The board area scrolled horizontally as columns accumulated. No enforced 32-column limit or documented performance capacity existed in source.

Partial Board Management

The state module implemented functions to create, rename, delete, and select boards. The HTML also contained a slide-out sidebar with an empty board list and a New Board button. However, the final sidebar module only opened and closed the panel; it never populated the list or attached actions to the board controls.

Consequently, multiple-board support was partial: the persisted schema and manipulation methods existed, but the archived UI did not provide a complete way to manage or switch boards. Board renaming code also existed but its setup function was never called.

Incomplete Interactions

Column deletion had a confirmation handler and a working state method, but the handler searched for an obsolete .flex ancestor that the final column markup did not contain. Column reordering was not implemented.

Card movement had a complete state operation for removing a card from one column and inserting it into another. The drag-and-drop UI prototype, however, listened for .card and .drop-zone, while the final renderer emitted .sb-card and .sb-column-body. The final archived interface therefore did not provide reliable card movement or reordering.

Deleting a column in the state layer also deleted all of its cards; there was no archive or recovery container.