Move page-subject predicates off ViewHtmlBuilder#794
Closed
JeroenDeDauw wants to merge 1 commit intomasterfrom
Closed
Move page-subject predicates off ViewHtmlBuilder#794JeroenDeDauw wants to merge 1 commit intomasterfrom
JeroenDeDauw wants to merge 1 commit intomasterfrom
Conversation
`pageHasMainSubject` and `pageHasSubjects` are pure subject lookups that don't render any HTML. Reaching them via `newViewHtmlBuilder()` forced consumers (internal hook code; #781 RedHerb sidebar) to traverse a factory named after view-HTML construction to ask a domain question. Move both predicates to `SubjectContentRepository`, where the underlying `getSubjectContentByPageTitle` lookup already lives. `ViewHtmlBuilder` now only renders HTML. Addresses one of the two breach points raised in #789. The other (`NeoWikiHooks::addNeoWikiModules` called from a foreign extension's SpecialPage) lives on the `frontend-extensibility` branch and will follow up after #754 lands.
Member
Author
|
Superseded — placement was wrong (predicates lying about being SubjectContent-shaped). Will reopen with a dedicated Application/PageSubjectsLookup using domain types. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For #789
pageHasMainSubjectandpageHasSubjectsare pure subject lookups that don't render any HTML. Reaching them vianewViewHtmlBuilder()forced consumers (internal hook code; #781 RedHerb sidebar) to traverse a factory named after view-HTML construction to ask a domain question.Move both predicates to
SubjectContentRepository, where the underlyinggetSubjectContentByPageTitlelookup already lives.ViewHtmlBuildernow only renders HTML.Addresses one of the two breach points raised in #789. The other (
NeoWikiHooks::addNeoWikiModulescalled from a foreign extension's SpecialPage) lives on thefrontend-extensibilitybranch and will follow up after #754 lands.Doesn't claim to close #789 — that issue's broader question of whether NeoWiki should commit to a documented PHP API surface is unresolved on the issue thread.