원문 보기: https://dawoum.duckdns.org/wiki/Extension:Chart
Chart 확장은 Graph 확장을 대체하고 EasyTimeline 확장도 대체할 예정입니다. 그것은 현재 개발 중입니다. 개발 과정에 대한 더 자세한 내용에 대해 Extension:Chart/Project를 참조하십시오.
Installation
먼저 Extension:JsonConfig을 설치해야 합니다.
미디어위키 확장 내려받기 지면에서 해당 판을 내려받아서 정해진 위치로 이동시킵니다.
또는 개발자와 코드 기여자는 대신 다음을 사용하여 Git에서 확장 프로그램을 설치해야 합니다.
cd extensions/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Chart
미디어위키 설정 LocalSettings.php 파일에 다음을 추가합니다:
wfLoadExtension( 'Chart' );
Special:Version에 접근해서 확장이 정상적으로 설치가 되었는지 확인하십시오.
Chart Renderer
이제 렌더러를 설치해야 합니다:
cd Chart
sudo git clone --depth 1 https://gitlab.wikimedia.org/repos/mediawiki/services/chart-renderer.git
cd chart-renderer
sudo npm install
sudo npm run build
렌더러는 다른 위치에 설치할 수도 있지만, 그럴 경우에는 명시적으로 cli.js 파일의 위치를 적어주어야 합니다. 예를 들어, 현재 위치에 대해, LocalSettings.php 파일에 다음을 추가합니다:
$wgChartCliPath = '/var/www/html/w/extensions/Chart/chart-renderer/cli.js';
Chart Renderer Service
또는 이전의 RESTBase/Installation와 같이 서비스로 시작할 수 있습니다. 그럴 경우에는 LocalSettings.php 파일에 다음을 추가합니다:
$wgChartServiceUrl = 'http://localhost:6284/v1/chart/render';
Configurations
설치와 관련된 설정은 모두 끝났지만, Extension:JsonConfig 설정을 추가하지 않을 경우에는 차트를 표시하지 못합니다. 이때, 지역 위키에 기본 데이터를 저장하는 경우와 위키미디어 재단에 있는 데이터를 이용하는 경우로 나뉠 수 있습니다.
문제는 지역 위키에 데이터를 저장할 경우에, Data 이름공간을 새로 만들게 됩니다. 이는 기존에 위키미디어 재단에서 가져왔던 Data 이름공간의 자료를 더 이상 이용하지 못하기 때문에, "Reference"와 관련된 영어 위키피디아 템플릿이 전부 깨집니다.
따라서, 단지 테스트를 위해, 지역 위키에 데이터를 저장하지 않고, 위키미디어에 저장된 데이터를 이용하도록 설정할 필요가 있습니다:
이제 LocalSettings.php 파일의 로딩된 Extension:JsonConfig 확장 아래에 다음 설정을 추가할 수 있습니다:
wfLoadExtension( 'JsonConfig' );
$wgJsonConfigEnableLuaSupport = true;
$wgJsonConfigModels['Tabular.JsonConfig'] = 'JsonConfig\JCTabularContent';
$wgJsonConfigs['Tabular.JsonConfig'] = [
'namespace' => 486,
'nsName' => 'Data',
'pattern' => '/.\.tab$/',
'license' => 'CC0-1.0',
'isLocal' => false,
];
$wgJsonConfigModels['Chart.JsonConfig'] = 'MediaWiki\Extension\Chart\JCChartContent';
$wgJsonConfigs['Chart.JsonConfig'] = [
'namespace' => 486,
'nsName' => 'Data',
'pattern' => '/.\.chart$/',
'license' => 'CC0-1.0',
'isLocal' => false,
];
$wgJsonConfigInterwikiPrefix = 'commons';
$wgJsonConfigs['Tabular.JsonConfig']['remote'] = [
'url' => 'https://commons.wikimedia.org/w/api.php'
];
$wgJsonConfigs['Chart.JsonConfig']['remote'] = [
'url' => 'https://commons.wikimedia.org/w/api.php'
];
물론, 위 설정에서 isLocal을 true로 바꾸고, 지역 위키에 .tab 파일과 .chart 파일 문서를 삽입함으로써 아래 예제의 결과를 표시할 수 있지만, 다시 강조하지만, 영어 위키피디아의 템플릿을 이용하고 있다면, Data 이름공간의 자료를 가져오는 모든 곳에서 오류가 발생할 것입니다.