Extension:Graph/Plans/ja

This page is a translated version of the page Extension:Graph/Plans and the translation is 34% complete.

こんにちは、皆さん。私は Marshall Miller です。WMF でプロダクト シニア ディレクターを務めており、ウィキの読書と編集に関するユーザー体験に焦点を当てたプロダクト マネージャーやチームと協力しています。 この継続的な議論に参加してくださり、Graph 拡張機能の不具合によるご不便に耐えていただき、ありがとうございます。 グラフに関する最終更新情報はこちらおよび wikimedia-l でお伝えしました。 その後、グラフに関するボランティアの皆さんの経験やニーズについて話をし、計画を提案するためのスタッフのグループを集めました。 ご意見やフィードバックをいただくための提案計画を持って戻ってきました。 この更新が他の言語に翻訳されるように、プロジェクト ページに投稿しています。 議論用の新しいヘッダーがトーク ページに追加されました。

要約

In short, we at the Wikimedia Foundation propose moving forward with an approach that many community members have suggested: building a new service to replace the Graph extension. This approach will enable editors to create basic visualizations, will require coordination with communities around migrating existing graphs, and will be extensible by developers who want to build and maintain additional functionality.

We’ve needed some time to consider all of the architectural questions and how to resource this work, and now we want to hear from volunteers on whether this sounds like the right approach. This work will be led by Chris Ciufo, the product manager with the Design System team.  You can expect to hear from him going forward.  There’s more information below for those who want to see the details and considerations for this approach.

Since this work hasn’t started yet, there are still several months to go before the new graphs are operational.  We’ll be getting the right engineers involved and start architecting over the coming weeks, making sure we have a strong plan and are ready to iterate on it, and then likely starting this work in July as staff members become available from their previous projects.  We do not know yet how long it will take before the first types of graphs are operational.  We’re happy to discuss ideas that community members have about what, if anything, to do about the graphs continuing to be unavailable during these upcoming months.

Rationale

Chris and I are proposing this approach based on looking at how people have used graphs in the past, how we think they will use them in the future, and considerations on making sure our technology will be secure, scalable, and maintainable going forward.

過去に人々がグラフをどのように利用してきたかを見ると、グラフは価値のあるツールではありますが、圧倒的に一般的なツールではないことが分かります。 英語版ウィキペディアでは、約 10,000 の記事でグラフが使用されており、これはすべての記事の 0.15% に相当します。すべて言語版のウィキペディア全体では、約 178,000 の記事でグラフが使用されており、これはすべての記事の 0.28% に相当します。 標準名前空間の外では、グラフはより頻繁に使用されています。これは、グラフが頻繁に表示されるテンプレートの一部であるためです。 例えば、アラビア語版ウィキペディアでは、すべての「記事トーク」ページにページ ビューのグラフが表示されていました (最近除去されるまで)。 重要な点として、多くのグラフは比較的単純であることが分かりました。具体的には、棒グラフ、折れ線グラフ、円グラフなどがあり、データはウィキテキスト内やコモンズのデータ名前空間にインラインで使用されています。 グラフのリソースはこの適度な使用に見合ったものであるべきです。つまり、十分なサポートは必要ですが、広く使用されていない複雑な機能には対応しないということです。

技術的な議論

The functionality of the new extension would be more limited compared to the old one, especially in that it won’t support all the visualization types and data sources of the old extension, but this approach represents a fresh start to a more sustainable future with graphs.

In terms of security, scalability, and maintainability, we decided in December that there was not a viable way to fix and continue with the legacy Graph extension.  Among other options, we attempted upgrading to Vega 5 (only to continue to find the same security issues), and we tried wrapping the Vega canvas in a sandboxed iframe (which caused significant performance issues).  This meant that a path forward for graphs would require a new extension.

Here is the brief outline of the approach we’re thinking about:

  • The legacy Graph extension would be sunset.
  • The Foundation would build a new parser tag extension that supports a limited set of predetermined visualization types, like basic charts and maps, that cover the majority of existing use cases, which editors would specify in wikitext and get displayed as static images on wiki pages.
  • Rendering server-side would avoid known or substantial security risks, such as those in the legacy Graphs extension.
  • We do not know yet which visualization library or libraries it would use, whether Vega, d3 (which powers Vega), something like Our World in Data-Grapher, or something else.
  • The new extension would support graph definition data specified inline or through Commons tabular data (in the Data: namespace), as was supported by the Graph extension. We would try to offer assistance to migrate legacy graphs using these data sources.
  • It would be able to be extended with new visualization types by staff or volunteer developers through a controlled, centralized, and code-reviewable process.
  • It would be able to be extended to draw data from other sources, such as Wikidata, which it won’t be built to do at the outset.
  • It would display graphs on the Wikipedia iOS and Android apps (this was not possible with the Graph extension after Graphoid was decommissioned).
  • It would be officially maintained by WMF to address bugs.

In the many conversations around graphs, volunteers have also raised longer term questions about “interactive content”, such as timelines and 3D objects. Rebuilding the capability to serve simple graphs securely will be a large amount of work for staff and volunteers. As part of this, the new extension will be readily extensible by volunteers who have the technical skill to add more sophisticated visualizations and more data sources. This may be an open door to some kinds of interactive content, but the larger topic of interactive content is worthy of separate, continued conversations moving forward.

Moving forward

Moving forward, we want to hear your thoughts on this approach:

  • Does this seem like the right way to proceed?
  • What are the basic visualization types that are most important to support? Which ones can we do without?
  • Which use cases are you concerned about being missed?
  • How will communities need to participate or react to these changes?

As we discuss, there are many important questions to sort through. One that is top of mind for me is what will happen with the ecosystem of templates and data sources that has been built around the Graph extension over the last ten years. While we want to make it easy for many of the existing graph specifications to work in the new system, we will need to think through this together.

Thank you for reading this long update and for continuing to be part of this effort. I know many of you have spent a lot of time over the past months discussing graphs and building workarounds. We’re looking forward to continuing the work.

Discussion for this update

Previous technical proposals

The previous technical proposals can be seen at this archive link. Unfortunately, our research found that there were security and/or performance problems with these proposals. The update above, and related discussion on the talkpage, have details on the newer proposal.