Core Platform Team/PET Work Processes/PET Workboards

Core Platform Team Workboards edit

The Core Platform Team maintains two essential workboards that support its work process and capture the current state of its work: The Core Platform Team board and The CPT Subteam Workboards. The first represents an external interface for other teams and individuals to pass tasks to the CPT via the tag #core-platform-team. The second is a collection of internally focused boards that are used for sprint management by CPT subteams.

Additionally, there are a set of associated Phabricator Workboards, Projects and tags for which the CPT is responsible. We are currently working to integrate these boards into our work process to ensure that tasks captured within them are covered by our CPT Task Triage process.

Core Platform Team(CPT) edit

This board contains the Team Inbox, Icebox and all of the Epics owned by CPT. It is an external facing board which provides other teams and individuals with a direct interface to the CPT work process.

Structure of CPT Workboard edit

  • Inbox column This column is the entry point for tasks which are sent to the CPT by external teams and volunteers. The inbound tasks are then handled by the CPT Task Triage process, prioritised and appropriately assigned
  • Icebox This is a long term storage for tasks that the CPT does not intend to work on. The tasks are kept as they provide context, information or technical discussion that may in form future work.
  • Initiative columns These columns represent the Initiative undertaken by the CPT, they contain all Epics and tasks that describe the complete set of work required in order to complete an Initiative. These columns map directly to the CPT Initiatives.

CPT Workboards edit

This is the parent board for our team process, it contains the following

Structure of Team Workboards edit

Columns:

  • User Story Backlog User Stories waiting to be converted to Engineering Tasks for a sprint
  • Next Sprint Tasks for next sprint
  • Create Engineering Task convert a User Story into Engineering Tasks that describes concrete pieces of work to be done
  • Estimate estimation is done as a group activity at Sprint Kickoff
  • Ready Tasks for current sprint
  • Doing Tasks being worked on actively
  • Add Testing Criteria add clear list of criteria to confirm functionality of task
  • Waiting for Review This is a list of tasks that anyone can pick up for review
  • Blocked Externally This column should be watched and addressed by EM/PM
  • Product Acceptance Product Manager responsible for accepting
  • Ready to Deploy Completed and Accepted by Product Manager, ready to move to the deploy process

Associated Projects, Tags and Workboards edit

There are a large number of code bases, projects, tags and workboards that the CPT is responsible for tracking and triaging. Some are directly linked to the CPT via Maintainers List and some are indirectly linked through association via Phabricator Projects, tags and workboards.

Maintainer Status Projects edit

  Note: This list is copied from the Maintainers List, it is not automatically updated.

Component Description Code Stewards Maintainers In training
API MediaWiki's web-based "action" API that lets people interact with MediaWiki programmatically.

  • This includes the following files/paths: includes/api/
Core Platform Team Brad Jorsch, Legoktm
Authentication and Authorization Components related to user authentication and authorization, including login and signup (AuthManager), password hashing and storage, session handling (SessionManager), and group permissions.

  • This includes the following files/paths: includes/auth/, includes/session/, includes/password/
Core Platform Team Parent5446, Gergő Tisza
Cache Object cache, WANObjectCache, BagOStuff, Message Cache.

  • This includes the following files/paths: includes/cache, includes/objectcache/, includes/libs/objectcache/
Core Platform Team Aaron Schulz
ContentHandler ContentHandler stuff.

  • This includes the following files/paths: includes/content
Core Platform Team Daniel Kinzler
Database The abstraction layer for interacting with the back-end database and the core database schema.

  • This includes the following files/paths: includes/db/
Core Platform Team Aaron Schulz
Decoupling Internal refactoring of classes and namespaces in the MediaWiki codebase to break dependency cycles.
Core Platform Team
Multi-Content-Revisions (MCR) Issues related to Multi-Content-Revisions and content slots
Core_Platform_Team
Page protection Protection and unprotection of pages, and issues with protected pages
Core Platform Team
Service Container and Dependency Injection Issues relating to ServiceContainer, MediaWikiServices, and dependency injection in general.
Core_Platform_Team
User login and signup Account creation, login, etc. Settings bugs in this component should be moved to the "User preferences" component.
Core Platform Team
AbuseFilter Allows privileged users to set specific controls on actions by users, such as edits, and create automated reactions for certain behaviors
Core Platform Team Marius Hoch, Daimona Eaytoy Legoktm, se4598, Matěj Suchánek
ApiFeatureUsage Access API feature usage log summaries
Core Platform Team Brad Jorsch, Legoktm
CheckUser Allows a user with permissions to check which IPs are used by a given username and which usernames are used by a given IP
Core Platform Team Unassigned
PoolCounter Provides a MediaWiki client for the pool counter daemon
Core Platform Team Platonides
TorBlock Automatically applies restrictions to Tor exit nodes with access to the wiki's front-door server
Core Platform Team Unassigned
TrustedXFF Handling of trusted proxy addresses (XFF)
Core Platform Team Unassigned
UrlShortener Provides a basic URL shortening service
Core Platform Team Unassigned
Citoid Citoid Core Platform Team
Mathoid Mathoid Core Platform Team
ChangeProp Change propagation Core Platform Team
Restbase Restbase: Service in front of many other services, i.e. Parsoid, Citoid, Mathoid, Graphoid Core Platform Team

Phabricator Projects and Workboards edit

Boards we track but do not own exclusively

Phabricator Tags edit

Integration of Existing boards/tags/projects edit

  • How do we move tasks across columns without generating notifications?
  • We can add herald rule to add CPT tag to new tasks?
  • How can we integrate MediaWiki-API into Clinic Duty?
    • Needs details or plan, needs code
  • Are there tasks on the MediaWiki-API board that CPT should be responsible for?
    • Yes -> Needs details or plan, needs code, needs review, in dev
  • Are there any tasks in-dev/needs review column that requires work?
    • Yes
  • Would it be useful to use time from Clinic Duty to surface tasks or should we assume that they will surface if needed?
    • Yes :)
  • Next steps:
    • Create herald rule to take CPT when it receives the tag for the first time -> Separate inbox for autotagged things
      • Can we use trigger or global herald rules?
    • Progressively include tasks into Clinic Duty