Différences entre les versions de « SMW Sandbox:Setup information »

De Semantic MediaWiki - Sandbox

 
(7 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 ==
  
Ligne 24 : Ligne 25 :
 
"mediawiki/summary-cards": "@dev",
 
"mediawiki/summary-cards": "@dev",
 
"mediawiki/validator": "@dev",
 
"mediawiki/validator": "@dev",
"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-external-query-lookup": "@dev",
 
 
"mediawiki/semantic-extra-special-properties": "@dev",
 
"mediawiki/semantic-extra-special-properties": "@dev",
 
"mediawiki/semantic-forms-select": "@dev",
 
"mediawiki/semantic-forms-select": "@dev",
Ligne 68 : 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
 
### Search settings
 
use CirrusSearch\CirrusSearch;
 
use CirrusSearch\CirrusSearch;
Ligne 80 : Ligne 88 :
 
## TitleIcon
 
## TitleIcon
 
wfLoadExtension( 'TitleIcon' );
 
wfLoadExtension( 'TitleIcon' );
 
 
  
 
## Semantic MediaWiki
 
## Semantic MediaWiki
Ligne 104 : Ligne 110 :
 
$smwgNamespacesWithSemanticLinks[NS_TALK] = true;
 
$smwgNamespacesWithSemanticLinks[NS_TALK] = true;
 
$smwgNamespacesWithSemanticLinks[NS_USER_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;
 
$smwgNamespacesWithSemanticLinks[NS_NFL] = true;
Ligne 168 : Ligne 176 :
 
## Semantic Approved Revs
 
## Semantic Approved Revs
 
// https://github.com/SemanticMediaWiki/SemanticApprovedRevs/issues/14
 
// https://github.com/SemanticMediaWiki/SemanticApprovedRevs/issues/14
 +
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/87
 
// wfLoadExtension( 'SemanticApprovedRevs' );
 
// wfLoadExtension( 'SemanticApprovedRevs' );
  
Ligne 185 : Ligne 194 :
  
 
## Semantic External Query Lookup
 
## Semantic External Query Lookup
// Composer
+
// https://github.com/SemanticMediaWiki/SemanticExternalQueryLookup/issues/33
$seqlgExternalRepositoryEndpoints = [
+
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/86
'semantic-mw' => [
+
// $seqlgExternalRepositoryEndpoints = [
'https://www.semantic-mediawiki.org/w/index.php/$1',
+
// 'semantic-mw' => [
'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
 
// https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/issues/144
 
// https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/issues/144
 +
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/80
 
// wfLoadExtension( 'SemanticExtraSpecialProperties' );
 
// wfLoadExtension( 'SemanticExtraSpecialProperties' );
 
// $sespgEnabledPropertyList = [
 
// $sespgEnabledPropertyList = [
Ligne 218 : Ligne 229 :
 
## Semantic Image Caption
 
## Semantic Image Caption
 
// https://github.com/SemanticMediaWiki/SemanticImageCaption/issues/9
 
// https://github.com/SemanticMediaWiki/SemanticImageCaption/issues/9
 +
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/79
 
// wfLoadExtension( 'SemanticImageCaption' );
 
// wfLoadExtension( 'SemanticImageCaption' );
  
Ligne 264 : Ligne 276 :
 
## Semantic Result Formats
 
## Semantic Result Formats
 
wfLoadExtension( 'SemanticResultFormats' );
 
wfLoadExtension( 'SemanticResultFormats' );
// https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/138
+
// $srfgFirstDayOfWeek = 'lundi'; // https://github.com/SemanticMediaWiki/SemanticResultFormats/issues/138
// $srfgFirstDayOfWeek = 'lundi';
 
 
$srfgFormats = array_merge(
 
$srfgFormats = array_merge(
 
$srfgFormats, [
 
$srfgFormats, [
Ligne 279 : Ligne 290 :
 
## Semantic Tasks
 
## Semantic Tasks
 
wfLoadExtension( 'SemanticTasks' );
 
wfLoadExtension( 'SemanticTasks' );
 
## Summary Card
 
// Composer
 
$sucgBackendParserCacheType = 'redis';
 
$sucgEnabledNamespaceWithTemplate = [
 
NS_MAIN => 'SimpleSummaryCard',
 
NS_HELP => 'SimpleSummaryCard',
 
NS_FILE => 'SimpleSummaryCard',
 
SMW_NS_PROPERTY => 'SimpleSummaryCard',
 
];
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Ligne 326 : Ligne 327 :
 
## Maps
 
## Maps
 
wfLoadExtension( 'Maps' );
 
wfLoadExtension( 'Maps' );
require_once __DIR__ . '/extensions/Maps/DefaultSettings.php';
 
$egMapsAvailableServices = [
 
'leaflet'
 
];
 
 
$egMapsDefaultService = 'leaflet';
 
$egMapsDefaultService = 'leaflet';
 
$egMapsDefaultGeoService = 'nominatim';
 
$egMapsDefaultGeoService = 'nominatim';
$egMapsGMaps3ApiKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Google Maps 3 API key obfuscated
 
 
$egMapsEnableCategory = true;
 
$egMapsEnableCategory = true;
  

Dernière 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[modifier le wikicode]

{
	"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[modifier le wikicode]

Semantic extensions[modifier le wikicode]

### 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[modifier le wikicode]

## 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[modifier le wikicode]

### 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[modifier le wikicode]

{
	"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
        }
}

__NOGLOSSARY__

Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de cookies.