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

De Semantic MediaWiki - Sandbox

Ligne 63 : Ligne 63 :
### General settings
### General settings
$smwSemanticName = 'sandbox.semantic-mediawiki.org';
$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
Ligne 75 : Ligne 69 :
$smwgFallbackSearchType = function() {
$smwgFallbackSearchType = function() {
return new CirrusSearch();
return new CirrusSearch();
};
};
 
## ModernTimeline
wfLoadExtension( 'ModernTimeline' );


## TitleIcon
### Semantic extensions
wfLoadExtension( 'TitleIcon' );


## Semantic MediaWiki
## Semantic MediaWiki
wfLoadExtension( 'SemanticMediaWiki' );
enableSemantics( $smwSemanticName );
enableSemantics( $smwSemanticName );
$smwgConfigFileDir = $IP;
$smwgConfigFileDir = $IP;
Ligne 91 : Ligne 82 :
[
[
'host' => '127.0.0.1',
'host' => '127.0.0.1',
'port' => 6800,
'port' => 9200,
'scheme' => 'http'
'scheme' => 'http'
],
],
'localhost:6800'
'localhost:9200'
];
];
$smwgElasticsearchProfile = __DIR__ . '/elasticsearch.profile.json';
$smwgElasticsearchProfile = __DIR__ . '/elasticsearch.profile.json';
Ligne 167 : Ligne 158 :
$smwgImportReqVersion = false;
$smwgImportReqVersion = false;
$smwgChangePropagationProtection = false;
$smwgChangePropagationProtection = false;
$smwgIgnoreUpgradeKeyCheck = true;


## Semantic Approved Revs
## Semantic Approved Revs
Ligne 174 : Ligne 166 :


## Semantic Breadcrumb Links
## Semantic Breadcrumb Links
wfLoadExtension( 'SemanticBreadcrumbLinks' );
// https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/issues/74
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/93
// wfLoadExtension( 'SemanticBreadcrumbLinks' );


## Semantic Cite
## Semantic Cite
Ligne 184 : Ligne 178 :
## Semantic Drilldown
## Semantic Drilldown
$sdgNamespaceIndex = 112;
$sdgNamespaceIndex = 112;
require 'extensions/SemanticDrilldown/SemanticDrilldown.php';
wfLoadExtension( 'SemanticDrilldown' );
$sdgShowCategoriesAsTabs = true;
$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
## Semantic Extra Special Properties
// https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/issues/144
wfLoadExtension( 'SemanticExtraSpecialProperties' );
// https://github.com/SemanticMediaWiki/semantic-mediawiki.org/issues/80
$sespgEnabledPropertyList = [
// wfLoadExtension( 'SemanticExtraSpecialProperties' );
'_CUSER',
// $sespgEnabledPropertyList = [
'_EUSER',
// '_CUSER',
'_EXIFDATA',
// '_EUSER',
'_NREV',
// '_EXIFDATA',
'_NTREV',
// '_NREV',
'_PAGEID',
// '_NTREV',
'_PAGELGTH',
// '_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 230 : Ligne 206 :


## Semantic Glossary
## Semantic Glossary
wfLoadExtension( 'SemanticGlossary' );
// https://phabricator.wikimedia.org/T296126
$wgexLingoPage = 'Glossaire';
// wfLoadExtension( 'SemanticGlossary' );
$wgexLingoUseNamespaces[NS_SPECIAL] = false;
// $wgexLingoPage = 'Glossaire';
// $wgexLingoUseNamespaces[NS_SPECIAL] = false;


## Semantic Interlanguage Links
## Semantic Interlanguage Links
Ligne 263 : Ligne 240 :


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


## Semantic Rating
## Semantic Rating
Ligne 273 : Ligne 250 :
$srfgFormats = array_merge(
$srfgFormats = array_merge(
$srfgFormats, [
$srfgFormats, [
// 'process', // T238990
'process',
// 'graph', // T238990
'graph',
'incoming'
'incoming'
]
]
Ligne 284 : Ligne 261 :
## Semantic Tasks
## Semantic Tasks
wfLoadExtension( 'SemanticTasks' );
wfLoadExtension( 'SemanticTasks' );
## ModernTimeline
wfLoadExtension( 'ModernTimeline' );
## TitleIcon
wfLoadExtension( 'TitleIcon' );
</syntaxhighlight>
</syntaxhighlight>



Version du 19 mai 2024 à 20:58

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
// https://phabricator.wikimedia.org/T296126
// 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' );

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.