3.17.0
Kenii’s own data tables now hold everything a college entered that WordPress used to keep in loose places: ten separate tables, and year lifecycle, year files, proposal comments, watchlists, the default workflow, alerts and validation rules. A taken-down year can no longer read as public from the tables. Pages look the same, with one exception: a course page now lists every credential that requires the course.
- Added The data tables now hold notifications, stage durations, the document index, handbook sections, the audit log, signals, group places and the credential and course index, each copied from the old table with its ids kept. The old tables stay in place, untouched and no longer written, so nothing is lost.
- Added Votes are split into one table for Curriculum ballots and one for Board ballots, each linked to the thing voted on and the person who voted.
- Added Catalog years, year files (catalog PDF, calendar PDF, Word and archive), proposal comments, the proposal watchlist, the default workflow, the alert, the announcement and the curriculum validation rules each have rows in the data tables, kept in step with WordPress and checked by a compare command.
- Added `wp kenii schema install` and `wp kenii store health` name every step that could not run or refused a record, and exit with an error while one stands.
- Changed A course page lists every credential whose requirements contain the course. Before, it read an index that could miss a credential added or edited later.
- Changed A year's row follows its lifecycle: draft, active, published or offline. Before, an offline year and the active year both read as published in the data tables.
- Fixed A year taken offline no longer reads as published in the data tables, a year that had no row now gets one, and a deleted year that still has records stays hidden.
- Fixed A person who has cast a recorded ballot cannot be deleted. The admin sees a clear reason before anything is written to the audit log.
- Fixed Deleting all signals no longer removes the Compass exploration history.
- Fixed The audit log keeps the account id of a user who was later deleted.