Skip to content

docs(addon-development): Summary sections and verified corrections (6.1) - #1000

Draft
eduralph wants to merge 1 commit into
gramps-project:maintenance/gramps61from
eduralph:docs/addon-manual-summary-pass-61
Draft

docs(addon-development): Summary sections and verified corrections (6.1)#1000
eduralph wants to merge 1 commit into
gramps-project:maintenance/gramps61from
eduralph:docs/addon-manual-summary-pass-61

Conversation

@eduralph

Copy link
Copy Markdown
Contributor

The maintenance/gramps61 counterpart of #999 — same regenerated content, so the two copies of docs/addon-development/ stay identical.

The exported tree is byte-identical to the one in #999; see that PR for the full rationale. In brief:

  • Every page opens with a real Summary instead of a one-line stub.
  • 03-addon-kinds: 14 → 16 registration kinds (REPORT(0)…CITE(15); QUICKREPORT is a deprecated alias of QUICKVIEW).
  • 16-guidelines: addon-root __init__.py drops MUST NOT → SHOULD NOT with a MAY carve-out — seven addons ship one and work, and the old Mantis 12691 citation describes a trap __init__.py neither causes nor cures.
  • 04-fundamentals / 16-guidelines: get_addon_translator must be guarded against the ValueError it raises when no compiled catalog exists and no configured language starts with en/C.
  • 09-troubleshoot: new entry for CustomFilters being None under test.
  • 12-packaging: LANGUAGE='en_US.UTF-8' dropped from the make.py recipe; as-needed and manifest-check documented.
  • 07-testing: the tests/ package asymmetry re-argued on grounds that hold.

README.md and _media/ are unchanged; the diff is exactly the 17 pages.

Draft until reviewed. Merge after #999 so the two branches don't diverge.

Regenerated from the docs-as-code source. Every page now opens with a
"Summary" section that says what it covers, in what order, and when to come
back to it, instead of a one-line stub.

Corrections carried in the same pass, each checked against this repository
and gramps on maintenance/gramps60:

- 03-addon-kinds: 14 -> 16 registration kinds. REPORT(0)..CITE(15) in
  gramps/gen/plug/_pluginreg.py; QUICKREPORT is a deprecated alias of
  QUICKVIEW, not a separate kind.
- 16-guidelines: addon-root __init__.py drops from MUST NOT to SHOULD NOT,
  with a MAY carve-out for addons that genuinely expose a package API.
  Seven addons here ship one today (DynamicWeb, ExcludeSubtreeFilter,
  GrampyScript, PlaceCleanup, PostgreSQLEnhanced, Query, Sqlite) and work.
  The previous rationale cited Mantis 12691, which is a different trap that
  __init__.py neither causes nor cures; the real cost is that the same
  module becomes reachable under two names between the runtime and test
  views. PluginManager.import_plugin does a top-level __import__, so the
  file never runs on the load path.
- 04-fundamentals, 16-guidelines: get_addon_translator must be guarded —
  it raises ValueError when no compiled catalog exists and no configured
  language starts with en/C, so the unguarded form passes on an
  English-locale machine and crashes at import for the first user running
  a non-English UI. Adds the help_url rule (Addon:PageName, not a GitHub
  URL).
- 09-troubleshoot: new entry for CustomFilters being None under test —
  reload_custom_filters() rebinds the module global, so importing the name
  first captures None permanently.
- 12-packaging: LANGUAGE='en_US.UTF-8' removed from the make.py recipe
  (make.py on this branch never reads it); as-needed and manifest-check
  targets documented.
- 07-testing: the tests/ package asymmetry re-argued on the grounds that
  actually hold.
- 17-roadmap: opens the question of whether CI should flag an addon-root
  __init__.py — advisory at most, since a gate would start red on the
  seven addons that ship one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant