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 Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs