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

Reply via email to