This is tracking task to coordinate the work involved with re-enabling the Graph Extension at all Wikimedia Wikis.
Roadmap
The below is borrowed from Extension:Graph/Plans.
Phase | Name | Objective | Ticket(s) | Status |
---|---|---|---|---|
0. | Invite volunteers to review roadmap | Ensure volunteers understand and are sufficiently supportive of Phases 1 -5 so that we (staff and volunteers) can efficiently make decisions/tradeoffs as they emerge through implementation. | In progress (as of 6 Nov 2023) | |
1. | Validate Security of Sandboxing Approach | Ensure the sandboxed iFrame is sufficiently secure by 1) implementing the Graph Extension using Vega 5 on the Beta Cluster and 2) publishing the documentation and tooling necessary for volunteers and staff to assess its security. | ||
2a. | Transition Graph Extension to Vega 5 | Ready the Graph Extension for Vega 5 by re-implementing Vega 2 features using the Vega 5-compatible syntax so that, going forward, all new graphs will benefit from Vega 5's security, accessibility, and syntax improvements. | ||
2b. | Backport Vega 2 Support | If we decide to move forward with Vega 2 support, backport it to the framework we will have built for sandboxed Vega 5 so that existing graphs will “work” and can be used as references for porting. | ||
3. | Define maintenance responsibilities and security/incident response | Define what level of maintenance support volunteers can expect, who will be responsible for providing that support, and how we will respond to security/incident response going forward so that staff can feel confident deploying the extension and volunteers can feel confident depending on it. | ||
4. | Deploy Graph Extension (Vega 2 + 5) in a Sandboxed iFrame with a restrictive content security policy to production | Offer volunteers access to the information and capabilities disabling the Graph Extension has left them without. | ||
5. | Optimize the Graph Extension's longevity | Optimize the Graph Extension's longevity and support the community building graphs on Wikimedia projects. | ||
Open questions
- 1. Will we restore most of the pseudo-protocols that were used to fetch data live from the action API, the REST API, WDQS etc. that were removed when re-deplying the extension after it was initially disabled?
- 2. How long after the Graph Extension is re-enabled with support for Vega 2 will we strive to have existing graphs ported to Vega 5?
- 3. What does the work of porting graphs from Vega 2 to Vega 5 look like? How might the WMF make this process easier on volunteers?
- 4. How might we introduce more sustainable error handling code so that A) we can more quickly track and fix issues and B) relieve readers of wondering why a graph is not displaying?
- 5. What on-wiki templates generate <graph> content which would need to be updated, and roughly how many pages use them?