Extension:Graph/tr

Graph uzantısı, bir etiketin çubuk grafikler, pasta grafikler, zaman çizelgeleri ve histogramlar (demo) gibi veri görselleştirmelerini Vega tabanlı grafik.

Genel bilgi
Graph uzantısı, güçlü Vega tabanlı grafiklerin viki sayfalarına eklenmesini sağlar. Grafikler hem statik hem de etkileşimli olabilir.

Grafik eklemenin en kolay yolu, gibi hazır bir şablon kullanmaktır. Bu şablonlar tüm Vega karmaşıklıklarını gizler. Deneyimli kullanıcılar, grafikler geliştirmek için Graph Deneme Tahtası kullanabilir. Graph deneme tahtası, JSON'a ek olarak viki şablonu sözdizimine izin verir.

Yararlı bağlantılar

 * Vega 2 belgesi - Vega 2 belge sayfalarını geri yükledi.
 * - vikide grafiklerin nasıl kullanılacağına dair genel öneriler.
 * - sıfırdan karmaşık bir etkileşimli grafiğin nasıl oluşturulacağı adım adım talimatlar
 * - birçok örnek ve kullanım hilesi için
 * TechTalk Video - Lyra editörünün harika bir demosunu içeren Graph uzantısını tartışan bir WMF teknoloji tartışması (ayrıca laboratuarlara yüklenmiştir).
 * Vega gelecek yetenekleri (Keynote, Jeffrey Heer) ile de ilgilenebilirsiniz.
 * Geliştiriciler için Vega - tüm Vega kaynakları arasında en iyi yer
 * Etkileşimli Vega'ya video tanıtımı
 * Etkileşimli Vega'ya video tanıtımı

Additional config setup
If you are looking to replicate a production environment like en.wiki you will need to complete the following steps:

Roles


 * Enable graphs role
 * Enable scribunto role
 * Enable imagemap role

Templates and Lua Modules


 * Copy Module:Graph locally
 * Copy Module:Graph/doc locally
 * Copy Template:Nowrap locally
 * Copy Module:Chart locally
 * Copy Module:Plotter/DefaultColors locally.

Grafik örnekleri
Birçok örnek ve kullanım püf noktası için bakın.

User defined fallback
When using client side rendering, it is possible to use Wikimedia Commons to provide a static fallback image to  users. This is a temporary solution until a new service is put in place to provide server side rendering to replace the soon to be decomissioned Graphoid service.

The user must first upload the static graph to Wikimedia Commons.

Fallback images have two variables  and. relates to a Wikimedia Commons filename.

is the fallback images width in pixels.

These variables are pass through the graph in the following way:

Where lua modules are used such as Module:Graph then these variables can be provided via the tag function. If Template:Graph:Chart were adapted, it would look like this:

It would then be utilised in a template in the following manner:

If a fallbackWidth isn't provided but an image is defined then the extension will derive the width from the provided graph width. The reason for this is there there is frequently a difference in the redered image width and the actual image width.

Dış veriler
HTTP(S) protokolü, grafik için veri almak için kullanılamaz. Bunun yerine,,   ve diğerleri gibi özel viki protokollerinden birini kullanın.

Graphoid hizmeti ve Graph uzantısı, bu protokollerin nasıl çözüleceğini kontrol etmek için  ayarını kullanır: Note that because queries rely on the structure of wikibase items, they may suddenly stop working if the underlying data is edited and changes, as it may yield incomplete, empty or invalid data that can't be used to create a graph. In these cases the graph will end up empty (see T168601).

Bilinen hatalar ve sınırlamalar

 * Graph uzantı hataları
 * Graphoid hizmet hataları
 * ISO 8601 zaman ölçekleri uygulanamadığından zaman çizelgelerinde yalnızca Miladi takvimler kullanılabilir
 * Çoğu tarayıcıda resim yükseltme varsayılan olarak bulanık olabilir. Çözülecek uygun image-rendering özelliğini ayarlayın.

