Flow is the new communication extension for MediaWiki, see https://www.mediawiki.org/wiki/Flow . It is not supported by Pywikibot.
See {T86571} for notes from the devsummit.
The concepts in Flow need to be implemented as python classes , inheriting from the pywikibot base class BasePage for objects which exhibit 'mediawiki page' like functionality. It may be sufficient to copy the classes from PHP, however it is likely that some remodelling will be needed to mesh Flow concepts into pywikibot.
To complete this task, unit tests must be added to the test suite to interact with test Flow pages on a Flow enabled Wikimedia site (e.g. MediaWiki.org). The tests should include interacting with Flow objects using the Flow specific functionality, and interacting with the same pages using the standard Page functionality where appropriate.
The unit test should be configured to run on travis-ci , and Flow related tests run when the test site has Flow enabled, and Flow related tests be skipped when Flow isnt installed.
If time allows, the Flow support should include server version tracking, so Flow features can easily be enabled/disabled as the Flow extension is enhanced.
- Primary mentor: @jayvdb
- Co-mentor:
- Estimated time required by a senior contributor: 3 weeks
- Skills needed: [[https://en.wikipedia.org/wiki/Object-oriented_design|OOD]], Python, PHP, MediaWiki API, Travis-CI
- Microtasks:
1. (PHP) Any #easy task in #flow, such as T69000.
2. (python) Any task in #pywikibot-core that relates to the Page classes (such as T57113, T57155, T73817), or APISite or ParamInfo classes.