« SMW Sandbox:Setup information » : différence entre les versions

De Semantic MediaWiki - Sandbox

(62 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
This wiki is designed to always run on the latest release candidate or stable version of MediaWiki core as well as the installed extensions, except for most of the semantic extensions which run on master. This page shows some of the setup information. See also the [[SMW Sandbox:Computer room|update log for MediaWiki core]] on this wiki.
This wiki is designed to always run on the latest release candidate or stable version of MediaWiki core as well as the installed extensions, except for most of the semantic extensions which run on master. This page shows some of the setup information. See also the [[SMW Sandbox:Computer room|update log for MediaWiki core]] on this wiki.
__TOC__
__TOC__
{{Clear}}
== composer.local.json ==
== composer.local.json ==


<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
    "require": {
"minimum-stability": "dev",
        "elasticsearch/elasticsearch": "~6.0",
"require": {
        "jeroen/mediawiki-github": "@dev",
"elasticsearch/elasticsearch": "~6.0",
        "mediawiki/bootstrap": "@dev",
"jeroen/mediawiki-github": "@dev",
        "mediawiki/bootstrap-components": "@dev",
"mediawiki/bootstrap-components": "@dev",
        "mediawiki/chameleon-skin": "@dev",
"mediawiki/chameleon-skin": "@dev",
        "mediawiki/graph-viz": "@dev",
"mediawiki/font-awesome": "@dev",
        "mediawiki/lingo": "@dev",
"mediawiki/graph-viz": "@dev",
        "mediawiki/mermaid": "@dev",
"mediawiki/lingo": "@dev",
        "mediawiki/maps": "@dev",
"mediawiki/mermaid": "@dev",
        "mediawiki/page-forms": "@dev",
"mediawiki/maps": "@dev",
        "mediawiki/parser-hooks": "@dev",
"mediawiki/page-forms": "@dev",
        "mediawiki/simple-batch-upload": "@dev",
"mediawiki/parser-hooks": "@dev",
        "mediawiki/summary-cards": "@dev",
"mediawiki/simple-batch-upload": "@dev",
        "mediawiki/validator": "@dev",
"mediawiki/sub-page-list": "@dev",
        "mediawiki/whats-nearby": "@dev",
"mediawiki/summary-cards": "@dev",
        "mediawiki/semantic-breadcrumb-links": "@dev",
"mediawiki/validator": "@dev",
        "mediawiki/semantic-cite": "@dev",
"mediawiki/semantic-breadcrumb-links": "@dev",
        "mediawiki/semantic-compound-queries": "@dev",
"mediawiki/semantic-cite": "@dev",
        "mediawiki/semantic-external-query-lookup": "@dev",
"mediawiki/semantic-compound-queries": "@dev",
        "mediawiki/semantic-extra-special-properties": "@dev",
"mediawiki/semantic-extra-special-properties": "@dev",
        "mediawiki/semantic-forms-select": "@dev",
"mediawiki/semantic-forms-select": "@dev",
        "mediawiki/semantic-glossary": "@dev",
"mediawiki/semantic-glossary": "@dev",
        "mediawiki/semantic-interlanguage-links": "@dev",
"mediawiki/semantic-image-caption": "@dev",
        "mediawiki/semantic-media-wiki": "@dev",
"mediawiki/semantic-interlanguage-links": "@dev",
        "mediawiki/semantic-meta-tags": "@dev",
"mediawiki/semantic-media-wiki": "@dev",
        "mediawiki/semantic-notifications": "@dev",
"mediawiki/semantic-meta-tags": "@dev",
        "mediawiki/semantic-result-formats": "@dev",
"mediawiki/semantic-notifications": "@dev",
        "mediawiki/semantic-scribunto": "@dev",
"mediawiki/semantic-result-formats": "@dev",
        "mediawiki/semantic-watchlist": "@dev"
"mediawiki/semantic-scribunto": "@dev",
    },
"mediawiki/semantic-tasks": "@dev",
    "extra": {
"professional-wiki/id-generator": "@dev",
        "merge-plugin": {
"professional-wiki/modern-timeline": "@dev",
            "include": [
"phpoffice/phpspreadsheet": "~1"
                "extensions/Elastica/composer.json",
},
                "extensions/Mpdf/composer.json",
"extra": {
                "extensions/SyntaxHighlight_GeSHi/composer.json"
"merge-plugin": {
            ]
"include": [
        }
"extensions/Elastica/composer.json",
    },
"extensions/Mpdf/composer.json",
    "config": {
"extensions/OATHAuth/composer.json",
        "preferred-install": "source",
"extensions/TemplateStyles/composer.json",
        "optimize-autoloader": true
"extensions/SyntaxHighlight_GeSHi/composer.json",
    }
"extensions/VisualEditor/composer.json"
]
}
},
"config": {
"preferred-install": "source",
"optimize-autoloader": true
}
}
}
</syntaxhighlight>
</syntaxhighlight>
Ligne 59 : Ligne 67 :


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
### General settings
$smwSemanticName = 'sandbox.semantic-mediawiki.org';
### Namespace settings (Semantic Cite)
define( 'NS_CR', 2900 );
define( 'NS_CR_TALK', 2901 );
$wgExtraNamespaces[NS_CR] = 'CR';
$wgExtraNamespaces[NS_CR_TALK] = 'CR_talk';
### Search settings
use CirrusSearch\CirrusSearch;
$wgSearchType = 'SMWSearch';
$wgSearchType = 'SMWSearch';
$smwgFallbackSearchType = function() {
return new CirrusSearch();
};
## ModernTimeline
wfLoadExtension( 'ModernTimeline' );
## TitleIcon
wfLoadExtension( 'TitleIcon' );


