« SMW Sandbox:Setup information » : différence entre les versions
De Semantic MediaWiki - Sandbox
(→Semantic extensions : + $smwgQFilterDuplicates) |
|||
(132 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<big>'''Welcome to the sandbox of the [[semantic-mw:Help:SMW Project|SMW project]]. It allows to test features provided by [[semantic-mw:Semantic MediaWiki|Semantic MediaWiki]] as well as related semantic extensions.'''</big> | <big>'''Welcome to the sandbox of the [[semantic-mw:Help:SMW Project|SMW project]]. It primarily allows to test features provided by [[semantic-mw:Semantic MediaWiki|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.'''</big> | ||
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__ | |||
{{Clear}} | |||
== composer.local.json == | == composer.local.json == | ||
Ligne 8 : | Ligne 9 : | ||
{ | { | ||
"require": { | "require": { | ||
" | "mediawiki/bootstrap": "@dev", | ||
"mediawiki/bootstrap-components": "@dev", | |||
"mediawiki/chameleon-skin": "@dev", | "mediawiki/chameleon-skin": "@dev", | ||
"mediawiki/font-awesome": "@dev", | |||
"mediawiki/lingo": "@dev", | "mediawiki/lingo": "@dev", | ||
"mediawiki/mermaid": "@dev", | |||
"mediawiki/maps": "@dev", | "mediawiki/maps": "@dev", | ||
"mediawiki/page-forms": "@dev", | "mediawiki/page-forms": "@dev", | ||
"mediawiki/ | "mediawiki/simple-batch-upload": "@dev", | ||
"mediawiki/ | "mediawiki/sub-page-list": "@dev", | ||
"mediawiki/ | "mediawiki/semantic-approved-revs": "@dev", | ||
"mediawiki/semantic-breadcrumb-links": "@dev", | "mediawiki/semantic-breadcrumb-links": "@dev", | ||
"mediawiki/semantic-cite": "@dev", | "mediawiki/semantic-cite": "@dev", | ||
"mediawiki/semantic-compound-queries": "@dev", | "mediawiki/semantic-compound-queries": "@dev", | ||
"mediawiki/semantic-extra-special-properties": "@dev", | "mediawiki/semantic-extra-special-properties": "@dev", | ||
"mediawiki/semantic-forms-select": "dev-master", | |||
"mediawiki/semantic-glossary": "@dev", | "mediawiki/semantic-glossary": "@dev", | ||
"mediawiki/semantic-interlanguage-links": "@dev", | "mediawiki/semantic-interlanguage-links": "@dev", | ||
"mediawiki/semantic-media-wiki": "@dev", | "mediawiki/semantic-media-wiki": "@dev", | ||
"mediawiki/semantic-meta-tags": "@dev", | "mediawiki/semantic-meta-tags": "@dev", | ||
"mediawiki/semantic-result-formats": "@dev", | "mediawiki/semantic-result-formats": "@dev", | ||
"mediawiki/semantic-scribunto": "@dev", | "mediawiki/semantic-scribunto": "@dev", | ||
"mediawiki/semantic-tasks": "@dev", | |||
" | "professional-wiki/external-content": "@dev", | ||
"professional-wiki/id-generator": "@dev", | |||
"professional-wiki/modern-timeline": "@dev", | |||
"samwilson/diagrams": "@dev", | |||
"phpoffice/phpspreadsheet": "~1" | |||
}, | }, | ||
"extra": { | "extra": { | ||
"merge-plugin": { | "merge-plugin": { | ||
"include": [ | "include": [ | ||
"extensions/Elastica/composer.json", | |||
"extensions/Mpdf/composer.json", | |||
"extensions/OATHAuth/composer.json", | |||
"extensions/TemplateStyles/composer.json", | |||
"extensions/SyntaxHighlight_GeSHi/composer.json" | "extensions/SyntaxHighlight_GeSHi/composer.json" | ||
] | ] | ||
Ligne 54 : | Ligne 61 : | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
### General settings | |||
$smwSemanticName = 'sandbox.semantic-mediawiki.org'; | |||
### Search settings | |||
use CirrusSearch\CirrusSearch; | |||
$wgSearchType = 'SMWSearch'; | $wgSearchType = 'SMWSearch'; | ||
$smwgFallbackSearchType = function() { | |||
return new CirrusSearch(); | |||
}; | |||
### Semantic extensions | |||
## Semantic MediaWiki | ## Semantic MediaWiki | ||
wfLoadExtension( 'SemanticMediaWiki' ); | |||
enableSemantics( $smwSemanticName ); | enableSemantics( $smwSemanticName ); | ||
$smwgConfigFileDir = $IP; | |||
// $smwgDefaultStore = 'SMWSQLStore3'; | |||
$smwgDefaultStore = 'SMWElasticStore'; | |||
$smwgElasticsearchEndpoints = [ | |||
[ | |||
'host' => '127.0.0.1', | |||
'port' => 9200, | |||
'scheme' => 'http' | |||
], | |||
'localhost:9200' | |||
]; | |||
$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_EXTRA] = true; | ||
$smwgNamespacesWithSemanticLinks[NS_NFL] = true; | |||
$smwgPageSpecialProperties = array_merge( | $smwgPageSpecialProperties = array_merge( | ||
$smwgPageSpecialProperties, [ | $smwgPageSpecialProperties, [ | ||
'_ATTCH_LINK', | |||
'_CDAT', | '_CDAT', | ||
'_NEWP', | '_NEWP', | ||
'_LEDT', | '_LEDT', | ||
'_MEDIA', | '_MEDIA', | ||
'_MIME' | '_MIME', | ||
'_TRANS' | |||
] | ] | ||
); | ); | ||
Ligne 73 : | Ligne 114 : | ||
'Has_page_fixed' | 'Has_page_fixed' | ||
]; | ]; | ||
$ | $smwgQDefaultLimit = 250; | ||
$ | $smwgQMaxLimit = 4000; | ||
$smwgQueryProfiler = | $smwgQMaxInlineLimit = 2000; | ||
$smwgQueryProfiler = SMW_QPRFL_DUR | SMW_QPRFL_PARAMS; | |||
$smwgMainCacheType = 'redis'; | |||
$smwgQueryResultCacheType = 'redis'; | |||
$smwgQueryResultCacheType = | |||
$smwgQFilterDuplicates = true; | $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'; | $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; | |||
$smwgIgnoreUpgradeKeyCheck = true; | |||
## 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 | ||
// | // https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/74 | ||
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/93 | |||
// wfLoadExtension( 'SemanticBreadcrumbLinks' ); | |||
## Semantic Cite | ## Semantic Cite | ||
wfLoadExtension( 'SemanticCite' ); | |||
## Semantic Compound Queries | ## Semantic Compound Queries | ||
wfLoadExtension( 'SemanticCompoundQueries' ); | |||
## Semantic Drilldown | ## Semantic Drilldown | ||
$sdgNamespaceIndex = 112; | $sdgNamespaceIndex = 112; | ||
wfLoadExtension( 'SemanticDrilldown' ); | |||
$sdgShowCategoriesAsTabs = true; | $sdgShowCategoriesAsTabs = true; | ||
## Semantic Extra Special Properties | ## Semantic Extra Special Properties | ||
wfLoadExtension( 'SemanticExtraSpecialProperties' ); | |||
$ | $sespgEnabledPropertyList = [ | ||
'_CUSER', | |||
'_EUSER', | '_EUSER', | ||
' | '_EXIFDATA', | ||
'_NREV', | '_NREV', | ||
'_NTREV', | '_NTREV', | ||
'_PAGEID', | |||
'_PAGELGTH', | |||
'_SUBP', | '_SUBP', | ||
'_USERBLOCK', | |||
'_USEREDITCNT', | |||
'_USERGROUP', | |||
'_USERREG', | '_USERREG', | ||
' | '_USERRIGHT', | ||
' | '_VIEWS' | ||
]; | ]; | ||
$ | $sespgUseFixedTables = true; | ||
$ | $sespgExcludeBotEdits = true; | ||
## Semantic Forms Select | ## Semantic Forms Select | ||
Ligne 139 : | Ligne 206 : | ||
## Semantic Glossary | ## Semantic Glossary | ||
wfLoadExtension( 'SemanticGlossary' ); | |||
$wgexLingoPage = 'Glossaire'; | |||
$wgexLingoUseNamespaces[NS_SPECIAL] = false; | |||
## Semantic Interlanguage Links | ## Semantic Interlanguage Links | ||
wfLoadExtension( 'SemanticInterlanguageLinks' ); | |||
## Semantic Meta Tags | ## Semantic Meta Tags | ||
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 157 : | Ligne 236 : | ||
'og:image:height' => '142' | 'og:image:height' => '142' | ||
]; | ]; | ||
$smtgTagsPropertyFallbackUsage = true; | |||
## Semantic Notifications | ## Semantic Notifications | ||
// | // wfLoadExtension( 'SemanticNotifications' ); | ||
## Semantic Rating | ## Semantic Rating | ||
Ligne 165 : | Ligne 245 : | ||
## Semantic Result Formats | ## Semantic Result Formats | ||
// | wfLoadExtension( 'SemanticResultFormats' ); | ||
$ | // $srfgFirstDayOfWeek = 'lundi'; // https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/138 | ||
$srfgFormats = array_merge( | |||
$srfgFormats, [ | |||
'process', | |||
'graph', | |||
'incoming' | |||
] | |||
); | |||
## Semantic Scribunto | ## Semantic Scribunto | ||
wfLoadExtension( 'SemanticScribunto' ); | |||
## Semantic Tasks | |||
wfLoadExtension( 'SemanticTasks' ); | |||
## | ## ModernTimeline | ||
wfLoadExtension( 'ModernTimeline' ); | |||
## | ## TitleIcon | ||
wfLoadExtension( 'TitleIcon' ); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Exception and event logging === | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
## | ### Exception settings | ||
## | ## Activating | ||
// | error_reporting( -1 ); | ||
// ini_set( 'display_errors', '1' ); | |||
## | ## Displaying | ||
$wgShowExceptionDetails = true; | |||
$ | $wgDebugDumpSql = true; | ||
$ | // $wgDebugComments = true; | ||
$ | |||
## | ## Logging | ||
$wgDebugLogGroups = [ | |||
'exception' => "/var/log/mediawiki/{$wgDBname}-debug-exception.log", | |||
$ | 'error' => "/var/log/mediawiki/{$wgDBname}-debug-error.log", | ||
'fatal' => "/var/log/mediawiki/{$wgDBname}-debug-fatal.log" | |||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == elasticsearch.profile.json == | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="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 | |||
} | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
__NOGLOSSARY__ | |||
[[Category:SMW Sandbox]] |
Dernière version du 19 mai 2024 à 21:15
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
{
"require": {
"mediawiki/bootstrap": "@dev",
"mediawiki/bootstrap-components": "@dev",
"mediawiki/chameleon-skin": "@dev",
"mediawiki/font-awesome": "@dev",
"mediawiki/lingo": "@dev",
"mediawiki/mermaid": "@dev",
"mediawiki/maps": "@dev",
"mediawiki/page-forms": "@dev",
"mediawiki/simple-batch-upload": "@dev",
"mediawiki/sub-page-list": "@dev",
"mediawiki/semantic-approved-revs": "@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-master",
"mediawiki/semantic-glossary": "@dev",
"mediawiki/semantic-interlanguage-links": "@dev",
"mediawiki/semantic-media-wiki": "@dev",
"mediawiki/semantic-meta-tags": "@dev",
"mediawiki/semantic-result-formats": "@dev",
"mediawiki/semantic-scribunto": "@dev",
"mediawiki/semantic-tasks": "@dev",
"professional-wiki/external-content": "@dev",
"professional-wiki/id-generator": "@dev",
"professional-wiki/modern-timeline": "@dev",
"samwilson/diagrams": "@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"
]
}
},
"config": {
"preferred-install": "source",
"optimize-autoloader": true
}
}
LocalSettings.php
Semantic extensions
### General settings
$smwSemanticName = 'sandbox.semantic-mediawiki.org';
### Search settings
use CirrusSearch\CirrusSearch;
$wgSearchType = 'SMWSearch';
$smwgFallbackSearchType = function() {
return new CirrusSearch();
};
### Semantic extensions
## Semantic MediaWiki
wfLoadExtension( 'SemanticMediaWiki' );
enableSemantics( $smwSemanticName );
$smwgConfigFileDir = $IP;
// $smwgDefaultStore = 'SMWSQLStore3';
$smwgDefaultStore = 'SMWElasticStore';
$smwgElasticsearchEndpoints = [
[
'host' => '127.0.0.1',
'port' => 9200,
'scheme' => 'http'
],
'localhost:9200'
];
$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;
$smwgIgnoreUpgradeKeyCheck = true;
## Semantic Approved Revs
// https://github.com/SemanticMediaWiki/SemanticApprovedRevs/issues/14
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/87
// wfLoadExtension( 'SemanticApprovedRevs' );
## Semantic Breadcrumb Links
// https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/74
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/93
// wfLoadExtension( 'SemanticBreadcrumbLinks' );
## Semantic Cite
wfLoadExtension( 'SemanticCite' );
## Semantic Compound Queries
wfLoadExtension( 'SemanticCompoundQueries' );
## Semantic Drilldown
$sdgNamespaceIndex = 112;
wfLoadExtension( 'SemanticDrilldown' );
$sdgShowCategoriesAsTabs = true;
## Semantic Extra Special Properties
wfLoadExtension( 'SemanticExtraSpecialProperties' );
$sespgEnabledPropertyList = [
'_CUSER',
'_EUSER',
'_EXIFDATA',
'_NREV',
'_NTREV',
'_PAGEID',
'_PAGELGTH',
'_SUBP',
'_USERBLOCK',
'_USEREDITCNT',
'_USERGROUP',
'_USERREG',
'_USERRIGHT',
'_VIEWS'
];
$sespgUseFixedTables = true;
$sespgExcludeBotEdits = true;
## 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',
'graph',
'incoming'
]
);
## Semantic Scribunto
wfLoadExtension( 'SemanticScribunto' );
## Semantic Tasks
wfLoadExtension( 'SemanticTasks' );
## ModernTimeline
wfLoadExtension( 'ModernTimeline' );
## TitleIcon
wfLoadExtension( 'TitleIcon' );
Exception and event logging
### Exception settings
## Activating
error_reporting( -1 );
// ini_set( 'display_errors', '1' );
## Displaying
$wgShowExceptionDetails = true;
$wgDebugDumpSql = true;
// $wgDebugComments = true;
## Logging
$wgDebugLogGroups = [
'exception' => "/var/log/mediawiki/{$wgDBname}-debug-exception.log",
'error' => "/var/log/mediawiki/{$wgDBname}-debug-error.log",
'fatal' => "/var/log/mediawiki/{$wgDBname}-debug-fatal.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
}
}