Skip to content

Enrich public API docstrings for autodoc and IDE help#132

Merged
jensens merged 1 commit into
masterfrom
enrich-docstrings
Jul 20, 2026
Merged

Enrich public API docstrings for autodoc and IDE help#132
jensens merged 1 commit into
masterfrom
enrich-docstrings

Conversation

@jensens

@jensens jensens commented Jul 16, 2026

Copy link
Copy Markdown
Member

Why

The docstrings on the most-used public API are thin one-liners. applyProfile documented none of its six parameters, cleanUpMultiPlugins had no docstring at all, and IntegrationTesting / FunctionalTesting said only "Plone version of the … testing layer".

This is groundwork for an autodoc-generated API reference in the Plone documentation (the testing chapter started in plone/documentation#2094): autodoc can only be as good as the docstrings. It also improves IDE help right now.

What

Docstrings only — no behaviour change. Enriched with descriptive prose and reST field lists:

Symbol Change
login behaviour + :param:; clarifies login name vs. user id
logout relates it to login
setRoles "replaces rather than adds" + :param:; clarifies user id vs. login name
applyProfile documents all six parameters (purge_old, ignore_dependencies, archive, blacklisted_steps); notes the profile- prefix is added internally
cleanUpMultiPlugins was empty — now explains what and why (cleanup handler)
IntegrationTesting what it is, per-test isolation, when to use vs. functional
FunctionalTesting DemoStorage stacking, the WSGI_SERVER_FIXTURE note for real HTTP

Note for review

I introduced :param: field lists, where the neighbouring docstrings use plain prose. The reason is the autodoc reference: field lists render as clean parameter tables. If you would rather keep plain prose, I am happy to change it.

🤖 Generated with Claude Code

The docstrings of the most-used testing helpers and layer classes were
thin one-liners: applyProfile documented none of its six parameters,
cleanUpMultiPlugins had no docstring at all, and IntegrationTesting /
FunctionalTesting said only 'Plone version of the ... testing layer'.

Enrich login, logout, setRoles, applyProfile, cleanUpMultiPlugins,
IntegrationTesting and FunctionalTesting with parameter descriptions
(reST field lists) and behaviour notes. No behaviour change, docstrings
only. This is groundwork for an autodoc-generated API reference in the
Plone documentation, and improves IDE help in the meantime.
@mister-roboto

Copy link
Copy Markdown

@jensens thanks for creating this Pull Request and helping to improve Plone!

TL;DR: Finish pushing changes, pass all other checks, then paste a comment:

@jenkins-plone-org please run jobs

To ensure that these changes do not break other parts of Plone, the Plone test suite matrix needs to pass, but it takes 30-60 min. Other CI checks are usually much faster and the Plone Jenkins resources are limited, so when done pushing changes and all other checks pass either start all Jenkins PR jobs yourself, or simply add the comment above in this PR to start all the jobs automatically.

Happy hacking!

@jensens

jensens commented Jul 16, 2026

Copy link
Copy Markdown
Member Author

@jenkins-plone-org please run jobs

@jensens
jensens merged commit b9febd4 into master Jul 20, 2026
14 checks passed
@jensens
jensens deleted the enrich-docstrings branch July 20, 2026 06:59
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.

3 participants