## Semantic MediaWiki
## Semantic MediaWiki
enableSemantics( $smwSemanticName );
enableSemantics( $smwSemanticName );
$smwgConfigFileDir = $IP;
// $smwgDefaultStore = 'SMWSQLStore3';
$smwgDefaultStore = 'SMWElasticStore';
$smwgDefaultStore = 'SMWElasticStore';
$smwgElasticsearchEndpoints = [
$smwgElasticsearchEndpoints = [
[
[
'host' => '217.197.83.171',
'host' => '127.0.0.1',
'port' => 9200,
'port' => 6800,
'scheme' => 'http'
'scheme' => 'http'
],
],
'localhost:9200'
'localhost:6800'
];
];
$smwgElasticsearchProfile = __DIR__ . '/elasticsearch.profile.json';
$smwgElasticsearchProfile = __DIR__ . '/elasticsearch.profile.json';
Ligne 78 : Ligne 108 :
$smwgPropertyLowUsageThreshold = 3;
$smwgPropertyLowUsageThreshold = 3;
$smwgAdminFeatures = ( $smwgAdminFeatures & ~SMW_ADM_REFRESH );
$smwgAdminFeatures = ( $smwgAdminFeatures & ~SMW_ADM_REFRESH );
$smwgNamespacesWithSemanticLinks[NS_TALK] = true;
$smwgNamespacesWithSemanticLinks[NS_USER_TALK] = true;
$smwgNamespacesWithSemanticLinks[NS_TEMPLATE] = true;
$smwgNamespacesWithSemanticLinks[NS_CR] = true;
$smwgNamespacesWithSemanticLinks[NS_EXTRA] = true;
$smwgNamespacesWithSemanticLinks[NS_EXTRA] = true;
$smwgNamespacesWithSemanticLinks[NS_NFL] = true;
$smwgPageSpecialProperties = array_merge(
$smwgPageSpecialProperties = array_merge(
$smwgPageSpecialProperties, [
$smwgPageSpecialProperties, [
'_ATTCH_LINK',
'_CDAT',
'_CDAT',
'_NEWP',
'_NEWP',
Ligne 97 : Ligne 133 :
$smwgQMaxInlineLimit = 2000;
$smwgQMaxInlineLimit = 2000;
$smwgQueryProfiler = SMW_QPRFL_DUR | SMW_QPRFL_PARAMS;
$smwgQueryProfiler = SMW_QPRFL_DUR | SMW_QPRFL_PARAMS;
$smwgQueryResultCacheType = CACHE_ANYTHING;
$smwgMainCacheType = 'redis';
$smwgQueryResultCacheType = 'redis';
$smwgQFilterDuplicates = true;
$smwgQFilterDuplicates = true;
$smwgQSortFeatures = ( $smwgQSortFeatures | SMW_QSORT_UNCONDITIONAL );
$smwgQSortFeatures = $smwgQSortFeatures | SMW_QSORT_UNCONDITIONAL;
$smwgQueryDependencyAffiliatePropertyDetectionList = [
'_DTITLE'
];
$smwgDVFeatures = $smwgDVFeatures | SMW_DV_PVUC;
$smwgDVFeatures = $smwgDVFeatures | SMW_DV_PVUC;
$smwgFieldTypeFeatures = SMW_FIELDT_CHAR_NOCASE | SMW_FIELDT_CHAR_LONG;
$smwgFieldTypeFeatures = SMW_FIELDT_CHAR_NOCASE | SMW_FIELDT_CHAR_LONG;
$smwgParserFeatures = ( $smwgParserFeatures | SMW_PARSER_UNSTRIP | SMW_PARSER_LINV );
$smwgParserFeatures = $smwgParserFeatures | SMW_PARSER_UNSTRIP | SMW_PARSER_LINV;
$smwgPropertyReservedNameList = array_merge(
$smwgPropertyReservedNameList = array_merge(
$smwgPropertyReservedNameList, [
$smwgPropertyReservedNameList, [
Ligne 114 : Ligne 148 :
$smwgJobQueueWatchlist = [
$smwgJobQueueWatchlist = [
'smw.update',
'smw.update',
'smw.updateDispatcher',
'smw.parserCachePurge',
'smw.parserCachePurge',
'smw.fulltextSearchTableUpdate',
'smw.fulltextSearchTableUpdate',
'smw.changePropagationDispatch',
'smw.changePropagationUpdate',
'smw.changePropagationUpdate',
'smw.changePropagationClassUpdate',
'smw.elasticIndexerRecovery',
'smw.elasticIndexerRecovery',
'smw.elasticFileIngest'
'smw.elasticFileIngest'
Ligne 123 : Ligne 160 :
$smwgEditProtectionRight = 'smw-pageedit';
$smwgEditProtectionRight = 'smw-pageedit';
$smwgSupportSectionTag = false;
$smwgSupportSectionTag = false;
$smwgQuerySources = [
'semanticmediawikiorg' => [
'\SMW\Query\RemoteRequest',
'url' => 'https://www.semantic-mediawiki.org/w/index.php',
'cache' => 3600
],
'semantic-mw' => [
'SMWExternalAskQueryLookup'
]
];
$smwgPlainList = true;
$smwgImportReqVersion = false;
$smwgChangePropagationProtection = false;
## Semantic Approved Revs
// https://github.com/SemanticMediaWiki/SemanticApprovedRevs/issues/14
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/87
// wfLoadExtension( 'SemanticApprovedRevs' );


## Semantic Breadcrumb Links
## Semantic Breadcrumb Links
Ligne 131 : Ligne 186 :


## Semantic Compound Queries
## Semantic Compound Queries
// Composer
wfLoadExtension( 'SemanticCompoundQueries' );


## Semantic Drilldown
## Semantic Drilldown
// https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/2944
$sdgNamespaceIndex = 112;
// $sdgNamespaceIndex = 112;
require 'extensions/SemanticDrilldown/SemanticDrilldown.php';
// require 'extensions/SemanticDrilldown/SemanticDrilldown.php';
$sdgShowCategoriesAsTabs = true;
// $sdgShowCategoriesAsTabs = true;


## Semantic External Query Lookup
## Semantic External Query Lookup
// Composer
// https://github.com/SemanticMediaWiki/SemanticExternalQueryLookup/issues/33
$smwgQuerySources = [
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/86
'smworg' => 'SMWExternalQueryLookup',
// $seqlgExternalRepositoryEndpoints = [
];
// 'semantic-mw' => [
$seqlgExternalRepositoryEndpoints = [
// 'https://www.semantic-mediawiki.org/w/index.php/$1',
'smworg' => [
// 'https://www.semantic-mediawiki.org/w/api.php',
'https://www.semantic-mediawiki.org/w/index.php/$1',
// true
'https://www.semantic-mediawiki.org/w/api.php',
// ]
true
// ];
]
];


## Semantic Extra Special Properties
## Semantic Extra Special Properties
wfLoadExtension( 'SemanticExtraSpecialProperties' );
// https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/issues/144
$sespgEnabledPropertyList = [
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/80
    '_CUSER',
// wfLoadExtension( 'SemanticExtraSpecialProperties' );
    '_EUSER',
// $sespgEnabledPropertyList = [
    '_EXIFDATA',
// '_CUSER',
    '_NREV',
// '_EUSER',
    '_NTREV',
// '_EXIFDATA',
    '_PAGEID',
// '_NREV',
    '_PAGELGTH',
// '_NTREV',
    '_REVID',
// '_PAGEID',
    '_SUBP',
// '_PAGELGTH',
    '_USERBLOCK',
// '_SUBP',
    '_USEREDITCNT',
// '_USERBLOCK',
    '_USERGROUP',
// '_USEREDITCNT',
    '_USERREG',
// '_USERGROUP',
    '_USERRIGHT',
// '_USERREG',
    '_VIEWS'
// '_USERRIGHT',
    ];
// '_VIEWS'
$sespgUseFixedTables = true;
// ];
$sespgExcludeBotEdits = true;
// $sespgUseFixedTables = true;
// $sespgExcludeBotEdits = true;
 
## Semantic Image Caption
// https://github.com/SemanticMediaWiki/SemanticImageCaption/issues/9
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/79
// wfLoadExtension( 'SemanticImageCaption' );


## Semantic Forms Select
## Semantic Forms Select
Ligne 181 : Ligne 239 :
$wgexLingoPage = 'Glossaire';
$wgexLingoPage = 'Glossaire';
$wgexLingoUseNamespaces[NS_SPECIAL] = false;
$wgexLingoUseNamespaces[NS_SPECIAL] = false;
## Semantic Image Annotator
wfLoadExtension( 'SemanticImageAnnotator' );


## Semantic Interlanguage Links
## Semantic Interlanguage Links
// Composer
wfLoadExtension( 'SemanticInterlanguageLinks' );


## Semantic Meta Tags
## Semantic Meta Tags
// Composer
wfLoadExtension( 'SemanticMetaTags' );
$smtgTagsProperties = [
$smtgTagsProperties = [
'keywords' => 'Meta element keywords',
'keywords' => 'Meta element keywords',
'description' => 'Meta element description'
'description' => [
];
'Meta element description',
function( OutputPage $outputPage ): string {
global $wgLanguageCode;
$title = $outputPage->getContext()->getTitle()->getText();
$main_page = wfMessage( 'mainpage' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped();
$site_name = wfMessage( 'pagetitle-view-mainpage' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped();
$subtitle = $title !== $main_page ? wfMessage( 'tagline' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped () : '';
return $title === $main_page ? $site_name : $title . '. ' . $subtitle;
}
],
];
$smtgTagsStrings = [
$smtgTagsStrings = [
'og:site_name' => 'Semantic MediaWiki - Sandbox',
'og:site_name' => 'Semantic MediaWiki - Sandbox',
Ligne 201 : Ligne 266 :
'og:image:height' => '142'
'og:image:height' => '142'
];
];
$smtgTagsPropertyFallbackUsage = true;


## Semantic Notifications
## Semantic Notifications
// Composer
wfLoadExtension( 'SemanticNotifications' );


## Semantic Rating
## Semantic Rating
Ligne 210 : Ligne 276 :
## Semantic Result Formats
## Semantic Result Formats
wfLoadExtension( 'SemanticResultFormats' );
wfLoadExtension( 'SemanticResultFormats' );
$srfgFirstDayOfWeek = 'lundi';
// $srfgFirstDayOfWeek = 'lundi'; // https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/138
$srfgFormats = array_merge(
$srfgFormats = array_merge(
$srfgFormats, [
$srfgFormats, [
'process',
// 'process', // T238990
'graph',
// 'graph', // T238990
'incoming'
'incoming'
]
]
Ligne 222 : Ligne 288 :
wfLoadExtension( 'SemanticScribunto' );
wfLoadExtension( 'SemanticScribunto' );


## Semantic Text Annotator
## Semantic Tasks
// wfLoadExtension( 'SemanticTextAnnotator' );
wfLoadExtension( 'SemanticTasks' );
 
## Semantic Watchlist
// Composer
</syntaxhighlight>
</syntaxhighlight>


Ligne 236 : Ligne 299 :
$egGitHubDefaultRepo = 'SemanticMediaWiki/SemanticMediaWiki';
$egGitHubDefaultRepo = 'SemanticMediaWiki/SemanticMediaWiki';
$egGitHubRepositoryWhitelist = [
$egGitHubRepositoryWhitelist = [
    'JeroenDeDauw/GitHub',
'JeroenDeDauw/GitHub',
    'JeroenDeDauw/Maps',
'JeroenDeDauw/Maps',
    'JeroenDeDauw/ParserHooks',
'JeroenDeDauw/ParserHooks',
    'JeroenDeDauw/Validator',
'JeroenDeDauw/Validator',
    'oetterer/BootstrapComponents',
'oetterer/BootstrapComponents',
    'SemanticMediaWiki/SemanticBreadcrumbLinks',
'SemanticMediaWiki/SemanticBreadcrumbLinks',
    'SemanticMediaWiki/SemanticCite',
'SemanticMediaWiki/SemanticCite',
    'SemanticMediaWiki/SemanticCompoundQueries',
'SemanticMediaWiki/SemanticCompoundQueries',
    'SemanticMediaWiki/SemanticExternalQueryLookup',
'SemanticMediaWiki/SemanticExternalQueryLookup',
    'SemanticMediaWiki/SemanticExtraSpecialProperties',
'SemanticMediaWiki/SemanticExtraSpecialProperties',
    'SemanticMediaWiki/SemanticFormsSelect',
'SemanticMediaWiki/SemanticFormsSelect',
    'SemanticMediaWiki/SemanticGlossary',
'SemanticMediaWiki/SemanticGlossary',
    'SemanticMediaWiki/SemanticInterlanguageLinks',
'SemanticMediaWiki/SemanticInterlanguageLinks',
    'SemanticMediaWiki/SemanticMediaWiki',
'SemanticMediaWiki/SemanticMediaWiki',
    'SemanticMediaWiki/SemanticMetaTags',
'SemanticMediaWiki/SemanticMetaTags',
    'SemanticMediaWiki/SemanticNotifications',
'SemanticMediaWiki/SemanticNotifications',
    'SemanticMediaWiki/SemanticResultFormats',
'SemanticMediaWiki/SemanticResultFormats',
    'SemanticMediaWiki/SemanticScribunto',
'SemanticMediaWiki/SemanticScribunto',
    'SemanticMediaWiki/SemanticSignup',
'SemanticMediaWiki/SemanticSignup',
    'SemanticMediaWiki/SemanticWatchlist',
'SemanticMediaWiki/SemanticWatchlist',
    'SemanticMediaWiki/SummaryCards',
'SemanticMediaWiki/SummaryCards',
    'SemanticMediaWiki/WhatsNearby'
'SemanticMediaWiki/WhatsNearby'
    ];
];
$egGitHubCache = 'full';
$egGitHubCache = 'full';
$egGitHubCacheTime = 1200;
$egGitHubCacheTime = 1200;


## Maps
## Maps
// Composer
wfLoadExtension( 'Maps' );
$egMapsDefaultService = 'leaflet';
$egMapsDefaultGeoService = 'nominatim';
$egMapsEnableCategory = true;
$egMapsEnableCategory = true;
$egMapsGMaps3ApiKey = 'xxx'; // Google Maps 3 API key obfuscated


## Page Forms
## Page Forms
wfLoadExtension( 'PageForms' );
wfLoadExtension( 'PageForms' );
$wgPageForms24HourTime = true;
$wgPageForms24HourTime = true;
$wgPageFormsRenameEditTabs = true;
$wgPageFormsRedLinksCheckOnlyLocalProps = true;
$wgPageFormsRedLinksCheckOnlyLocalProps = true;
$wgPageFormsAutocompleteOnAllChars = true;
$wgPageFormsAutocompleteOnAllChars = true;
Ligne 277 : Ligne 340 :
## Summary Card
## Summary Card
// Composer
// Composer
$sucgBackendParserCacheType = CACHE_MEMCACHED;
$sucgBackendParserCacheType = CACHE_NONE; // FIXME
$sucgEnabledNamespaceWithTemplate = [
$sucgEnabledNamespaceWithTemplate = [
NS_MAIN => 'SimpleSummaryCard',
NS_MAIN => 'SimpleSummaryCard',
Ligne 284 : Ligne 347 :
SMW_NS_PROPERTY => 'SimpleSummaryCard',
SMW_NS_PROPERTY => 'SimpleSummaryCard',
];
];
## WhatsNearby
// Composer
</syntaxhighlight>
</syntaxhighlight>


Ligne 292 : Ligne 352 :


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
### Debug settings
error_reporting( -1 );
ini_set( 'display_errors', 1 );
### Exception settings
### Exception settings


## Show exceptions
## Showing
$wgShowExceptionDetails = true;
$wgShowExceptionDetails = true;
// $wgDebugToolbar = true;


## Exception and event logging
## Logging
// $wgDebugLogFile = "/var/log/mediawiki/{$wgDBname}-debug-all.log";
// $wgDebugDumpSql = true;
$wgDebugLogGroups  = [
$wgDebugLogGroups  = [
'authentication' => "/var/log/mediawiki/{$wgDBname}-debug-authentication.log",
// 'authentication' => "/var/log/mediawiki/{$wgDBname}-debug-authentication.log",
'error' => "/var/log/mediawiki/{$wgDBname}-debug-error.log",
'error' => "/var/log/mediawiki/{$wgDBname}-debug-error.log",
'exception' => "/var/log/mediawiki/{$wgDBname}-debug-exception.log",
'exception' => "/var/log/mediawiki/{$wgDBname}-debug-exception.log",
'resourceloader' => "/var/log/mediawiki/{$wgDBname}-debug-resourceloader.log",
// 'resourceloader' => "/var/log/mediawiki/{$wgDBname}-debug-resourceloader.log",
'smw' => "/var/log/mediawiki/{$wgDBname}-debug-smw.log",
// 'smw' => "/var/log/mediawiki/{$wgDBname}-debug-smw.log",
'smw-elastic' => "var/log/mediawiki/{$wgDBname}-debug-smw-elastic.log"
'smw-elastic' => "var/log/mediawiki/{$wgDBname}-debug-smw-elastic.log"
];
];
Ligne 312 : Ligne 379 :
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
        "settings": {
"settings": {
                "data": {
"data": {
                        "index.mapping.total_fields.limit": 9000
"index.mapping.total_fields.limit": 12000
                }
}
        },
},
         "indexer": {
         "indexer": {
                 "raw.text": true,
                 "raw.text": true,
                 "experimental.file.ingest": true
                 "experimental.file.ingest": false,
                "throw.exception.on.illegal.argument.error": false
         },
         },
         "query": {
         "query": {
                 "debug.explain": true,
                 "debug.explain": true,
                 "sort.property.must.exists": false,
                 "sort.property.must.exists": false,
                 "special_search.highlight.fragment.type": "unified",
                 "highlight.fragment.type": "unified",
                 "uri.field.case.insensitive": true
                 "uri.field.case.insensitive": true
         }
         }
Ligne 330 : Ligne 398 :
</syntaxhighlight>
</syntaxhighlight>
__NOGLOSSARY__
__NOGLOSSARY__
[[Category:SMW Sandbox]]

Version du 11 octobre 2021 à 09:42

Welcome to the sandbox of the SMW project. It primarily allows to test features provided by Semantic MediaWiki as well as related semantic extensions. However a vast set of additional useful extensions is installed to provide a great testing experience in conjunction with Semantic MediaWiki.

This wiki is designed to always run on the latest release candidate or stable version of MediaWiki core as well as the installed extensions, except for most of the semantic extensions which run on master. This page shows some of the setup information. See also the update log for MediaWiki core on this wiki.

composer.local.json

{
	"minimum-stability": "dev",
	"require": {
		"elasticsearch/elasticsearch": "~6.0",
		"jeroen/mediawiki-github": "@dev",
		"mediawiki/bootstrap-components": "@dev",
		"mediawiki/chameleon-skin": "@dev",
		"mediawiki/font-awesome": "@dev",
		"mediawiki/graph-viz": "@dev",
		"mediawiki/lingo": "@dev",
		"mediawiki/mermaid": "@dev",
		"mediawiki/maps": "@dev",
		"mediawiki/page-forms": "@dev",
		"mediawiki/parser-hooks": "@dev",
		"mediawiki/simple-batch-upload": "@dev",
		"mediawiki/sub-page-list": "@dev",
		"mediawiki/summary-cards": "@dev",
		"mediawiki/validator": "@dev",
		"mediawiki/semantic-breadcrumb-links": "@dev",
		"mediawiki/semantic-cite": "@dev",
		"mediawiki/semantic-compound-queries": "@dev",
		"mediawiki/semantic-extra-special-properties": "@dev",
		"mediawiki/semantic-forms-select": "@dev",
		"mediawiki/semantic-glossary": "@dev",
		"mediawiki/semantic-image-caption": "@dev",
		"mediawiki/semantic-interlanguage-links": "@dev",
		"mediawiki/semantic-media-wiki": "@dev",
		"mediawiki/semantic-meta-tags": "@dev",
		"mediawiki/semantic-notifications": "@dev",
		"mediawiki/semantic-result-formats": "@dev",
		"mediawiki/semantic-scribunto": "@dev",
		"mediawiki/semantic-tasks": "@dev",
		"professional-wiki/id-generator": "@dev",
		"professional-wiki/modern-timeline": "@dev",
		"phpoffice/phpspreadsheet": "~1"
	},
	"extra": {
		"merge-plugin": {
			"include": [
				"extensions/Elastica/composer.json",
				"extensions/Mpdf/composer.json",
				"extensions/OATHAuth/composer.json",
				"extensions/TemplateStyles/composer.json",
				"extensions/SyntaxHighlight_GeSHi/composer.json",
				"extensions/VisualEditor/composer.json"
			]
		}
	},
	"config": {
		"preferred-install": "source",
		"optimize-autoloader": true
	}
}

LocalSettings.php

Semantic extensions

### General settings
$smwSemanticName = 'sandbox.semantic-mediawiki.org';

### Namespace settings (Semantic Cite)
define( 'NS_CR', 2900 );
define( 'NS_CR_TALK', 2901 );
$wgExtraNamespaces[NS_CR] = 'CR';
$wgExtraNamespaces[NS_CR_TALK] = 'CR_talk';

### Search settings
use CirrusSearch\CirrusSearch;
$wgSearchType = 'SMWSearch';
$smwgFallbackSearchType = function() {
	return new CirrusSearch();
};

## ModernTimeline
wfLoadExtension( 'ModernTimeline' );

## TitleIcon
wfLoadExtension( 'TitleIcon' );

## Semantic MediaWiki
enableSemantics( $smwSemanticName );
$smwgConfigFileDir = $IP;
// $smwgDefaultStore = 'SMWSQLStore3';
$smwgDefaultStore = 'SMWElasticStore';
$smwgElasticsearchEndpoints = [
	[
		'host' => '127.0.0.1',
		'port' => 6800,
		'scheme' => 'http'
		],
	'localhost:6800'
	];
$smwgElasticsearchProfile = __DIR__ . '/elasticsearch.profile.json';
$smwgEnabledFulltextSearch = true;
$smwgEnabledQueryDependencyLinksStore = true;
$smwgPropertyZeroCountDisplay = false;
$smwgPropertyLowUsageThreshold = 3;
$smwgAdminFeatures = ( $smwgAdminFeatures & ~SMW_ADM_REFRESH );
$smwgNamespacesWithSemanticLinks[NS_TALK] = true;
$smwgNamespacesWithSemanticLinks[NS_USER_TALK] = true;
$smwgNamespacesWithSemanticLinks[NS_TEMPLATE] = true;
$smwgNamespacesWithSemanticLinks[NS_CR] = true;
$smwgNamespacesWithSemanticLinks[NS_EXTRA] = true;
$smwgNamespacesWithSemanticLinks[NS_NFL] = true;
$smwgPageSpecialProperties = array_merge(
	$smwgPageSpecialProperties, [
		'_ATTCH_LINK',
		'_CDAT',
		'_NEWP',
		'_LEDT',
		'_MEDIA',
		'_MIME',
		'_TRANS'
		]
	);
$smwgFixedProperties = [
	'Has_text_fixed',
	'Has_page_fixed'
	];
$smwgQDefaultLimit = 250;
$smwgQMaxLimit = 4000;
$smwgQMaxInlineLimit = 2000;
$smwgQueryProfiler = SMW_QPRFL_DUR | SMW_QPRFL_PARAMS;
$smwgMainCacheType = 'redis';
$smwgQueryResultCacheType = 'redis';
$smwgQFilterDuplicates = true;
$smwgQSortFeatures = $smwgQSortFeatures | SMW_QSORT_UNCONDITIONAL;
$smwgDVFeatures = $smwgDVFeatures | SMW_DV_PVUC;
$smwgFieldTypeFeatures = SMW_FIELDT_CHAR_NOCASE | SMW_FIELDT_CHAR_LONG;
$smwgParserFeatures = $smwgParserFeatures | SMW_PARSER_UNSTRIP | SMW_PARSER_LINV;
$smwgPropertyReservedNameList = array_merge(
	$smwgPropertyReservedNameList, [
		'Code',
		'smw-property-reserved-code'
		]
	);
$smwgJobQueueWatchlist = [
	'smw.update',
	'smw.updateDispatcher',
	'smw.parserCachePurge',
	'smw.fulltextSearchTableUpdate',
	'smw.changePropagationDispatch',
	'smw.changePropagationUpdate',
	'smw.changePropagationClassUpdate',
	'smw.elasticIndexerRecovery',
	'smw.elasticFileIngest'
	];
$smwgDefaultLoggerRole = 'developer';
$smwgEditProtectionRight = 'smw-pageedit';
$smwgSupportSectionTag = false;
$smwgQuerySources = [
	'semanticmediawikiorg' => [
		'\SMW\Query\RemoteRequest',
		'url' => 'https://www.semantic-mediawiki.org/w/index.php',
		'cache' => 3600
		],
	'semantic-mw' => [
		'SMWExternalAskQueryLookup'
		]
	];
$smwgPlainList = true;
$smwgImportReqVersion = false;
$smwgChangePropagationProtection = false;

## Semantic Approved Revs
// https://github.com/SemanticMediaWiki/SemanticApprovedRevs/issues/14
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/87
// wfLoadExtension( 'SemanticApprovedRevs' );

## Semantic Breadcrumb Links
wfLoadExtension( 'SemanticBreadcrumbLinks' );

## Semantic Cite
wfLoadExtension( 'SemanticCite' );

## Semantic Compound Queries
wfLoadExtension( 'SemanticCompoundQueries' );

## Semantic Drilldown
$sdgNamespaceIndex = 112;
require 'extensions/SemanticDrilldown/SemanticDrilldown.php';
$sdgShowCategoriesAsTabs = true;

## Semantic External Query Lookup
// https://github.com/SemanticMediaWiki/SemanticExternalQueryLookup/issues/33
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/86
// $seqlgExternalRepositoryEndpoints = [
//	'semantic-mw' => [
//		'https://www.semantic-mediawiki.org/w/index.php/$1',
//		'https://www.semantic-mediawiki.org/w/api.php',
//		true
//		]
//	];

## Semantic Extra Special Properties
// https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/issues/144
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/80
// wfLoadExtension( 'SemanticExtraSpecialProperties' );
// $sespgEnabledPropertyList = [
//	'_CUSER',
//	'_EUSER',
//	'_EXIFDATA',
//	'_NREV',
//	'_NTREV',
//	'_PAGEID',
//	'_PAGELGTH',
//	'_SUBP',
//	'_USERBLOCK',
//	'_USEREDITCNT',
//	'_USERGROUP',
//	'_USERREG',
//	'_USERRIGHT',
//	'_VIEWS'
//	];
// $sespgUseFixedTables = true;
// $sespgExcludeBotEdits = true;

## Semantic Image Caption
// https://github.com/SemanticMediaWiki/SemanticImageCaption/issues/9
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/79
// wfLoadExtension( 'SemanticImageCaption' );

## Semantic Forms Select
wfLoadExtension( 'SemanticFormsSelect' );

## Semantic Glossary
wfLoadExtension( 'SemanticGlossary' );
$wgexLingoPage = 'Glossaire';
$wgexLingoUseNamespaces[NS_SPECIAL] = false;

## Semantic Interlanguage Links
wfLoadExtension( 'SemanticInterlanguageLinks' );

## Semantic Meta Tags
wfLoadExtension( 'SemanticMetaTags' );
$smtgTagsProperties = [
	'keywords' => 'Meta element keywords',
	'description' => [
		'Meta element description',
		function( OutputPage $outputPage ): string {
			global $wgLanguageCode;
			$title = $outputPage->getContext()->getTitle()->getText();
			$main_page = wfMessage( 'mainpage' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped();
			$site_name = wfMessage( 'pagetitle-view-mainpage' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped();
			$subtitle = $title !== $main_page ? wfMessage( 'tagline' )->inLanguage( $wgLanguageCode ?: 'fr' )->escaped () : '';
			return $title === $main_page ? $site_name : $title . '. ' . $subtitle;
		}
	],
];
$smtgTagsStrings = [
	'og:site_name' => 'Semantic MediaWiki - Sandbox',
	'og:image' => 'https://sandbox.semantic-mediawiki.org/w/SMWSandBoxLogo.png',
	'og:image:type' => 'image/png',
	'og:image:width' => '142',
	'og:image:height' => '142'
	];
$smtgTagsPropertyFallbackUsage = true;

## Semantic Notifications
wfLoadExtension( 'SemanticNotifications' );

## Semantic Rating
wfLoadExtension( 'SemanticRating' );

## Semantic Result Formats
wfLoadExtension( 'SemanticResultFormats' );
// $srfgFirstDayOfWeek = 'lundi'; // https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/138
$srfgFormats = array_merge(
	$srfgFormats, [
//		'process', // T238990
//		'graph', // T238990
		'incoming'
		]
	);

## Semantic Scribunto
wfLoadExtension( 'SemanticScribunto' );

## Semantic Tasks
wfLoadExtension( 'SemanticTasks' );

Selected other extensions

## GitHub
// Composer
$egGitHubDefaultRepo = 'SemanticMediaWiki/SemanticMediaWiki';
$egGitHubRepositoryWhitelist = [
	'JeroenDeDauw/GitHub',
	'JeroenDeDauw/Maps',
	'JeroenDeDauw/ParserHooks',
	'JeroenDeDauw/Validator',
	'oetterer/BootstrapComponents',
	'SemanticMediaWiki/SemanticBreadcrumbLinks',
	'SemanticMediaWiki/SemanticCite',
	'SemanticMediaWiki/SemanticCompoundQueries',
	'SemanticMediaWiki/SemanticExternalQueryLookup',
	'SemanticMediaWiki/SemanticExtraSpecialProperties',
	'SemanticMediaWiki/SemanticFormsSelect',
	'SemanticMediaWiki/SemanticGlossary',
	'SemanticMediaWiki/SemanticInterlanguageLinks',
	'SemanticMediaWiki/SemanticMediaWiki',
	'SemanticMediaWiki/SemanticMetaTags',
	'SemanticMediaWiki/SemanticNotifications',
	'SemanticMediaWiki/SemanticResultFormats',
	'SemanticMediaWiki/SemanticScribunto',
	'SemanticMediaWiki/SemanticSignup',
	'SemanticMediaWiki/SemanticWatchlist',
	'SemanticMediaWiki/SummaryCards',
	'SemanticMediaWiki/WhatsNearby'
	];
$egGitHubCache = 'full';
$egGitHubCacheTime = 1200;

## Maps
wfLoadExtension( 'Maps' );
$egMapsDefaultService = 'leaflet';
$egMapsDefaultGeoService = 'nominatim';
$egMapsEnableCategory = true;

## Page Forms
wfLoadExtension( 'PageForms' );
$wgPageForms24HourTime = true;
$wgPageFormsRedLinksCheckOnlyLocalProps = true;
$wgPageFormsAutocompleteOnAllChars = true;
$wgPageFormsAutoCreateUser = 'AutoCreateBot';

## Summary Card
// Composer
$sucgBackendParserCacheType = CACHE_NONE; // FIXME
$sucgEnabledNamespaceWithTemplate = [
	NS_MAIN => 'SimpleSummaryCard',
	NS_HELP => 'SimpleSummaryCard',
	NS_FILE => 'SimpleSummaryCard',
	SMW_NS_PROPERTY => 'SimpleSummaryCard',
	];

Exception and event logging

### Debug settings
error_reporting( -1 );
ini_set( 'display_errors', 1 );

### Exception settings

## Showing
$wgShowExceptionDetails = true;
// $wgDebugToolbar = true;

## Logging
// $wgDebugLogFile = "/var/log/mediawiki/{$wgDBname}-debug-all.log";
// $wgDebugDumpSql = true;
$wgDebugLogGroups  = [
	// 'authentication' => "/var/log/mediawiki/{$wgDBname}-debug-authentication.log",
	'error' => "/var/log/mediawiki/{$wgDBname}-debug-error.log",
	'exception' => "/var/log/mediawiki/{$wgDBname}-debug-exception.log",
	// 'resourceloader' => "/var/log/mediawiki/{$wgDBname}-debug-resourceloader.log",
	// 'smw' => "/var/log/mediawiki/{$wgDBname}-debug-smw.log",
	'smw-elastic' => "var/log/mediawiki/{$wgDBname}-debug-smw-elastic.log"
	];

elasticsearch.profile.json

{
	"settings": {
		"data": {
			"index.mapping.total_fields.limit": 12000
		}
	},
        "indexer": {
                "raw.text": true,
                "experimental.file.ingest": false,
                "throw.exception.on.illegal.argument.error": false
        },
        "query": {
                "debug.explain": true,
                "sort.property.must.exists": false,
                "highlight.fragment.type": "unified",
                "uri.field.case.insensitive": true
        }
}
Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de cookies.