Skip to content

docs(App): drop/update outdated {OC, OCP}\AppFramework\App docblocks #60902

Closed
joshtrichards wants to merge 3 commits into
masterfrom
jtr/docs-AppFramework-App
Closed

docs(App): drop/update outdated {OC, OCP}\AppFramework\App docblocks #60902
joshtrichards wants to merge 3 commits into
masterfrom
jtr/docs-AppFramework-App

Conversation

@joshtrichards

@joshtrichards joshtrichards commented Jun 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Updates OCP class and method-level docs for clarity and accuracy
  • Updates OC class and method-level docs for clarity and accuracy
  • Removes outdated and no longer applicable explanations throughout both classes
  • Removes outdated examples (which better belong in Dev Manual anyhow).

TODO

  • I'm not sure, but I think maybe OCP\AppFramework\App::dispatch() could/should be deprecated and/or better documented (from what I can tell it was part of the old approach to adding controller routes in routes.php unless I'm thinking about this entirely wrong).

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
@joshtrichards joshtrichards added this to the Nextcloud 35 milestone Jun 1, 2026
@joshtrichards joshtrichards added 2. developing Work in progress feature: apps management technical debt 🧱 🤔🚀 developer experience 3. to review Waiting for reviews and removed 2. developing Work in progress labels Jun 1, 2026
@joshtrichards joshtrichards marked this pull request as ready for review June 1, 2026 14:02
@joshtrichards joshtrichards requested a review from a team as a code owner June 1, 2026 14:02
@joshtrichards joshtrichards requested review from ArtificialOwl, artonge, leftybournes and salmart-dev and removed request for a team June 1, 2026 14:02
Comment thread lib/public/AppFramework/App.php
@susnux susnux added the community pull requests from community label Jun 9, 2026
@come-nc

come-nc commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Hello,

Thanks for the work though I’m gonna close this one.
It’s mainly adding documentation to deprecated or internal methods.
The rewording of the explanations is not obviously better for me, you also switched "must inherit" into "typically extend" which is a big change mixed into the rest.

Also this reads like LLM-assisted, in which case you need to check the box and say so, see https://github.com/nextcloud/server/blob/master/.github/CONTRIBUTING.md#ai-assisted-contributions

@come-nc come-nc closed this Jun 11, 2026
@joshtrichards

Copy link
Copy Markdown
Member Author

Thanks for the work though I’m gonna close this one.

Hi @come-nc, thanks for the review and for taking a look.

I understand the concern about working on deprecated or internal APIs. My thinking here was mainly that OCP\AppFramework\App is still a very visible entry point for app developers, and some of its current docblocks seem outdated or confusing enough to be worth cleaning up even if parts of the surrounding API are older.

In particular, I wanted to remove the long dispatch() example, since it no longer feels like a great fit there, appears outdated, and would be better covered in the Developer Manual instead, as you also noted in #60780.

For the deprecated pieces, only part of the PR touches deprecated methods, so my intent was just to make the existing docs clearer while those methods remain in the codebase, especially since they were only deprecated in v34.

The current OCP class docblock also says “Any application must inherit this call”, which seems both grammatically unclear and outdated.

On changing "must inherit" to "typically extend", my intent was to make the terminology more precise. "Extend" matches the wording used in the Developer Manual, and since this is standard class inheritance rather than interface implementation, it seemed like the more accurate term. That said, "must extend" would likely be clearer, and I’d be happy to adjust that.

As a secondary point, I also thought some of the OC\AppFramework\App wording could be cleaned up for accuracy, but I understand that part may be less compelling given that it’s internal. That class docblock currently says: "Entry point for every request in your app. You can consider this as your public static void main() method." This seems potentially confusing, since it's an internal class, and the second sentence no longer seems accurate.

I’ll reply separately on the AI checkbox point as well, since it's a separate meta-issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants