The wizard configured five of the product's 129 settings. A site that finished it still had no timezone, no authentication, no mail server, no backup destination and no endpoint agent policy, and nothing told the operator so. Six steps now: Administrator, Site, Authentication, Features, Mail and Backups, Review. Everything else moves to a standing setup checklist at /settings/setupchecklist, because a wizard that asked for all 129 settings would be worse than one that asked for none. Two new endpoints back it. /setup/checklist reports twelve areas as ok/partial/todo/na with a link to the page that fixes each, and /setup/health reports account counts plus whether a plugin toggle has reached every worker. Both take care not to lie: - Several settings are SEEDED non-empty (the shipped logo, a placeholder floor plan, every identifier field), so "is it set" compares against the shipped default rather than emptiness. - plugin.endpoints.sharedkeyallowed DEFAULTS TO ALLOWED when its row is absent, so an absent row is reported as the fleet-wide key being accepted. Reporting it as refused told an admin the opposite of the truth about the credential they are migrating away from. - A plugin is held at "starting" until several DISTINCT workers report it live. Counting replies instead let one recycled worker answer four times and declare a change complete while other workers still served the old routes. Recommended plugins are declared in each plugin's manifest rather than listed in the wizard, so adding a plugin cannot leave a stale list in another file. Also fixed: the logo preview was invisible, because the image borrowed a class that hardcodes a white background while the shipped logo is white; and signing in did not re-read setup state, so an admin already browsing was never steered to the wizard and a hard refresh was the only cure.
16 lines
592 B
JSON
16 lines
592 B
JSON
{
|
|
"name": "backups",
|
|
"version": "1.0.0",
|
|
"description": "Per-asset configuration backups with revision history. Kind-pluggable: NTLARS/DNC registry, part marker, UDC, CMM. Parseable kinds store a JSON projection in ShopDB and re-render to their native format on download; opaque vendor formats stay on the SFLD share with ShopDB holding metadata and the UNC pointer.",
|
|
"recommended": true,
|
|
"author": "ShopDB Team",
|
|
"dependencies": [],
|
|
"core_version": ">=0.16.0,<1.0.0",
|
|
"api_prefix": "/api/backups",
|
|
"provides": {
|
|
"features": [
|
|
"configuration-backups"
|
|
]
|
|
}
|
|
}
|