Dahili
Ayrıştırırken, Graph uzantısı tüm şablon parametrelerini/ifadelerini genişletir ve kimlikler için grafik karmaları kullanarak tüm grafik tanımlarını  sayfa özelliğinde saklar. Bu, bir vikinin grafiklerini Special:PageWithProps veya [//www.mediawiki.org/w/api.php?action=query&list=pageswithprop&continue=&formatversion=2&pwppropname=graph_specs eylem API] ile kolayca bulabileceğiniz anlamına gelir.

Graph uzantısı, grafiklerin gitmesi gereken sayfaya HTML ekler, etiketi içeren bir. Örnek:

etiketinin  özniteliği, [//www.mediawiki.org/api/rest_v1/page/graph/png/Extension%3AGraph%2FDemo/1686336/d243aa924db2f82926e0f317217fcce591fe8cd4.png statik bir resminin] sağlayan #Graphoid hizmetini işaret eder.

Graph uzantısı etkileşim için yapılandırılmışsa ve istemci tarayıcısında JavaScript etkinse ve ResourceLoader'ın JavaScript göndermediği eski bir tarayıcı değilse, istemci tarayıcısı anında grafikleri oluşturur. Graph uzantısı, Vega kitaplığını içeren sayfaya bir  ResourceLoader JavaScript modülü ekler ve grafik tanımlarının JSON'unu bir JavaScript   adlı değişkene   koyar. İstemci bu modülü yükledikten sonra, Vega JavaScript kitaplığı her bir HTML tuvali ile doldurur ve statik resminin yerini alarak grafiği içine çizer. , Wikimedia vikileri bu etkileşimli oluşturmayı yalnızca düzenleme önizlemesi için etkinleştirir.

Graph uzantısını her zaman yalnızca etiketini kullanacak şekilde yapılandırabilir ve Vega kitaplıklarını veya grafik tanımı JSON'sunu eklemeyebilirsiniz. kaydetme sonrasına kadar güncellenmeyeceği için bu mod düzenleme sırasında çalışmayacaktır. Kaydedildikten sonra, Graphoid hizmeti yeni grafik tanımına eylem API'si üzerinden erişebilecektir.

Güvenlik Özellikleri
, güvenilmeyen veri kaynaklarına başvurmaya izin vermeyecek şekilde yapılandırılabilir (örneğin, Wikimedia yalnızca Wikimedia sitelerinden gelen verilere izin verir). Ayrıca harici verilere her erişildiğinde ekstra başlıklar gönderebilir, örn. MediaWiki'nin CSRF saldırılarını önlemek için kullandığı  başlığı.

Lisans
Vega kitaplığı, kullanmamız için kabul edilebilir [$url BSD lisansla değiştirilmiş] altında dağıtılmaktadır.

Bu, bazı küçük (kabul edilebilir) değişikliklerle birlikte BSD lisansının bir kopyası gibi görünüyor. İdeal olarak lisansta böyle değişiklikler yapmasalar da, onu kullanmak bizim için bir sorun değil. İnsanların lisanslarında bu değişiklikleri yapmaması, lisansın açık kaynak kullanımı için güvenli olup olmadığı konusunda kafa karışıklığını (bunun gibi) önlemek için daha iyidir.

wgGraphIsTrusted
(varsayılan) ise, tüm grafik verisi istekleriyle Treat-as-Untrusted:1 üstbilgisini iletir

wgGraphImgServiceUrl
&lt;img> etiketi için bir arka uç hizmeti istek URL'si oluşturmak için bir biçim dizesi. Örneğin:

Bu URL'yi üretir:

//graphoid.wikimedia.org/mediawiki.org/v1/png/Extension:Graph/0/be66c7016b9de3188ef6a585950f10dc83239837.png /{domain}/v1/png/{title}/{revid}/{hash}.png

Parametreler şu sırayla sağlanacaktır: 1=server, 2=title, 3=revid, 4=graph-hash-id. Tüm parametrelerden rawurlencode ile çıkış yapılacaktır. Değer  (varsayılan) ise, hiçbir  url oluşturulmaz

Diğer değişkenler
wgGraphUrlBlacklist değişkeni 787d64a11 içinde kaldırıldı (7 Aralık 2015).

e0813f85a (28 Ocak 2016) içinde wgGraphDataDomains kaldırıldı. Bunun yerine wgGraphAllowedDomains kullanın.

wgGraphUserServiceAlways variable has been removed in b735f63ff4b (30 Sep 2015).

Enabling Graph namespace
To store graph definitions as standalone pages in their own namespace, configure.

Graphoid service
Graphoid is a node.js  service that converts a graph definition into a static PNG image using the same Vega library code that runs in advanced browsers. The reason Graphoid was initially developed was to provide a static image so we wouldn't have to bundle Vega and d3 resource loader modules with every page response. See T211881 for more details. The service is available on the Wikimedia cluster at https://www.mediawiki.org/api/rest_v1/#/Page%20content/get_page_graph_png__title___revision___graph_id_.

You can install it yourself:

(note: this package is not being maintained (T211881, and installation may fail, see T196001, T239100. npm i --build-from-source may help.)

The service URLs contain the domain of the page (for example mediawiki.org), service version (v1), the title of the page with the graph (PageTitle), revision ID of the page (12345, but could be 0 for current), and a hash ID of the graph itself (also used in HTML page to identify graph definition), for example:

http://localhost:6927/mediawiki.org/v1/PageTitle/12345/a64b022a8fa5b7fc5e40a2c95cd0a114b2ae1174.png (deprecated url)

https://www.mediawiki.org/api/rest_v1/page/graph/png/Extension%3AGraph/3420825/72edc224f0a10b343c1e84f63dbfc97cac9bc957.png

You configure the Graph extension to use the Graphoid service in LocalSettings.php with a line like

Configure graphoid services


You can further configure the service via its config file.

VisualEditor module
Since summer 2015, the Graph extension also comes with a module (ext.graph.VisualEditor) which enables graph editing within VisualEditor.

This module was a result of a Google Summer of Code 2015 project. See T89287 for more details.

This module allows users to see graphs within VisualEditor, as opposed to alien extension nodes. Furthermore, users can open up a dialog to edit a graph's type, data and padding. The UI also offers a way to edit a graph's raw JSON specification within VE without having to switch to the classic wikitext editor, in case more advanced users want to tweak settings not supported by the UI.

This first step serves as a stepping stone for many possibilities with graph editing within VisualEditor, and there are a lot of ways in which the module can be improved and expanded.