adrianheine added a comment.
I tried to break this down into tasks. Part 1 and Part 2 can be done in
parallel, Part 3 needs all tasks from both Part 1 and Part 2 finished, Part 4
needs Part 3 done.
Part 1 (Preparation of `Wikibase\View` and `Wikibase\DataModel\Services`)
- [Task] [PHP, view] Implement trivial `Wikibase\View\StatementSectionsView`
sitting between `PropertyView` or `ItemView` and `StatementGroupListView`
- [Task] [PHP, view] Pass section heading info from
`Wikibase\View\StatementSectionsView` to `Wikibase\View\StatementGroupListView`
- [Task] [PHP, datamodel services?] Implement `StatementGrouper`
(`StatementGrouper::groupStatements( StatementList ) -> StatementList[]`)
interface and trivial implementation `SingleGroupStatementGrouper`
- [Task] [PHP, datamodel services?] Implement `FilteringStatementGrouper(
defaultGroup, StatementFilter[] )`
- [Task] [PHP, view] Use trivial `StatementGrouper` in
`StatementSectionsView` (Also depends on `StatementSectionsView`)
- [Task] [PHP, datamodel services?] Implement
`ByMainSnakPropertyDataTypeStatementFilter`
Part 2 (Preparation of `wikibase.view` and `jQuery.wikibase`)
- [Task] [JS, view] Implement `wikibase.view.StatementSectionsView` sitting
between `jquery.wikibase.propertyview` or `jquery.wikibase.itemview` and
`jquery.wikibase.statementgrouplistview`
- [Task] [JS, view] Use `wb-section-heading` template in
`wikibase.view.StatementSectionsView`
- [Task] [JS, view or new datamodel-javascript-services] Implement
`StatementGrouper` (`StatementGrouper::groupStatements( StatementList ) ->
StatementList[]`) interface and trivial implementation
`SingleGroupStatementGrouper`
- [Task] [JS, view or new datamodel-javascript-services] Implement
`StaticStatementGrouper( defaultGroup, statementGuidToGroupHash )`
- [Task] [JS, view] Use trivial `StatementGrouper` in
`StatementSectionsView` (Also depends on `StatementSectionsView`)
Part 3 (Tie stuff together)
- [Task] [PHP and HTML, view] Adapt template so that it contains a list of
statement sections (initially containing only one section, so that it won't
break JS)
- [Task] [PHP, repo] Pass section grouping of current statements in a JS config
variable (`wbStatementSections = [ { sectionKey: 'statements', statements: [
'guid1', 'guid2', 'guid3' ] }, { sectionKey: 'identifiers', statements: [
'guid4', 'guid5' ] } ]`)
- [Task] [PHP and JS, view and repo] Inject `StatementGrouper` into
`StatementSectionsView` through `EntityViewFactory` (PHP) / `ViewFactory` (JS)
Part 4 (Make stuff work)
- [Task] [PHP, repo] Make the `StatementGrouper` passed into
`EntityViewFactory` configurable
- [Task] [PHP, operations/mediawiki-config] Configure `StatementGrouper`
- [Task] [JSON, WikimediaMessages] Add `wikibase-statementgroup-identifiers`
message so that it gets translated before deploying
TASK DETAIL
https://phabricator.wikimedia.org/T117421
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: adrianheine
Cc: Lydia_Pintscher, Aklapper, Sjoerddebruin, Liuxinyu970226, Ltrlg,
Daniel_Mietchen, Ricordisamoa, Legoktm, Pigsonthewing, Filceolaire, PKM, Laddo,
Sannita, Addshore, Multichill, Bene, Tobi_WMDE_SW, Snaterlicious, thiemowmde,
adrianheine, Micru, jayvdb, MGChecker, DSGalaktos, Agabi10, Zolo,
Wikidata-bugs, aude, Mbch331
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs