拡張機能:チャート/プロジェクト

This page is a translated version of the page Extension:Chart/Project and the translation is 86% complete.

2015年から2023年にかけて、編集者はウィキメディアのプロジェクトのあちこちで、データの視覚化にグラフ拡張機能を利用することができました。文字ばかりが占めるウィキの内容に奥行きを持たせようと、これらのグラフは数万、数十万の記事で使われてきました。ところが、2023年に同拡張機能は、セキュリティ上の理由により、無効化されました。せっかく時間をかけて力を注いで作ったグラフが読者に閲覧してもらえないなんて、と編集者の不満は募るばかりでした。

ウィキメディア財団はコミュニティのメンバーとグラフの今後について協議し、その成果として、このプロジェクトが始動しました。新たにセキュリティを確保したツールを開発中で、これをグラフ拡張機能の後継として、チャート(Chart)と呼んでいます。ウィキペディアの記事上で単純なデータを視覚化する大概の場面に対応するだろうと見込んでいます。この新しいツールは、将来的に使用する場面が拡大してもサポートを追加しやすくなるように開発を進めようとしていますが、実際に対応するかどうかは、財団またはコミュニティの開発者の選択次第です。今後、編集者の皆さんが従来のグラフを新しいツールで書き換えるようなら、このプロジェクトは成功したといえるかもしれません。

2024–2025年次計画では、作図プロジェクトを Wiki 体験 3.3 の重要な成果と記載しています。

戦略

  • 読者の皆さん。ウィキペディアの読者のニーズに追従する形になります。ここで焦点を当てるのは、百科事典のコンテンツの強化に役立つデータ視覚化の最も一般的な用途です。つまり、たとえばPageViews(ページビュー数)のような記事以外での使用への対応は、現段階では優先事項ではありません。しかしながら、主な焦点はウィキペディアの記事での利用になるとしても、チャートの採用は標準名前空間内のページに限定されず、ウィキペディア以外のウィキでも利用可能になります。
  • 使い勝手の良さ。どんな編集者でも容易に直感的な操作でチャートを作れるようにしたいです。以前は、グラフを追加して編集するのは、かなり難しい操作でした。編集者は内部でグラフを動作させているVegaというソフトウェアを使いこなせる必要がありました。これが理由で、編集者は、あらかじめVegaのコードが定義されたテンプレートを利用して、ほとんどのグラフを作っていました。テンプレートはユーザーフレンドリーですが、ウィキをまたいで再利用することが容易ではありません。このたび、さまざまな種類のチャートが、新しいツールにより定義され、すべてのウィキで利用可能となる運びです。編集者は内部で動作するソフトウェアについての専門知識を必要とせず、慣れ親しんだウィキテキストの形式でチャートを追加することができるようになります。これらの変更により、テンプレートに頼る必要性が減少することに加え、既存のチャートを崩壊させることなく、内部のライブラリをアップグレードすることも可能となります。
  • Architecture. チャートは、ウィキメディア財団のサーバー上で、オープンソースのデータ視覚化ライブラリを利用して、定義されたソースから引っ張ってきたデータから生成され、(コードから視覚的な内容に変換されて)表示されます。より具体的には、
    • Rendering charts on our servers will allow for pages to be loaded quickly. It also avoids the security issues that we faced with the graph extension. It will also enable charts to appear on the mobile apps, in exports, and in other reuse/offline scenarios.
    • For data visualization, charts will be generated using an open-source library. This library must meet our requirements like support for different languages, some level of interactivity, color customization, and more.
    • まず最初に、作図用のデータソースは単一とします。ウィキメディア・コモンズにあるデータ名前空間に存在するページ群です。これにより図同士でデータの再利用が容易になり、データをいちいちウィキ文でインラインに埋め込む煩雑さを回避します。またシステム設計により、将来的にデータソースを増やすことにも対応できるようにします。

Editor support. This project will only succeed if editors convert existing graph code to charts and start creating new charts. We will find ways to support editors with converting existing graphs through automated and manual processes. We will also look for ways to preserve existing graphs that are unlikely to be converted to charts. This may mean replacing them with static images or transitioning their use case to other tools.

更新

メインのページ: Extension:Chart/Project/Updates

2024年10月: Working towards production deployment

Throughout September and October, the team has been working on taking the prototype that is currently deployed in the beta cluster and getting it into a production-ready state. The next major milestone we are working towards is deploying the Chart extension to testwiki and testcommons, which we are aiming to do in November. We are simultaneously working towards a security review, which is an important step for the project given security concerns were the reason the Graph extension was ultimately disabled. Following production deployment and security approval, we will begin rolling out to real wikis.

What to expect

The initial version of the Chart extension released to testwiki and testcommons in production will be fully functional, but not yet feature-complete. We've simplified the prototype to focus on the core workflows of creating and embedding charts, in addition to designing a visually accessible reading experience on mobile and desktop devices. Editors will be able to define basic line, area (stacked), bar, and pie charts on testwiki using tabular data stored on testcommons. Documentation for the extension is now available on the extension page, with a working version on beta.

Once we've deployed to production, we'll be adding more features and functionality. Notably, we want to improve the experience of working with tabular datasets and support more customization of the visual presentation of charts (e.g. customizing the colors). We will also be turning our attention towards supporting editors with migrating legacy graphs to charts.

Deployment to real wikis

Soon after deploying to the test wikis, we are planning to deploy the extension to production Commons and real wikis so that we can collect feedback about real-world use and quickly address any high priority issues. Let us know if you'd like your wiki to be one of the first to receive the new extension.

担当者

よくある質問

What is the timeline of the project?

We want to have charts ready to use by editors by the end of September 2024. The project will run until the end of calendar year 2024 (half of the fiscal year 2024–2025).

Which library will be used to render charts?

We have decided to use Apache eCharts. However, if we experience issues with eCharts and think Vega (the library previously used for Graphs) might be better, we might switch to it later. We might also build most charts in eCharts but use a different library for certain specific chart types if it turns out to be much better than eCharts.

For details on why we chose these two libraries and prioritized eCharts, go to T368336#9971574.

What types of charts will be supported?

There will initially be a limited set of supported chart types. We will start with line charts. Their parameters should be reusable for other related chart types too, like area, bar, and pie charts. After line charts, we will move on to map-based visualizations.

For the exact list of line chart parameters, see T368478#9978405.

Where will we store chart definitions? Where do I go if I want to edit a particular chart?

Chart definitions will live on their own .chart pages on Commons, under the Data: namespace. We want to treat charts as a standalone content type, rather than just a part of an article. It will be easy to reuse the same chart across wikis, and beyond Wikimedia platforms by making them available as links. Editors who want to embed charts in an article will be able to do so with a short piece of wikitext, similar to including an image from Commons, all without needing to interact with complex templates.

We have heard comments that requiring the data come from Commons tabular data may not address some common data sourcing flows, like from MediaWiki APIs or Wikidata Query Service. While those sources are not the focus for this project, we want to ensure the extension is designed in a way that they can be supported in the future.

Example chart definition (from Commons) 
// Data:1993 Canadian federal elections.chart

{
   "version": 1,
   "type": "line",
   "width": 350,
   "height": 200,
   "xAxis": {
       "title": "",
       "type": "date"
   },
   "yAxis": {
       "title": {
           "en": "%support",
           "fr": "%soutien"
       }
   },
   "legend": {
       "en": "Party",
       "fr": "Parti"
   },
   "interpolate": "basis",
   "showSymbols": true,
   "source": "1993 Canadian federal election.tab"
}

Example invocation (in an article page):

{{#chart:format=1993 Canadian federal election.chart}}

How can volunteers add more chart types?

Once we set up the initial infrastructure to create charts, we will welcome technical volunteers to contribute more chart types. In the meantime, we encourage you to tell us what you think – which types of charts are most important to start with.

What will happen with the existing graphs?

For now, the existing graphs will remain in their current state. Some wikis have chosen to hide graphs entirely while others render a message explaining that graphs are disabled. Once it's possible to create charts that can replace graph uses, we will work with volunteers to start converting them so that readers can start to see them again.

It is unlikely that all graphs will be able to be converted to charts. For graphs that cannot be converted, it may be more beneficial to either: find an alternative tool to recreate the graph, convert the graph to a static image, or remove the graph altogether.

参加する