A patch release. The pagination-cap fixes, and the documentation that missed the 0.11.0 installer by a few minutes. docs/UPGRADE.md is one of the documents the Windows installer puts on the server, and its buildings-and-levels section was committed after 0.11.0 was tagged. So 0.11.0 shipped the page an operator reads WHILE upgrading without the guidance about that upgrade - which matters most on an air-gapped box, where there is no other way to reach it. The installer now also ships FLOOR-MAP.md for the same reason the Windows runbooks ship. No application code changed on the server side and the plugin contract stays at 0.20.0. The version and the changelog are the release; the detail is in the entry.
91 lines
4.2 KiB
Markdown
91 lines
4.2 KiB
Markdown
<!-- GENERATED by scripts/gen_project_map.py - do not edit by hand.
|
|
Regenerate with: venv/bin/python scripts/gen_project_map.py -->
|
|
|
|
# Project map
|
|
|
|
Derived from the code on every regeneration. If something here is wrong, the
|
|
code changed and the map was not regenerated - fix it by running the generator,
|
|
never by editing this file.
|
|
|
|
## Versions
|
|
|
|
| series | value | governed by |
|
|
|---|---|---|
|
|
| product `__version__` | `0.11.1` | ADR-007 |
|
|
| plugin contract `__contract_version__` | `0.20.0` | ADR-002 |
|
|
|
|
They move independently. A contract bump is not a release.
|
|
|
|
## Alembic chains (ADR-008)
|
|
|
|
Core runs with `flask db upgrade`; every plugin chain runs
|
|
with `flask plugin upgrade-all`. Both are needed on a deploy.
|
|
|
|
| chain | head |
|
|
|---|---|
|
|
| core | `7d33_buildings_and_levels` |
|
|
| backups | `backups0003clearlastseen` |
|
|
| computers | `computers0001anchor` |
|
|
| employees | `employees0002photo` |
|
|
| geenforce | `geenforce0004minlib` |
|
|
| knowledgebase | `knowledgebase0001anchor` |
|
|
| machines | `machines0002rename` |
|
|
| measuringtools | `measuringtools0001baseline` |
|
|
| network | `network0003prefix` |
|
|
| notifications | `notifications0005boardorder` |
|
|
| printedparts | `printedparts0004txnrev` |
|
|
| printers | `printers0002supplyalerts` |
|
|
| slides | `slides0001anchor` |
|
|
| usb | `usb0002dropmachineid` |
|
|
| warranty | `warranty0002proof` |
|
|
|
|
## Bundled plugins (15)
|
|
|
|
| plugin | version | core_version | owns migrations |
|
|
|---|---|---|---|
|
|
| backups | 1.0.0 | >=0.16.0,<1.0.0 | yes |
|
|
| computers | 1.0.0 | >=0.20.0,<1.0.0 | yes |
|
|
| employees | 1.0.0 | >=0.1.0,<1.0.0 | yes |
|
|
| geenforce | 0.1.0 | >=0.18.0,<1.0.0 | yes |
|
|
| knowledgebase | 1.0.0 | >=0.1.0,<1.0.0 | yes |
|
|
| machines | 1.0.0 | >=0.20.0,<1.0.0 | yes |
|
|
| measuringtools | 1.0.0 | >=0.20.0,<1.0.0 | yes |
|
|
| network | 1.0.0 | >=0.20.0,<1.0.0 | yes |
|
|
| notifications | 1.0.0 | >=0.1.0,<1.0.0 | yes |
|
|
| printedparts | 0.1.0 | >=0.16.0,<1.0.0 | yes |
|
|
| printers | 1.0.0 | >=0.20.0,<1.0.0 | yes |
|
|
| slides | 2.0.0 | >=0.2.0,<1.0.0 | yes |
|
|
| tools | 1.0.0 | >=0.16.0,<1.0.0 | no |
|
|
| usb | 1.0.0 | >=0.1.0,<1.0.0 | yes |
|
|
| warranty | 1.0.0 | >=0.2.0,<1.0.0 | yes |
|
|
|
|
Manifest-less directories under `plugins/` are core frontend surface and always ship: `applications`.
|
|
|
|
## Architecture decisions
|
|
|
|
| ADR | title | status |
|
|
|---|---|---|
|
|
| ADR-001-asset-as-platform-contract.md | ADR-001: Asset model is the platform contract | ACCEPTED |
|
|
| ADR-002-plugin-versioning.md | ADR-002: Plugin contract versioning | ACCEPTED |
|
|
| ADR-003-plugin-distribution.md | ADR-003: Plugin distribution model | ACCEPTED |
|
|
| ADR-004-deployment-topology.md | ADR-004: Deployment topology (per-site instances) | ACCEPTED |
|
|
| ADR-005-equipment-vs-measuringtools.md | ADR-005: Equipment plugin scope vs measuringtools plugin | ACCEPTED |
|
|
| ADR-006-collector-contract.md | ADR-006: Plugin collector contract pattern | ACCEPTED |
|
|
| ADR-007-product-versioning-and-releases.md | ADR-007: Product versioning and releases | ACCEPTED |
|
|
| ADR-008-plugin-migration-ownership.md | ADR-008: Plugin migration ownership (per-plugin chains from the cutover) | ACCEPTED |
|
|
| ADR-009-frontend-plugin-gating.md | ADR-009: Frontend plugin gating | ACCEPTED |
|
|
| ADR-010-frontend-plugin-hooks.md | ADR-010: Frontend plugin hook contract | ACCEPTED |
|
|
| ADR-011-machines-rename.md | ADR-011: Rename the equipment domain to machines; retype the models catalog with modeltypes | ACCEPTED |
|
|
| ADR-012-geenforce-manifest-ownership.md | ADR-012: GE-Enforce manifest ownership in shopdb | ACCEPTED |
|
|
| ADR-013-plugin-catalog-and-lean-builds.md | ADR-013: Plugin Catalog, Curated Shelf, and Lean Per-Site Builds | ACCEPTED |
|
|
| ADR-014-schema-lean-per-site.md | ADR-014: Schema-lean per-site builds (retire cross-plugin FKs, lift plugin tables) | ACCEPTED |
|
|
| ADR-015-site-specific-configuration.md | ADR-015: Where a site's own data is allowed to live | ACCEPTED |
|
|
| ADR-016-credential-delivery.md | ADR-016: Credential delivery to the fleet | ACCEPTED (decided; NOT yet implemented - |
|
|
| ADR-017-buildings-and-levels.md | ADR-017: Buildings and levels as the map model | ACCEPTED |
|
|
|
|
## Size
|
|
|
|
- test functions defined: **1087** (parametrised cases collect higher)
|
|
- documented API paths: **276** (`docs/openapi.json`, regenerate with `scripts/gen_openapi.py`)
|
|
|