2548 lines
86 KiB
PHP
2548 lines
86 KiB
PHP
<?php
|
||
|
||
/**
|
||
* DO NOT EDIT!
|
||
*
|
||
* The following default settings are to be used by the extension itself,
|
||
* please modify settings in the LocalSettings file.
|
||
*
|
||
* Most settings should be make between including this file and the call
|
||
* to enableSemantics(). Exceptions that need to be set before are
|
||
* documented below.
|
||
*
|
||
* @codeCoverageIgnore
|
||
*/
|
||
if ( !defined( 'MEDIAWIKI' ) ) {
|
||
die( "This file is part of the Semantic MediaWiki extension. It is not a valid entry point.\n" );
|
||
}
|
||
|
||
return ( static function () {
|
||
SemanticMediaWiki::setupDefines();
|
||
$smwgIP = dirname( __DIR__ ) . '/';
|
||
return [
|
||
|
||
# ##
|
||
# This is the path to your installation of Semantic MediaWiki as seen on your
|
||
# local filesystem. Used against some PHP file path issues.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgIP' => $smwgIP,
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgExtraneousLanguageFileDir' => $smwgIP . '/i18n/extra',
|
||
'smwgServicesFileDir' => $smwgIP . '/src/Services',
|
||
'smwgResourceLoaderDefFiles' => [ 'smw' => $smwgIP . '/res/Resources.php' ],
|
||
'smwgMaintenanceDir' => $smwgIP . '/maintenance',
|
||
'smwgDir' => $smwgIP,
|
||
# #
|
||
|
||
###
|
||
# Configuration directory
|
||
# @see #3506
|
||
#
|
||
# The maintained directory needs to be writable in order for configuration
|
||
# information to be stored persistently and be accessible for Semantic
|
||
# MediaWiki throughout its operation.
|
||
#
|
||
# You may assign the same directory as in `wgUploadDirectory` (e.g
|
||
# $smwgConfigFileDir = $wgUploadDirectory;) or select an entire different
|
||
# location. The default location is the Semantic MediaWiki extension root.
|
||
#
|
||
# During its operation it may contain:
|
||
# - `.smw.json`
|
||
# - `.smw.maintenance.json`
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgConfigFileDir' => $smwgIP,
|
||
# #
|
||
|
||
###
|
||
# Upgrade key
|
||
#
|
||
# This key verifies that a correct upgrade (update.php/setupStore.php) path
|
||
# was selected and hereby ensures a consistent DB setup.
|
||
#
|
||
# Whenever a DB table change occurs, modify the key value (e.g. `smw:20...`)
|
||
# to reflect the requirement for the client to follow the processes as
|
||
# outlined in the installation manual.
|
||
#
|
||
# Once the installer is run, the `.smw.json` will be updated and no longer
|
||
# cause any exception.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgUpgradeKey' => 'smw:2020-04-18',
|
||
# #
|
||
|
||
###
|
||
# Content import
|
||
#
|
||
# Controls the content import directory and version that is expected to be
|
||
# imported during the setup process.
|
||
#
|
||
# For all legitimate files in `smwgImportFileDirs`, the import is initiated
|
||
# if the `smwgImportReqVersion` compares with the declared version in the file.
|
||
#
|
||
# In case `smwgImportReqVersion` is maintained with `false` then the import
|
||
# is going to be disabled.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgImportFileDirs' => [ 'smw' => $smwgIP . '/data/import' ],
|
||
'smwgImportReqVersion' => 1,
|
||
# #
|
||
|
||
###
|
||
# List of users for import activities
|
||
#
|
||
# Users listed here are to be used exclusively for the import task and can
|
||
# depending on the specific protection level lock certain content from being
|
||
# altered by any other user.
|
||
#
|
||
# The protection is only enabled when a specific import content has defined
|
||
# the `import_performer` with a listed user.
|
||
#
|
||
# @since 3.2
|
||
# @default []
|
||
##
|
||
'smwgImportPerformers' => [ 'SemanticMediaWikiImporter' ],
|
||
# #
|
||
|
||
###
|
||
# Allows to ignore the check for whether the extension was correctly enabled
|
||
# or not. It will display an error message on `Special:Version` in case it was
|
||
# not.
|
||
#
|
||
# SMW 3.2 added an additional validation to check that `wfLoadExtension(
|
||
# 'SemanticMediaWiki')` isn't used given its conflict with `enableSemantics`.
|
||
# If the setting is set to `false` then this check is disabled as well.
|
||
#
|
||
# To ignore the check and suppress the error, set the value to `true`.
|
||
#
|
||
# @since 3.1
|
||
##
|
||
'smwgIgnoreExtensionRegistrationCheck' => false,
|
||
# #
|
||
|
||
###
|
||
# @since 4.1.3
|
||
##
|
||
'smwgIgnoreUpgradeKeyCheck' => false,
|
||
# #
|
||
|
||
###
|
||
# Use another storage backend for Semantic MediaWiki. The default is suitable
|
||
# for most uses of SMW.
|
||
#
|
||
# @since 0.7
|
||
##
|
||
'smwgDefaultStore' => SMW\SQLStore\SQLStore::class,
|
||
# #
|
||
|
||
##
|
||
# Debug logger role
|
||
#
|
||
# A role (developer, user, production) defines the detail of information
|
||
# (granularity) that are expected to be logged. Roles include:
|
||
#
|
||
# - `developer` outputs any loggable event produced by SMW
|
||
# - `user` outputs certain events deemed important
|
||
# - `production` outputs a minimal set of events produced by SMW
|
||
#
|
||
# Logging only happens in case `$wgDebugLogFile` or `$wgDebugLogGroups`
|
||
# are actively maintained.
|
||
#
|
||
# @see https://www.mediawiki.org/wiki/Manual:How_to_debug#Logging
|
||
#
|
||
# @since 3.0
|
||
# @default production
|
||
##
|
||
'smwgDefaultLoggerRole' => 'production',
|
||
# #
|
||
|
||
###
|
||
# Local connection configurations
|
||
#
|
||
# Allows to modify connection characteristics for providers that are used by
|
||
# Semantic MediaWiki.
|
||
#
|
||
# Changes to these settings should ONLY be made by trained professionals to
|
||
# avoid unexpected or unanticipated results when using connection handlers.
|
||
#
|
||
# Available DB index as provided by MediaWiki:
|
||
#
|
||
# - DB_REPLICA (1.27.4+)
|
||
# - DB_PRIMARY
|
||
#
|
||
# @since 2.5.3
|
||
##
|
||
'smwgLocalConnectionConf' => [
|
||
'mw.db' => [
|
||
'read' => DB_REPLICA,
|
||
'write' => DB_PRIMARY
|
||
],
|
||
'mw.db.queryengine' => [
|
||
'read' => DB_REPLICA,
|
||
'write' => DB_PRIMARY
|
||
]
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Configure SPARQL database connection for Semantic MediaWiki. This is used
|
||
# when SPARQL-based features are enabled, e.g. when using SPARQLStore as
|
||
# the $smwgDefaultStore.
|
||
#
|
||
# The default class GenericRepositoryConnector works with many databases that support
|
||
# SPARQL and SPARQL Update. Three different endpoints (service URLs) are given
|
||
# - query (reading queries like SELECT)
|
||
# - update (SPARQL Update queries), and
|
||
# - data (SPARQL HTTP Protocol for Graph Management).
|
||
#
|
||
# The query endpoint is necessary, but the update and data endpoints can be
|
||
# omitted if not supported.
|
||
#
|
||
# This will lead to reduced functionality (e.g. the SPARQLStore will not
|
||
# work if Update is not available). The data endpoint is always optional, but
|
||
# in some SPARQL databases this method is more efficient than update.
|
||
#
|
||
# @since 1.6
|
||
##
|
||
'smwgSparqlEndpoint' => [
|
||
'query' => 'http://localhost:8080/sparql/',
|
||
'update' => 'http://localhost:8080/update/',
|
||
'data' => 'http://localhost:8080/data/'
|
||
],
|
||
# #
|
||
|
||
###
|
||
#
|
||
# The default graph is similar to a database name in relational databases. It
|
||
# can be set to any URI (e.g. the main page uri of your wiki with
|
||
# " #graph" appended). Leaving the default graph URI empty only works if the
|
||
# store is configure to use some default default graph or if it generally
|
||
# supports this. Different wikis should normally use different default graphs
|
||
# unless there is a good reason to share one graph.
|
||
#
|
||
# @since 1.7
|
||
##
|
||
'smwgSparqlDefaultGraph' => '',
|
||
# #
|
||
|
||
##
|
||
# Sparql repository connector
|
||
#
|
||
# Identifies a pre-deployed repository connector that is ought to be used together
|
||
# with the SPARQLStore.
|
||
#
|
||
# List of standard connectors ($smwgSparqlCustomConnector will have no effect):
|
||
# - '4store'
|
||
# - 'blazegraph'
|
||
# - 'fuseki'
|
||
# - 'sesame'
|
||
# - 'virtuoso'
|
||
#
|
||
# In case `$smwgSparqlRepositoryConnector` is maintained with 'custom',
|
||
# the `$smwgSparqlCustomConnector` is expected to contain a custom class
|
||
# implementing the necessary interface (see `GenericRepositoryConnector`).
|
||
#
|
||
# `$smwgSparqlCustomConnector` is only used for the definition of a custom
|
||
# connector.
|
||
#
|
||
# @since 2.0
|
||
# @default default, meaning that the default (aka generic) connector is used
|
||
##
|
||
'smwgSparqlRepositoryConnector' => 'default',
|
||
# #
|
||
|
||
##
|
||
# Sparql cutstom connector
|
||
#
|
||
# In case `$smwgSparqlRepositoryConnector` is maintained with 'custom',
|
||
# the `$smwgSparqlCustomConnector` is expected to contain a custom class
|
||
# implementing the necessary interface (see `GenericRepositoryConnector`).
|
||
#
|
||
# `$smwgSparqlCustomConnector` is only used for the definition of a custom
|
||
# connector.
|
||
#
|
||
# @since 2.0
|
||
##
|
||
'smwgSparqlCustomConnector' => '\SMW\SPARQLStore\RepositoryConnectors\GenericRepositoryConnector',
|
||
# #
|
||
|
||
##
|
||
# Sparql query features that are expected to be supported by the repository:
|
||
#
|
||
# - SMW_SPARQL_QF_NONE does not support any features (as required by SPARQL 1.1)
|
||
# - SMW_SPARQL_QF_REDI to support finding redirects using inverse property paths,
|
||
# can only be used for repositories with full SPARQL 1.1 support (e.g. Fuseki,
|
||
# Sesame)
|
||
# - SMW_SPARQL_QF_SUBP to resolve subproperties
|
||
# - SMW_SPARQL_QF_SUBC to resolve subcategories
|
||
#
|
||
# - SMW_SPARQL_QF_COLLATION allows to add support for the sorting collation as
|
||
# maintained in $smwgEntityCollation.
|
||
#
|
||
# - SMW_SPARQL_QF_NOCASE to support case insensitive pattern matches
|
||
#
|
||
# Please check with your repository provider whether SPARQL 1.1 is fully
|
||
# supported or not, and if not SMW_SPARQL_QF_NONE should be set.
|
||
#
|
||
# @since 2.3
|
||
##
|
||
'smwgSparqlQFeatures' => SMW_SPARQL_QF_REDI | SMW_SPARQL_QF_SUBP | SMW_SPARQL_QF_SUBC,
|
||
# #
|
||
|
||
##
|
||
# SPARQL respository specific features
|
||
#
|
||
# - SMW_SPARQL_NONE does not support any features
|
||
#
|
||
# - SMW_SPARQL_CONNECTION_PING to support the verifcation that a connection
|
||
# can be established and allows for an uninterruppted update and query
|
||
# process
|
||
#
|
||
# @since 3.2
|
||
##
|
||
'smwgSparqlRepositoryFeatures' => SMW_SPARQL_NONE,
|
||
# #
|
||
|
||
##
|
||
# @see https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/1306
|
||
#
|
||
# Setting to explicitly force a CURLOPT_HTTP_VERSION for the endpoint communication
|
||
# and should not be changed unless an error as in #1306 was encountered.
|
||
#
|
||
# @see http://curl.haxx.se/libcurl/c/CURLOPT_HTTP_VERSION.html reads "... libcurl
|
||
# to use the specific HTTP versions. This is not sensible to do unless you have
|
||
# a good reason.""
|
||
#
|
||
# @since 2.3
|
||
# @default false === means to use the default as determined by cURL
|
||
##
|
||
'smwgSparqlRepositoryConnectorForcedHttpVersion' => false,
|
||
# #
|
||
|
||
##
|
||
# Property replication exemption list
|
||
#
|
||
# Listed properties will be exempted from the replication process for a
|
||
# registered SPARQL repository.
|
||
#
|
||
# @since 2.5
|
||
# @default array
|
||
##
|
||
'smwgSparqlReplicationPropertyExemptionList' => [],
|
||
# #
|
||
|
||
###
|
||
# If you already have custom namespaces on your site, insert
|
||
# 'smwgNamespaceIndex' => ???,
|
||
# into your LocalSettings.php *before* including this file. The number ??? must
|
||
# be the smallest even namespace number that is not in use yet. However, it
|
||
# must not be smaller than 100.
|
||
#
|
||
# @since 1.6
|
||
##
|
||
# 'smwgNamespaceIndex' => 100,
|
||
##
|
||
|
||
###
|
||
# Overwriting the following array, you can define for which namespaces
|
||
# the semantic links and annotations are to be evaluated. On other
|
||
# pages, annotations can be given but are silently ignored. This is
|
||
# useful since, e.g., talk pages usually do not have attributes and
|
||
# the like. In fact, is is not obvious what a meaningful attribute of
|
||
# a talk page could be. Pages without annotations will also be ignored
|
||
# during full RDF export, unless they are referred to from another
|
||
# article.
|
||
#
|
||
# @since 0.7
|
||
##
|
||
'smwgNamespacesWithSemanticLinks' => [
|
||
NS_MAIN => true,
|
||
NS_TALK => false,
|
||
NS_USER => true,
|
||
NS_USER_TALK => false,
|
||
NS_PROJECT => true,
|
||
NS_PROJECT_TALK => false,
|
||
NS_FILE => true,
|
||
NS_FILE_TALK => false,
|
||
NS_MEDIAWIKI => false,
|
||
NS_MEDIAWIKI_TALK => false,
|
||
NS_TEMPLATE => false,
|
||
NS_TEMPLATE_TALK => false,
|
||
NS_HELP => true,
|
||
NS_HELP_TALK => false,
|
||
NS_CATEGORY => true,
|
||
NS_CATEGORY_TALK => false,
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Specifies features supported by the in-page factbox
|
||
#
|
||
# - SMW_FACTBOX_CACHE to use the main cache to avoid reparsing the content on
|
||
# each page view (replaced smwgFactboxUseCache)
|
||
#
|
||
# - SMW_FACTBOX_PURGE_REFRESH to refresh the faxtbox content on the purge
|
||
# event (replaced smwgFactboxCacheRefreshOnPurge)
|
||
#
|
||
# - SMW_FACTBOX_DISPLAY_SUBOBJECT displays subobject references
|
||
#
|
||
# - SMW_FACTBOX_DISPLAY_ATTACHMENT displays attachment list
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgFactboxFeatures' => SMW_FACTBOX_CACHE | SMW_FACTBOX_PURGE_REFRESH | SMW_FACTBOX_DISPLAY_SUBOBJECT | SMW_FACTBOX_DISPLAY_ATTACHMENT,
|
||
|
||
# ##
|
||
# This setting allows you to select in which cases you want to have a factbox
|
||
# appear below an article and includes the following options:
|
||
#
|
||
# - SMW_FACTBOX_NONEMPTY show only those factboxes that have some content
|
||
# - SMW_FACTBOX_SPECIAL show only if special properties were set
|
||
# - SMW_FACTBOX_HIDDEN hide always
|
||
# - SMW_FACTBOX_SHOWN show always
|
||
#
|
||
# @note The Magic Words __SHOWFACTBOX__ and __HIDEFACTBOX__ can be used to
|
||
# control Factbox display for individual pages.
|
||
#
|
||
# @since 0.7
|
||
##
|
||
'smwgShowFactbox' => SMW_FACTBOX_HIDDEN,
|
||
# #
|
||
|
||
###
|
||
# Same as $smwgShowFactbox but for the edit mode with same possible values.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgShowFactboxEdit' => SMW_FACTBOX_NONEMPTY,
|
||
# #
|
||
|
||
###
|
||
# Compact infolink support
|
||
#
|
||
# Special:Browse, Special:Ask, and Special:SearchByProperty links can contain
|
||
# arbitrary text elements and therefore become difficult to transfer when its
|
||
# length exceeds a certain character length.
|
||
#
|
||
# The experimental feature of a compact link will be encoded and compressed to
|
||
# ensure that it can be handled more easily when referring to it as an URL
|
||
# representation.
|
||
#
|
||
# It is not expected to be used as a short-url service, yet in some instances
|
||
# the generate URL can be comparatively shorter than the plain URL.
|
||
#
|
||
# The generated link has no security relevance therefore is is not
|
||
# cryptographically hashed or secure and should not be seen as such, it is
|
||
# foremost to "compact" an URL address.
|
||
#
|
||
# @since 3.0
|
||
# @default true
|
||
##
|
||
'smwgCompactLinkSupport' => false,
|
||
# #
|
||
|
||
###
|
||
#
|
||
# - SMW_CAT_NONE
|
||
#
|
||
# - SMW_CAT_REDIRECT: resolves redirects and errors in connection with categories
|
||
#
|
||
# - SMW_CAT_INSTANCE: Should category pages that use some [[Category:Foo]]
|
||
# statement be treated as elements of the category Foo? If disabled, then
|
||
# it is not possible to make category pages elements of other categories.
|
||
# See also SMW_CAT_HIERARCHY. (was $smwgCategoriesAsInstances)
|
||
#
|
||
# - SMW_CAT_HIERARCHY: Should a subcategory be considered a hierarchy element
|
||
# in the annotation process? If set to true, subcategories will always be
|
||
# interpreted as subclasses and automatically annotated with
|
||
# `Subcategory of`. (was $smwgUseCategoryHierarchy)
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgCategoryFeatures' => SMW_CAT_REDIRECT | SMW_CAT_INSTANCE | SMW_CAT_HIERARCHY,
|
||
# #
|
||
|
||
###
|
||
# Settings for recurring events, created with the #set_recurring_event parser
|
||
# function: the default number of instances defined, if no end date is set,
|
||
# and the maximum number that can be defined, regardless of end date.
|
||
#
|
||
# @since 1.4.3
|
||
##
|
||
'smwgDefaultNumRecurringEvents' => 100,
|
||
'smwgMaxNumRecurringEvents' => 500,
|
||
# #
|
||
|
||
###
|
||
# Special:Browse related settings
|
||
#
|
||
# - SMW_BROWSE_NONE
|
||
#
|
||
# - SMW_BROWSE_TLINK: Should the toolbox of each content page show a link
|
||
# to browse the properties of that page using Special:Browse? This is a
|
||
# useful way to access properties and it is somewhat more subtle than
|
||
# showing a Factbox on every page. (was $smwgToolboxBrowseLink)
|
||
#
|
||
# - SMW_BROWSE_SHOW_INVERSE: Should the browse view for incoming links show
|
||
# the incoming links via its inverses, or shall they be displayed on the
|
||
# other side? (was $smwgBrowseShowInverse)
|
||
#
|
||
# - SMW_BROWSE_SHOW_INCOMING: Should the browse view always show the incoming links
|
||
# as well, and more of the incoming values? (was $smwgBrowseShowAll)
|
||
#
|
||
# - SMW_BROWSE_SHOW_GROUP: Should the browse view create group sections for
|
||
# properties that belong to the same property group?
|
||
#
|
||
# - SMW_BROWSE_SHOW_SORTKEY: Should the sortkey be displayed?
|
||
#
|
||
# - SMW_BROWSE_USE_API: Whether the browse display is to be generated using
|
||
# an API request or not. (was $smwgBrowseByApi)
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgBrowseFeatures' => SMW_BROWSE_TLINK | SMW_BROWSE_SHOW_INCOMING | SMW_BROWSE_SHOW_GROUP | SMW_BROWSE_USE_API,
|
||
# #
|
||
|
||
###
|
||
# Should the search by property special page display nearby results when there
|
||
# are only a few results with the exact value? Switch this off if this page has
|
||
# performance problems.
|
||
#
|
||
# @since 2.1 enabled default types, to disable the functionality either set the
|
||
# variable to array() or false
|
||
##
|
||
'smwgSearchByPropertyFuzzy' => [ '_num', '_txt', '_dat', '_mlt_rec' ],
|
||
# #
|
||
|
||
###
|
||
# Number of results shown in the listings on pages in the Property and Concept
|
||
# namespaces as well as other services that require a limit.
|
||
#
|
||
# If a value of 0 is given, the respective listings are hidden completely.
|
||
#
|
||
# - `type` used for `Special:Types` (was $smwgTypePagingLimit)
|
||
# - `errorlist` used for `Special:ProcessingErrorList`
|
||
# - `concept` (was $smwgConceptPagingLimit)
|
||
# - `property` (was $smwgPropertyPagingLimit)
|
||
#
|
||
# Special:Browse
|
||
# - `valuelist.outgoingt` outgoing value list count
|
||
# - `valuelist.incoming` incoming value list count
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgPagingLimit' => [
|
||
'type' => 50,
|
||
'concept' => 250,
|
||
'property' => 20,
|
||
'errorlist' => 20,
|
||
|
||
// Special:Browse
|
||
'browse' => [
|
||
'valuelist.outgoing' => 30,
|
||
'valuelist.incoming' => 20,
|
||
]
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Property page to limit the query request for individual values
|
||
#
|
||
# How many values should at most be displayed for a page on the Property
|
||
# page and if large values are desired, consider reducing
|
||
# $smwgPropertyPagingLimit for better performance.
|
||
#
|
||
# @since 1.3
|
||
##
|
||
'smwgMaxPropertyValues' => 3,
|
||
# #
|
||
|
||
###
|
||
# Property page list limits
|
||
#
|
||
# 'subproperty' limit the query request on subproperties
|
||
# 'redirect' limit the query request on redirects
|
||
# 'error' limit the query request on improper assignments
|
||
#
|
||
# `false` as value assignment will disable the display of a selected list
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgPropertyListLimit' => [
|
||
'subproperty' => 25,
|
||
'redirect' => 25,
|
||
'error' => 10
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Settings for inline queries ({{#ask:...}}) and for semantic queries in
|
||
# general. This can especially be used to prevent overly high server-load due
|
||
# to complex queries. The following settings affect all queries, wherever they
|
||
# occur.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgQEnabled' => true, // (De)activates all query related features and interfaces
|
||
'smwgQMaxLimit' => 10000, // Max number of results *ever* retrieved, even when using special query pages.
|
||
#
|
||
# @since 1.5
|
||
##
|
||
// Should queries be executed even if some errors were detected?
|
||
'smwgIgnoreQueryErrors' => true,
|
||
// A hint that points out errors is shown in any case.
|
||
##
|
||
#
|
||
# @since 1.0
|
||
##
|
||
// Restrict level of sub-category inclusion (steps within category hierarchy)
|
||
'smwgQSubcategoryDepth' => 10,
|
||
// Restrict level of sub-property inclusion (steps within property hierarchy)
|
||
'smwgQSubpropertyDepth' => 10,
|
||
// (Use 0 to disable hierarchy-inferencing in queries)
|
||
'smwgQDefaultNamespaces' => null, // Which namespaces should be searched by default?
|
||
// (value NULL switches off default restrictions on searching -- this is faster)
|
||
// Example with namespaces: 'smwgQDefaultNamespaces' => array(NS_MAIN, NS_FILE)
|
||
|
||
##
|
||
# Evaluate #redirects
|
||
#
|
||
# - SMW_EQ_NONE: Never evaluate #redirects as equality between page names
|
||
#
|
||
# - SMW_EQ_SOME: Evaluate #redirects as equality between page names, with
|
||
# possible performance-relevant restrictions depending on the storage
|
||
# engine
|
||
#
|
||
# - SMW_EQ_FULL: Evaluate #redirects as equality between page names in all
|
||
# cases
|
||
#
|
||
# @since 1.0
|
||
# @default: SMW_EQ_SOME
|
||
##
|
||
'smwgQEqualitySupport' => SMW_EQ_SOME,
|
||
# #
|
||
|
||
###
|
||
# Sort features
|
||
#
|
||
# - SMW_QSORT_NONE
|
||
#
|
||
# - SMW_QSORT: General sort support for query results (was
|
||
# $smwgQSortingSupport)
|
||
#
|
||
# - SMW_QSORT_RANDOM: Random sorting support for query results (was
|
||
# $smwgQRandSortingSupport)
|
||
#
|
||
# - SMW_QSORT_UNCONDITIONAL: Allows an unconditional sort of results even if
|
||
# the property doesn't exists as part of the result set (#2823). The option
|
||
# isn't implemented for the SPARQLStore and the ElasticStore requires
|
||
# the `sort.property.must.exists` to be diabled to reflect the same sorting
|
||
# characteristics as with this setting enabled.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgQSortFeatures' => SMW_QSORT | SMW_QSORT_RANDOM,
|
||
# #
|
||
|
||
###
|
||
# List of comparator characters
|
||
#
|
||
# Comparators supported by queries with available entries being:
|
||
#
|
||
# < (smaller than) if $smwStrictComparators is false, it's actually smaller
|
||
# than or equal to
|
||
# > (greater than) if $smwStrictComparators is false, it's actually bigger
|
||
# than or equal to
|
||
# ! (unequal to)
|
||
# ~ (pattern with '*' as wildcard)
|
||
# !~ (not a pattern with '*' as wildcard, only for Type:String, need to be
|
||
# placed before ! and ~ to work correctly)
|
||
# ≤ (smaller than or equal to)
|
||
# ≥ (greater than or equal to)
|
||
#
|
||
# Extra compartors that in case of an enabled full-text index uses the primary
|
||
# LIKE/NLIKE match operation with operators being:
|
||
#
|
||
# like: to express LIKE use
|
||
# nlike: to express NLIKE use
|
||
#
|
||
# If unsupported comparators are used, they are treated as part of the
|
||
# queried value.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgQComparators' => '<|>|!~|!|~|≤|≥|<<|>>|~=|like:|nlike:|in:|not:|phrase:',
|
||
# #
|
||
|
||
###
|
||
# Sets whether the > and < comparators should be strict or not. If they are strict,
|
||
# values that are equal will not be accepted.
|
||
#
|
||
# @since 1.5.3
|
||
##
|
||
'smwStrictComparators' => false,
|
||
|
||
// To be used starting with 3.x (due to misspelling)
|
||
'smwgQStrictComparators' => false,
|
||
# #
|
||
|
||
###
|
||
# Further settings for queries. The following settings affect inline queries
|
||
# and querying special pages. Essentially they should mirror the kind of
|
||
# queries that should immediately be answered by the wiki, using whatever
|
||
# computations are needed.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgQMaxSize' => 16, // Maximal number of conditions in queries, use format=debug for example sizes
|
||
'smwgQMaxDepth' => 4, // Maximal property depth of queries, e.g. [[rel::<q>[[rel2::Test]]</q>]] has depth 2
|
||
##
|
||
|
||
###
|
||
# Expensive threshold
|
||
#
|
||
# The threshold defined in seconds denotes the ceiling as to when a #ask or
|
||
# #show call is classified as expensive and will count towards the
|
||
# $smwgQExpensiveExecutionLimit setting.
|
||
#
|
||
# @since 3.0
|
||
# @default 10
|
||
##
|
||
'smwgQExpensiveThreshold' => 10,
|
||
# #
|
||
|
||
###
|
||
# Limit of expensive #ask/#show functions
|
||
#
|
||
# The limit will count all classified #ask/#show parser functions and restricts
|
||
# further use on pages that exceed that limit.
|
||
#
|
||
# @since 3.0
|
||
# @default false (== no limit)
|
||
##
|
||
'smwgQExpensiveExecutionLimit' => false,
|
||
# #
|
||
|
||
###
|
||
# The below setting defines which query features should be available by
|
||
# default.
|
||
#
|
||
# Examples:
|
||
# only cateory intersections: 'smwgQFeatures' => SMW_CATEGORY_QUERY | SMW_CONJUNCTION_QUERY,
|
||
# only single concepts: 'smwgQFeatures' => SMW_CONCEPT_QUERY,
|
||
# anything but disjunctions: 'smwgQFeatures' => SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY,
|
||
# The default is to support all basic features.
|
||
#
|
||
# @since 1.2
|
||
##
|
||
'smwgQFeatures' => SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY | SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY,
|
||
# #
|
||
|
||
###
|
||
# Filter duplicate query segments
|
||
#
|
||
# Experimental feature that allows to filter duplicate query segments from the
|
||
# query build process to eliminate computational effort for segments that
|
||
# represent that same query signature.
|
||
#
|
||
# @since 2.5
|
||
# @default: false
|
||
##
|
||
'smwgQFilterDuplicates' => false,
|
||
# #
|
||
|
||
###
|
||
# Settings about printout of (especially inline) queries:
|
||
#
|
||
# @since 1.0
|
||
##
|
||
'smwgQDefaultLimit' => 50, // Default number of rows returned in a query. Can be increased with limit=num in #ask
|
||
'smwgQMaxInlineLimit' => 500, // Max number of rows ever printed in a single inline query on a single page.
|
||
'smwgQPrintoutLimit' => 100, // Max number of supported printouts (added columns in result table, ?-statements)
|
||
'smwgQDefaultLinking' => 'all', // Default linking behavior. Can be one of "none", "subject" (first column), "all".
|
||
#
|
||
# @since 2.1
|
||
##
|
||
'smwgQUpperbound' => 5000, // Max number of rows ever printed in a single inline query on a single page with an offset.
|
||
##
|
||
|
||
###
|
||
# Further settings for queries. The following settings affect queries that are
|
||
# part of concept pages. These are usually chosen to be les restricted than
|
||
# inline queries, since there are two other means for controling their use:
|
||
# (1) Concept queries that would not be allowed as normal queries will not be
|
||
# executed directly, but can use pre-computed results instead. This is the
|
||
# default.
|
||
# (2) The whole Concept: namespace can be restricted (using some suitable
|
||
# MediaWiki extension) to an experienced user group that may create more
|
||
# complex queries responably. Other users can employ thus defined concepts in
|
||
# their queries.
|
||
##
|
||
'smwgQConceptCaching' => CONCEPT_CACHE_HARD, // Which concepts should be displayed only if available from cache?
|
||
// CONCEPT_CACHE_ALL -- show concept elements anywhere only if they are cached
|
||
// CONCEPT_CACHE_HARD -- show without cache if concept is not harder than permitted inline queries
|
||
// CONCEPT_CACHE_NONE -- show all concepts even without any cache
|
||
// In any cases, caches will always be used if available.
|
||
'smwgQConceptMaxSize' => 20, // Same as $smwgQMaxSize, but for concepts
|
||
'smwgQConceptMaxDepth' => 8, // Same as $smwgQMaxDepth, but for concepts
|
||
|
||
// Same as $smwgQFeatures but for concepts
|
||
'smwgQConceptFeatures' => SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_NAMESPACE_QUERY |
|
||
SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY | SMW_CONCEPT_QUERY,
|
||
|
||
// Cache life time in minutes. If a concept cache exists but is older than
|
||
// this, SMW tries to recompute it, and will only use the cache if this is not
|
||
// allowed due to settings above:
|
||
'smwgQConceptCacheLifetime' => 24 * 60,
|
||
# #
|
||
|
||
##
|
||
# Predefined result formats for queries
|
||
#
|
||
# Array of available formats for formatting queries. Can be redefined in
|
||
# the settings to disallow certain formats or to register extension formats.
|
||
# To disable a format, do "unset($smwgResultFormats['template'])," Disabled
|
||
# formats will be treated like if the format parameter had been omitted. The
|
||
# formats 'table' and 'list' are defaults that cannot be disabled. The format
|
||
# 'broadtable' should not be disabled either in order not to break Special:ask.
|
||
##
|
||
'smwgResultFormats' => [
|
||
'table' => 'SMW\Query\ResultPrinters\TableResultPrinter',
|
||
'broadtable' => 'SMW\Query\ResultPrinters\TableResultPrinter',
|
||
'list' => 'SMW\Query\ResultPrinters\ListResultPrinter',
|
||
'plainlist' => 'SMW\Query\ResultPrinters\ListResultPrinter',
|
||
'ol' => 'SMW\Query\ResultPrinters\ListResultPrinter',
|
||
'ul' => 'SMW\Query\ResultPrinters\ListResultPrinter',
|
||
'category' => 'SMW\Query\ResultPrinters\CategoryResultPrinter',
|
||
'embedded' => 'SMW\Query\ResultPrinters\EmbeddedResultPrinter',
|
||
'template' => 'SMW\Query\ResultPrinters\ListResultPrinter',
|
||
'count' => 'SMW\Query\ResultPrinters\NullResultPrinter',
|
||
'debug' => 'SMW\Query\ResultPrinters\NullResultPrinter',
|
||
'feed' => 'SMW\Query\ResultPrinters\FeedExportPrinter',
|
||
'csv' => 'SMW\Query\ResultPrinters\CsvFileExportPrinter',
|
||
'templatefile' => 'SMW\Query\ResultPrinters\TemplateFileExportPrinter',
|
||
'dsv' => 'SMW\Query\ResultPrinters\DsvResultPrinter',
|
||
'json' => 'SMW\Query\ResultPrinters\JsonResultPrinter',
|
||
'rdf' => 'SMW\Query\ResultPrinters\RdfResultPrinter'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Predefined aliases for result formats
|
||
#
|
||
# Array of available aliases for result formats. Can be redefined in
|
||
# the settings to disallow certain aliases or to register extension aliases.
|
||
# To disable an alias, do "unset($smwgResultAliases['alias'])," Disabled
|
||
# aliases will be treated like if the alias parameter had been omitted.
|
||
#
|
||
# @since 1.8
|
||
##
|
||
'smwgResultAliases' => [
|
||
'feed' => [ 'rss' ],
|
||
'templatefile' => [ 'template file' ],
|
||
'plainlist' => [ 'plain' ]
|
||
],
|
||
# #
|
||
|
||
/**
|
||
* Affects format=list.
|
||
*
|
||
* When set to false (the default), format=list will result in lists with HTML markup.
|
||
* In this case you can get a plain list via format=plainlist.
|
||
*
|
||
* To also get plain lists (without HTML markup) when using format=list, set this setting to true.
|
||
* In SMW versions older than 3.0 format=list always resulted in a plain list, so this setting allows restoring old behavior.
|
||
*
|
||
* @since 3.1.2
|
||
*/
|
||
'smwgPlainList' => false,
|
||
|
||
# #
|
||
# Result printer features
|
||
#
|
||
# - SMW_RF_NONE
|
||
# - SMW_RF_TEMPLATE_OUTSEP, #2022 (use the sep parameter as outer separator)
|
||
#
|
||
# @since 2.3
|
||
##
|
||
'smwgResultFormatsFeatures' => SMW_RF_TEMPLATE_OUTSEP,
|
||
# #
|
||
|
||
###
|
||
# Handling of `RemoteRequest` features
|
||
#
|
||
# - SMW_REMOTE_REQ_SEND_RESPONSE allows Special:Ask to respond to remote requests in
|
||
# combination with $smwgQuerySources and the `RemoteRequest`.
|
||
#
|
||
# - SMW_REMOTE_REQ_SHOW_NOTE shows a note for each remote requests so users are aware
|
||
# that results retrieved from an external source.
|
||
#
|
||
# If `$smwgQuerySources` contains no entries then a remote request to a source
|
||
# is not supported and only sources that are available through the setting
|
||
# can be selected as remote source.
|
||
#
|
||
# @since 3.0
|
||
# @default: SMW_REMOTE_REQ_SEND_RESPONSE | SMW_REMOTE_REQ_SHOW_NOTE
|
||
##
|
||
'smwgRemoteReqFeatures' => SMW_REMOTE_REQ_SEND_RESPONSE | SMW_REMOTE_REQ_SHOW_NOTE,
|
||
# #
|
||
|
||
###
|
||
#
|
||
# Predefined list of sources that can return query results
|
||
#
|
||
# Array of available sources for answering queries. Can be redefined in
|
||
# the settings to register new sources (usually an extension will do so
|
||
# on installation). Unknown source will be rerouted to the local wiki.
|
||
# Note that the basic installation comes with no additional source besides
|
||
# the local source (which in turn cannot be disabled or set explicitly).
|
||
#
|
||
# A query class handler is required to implement the `QueryEngine` interface
|
||
# and if it needs to be aware of the store, it should also implement the
|
||
# `StoreAware` interface.
|
||
#
|
||
# @since 1.4.3
|
||
##
|
||
'smwgQuerySources' => [
|
||
// 'local' => '',
|
||
// 'mw-wiki-foo' => [ '\SMW\Query\RemoteRequest', 'url' => 'http://example.org/wiki/index.php' ],
|
||
],
|
||
# #
|
||
|
||
### Default property type
|
||
# Undefined properties (those without pages or whose pages have no "has type"
|
||
# statement) will be assumed to be of this type. This is an internal type id.
|
||
# See the file languages/SMW_LanguageXX.php to find what IDs to use for
|
||
# datatpyes in your language. The default corresponds to "Type:Page".
|
||
#
|
||
# @since 1.1.2
|
||
##
|
||
'smwgPDefaultType' => '_wpg',
|
||
# #
|
||
|
||
###
|
||
# The maximal number that SMW will normally display without using scientific exp
|
||
# notation. The deafult is rather large since some users have problems understanding
|
||
# exponents. Scineitfic applications may prefer a smaller value for concise display.
|
||
#
|
||
# @since 1.4.3
|
||
##
|
||
'smwgMaxNonExpNumber' => 1000000000000000,
|
||
# #
|
||
|
||
###
|
||
# SMW defers some tasks until after a page was edited by using the MediaWiki
|
||
# job queueing system (see https://www.mediawiki.org/wiki/Manual:Job_queue).
|
||
# For example, when the type of a property is changed, all affected pages will
|
||
# be scheduled for (later) update. If a wiki generates too many jobs in this
|
||
# way (Special:Statistics and "showJobs.php" can be used to check that), the
|
||
# following setting can be used to disable jobs. Note that this will cause some
|
||
# parts of the semantic data to get out of date, so that manual modifications
|
||
# or the use of SMW_refreshData.php might be needed.
|
||
#
|
||
# @since 1.1.2
|
||
##
|
||
'smwgEnableUpdateJobs' => true,
|
||
# #
|
||
|
||
###
|
||
# JobQueue watchlist
|
||
#
|
||
# This setting allows to display a personal bar link that shows the queue
|
||
# sizes for listed jobs. The information presented is fetched from the
|
||
# MediaWiki API and might be slightly inaccurate but should allow to make
|
||
# assumptions as to where the system needs attention.
|
||
#
|
||
# @see https://www.mediawiki.org/wiki/Manual:Job_queue#Special:Statistics
|
||
#
|
||
# To make this feature available, assign a simple list to the setting as in:
|
||
#
|
||
# $GLOBALS['smwgJobQueueWatchlist'] = [
|
||
# 'smw.update',
|
||
# 'smw.parserCachePurge',
|
||
# 'smw.fulltextSearchTableUpdate',
|
||
# 'smw.changePropagationUpdate'
|
||
# ]
|
||
#
|
||
# Information are not displayed unless a user enables the setting in his or
|
||
# her preference setting.
|
||
#
|
||
# @since 3.0
|
||
# @default disabled (empty array)
|
||
##
|
||
'smwgJobQueueWatchlist' => [],
|
||
# #
|
||
|
||
###
|
||
# List of enabled special page properties.
|
||
#
|
||
# - `_MDAT` Modification date is enabled by default for backward compatibility.
|
||
# - `_TRANS` Add annotations (language, source etc. ) when a page is
|
||
# indentified as translation page (as done by the Translation extension)
|
||
# - `_ATTCH_LINK` tracks embedded files and images
|
||
#
|
||
# Extend array to enable other properties:
|
||
# $smwgPageSpecialProperties[ => '_CDAT',
|
||
# Or:
|
||
# array_merge( $smwgPageSpecialProperties, array( '_CDAT' ) ),
|
||
# Or rewrite entire array:
|
||
# 'smwgPageSpecialProperties' => array( '_MDAT', '_CDAT' ),
|
||
#
|
||
# However, DO NOT use `+=' operator! This DOES NOT work:
|
||
# $smwgPageSpecialProperties += array( '_MDAT' ),
|
||
#
|
||
# @since 1.7
|
||
##
|
||
'smwgPageSpecialProperties' => [ '_MDAT' ],
|
||
# #
|
||
|
||
###
|
||
# Change propagation watchlist
|
||
#
|
||
# Properties (usually given as internal ids or DB key versions of property
|
||
# titles) that are relevant for declaring the behavior of a property P on a
|
||
# property page in the sense that changing their values requires that all
|
||
# pages that use P must be processed again.
|
||
#
|
||
# For example, if _PVAL (allowed values) for a property change, then pages
|
||
# must be processed again. This setting is not normally changed by users but
|
||
# by extensions that add new types that have their own additional declaration
|
||
# properties.
|
||
#
|
||
# @since 1.5
|
||
##
|
||
'smwgChangePropagationWatchlist' => [
|
||
'_PVAL', '_LIST', '_PVAP', '_PVUC', '_PDESC', '_PPLB', '_PREC', '_PDESC',
|
||
'_SUBP', '_SUBC', '_PVALI'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Change propagation protection
|
||
#
|
||
# An administrative intervention to disable the protection for an active change
|
||
# propagation.
|
||
#
|
||
# @since 3.0
|
||
# @default true
|
||
##
|
||
'smwgChangePropagationProtection' => true,
|
||
# #
|
||
|
||
###
|
||
# By default, DataTypes (Date, URL etc.) are registered with a corresponding
|
||
# property of the same name to match the expected semantics. Yet, users can
|
||
# decide to change the behaviour by exempting listed DataTypes from the property
|
||
# registration process.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgDataTypePropertyExemptionList' => [
|
||
'Record',
|
||
'Reference',
|
||
'Keyword'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Default output formatter
|
||
#
|
||
# Users who want to alter the default output for a specific type can do so by
|
||
# setting a specify default formatter.
|
||
#
|
||
# The expected form is:
|
||
#
|
||
# [ <_typeID> => '<Formatter>' ] OR
|
||
# [ <typeName> => '<Formatter>' ] OR
|
||
# [ <propertyName> => '<Formatter>' ]
|
||
#
|
||
# Only valid formatters will be considered for an individual type, no
|
||
# errors or exceptions are raised in case of an improper formatter.
|
||
#
|
||
# The formatter is applied to values displayed on special pages
|
||
# as well.
|
||
#
|
||
# @since 3.0
|
||
# @default: []
|
||
##
|
||
'smwgDefaultOutputFormatters' => [
|
||
// '_dat' => 'LOCL',
|
||
// 'Boolean' => 'tick',
|
||
],
|
||
# #
|
||
|
||
// some default settings which usually need no modification
|
||
|
||
###
|
||
# -- FEATURE IS DISABLED --
|
||
# Setting this to true allows to translate all the labels within
|
||
# the browser GIVEN that they have interwiki links.
|
||
#
|
||
# @since 0.7
|
||
##
|
||
'smwgTranslate' => false,
|
||
# #
|
||
|
||
###
|
||
# -- FEATURE IS DISABLED --
|
||
# If you want to import ontologies, you need to install RAP,
|
||
# a free RDF API for PHP, see
|
||
# http://wifo5-03.informatik.uni-mannheim.de/bizer/rdfapi/index.html
|
||
# The following is the path to your installation of RAP
|
||
# (the directory where you extracted the files to) as seen
|
||
# from your local filesystem. Note that ontology import is
|
||
# highly experimental at the moment, and may not do what you
|
||
# extect.
|
||
#
|
||
# @since 1.0
|
||
##
|
||
// 'smwgRAPPath' => $smwgIP . 'libs/rdfapi-php',
|
||
// 'smwgRAPPath' => '/another/example/path/rdfapi-php',
|
||
##
|
||
|
||
###
|
||
# List of Special:SemanticMediaWiki (or Special:SMWAdmin) features
|
||
# https://www.semantic-mediawiki.org/wiki/Help:$smwgAdminFeatures
|
||
#
|
||
# - SMW_ADM_REFRESH: to initiate the repairing or updating of all wiki data
|
||
# - SMW_ADM_SETUP: Allows running database installation and upgrade
|
||
# - SMW_ADM_DISPOSAL: Allows access to the "Object ID lookup and disposal"
|
||
# feature and the "Outdated entities disposal"
|
||
# - SMW_ADM_PSTATS: Allows updating property statistics
|
||
# - SMW_ADM_FULLT: Allows rebuilding the fulltext search index
|
||
# - SMW_ADM_MAINTENANCE_SCRIPT_DOCS: Show maintenance scripts documentation tab
|
||
# - SMW_ADM_SHOW_OVERVIEW: Show the Overview tab
|
||
#
|
||
# Maintenance alerts
|
||
#
|
||
# - SMW_ADM_ALERT_LAST_OPTIMIZATION_RUN: Alerts when table optimization is
|
||
# overdue
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgAdminFeatures' =>
|
||
SMW_ADM_REFRESH | SMW_ADM_SETUP | SMW_ADM_DISPOSAL | SMW_ADM_PSTATS | SMW_ADM_FULLT |
|
||
SMW_ADM_MAINTENANCE_SCRIPT_DOCS | SMW_ADM_SHOW_OVERVIEW | SMW_ADM_ALERT_LAST_OPTIMIZATION_RUN,
|
||
# #
|
||
|
||
###
|
||
# Sets whether or not to refresh the pages of which semantic data is stored.
|
||
#
|
||
# @since 1.5.6
|
||
##
|
||
'smwgAutoRefreshSubject' => true,
|
||
# #
|
||
|
||
###
|
||
# Semantic MediaWiki uses various cache instances and types to improve access
|
||
# and re-access to objects. `smwgMainCacheType` identifies the "main" type
|
||
# to be used for a persitent storage to a vendor (SQL, memcache, redis etc.)
|
||
# specific solution.
|
||
#
|
||
# `CACHE_ANYTHING` refers to settings available in `$wgMessageCacheType` or
|
||
# `$wgParserCacheType` if they are set.
|
||
#
|
||
# @see https://www.semantic-mediawiki.org/wiki/Help:Caching
|
||
# @see https://www.mediawiki.org/wiki/$wgMainCacheType
|
||
#
|
||
# @since 3.0
|
||
# @default CACHE_ANYTHING
|
||
##
|
||
'smwgMainCacheType' => CACHE_ANYTHING,
|
||
# #
|
||
|
||
###
|
||
# CacheTTL settings
|
||
#
|
||
# Defines time to live for in Semantic MediaWiki used cache instances and
|
||
# requires $smwgMainCacheType to be set otherwise related settings will have
|
||
# no effect.
|
||
#
|
||
# - special.wantedproperties TTL (in sec, or false to disable it) for caching
|
||
# the lookup on wanted property usage
|
||
#
|
||
# - special.unusedproperties TTL (in sec, or false to disable it) for caching
|
||
# the lookup on unused property usage
|
||
#
|
||
# - special.properties TTL (in sec, or false to disable it) for caching the
|
||
# lookup on property usage
|
||
#
|
||
# - special.statistics TTL (in sec, or false to disable it) for caching the
|
||
# lookup on statistics
|
||
#
|
||
# - api.browse TTL (in sec, or false to disable it) for the API browse module
|
||
# as general cache
|
||
#
|
||
# - api.browse.pvalue TTL (in sec, or false to disable it) for the API browse
|
||
# pvalue module when requesting property values
|
||
#
|
||
# - api.browse.psubject TTL (in sec, or false to disable it) for the API browse
|
||
# psubject module when requesting property subjects
|
||
#
|
||
# - api.task TTL (in sec, or false to disable it) for the API task module
|
||
#
|
||
# @since 1.9
|
||
##
|
||
'smwgCacheUsage' => [
|
||
'special.wantedproperties' => 3600,
|
||
'special.unusedproperties' => 3600,
|
||
'special.properties' => 3600,
|
||
'special.statistics' => 3600,
|
||
'table.statistics' => 3600,
|
||
'api.browse' => 3600,
|
||
'api.browse.pvalue' => 3600,
|
||
'api.browse.psubject' => 3600,
|
||
'api.task' => 3600,
|
||
'api.table.statistics' => 3600
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Sets whether or not to refresh semantic data in the store when a page is
|
||
# manually purged
|
||
#
|
||
# @since 1.9
|
||
#
|
||
# @requires $smwgMainCacheType be set
|
||
# @default true
|
||
##
|
||
'smwgAutoRefreshOnPurge' => true,
|
||
# #
|
||
|
||
###
|
||
# Sets whether or not to refresh semantic data in the store when a page was
|
||
# moved
|
||
#
|
||
# @since 1.9
|
||
#
|
||
# @requires $smwgMainCacheType be set
|
||
# @default true
|
||
##
|
||
'smwgAutoRefreshOnPageMove' => true,
|
||
# #
|
||
|
||
##
|
||
# List of user-defined fixed properties
|
||
#
|
||
# Listed properties are managed by its own fixed table (instad of a
|
||
# shared one) to allow for sharding large datasets with value assignments.
|
||
#
|
||
# The type definition is talen from the property page `[[Has type::...]]` and
|
||
# by default (if no type is defined) then the `smwgPDefaultType` is returned.
|
||
#
|
||
# Any change to the property type requires to run the `setupStore.php` script
|
||
# or `Special:SMWAdmin` table update.
|
||
#
|
||
# 'smwgFixedProperties' => array(
|
||
# 'Age',
|
||
# 'Has population'
|
||
# ),
|
||
#
|
||
# @see https://semantic-mediawiki.org/wiki/Fixed_properties
|
||
# @since 1.9
|
||
#
|
||
# @default array()
|
||
##
|
||
'smwgFixedProperties' => [],
|
||
|
||
# ##
|
||
# Sets a threshold value for when a property is being highlighted as "hardly
|
||
# begin used" on Special:Properties
|
||
#
|
||
# @since 1.9
|
||
#
|
||
# default = 5
|
||
##
|
||
'smwgPropertyLowUsageThreshold' => 5,
|
||
# #
|
||
|
||
###
|
||
# Hide properties where the usage count is zero on Special:Properties
|
||
#
|
||
# @since 1.9
|
||
#
|
||
# default = true (legacy behaviour)
|
||
##
|
||
'smwgPropertyZeroCountDisplay' => true,
|
||
# #
|
||
|
||
###
|
||
# QueryProfiler related settings
|
||
#
|
||
# @note If these settings are changed, please ensure to run update.php/rebuildData.php
|
||
#
|
||
# - smwgQueryProfiler can be set false to disable its functionality but it
|
||
# may impact secondary processes that rely on profile information to be
|
||
# available (Notification system etc.)
|
||
#
|
||
# - SMW_QPRFL_DUR to record query duration (the time
|
||
# between the query result selection and output its)
|
||
#
|
||
# - SMW_QPRFL_PARAMS to record query parameters that are necessary
|
||
# for allowing to generate a query result using a background job
|
||
#
|
||
# $smwgQueryProfiler = SMW_QPRFL_DUR | SMW_QPRFL_PARAMS;
|
||
#
|
||
# @since 1.9
|
||
# @default true
|
||
##
|
||
'smwgQueryProfiler' => true,
|
||
# #
|
||
|
||
###
|
||
# Enables SMW specific annotation and content processing for listed SpecialPages
|
||
#
|
||
# @since 1.9
|
||
##
|
||
'smwgEnabledSpecialPage' => [ 'Ask' ],
|
||
# #
|
||
|
||
###
|
||
# Search engine to fall back to in case SMWSearch is used as custom search
|
||
# engine but is unable to interpret the search term as an SMW query
|
||
#
|
||
# Leave as null to select the default search engine for the selected database
|
||
# type (e.g. SearchMySQL, SearchPostgres or SearchOracle), or set to a class
|
||
# name to override to a custom search engine.
|
||
#
|
||
# @since 2.1
|
||
##
|
||
'smwgFallbackSearchType' => null,
|
||
# #
|
||
|
||
###
|
||
# If enabled it will display help information on the edit page to support users
|
||
# unfamiliar with SMW when extending page content.
|
||
#
|
||
# @since 2.1
|
||
##
|
||
'smwgEnabledEditPageHelp' => false,
|
||
# #
|
||
|
||
###
|
||
# Various MediaWiki update operations in MW 1.26+ started to use DeferredUpdates
|
||
# and to ensure that the Store update follows in queue of updates made to a page
|
||
# this setting should be enabled by default for MW 1.26 onwards.
|
||
#
|
||
# It will improve page responsiveness for purge and move action significantly.
|
||
#
|
||
# @since 2.4
|
||
##
|
||
'smwgEnabledDeferredUpdate' => true,
|
||
# #
|
||
|
||
###
|
||
# Regulates task specific settings for the post-edit process.
|
||
#
|
||
# The main objective is to defer secondary updates until after the GET request
|
||
# has been finalized so that resource requirements are part of an API request
|
||
# (and not a GET) and hereby ensures that a client remains responsive
|
||
# independent of the update workload.
|
||
#
|
||
# `run-jobs` specifies jobs that should be executed on a post-edit to run in a
|
||
# timely manner independent of a users job scheduler environment. The number
|
||
# indicates the expected number of jobs to be executed per request.
|
||
#
|
||
# `purge-page`
|
||
# `on-outdated-query-dependency` actively does a page purge via the API
|
||
# so that not only the parser cache is refreshed but also ensures that any
|
||
# newly annotation values (such as annotations depending on some query input)
|
||
# are stored and recomputed.
|
||
#
|
||
# @experimental
|
||
#
|
||
# `check-query` The display of query results and the storage of entities that
|
||
# make up the results of a query are two distinct processes. The display
|
||
# normally happens before the storage due to how the MW parser works meaning
|
||
# that a query can only display the most recent results after a page has
|
||
# been processed and rendered while the storage is being deferred (or in case
|
||
# of an external store is influenced by the network lag).
|
||
#
|
||
# The `check-query` uses the `post-edit` event to run registered queries and
|
||
# if necessary reloads the page (hereby refreshes the results) in case the
|
||
# result is different by comparing the `result_hash` from before and after.
|
||
# To determine the query state, the `post-edit` has to invoke the API (as
|
||
# background task) which has to probe the query and to only run the query once
|
||
# for the page that embeds the query, it is strongly recommended that this
|
||
# option is only enabled together with:
|
||
# - the query cache (@see $smwgQueryResultCacheType) and
|
||
# - the query links store (@see $smwgEnabledQueryDependencyLinksStore)
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgPostEditUpdate' => [
|
||
'check-query' => false,
|
||
'run-jobs' => [
|
||
'smw.fulltextSearchTableUpdate' => 1
|
||
],
|
||
'purge-page' => [
|
||
'on-outdated-query-dependency' => true
|
||
]
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Query dependency and parser cache invalidation
|
||
#
|
||
# If enabled it will store dependencies for queries allowing it to purge
|
||
# the ParserCache on subjects with embedded queries that contain altered entities.
|
||
#
|
||
# @since 2.3 (experimental)
|
||
# @default false
|
||
##
|
||
'smwgEnabledQueryDependencyLinksStore' => false,
|
||
# #
|
||
|
||
###
|
||
# Relates to `smwgEnabledQueryDependencyLinksStore` and defines property keys
|
||
# to be excluded from the dependency detection.
|
||
#
|
||
# For example, to avoid a purge process being triggered for each altered subobject
|
||
# '_SOBJ' is excluded from the processing but it will not exclude any properties
|
||
# defined by a subobject (given that it is not part of an extended exclusion list).
|
||
#
|
||
# `_MDAT` is excluded to avoid a purge on each page edit with a `Modification date`
|
||
# change that would otherwise trigger a dependency update.
|
||
#
|
||
# '_ASKDU' changes to the duration of a query should not trigger an update of
|
||
# possible query dependencies (as this has no bearing on the result list).
|
||
#
|
||
# @since 2.3 (experimental)
|
||
##
|
||
'smwgQueryDependencyPropertyExemptionList' => [
|
||
'_MDAT', '_SOBJ', '_ASKDU', '_ASKDE', '_ASKSI', '_ASKFO', '_ASKST'
|
||
],
|
||
# #
|
||
|
||
###
|
||
# Settings for OWL/RDF export
|
||
#
|
||
# Whether or not "normal" users can request an recursive export.
|
||
#
|
||
# @since 0.7
|
||
# @default = false
|
||
##
|
||
'smwgAllowRecursiveExport' => false,
|
||
# #
|
||
|
||
###
|
||
# Settings for OWL/RDF export
|
||
#
|
||
# Whether or not backlinks should be included by default.
|
||
#
|
||
# @since 0.7
|
||
# @default = true
|
||
##
|
||
'smwgExportBacklinks' => true,
|
||
# #
|
||
|
||
###
|
||
# OWL/RDF export namespace for URIs/IRIs
|
||
#
|
||
# Will be set automatically if nothing is given, but in order to make pretty
|
||
# URIs you will need to set this to something nice and adapt your Apache
|
||
# configuration appropriately.
|
||
#
|
||
# @see https://www.semantic-mediawiki.org/wiki/Help:$smwgNamespace
|
||
# @see https://www.semantic-mediawiki.org/wiki/Help:EnableSemantics
|
||
# @see https://www.semantic-mediawiki.org/wiki/Help:Pretty_URIs
|
||
#
|
||
# Example:
|
||
# 'smwgNamespace' => "http://example.org/id/"
|
||
#
|
||
# @since 1.0
|
||
# @default null
|
||
##
|
||
'smwgNamespace' => null,
|
||
# #
|
||
|
||
###
|
||
# The setting is introduced the keep backwards compatibility with existing Rdf/Turtle
|
||
# exports. The `aux` marker is expected only used to be used for selected properties
|
||
# to generate a helper value and not for any other predefined property.
|
||
#
|
||
# Any property that does not explicitly require an auxiliary value (such `_dat`/
|
||
# `_geo` type values) now uses its native as condition descriptor (`Has_subobject`
|
||
# instead of `Has_subobject-23aux`)
|
||
#
|
||
# For SPARQL repository users that don't want to run an a `rebuildData.php`,
|
||
# the setting has to be TRUE.
|
||
#
|
||
# This BC setting is planned to vanish with 3.x.
|
||
#
|
||
# @since 2.3
|
||
##
|
||
'smwgExportBCAuxiliaryUse' => false,
|
||
# #
|
||
|
||
##
|
||
# The preferred form is to use canonical identifiers (Category:, Property:)
|
||
# instead of localized names to ensure that RDF/Query statements are language
|
||
# agnostic and do work even after the site/content language changes.
|
||
#
|
||
# This BC setting is planned to vanish with 3.x.
|
||
#
|
||
# @since 2.3
|
||
##
|
||
'smwgExportBCNonCanonicalFormUse' => false,
|
||
# #
|
||
|
||
##
|
||
# Export resources using IRIs
|
||
#
|
||
# Instead of ASCII encoded URI's, allow resources to be exported as IRI's (RFC
|
||
# 3987).
|
||
#
|
||
# @see https://www.w3.org/TR/rdf11-concepts/#section-IRIs
|
||
#
|
||
# @since 2.5
|
||
# @default true
|
||
##
|
||
'smwgExportResourcesAsIri' => true,
|
||
# #
|
||
|
||
###
|
||
# Features related to text and annotion parsing
|
||
#
|
||
# - SMW_PARSER_NONE
|
||
#
|
||
# - SMW_PARSER_STRICT: The default interpretation (strict) is to find a single
|
||
# triple such as [[property::value:partOfTheValue::alsoPartOfTheValue]] where
|
||
# in case the strict mode is disabled multiple properties can be assigned
|
||
# using a [[property1::property2::value]] notation but may cause value
|
||
# strings to be interpret unanticipated in case of additional colons.
|
||
#
|
||
# - SMW_PARSER_UNSTRIP: Support decoding (unstripping) of hidden text elements
|
||
# (e.g. `<nowiki>` as in `[[Has description::<nowiki>{{#ask: HasStripMarkers
|
||
# }}</nowiki>]]` etc.) within an annotation value (can only be stored together
|
||
# with a `_txt` type property).
|
||
#
|
||
# - SMW_PARSER_INL_ERROR: Should warnings be displayed in wikitexts right after
|
||
# the problematic input? This affects only semantic annotations, not warnings
|
||
# that are displayed by inline queries or other features. (was $smwgInlineErrors)
|
||
#
|
||
# - SMW_PARSER_HID_CATS: Switch to omit hidden categories (marked with
|
||
# __HIDDENCAT__) from the annotation process. Changing the setting requires
|
||
# to run a full rebuild to ensure hidden categories are discarded during
|
||
# the parsing process. (was $smwgShowHiddenCategories 1.9)
|
||
#
|
||
# - SMW_PARSER_LINV: Support parsing of "links in values" for annotations like
|
||
# [[SomeProperty::Foo [[link]] in [[Bar::AnotherValue]]]] (was $smwgLinksInValues
|
||
# with SMW_LINV_OBFU, SMW_LINV_PCRE is no longer available)
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgParserFeatures' => SMW_PARSER_STRICT | SMW_PARSER_INL_ERROR | SMW_PARSER_HID_CATS,
|
||
# #
|
||
|
||
##
|
||
# Features or restrictions for specific DataValue types
|
||
#
|
||
# - SMW_DV_NONE
|
||
#
|
||
# - SMW_DV_PROV_REDI (PropertyValue) If a property is redirected to a different
|
||
# target (Foo -> Bar) then follow it by default in order to allow query results
|
||
# to be displayed equivalent for both queries without having to adjust
|
||
# (or change) a query. This flag is mainly provided to restore backwards
|
||
# compatibility where behaviour is not expected to be altered, nevertheless it is
|
||
# recommended that the setting is enabled to improve user friendliness in terms
|
||
# of query execution.
|
||
#
|
||
# - SMW_DV_MLTV_LCODE (MonolingualTextValue) is to require a language code in order
|
||
# for a DV to be completed otherwise a MLTV can operate without a language code
|
||
#
|
||
# - SMW_DV_PVAP (Allows pattern) to allow regular expression pattern matching
|
||
# when `Allows pattern` property is assigned to user-defined property
|
||
#
|
||
# - SMW_DV_WPV_DTITLE (WikiPageValue) is to allow requesting a lookup for a display
|
||
# title and if present will be used as caption for the invoked subject
|
||
#
|
||
# - SMW_DV_PROV_DTITLE (PropertyValue) in combination with SMW_DV_WPV_DTITLE, If
|
||
# enabled it will attempt to resolve a property label by matching it against a
|
||
# possible assigned property "Display title of" value. For example, property
|
||
# "Foo" has "Display title of" "hasFoolishFoo" where "hasFoolishFoo" is being
|
||
# resolved as "Foo" when creating annotations. Currently, this uses an
|
||
# uncached lookup and therefore is disabled by default to avoid a possible
|
||
# performance impact (which has not been established or analyzed).
|
||
#
|
||
# - SMW_DV_PVUC (Uniqueness constraint) to specify that a property can only
|
||
# assign a value that is unique in its literal representation (the state of
|
||
# uniqueness for a value is established by the fact that it is assigned before
|
||
# any other value of the same representation to a property).
|
||
#
|
||
# - SMW_DV_TIMEV_CM (TimeValue) to indicate the CalendarModel if is not a
|
||
# CM_GREGORIAN
|
||
#
|
||
# - SMW_DV_NUMV_USPACE (Number/QuantityValue) to preserve spaces within
|
||
# unit labels
|
||
#
|
||
# - SMW_DV_PPLB to support the use of preferred property labels
|
||
#
|
||
# - SMW_DV_PROV_LHNT (PropertyValue) to output a <sup>p</sup> hint marker on
|
||
# properties that use a preferred label
|
||
#
|
||
# - SMW_DV_WPV_PIPETRICK WikiPageValue use a full pipe trick when rendering
|
||
# its caption
|
||
#
|
||
# @since 2.4
|
||
##
|
||
'smwgDVFeatures' => SMW_DV_PROV_REDI | SMW_DV_MLTV_LCODE | SMW_DV_PVAP | SMW_DV_WPV_DTITLE | SMW_DV_TIMEV_CM | SMW_DV_PPLB | SMW_DV_PROV_LHNT,
|
||
# #
|
||
|
||
##
|
||
# Fulltext search support
|
||
#
|
||
# If enabled, it will store text elements using a separate table in order for
|
||
# the SQL back-end to use the special fulltext index operations provided by
|
||
# the SQL engine.
|
||
#
|
||
# - Tested with MySQL/MariaDB
|
||
# - Tested with SQLite
|
||
#
|
||
# @since 2.5
|
||
# @default: false
|
||
##
|
||
'smwgEnabledFulltextSearch' => false,
|
||
# #
|
||
|
||
##
|
||
# Throttle index updates
|
||
#
|
||
# The objective is to postpone an update by relying on a deferred process that
|
||
# runs the index update decoupled from the storage back-end update.
|
||
#
|
||
#
|
||
# If a user wants to push updates to the updater immediately then this setting needs
|
||
# to be disabled but by disabling this setting update lag may increase due to having
|
||
# the process being executed synchronously to the wikipage update.
|
||
#
|
||
# @since 2.5
|
||
# @default: true
|
||
##
|
||
'smwgFulltextDeferredUpdate' => true,
|
||
# #
|
||
|
||
##
|
||
# Fulltext search table options
|
||
#
|
||
# This setting directly influences how a ft table is created therefore change
|
||
# the content with caution.
|
||
#
|
||
# - MySQL version 5.5 or later with only MyISAM and InnoDB storage engines
|
||
# to support full-text search (according to sources)
|
||
#
|
||
# - MariaDB full-text indexes can be used only with MyISAM and Aria tables,
|
||
# from MariaDB 10.0.5 with InnoDB tables and from MariaDB 10.0.15
|
||
# with Mroonga tables (according to sources)
|
||
#
|
||
# - SQLite FTS3 has been available since version 3.5, FTS4 were added with
|
||
# version 3.7.4, and FTS5 is available with version 3.9.0 (according to
|
||
# sources), The setting allows to specify extra arguments after the module
|
||
# engine such as array( 'FTS4', 'tokenize=porter' ).
|
||
#
|
||
# It is possible to extend the option description (MySQL 5.7+) with
|
||
# 'mysql' => array( 'ENGINE=MyISAM, DEFAULT CHARSET=utf8', 'WITH PARSER ngram' )
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgFulltextSearchTableOptions' => [
|
||
'mysql' => [ 'ENGINE=MyISAM, DEFAULT CHARSET=utf8' ],
|
||
'sqlite' => [ 'FTS4' ]
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Exempted properties
|
||
#
|
||
# List of property keys for which index and fulltext match operations are
|
||
# exempted because there are either insignificant, mostly represent single
|
||
# terms, or contain other characteristics that make them non preferable when
|
||
# searching via the fulltext index.
|
||
#
|
||
# Listed properties will use the standard LIKE/NLIKE match operation when used
|
||
# in connection with the ~/!~ expression.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgFulltextSearchPropertyExemptionList' => [
|
||
'_ASKFO', '_ASKST', '_ASKPA', '_IMPO', '_LCODE', '_UNIT', '_CONV',
|
||
'_TYPE', '_ERRT', '_INST', '_ASK', '_SOBJ', '_PVAL', '_PVALI',
|
||
'_REDI', '_CHGPRO'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# List of indexable DataTypes
|
||
#
|
||
# - SMW_FT_BLOB property values of type Blob (Text)
|
||
# - SMW_FT_URI property values of type URI
|
||
# - SMW_FT_WIKIPAGE property values of type Page
|
||
#
|
||
# SMW_FT_WIKIPAGE has not been added as default value as no performance
|
||
# impact analysis is available as to how indexing and search performance would
|
||
# be affected by a wiki with a large pool of pages (10K+) or extended page
|
||
# type value assignments on a full-text index.
|
||
#
|
||
# Enabling SMW_FT_WIKIPAGE will support the same search features (case
|
||
# insensitivity, phrase matching etc.) as available for Text or URI values
|
||
# when searches are executed using the ~/!~.
|
||
#
|
||
# @since 2.5
|
||
# @default: SMW_FT_BLOB | SMW_FT_URI
|
||
##
|
||
'smwgFulltextSearchIndexableDataTypes' => SMW_FT_BLOB | SMW_FT_URI,
|
||
# #
|
||
|
||
##
|
||
# Describes the minimum word/token length to help to decide whether MATCH or LIKE
|
||
# operators are to be used for a condition statement.
|
||
#
|
||
# For MySQL it is expected it corresponds to either innodb_ft_min_token_size or
|
||
# ft_min_word_len
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgFulltextSearchMinTokenSize' => 3,
|
||
# #
|
||
|
||
##
|
||
# To detect a possible language candidate from an indexable text element.
|
||
#
|
||
# TextCatLanguageDetector, a large list of languages does have a detrimental
|
||
# influence on the performance when trying to detect a language from a free text.
|
||
#
|
||
# Stopwords are only applied after language detection has been enabled.
|
||
#
|
||
# @see https://github.com/wikimedia/wikimedia-textcat
|
||
#
|
||
# @since 2.5
|
||
# @default empty list (language detection is disabled by default)
|
||
##
|
||
'smwgFulltextLanguageDetection' => [
|
||
// 'TextCatLanguageDetector' => array( 'en', 'de', 'fr', 'es', 'ja', 'zh' )
|
||
// 'CdbNGramLanguageDetector' => array( 'en', 'de', 'fr', 'es', 'ja', 'zh' )
|
||
],
|
||
# #
|
||
|
||
##
|
||
# MySQL's "Global Transaction Identifier" will create issues when executing
|
||
# queries that rely on temporary tables, according to the documentation "... the
|
||
# operations listed here cannot be used ... CREATE TEMPORARY TABLE statements
|
||
# inside transactions".
|
||
#
|
||
# MySQL Global transaction identifier is a unique transaction ID assigned to
|
||
# every transaction that happens in the MySQL database.
|
||
#
|
||
# Issue is encountered when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1
|
||
#
|
||
# @see https://dev.mysql.com/doc/refman/5.6/en/replication-options-gtids.html
|
||
# @see https://support.software.dell.com/kb/184275
|
||
#
|
||
# This setting (if enabled) will force an auto commit operation for temporary
|
||
# tables to avoid the described limitation.
|
||
#
|
||
# @since 2.5
|
||
# @default false
|
||
##
|
||
'smwgQTemporaryTablesAutoCommitMode' => false,
|
||
# #
|
||
|
||
###
|
||
# Support to store a computed subject list that were fetched from the QueryEngine
|
||
# (not the string result generated from a result printer) and improve general
|
||
# page-loading time for articles that contain embedded queries and decrease
|
||
# server load on query requests.
|
||
#
|
||
# It is recommended that `smwgEnabledQueryDependencyLinksStore` is enabled
|
||
# to make use of automatic query results cache eviction.
|
||
#
|
||
# Enabling this option will render queries with a new ID to optimize queries
|
||
# that result in the same signature (fingerprint) to lower the rate of cache
|
||
# fragmentation.
|
||
#
|
||
# @since 2.5 (experimental)
|
||
# @default: CACHE_NONE (== feature is disabled)
|
||
##
|
||
'smwgQueryResultCacheType' => CACHE_NONE,
|
||
# #
|
||
|
||
###
|
||
# Specifies the lifetime of embedded query and their results fetched from a
|
||
# QueryEngine for when `smwgQueryResultCacheType` is enabled.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgQueryResultCacheLifetime' => 60 * 60 * 24 * 7, // a week
|
||
##
|
||
|
||
###
|
||
# Specifies the lifetime of non-embedded queries (Special:Ask, API etc.) and their
|
||
# results that are fetched from a QueryEngine for when `smwgQueryResultCacheType` is
|
||
# enabled.
|
||
#
|
||
# This setting can also be used to minimize a possible DoS vector by preventing
|
||
# an advisory to make unlimited query requests from either Special:Ask or the
|
||
# API that may lock the DB due to complex query answering and instead being
|
||
# rerouted to the cache once a result has been computed.
|
||
#
|
||
# @note Non-embedded queries cannot not be tracked using the `QueryDependencyLinksStore`
|
||
# (subject is being missing that would identify the entity) therefore
|
||
# an auto-purge mechanism as in case of an embedded entity is not possible hence
|
||
# the lifetime should be carefully selected to provide the necessary means for a
|
||
# user and the application.
|
||
#
|
||
# 0/false as setting to disable caching of non-embedded queries.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgQueryResultNonEmbeddedCacheLifetime' => 60 * 10, // 10 min
|
||
##
|
||
|
||
###
|
||
# Enables the manual refresh for embedded queries when the action=purge event is
|
||
# triggered.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgQueryResultCacheRefreshOnPurge' => true,
|
||
# #
|
||
|
||
##
|
||
# Property create protection
|
||
#
|
||
# If enabled, users are able to annotate property values using existing properties
|
||
# but new properties can only be created by those with the assigned "authority"
|
||
# (aka user right).
|
||
#
|
||
# Changes to a property specification requires the permission as well.
|
||
#
|
||
# @since 3.0
|
||
# @default false
|
||
##
|
||
'smwgCreateProtectionRight' => false,
|
||
# #
|
||
|
||
###
|
||
# Page edit protection
|
||
#
|
||
# To prevent accidental changes of content especially to those of property
|
||
# definitions, this setting allows with the help of the `Is edit protected`
|
||
# property to prevent editing on pages that have annotate the property with
|
||
# `true`.
|
||
#
|
||
# Once the property is set, only users with the listed user right are able
|
||
# to edit and/or revoke the restriction on the selected page.
|
||
#
|
||
# `smw-pageedit` has been deployed as extra right to be distinct from existing
|
||
# edit protections
|
||
#
|
||
# To enable this functionality either assign `smw-pageedit` or any other
|
||
# right to the variable to activate an edit protection.
|
||
#
|
||
# @since 2.5
|
||
# @default false
|
||
##
|
||
'smwgEditProtectionRight' => false,
|
||
# #
|
||
|
||
##
|
||
# Similarity lookup exemption property
|
||
#
|
||
# The listed property is used to exclude a property from the similarity
|
||
# lookup in case the comparing property contains an annotation value with the
|
||
# exemption property.
|
||
#
|
||
# For example, the property `Governance level` may define
|
||
# [[owl:differentFrom::Governance level of]] which would result in a suppressed
|
||
# similarity lookup for both `Governance level` and `Governance level of`
|
||
# property when compared to each other.
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgSimilarityLookupExemptionProperty' => 'owl:differentFrom',
|
||
# #
|
||
|
||
##
|
||
# Property label invalid characters
|
||
#
|
||
# Listed characters are categorized as invalid for a property label and will
|
||
# result in an error.
|
||
#
|
||
# @see #1568, #1638, #3134
|
||
#
|
||
# @since 2.5
|
||
##
|
||
'smwgPropertyInvalidCharacterList' => [
|
||
// Common characters
|
||
'[', ']', '|', '<', '>', '{', '}', '+', '–', '%', "\r", "\n",
|
||
'?', '*', '!'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Properties classified as retired/no longer in use
|
||
#
|
||
# Listed properties will be removed from the entity table hereby avoids
|
||
# references or display of those classified as retired.
|
||
#
|
||
# The system normally leaves properties untouched (once created) but this
|
||
# setting allows them to be marked as retired and eventually removed from
|
||
# the system.
|
||
#
|
||
# @since 3.1
|
||
##
|
||
'smwgPropertyRetiredList' => [
|
||
|
||
// No longer valid predefined property prefixes
|
||
'_SF_', '_SD_'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Reserved property names
|
||
#
|
||
# Listed names are reserved as they may interfere with Semantic MediaWiki or
|
||
# MediaWiki itself.
|
||
#
|
||
# Removing default names from the list is not recommended (extending the list
|
||
# is supported and may be used to customize use cases for an individual wiki).
|
||
#
|
||
# The list can contain simple names or identifiers that start with
|
||
# `smw-property-reserved-` to link to a translatable representation that
|
||
# matches a string in a content language.
|
||
#
|
||
# @see #2835, #2840
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgPropertyReservedNameList' => [ 'Category', 'smw-property-reserved-category' ],
|
||
# #
|
||
|
||
##
|
||
# Entity specific collation
|
||
#
|
||
# This should correspond to the $wgCategoryCollation setting (also in regards
|
||
# to selected argument values), yet it is kept separate to have a better
|
||
# control over changes in regards to the collation, sorting, and display of
|
||
# values.
|
||
#
|
||
# This setting is "global" and applies to any entity that is maintained for
|
||
# a wiki. In being global means that it cannot be selective (use one collation
|
||
# for one query and use another collation for a different query) because the
|
||
# field (smw_sort) contains a computed representation of the sort value.
|
||
#
|
||
# ANY change to this setting requires to run the `updateEntityCollation.php`
|
||
# maintenance script.
|
||
#
|
||
# @since 3.0
|
||
# @default identity (as legacy setting)
|
||
##
|
||
'smwgEntityCollation' => 'identity',
|
||
# #
|
||
|
||
##
|
||
# Experimental settings
|
||
#
|
||
# Features enabled are considered stable but for any unforeseen behaviour, the
|
||
# feature can be disabled to return to a previous working state avoiding
|
||
# the need for hot-patching a system.
|
||
#
|
||
# After a certain in-production period, features will be moved permanently
|
||
# to the desired target state and hereby automatically retires the related
|
||
# setting.
|
||
#
|
||
# - SMW_QUERYRESULT_PREFETCH to use the prefetch method to retrieve row
|
||
# related items for a `QueryResult`.
|
||
#
|
||
# - SMW_SHOWPARSER_USE_CURTAILMENT to use a short cut and circumventing the
|
||
# `QueryEngine` and directly access the DB since `#show` will always only
|
||
# request an output for one particular entity.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgExperimentalFeatures' => SMW_QUERYRESULT_PREFETCH | SMW_SHOWPARSER_USE_CURTAILMENT,
|
||
# #
|
||
|
||
##
|
||
# SQLStore specific field type features
|
||
#
|
||
# SMW_FIELDT_NONE
|
||
#
|
||
# SMW_FIELDT_CHAR_NOCASE - Modifies selected search fields to use a case
|
||
# insensitive collation and may require additional extension (e.g. Postgres
|
||
# requires `citext`) on non MySQL related systems therefore it is disabled
|
||
# by default.
|
||
#
|
||
# Furthermore, no extensive analysis has been performed on how the switch
|
||
# from VARBINARY to a collated VARCHAR field type affects the search
|
||
# performance.
|
||
#
|
||
# If enabled, the setting will replace selected `FieldType::FIELD_TITLE`
|
||
# types with `FieldType::TYPE_CHAR_NOCASE`.
|
||
#
|
||
# `FieldType::TYPE_CHAR_NOCASE` has been defined as:
|
||
#
|
||
# - MySQL: VARCHAR(255) CHARSET utf8 COLLATE utf8_general_ci
|
||
# - Postgres: citext NOT NULL
|
||
# - SQLite: VARCHAR(255) NOT NULL COLLATE NOCASE but according to [0] this may
|
||
# not work and need a special solution as hinted in [0]
|
||
#
|
||
# [0] https://techblog.dorogin.com/case-insensitive-like-in-sqlite-504f594dcdc3
|
||
#
|
||
# SMW_FIELDT_CHAR_LONG - Extends the size to 300 chars for text pattern
|
||
# match (DIBlob and DIUri) fields.
|
||
#
|
||
# 300 has been selected to be able to build an index prefix with the available
|
||
# default setting of MySQL/MariaDB which restricts the prefix length to 767
|
||
# bytes for InnoDB tables [1]. The index length can be lifted [2] to up to
|
||
# 3072 bytes for InnoDB tables that use the DYNAMIC or COMPRESSED row format but
|
||
# that requires custom intervention.
|
||
#
|
||
# [1] https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html
|
||
# [2] https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix
|
||
#
|
||
# By default, the SQLStore has restricted the DIBlob and DIUri fields to a
|
||
# 72 chars search depth in exchange for index size and performance.
|
||
# Extending fields to 300 allows to run LIKE/NLIKE matching on a larger text
|
||
# body without relying on a full-text index but an increased index size could
|
||
# potentially carry a performance penalty when the index cannot be kept in
|
||
# memory.
|
||
#
|
||
# No analysis has been performed on how performance is impacted. Selecting
|
||
# this option requires to run `rebuildData.php` to adjust the field content
|
||
# to the new length.
|
||
#
|
||
# SMW_FIELDT_CHAR_NOCASE | SMW_FIELDT_CHAR_LONG can be combined to build a
|
||
# case insensitive long field type.
|
||
#
|
||
# @since 3.0
|
||
# @default false
|
||
##
|
||
'smwgFieldTypeFeatures' => false,
|
||
# #
|
||
|
||
##
|
||
# Subobject content hash !! BC setting ONLY !!
|
||
#
|
||
# Normalized content hash is enabled by default to ensure that a content
|
||
# declaration like:
|
||
#
|
||
# {{#subobject:
|
||
# |Has text=Foo,Bar|+sep=,
|
||
# }}
|
||
#
|
||
# yields the same hash as:
|
||
#
|
||
# {{#subobject:
|
||
# |Has text=Bar,Foo|+sep=,
|
||
# }}
|
||
#
|
||
# The setting is only provided to allow for a temporary backwards compatibility
|
||
# and will be removed with 3.1 at which point the functionality is enabled
|
||
# without any constraint.
|
||
#
|
||
# @since 3.0
|
||
# @default true
|
||
##
|
||
'smwgUseComparableContentHash' => true,
|
||
# #
|
||
|
||
##
|
||
# List of supported schemes for a URI typed property
|
||
#
|
||
# @see https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
|
||
# @see https://www.w3.org/wiki/UriSchemes
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgURITypeSchemeList' => [
|
||
'http', 'https', 'mailto', 'tel', 'ftp', 'sftp', 'news', 'file', 'urn',
|
||
'telnet', 'ldap', 'gopher', 'ssh', 'git', 'irc', 'ircs'
|
||
],
|
||
# #
|
||
|
||
##
|
||
# Special:Ask form submit method
|
||
#
|
||
# - SMW_SASK_SUBMIT_POST uses `post` as submit method, allows to jump
|
||
# directly to the search result but will not produce any copyable URL
|
||
# string (use the result bookmark button instead)
|
||
#
|
||
# - SMW_SASK_SUBMIT_GET uses `get` as submit method and was the default
|
||
# until 2.5, is not able to jump the search result directly after a submit
|
||
#
|
||
# - SMW_SASK_SUBMIT_GET_REDIRECT uses `get` as submit method and provides
|
||
# the means to directly jump to the search result after a submit but
|
||
# requires an extra HTTP request to follow a redirect
|
||
#
|
||
# @since 3.0
|
||
# @default SMW_SASK_SUBMIT_POST
|
||
##
|
||
'smwgSpecialAskFormSubmitMethod' => SMW_SASK_SUBMIT_POST,
|
||
# #
|
||
|
||
##
|
||
# Enable/disable <section> ... </section> support
|
||
#
|
||
# @since 3.0
|
||
# @default true
|
||
##
|
||
'smwgSupportSectionTag' => true,
|
||
# #
|
||
|
||
##
|
||
# Subproperty type inheritance
|
||
#
|
||
# This setting enforces a type inheritance between a parent property and its
|
||
# subproperties.
|
||
#
|
||
# @since 3.1
|
||
# @default false
|
||
##
|
||
'smwgMandatorySubpropertyParentTypeInheritance' => false,
|
||
# #
|
||
|
||
##
|
||
# Find and remove remnant entities
|
||
#
|
||
# So called remnant entities or ghosts (i.e. assignments in tables without a
|
||
# corresponding entry in a `smw_proptable_hash` field) should rarely happen
|
||
# but can and to enable the updater to re-balance the content of the
|
||
# `smw_proptable_hash` field (by checking and removing any ghosts in tables
|
||
# currently not in use for a particular subject). This setting can be enabled
|
||
# to force the updater/differ to make additional inquiries during an update
|
||
# to find and remove remnants that have no assignments in a table for a
|
||
# selected subject.
|
||
#
|
||
# The impact (in terms of performance) on the updater is unknown since each
|
||
# update is expected to run additional queries therefore the setting is
|
||
# set on purge only by default.
|
||
#
|
||
# - `purge` enables the check to happen only during a purge action which
|
||
# limits a possible performance impact to a single subject request hereby
|
||
# avoids impacting regular updates
|
||
# - `true` as setting will carry out the check on every update
|
||
# - `false` will disable the check all together
|
||
#
|
||
# @see #3849#issuecomment-477605049
|
||
#
|
||
# @since 3.1
|
||
# @default 'purge'
|
||
##
|
||
'smwgCheckForRemnantEntities' => 'purge',
|
||
# #
|
||
|
||
##
|
||
# Lookup and display of constraint errors
|
||
#
|
||
# A convenience function to provided users with a help to quickly identify
|
||
# which constraints violation are currently exists for a viewed subject.
|
||
#
|
||
# - `SMW_CONSTRAINT_ERR_CHECK_NONE` disables the check and display via the
|
||
# page indicator
|
||
# - `SMW_CONSTRAINT_ERR_CHECK_MAIN` will only check the main subject
|
||
# - `SMW_CONSTRAINT_ERR_CHECK_ALL` will check the main subject and all
|
||
# subobjects attached to the main subject
|
||
#
|
||
# The constraint error lookup is cached therefore no negative performance
|
||
# impact is expected when viewing a page repeatedly.
|
||
#
|
||
# @since 3.1
|
||
# @default SMW_CONSTRAINT_ERR_CHECK_ALL
|
||
##
|
||
'smwgCheckForConstraintErrors' => SMW_CONSTRAINT_ERR_CHECK_ALL,
|
||
# #
|
||
|
||
##
|
||
# THE FOLLOWING SETTINGS AND SUPPORT FUNCTIONS ARE EXPERIMENTAL!
|
||
#
|
||
# Please make you read the Readme.md (see the Elastic folder) file first
|
||
# before enabling the ElasticStore and its settings!
|
||
##
|
||
|
||
##
|
||
# @deprecated since 3.2, use `SchemaTypes` or the
|
||
# `SMW::Schema::RegisterSchemaTypes` hook.
|
||
#
|
||
# Schema types
|
||
#
|
||
# The mapping defines the relation between a specific type, group and
|
||
# a possible interpreter which validates the expected syntax.
|
||
#
|
||
# Each type will have its own interpretation about elements and how to
|
||
# define and enact requirements.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgSchemaTypes' => [],
|
||
# #
|
||
|
||
##
|
||
# ElasticStore settings
|
||
#
|
||
# Supported options and settings required by the ElasticStore.
|
||
#
|
||
# This setting provides documentation and default values for the ElasticStore
|
||
# and its use in an ES cluster.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgElasticsearchConfig' => [
|
||
'index_def' => [
|
||
// The complete name will be auto-generated from
|
||
// "smw-...-" + WikiMap::getCurrentWikiId() to avoid indicies among
|
||
// different wikis being corrupted when sharing an ES instance.
|
||
'data' => $smwgIP . '/data/elastic/smw-data-standard.json',
|
||
'lookup' => $smwgIP . '/data/elastic/smw-lookup.json'
|
||
],
|
||
'connection' => [
|
||
'quick_ping' => true,
|
||
|
||
// Number of times the client tries to reconnect before throwing an
|
||
// exception
|
||
'retries' => 2,
|
||
|
||
// Controls how long curl should wait for the entire request to finish
|
||
'timeout' => 30,
|
||
|
||
// Controls how long curl should wait for the "connect" phase to finish
|
||
'connect_timeout' => 30
|
||
],
|
||
'settings' => [
|
||
'data' => [
|
||
// Setting names match those from ES, any misspelling or
|
||
// incorrect setting will cause an error in ES
|
||
'index.mapping.total_fields.limit' => 9000,
|
||
'index.max_result_window' => 50000
|
||
]
|
||
],
|
||
'indexer' => [
|
||
|
||
// Allows to index unstructured, unprocessed raw text from a revision
|
||
'raw.text' => false,
|
||
|
||
// Experimental feature to investigate the use of the ingest pipline
|
||
// to index uploaded files and make that content available to
|
||
// QueryEngine during a wide proximity search (e.g. [[in:fox jumps]])
|
||
// Requires https://www.elastic.co/guide/en/elasticsearch/plugins/master/ingest-attachment.html
|
||
'experimental.file.ingest' => false,
|
||
|
||
// If the replication encounters an `illegal_argument_exception` from
|
||
// the ES cluster, rethrow it as exception to ensure it doesn't get
|
||
// unnoticed as it is likely to require intervention due to issues
|
||
// like "Limit of total fields ... has been exceeded" etc.
|
||
'throw.exception.on.illegal.argument.error' => true,
|
||
|
||
// Number of max. retries before the recovery job will resign from
|
||
// trying any more attempts to update the ES cluster. This is to
|
||
// prevent jobs from invoking themselves indefinitely.
|
||
'job.recovery.retries' => 5,
|
||
|
||
// Number of max. retries before the file ingest
|
||
'job.file.ingest.retries' => 3,
|
||
|
||
// Compare and report the status of the replication on a page view
|
||
// about entities hereby allowing users to immediately comprehend a
|
||
// possible discrepancy between the stored on-wiki data and the data
|
||
// replicated to Elasticsearch.
|
||
'monitor.entity.replication' => true,
|
||
'monitor.entity.replication.cache_lifetime' => 3600,
|
||
|
||
// DataItems (Blob, Uri, Page etc.) are transformed in exactly the
|
||
// same way as done by the SQLStore `DataItemHandler` before being
|
||
// added to the storage layer (includes transformations like
|
||
// htmlspecialchars_decode, rawurldecode etc.) to ensure that data
|
||
// have a test compatibility with the SQLStore.
|
||
'data.sqlstore_compatibility' => true
|
||
],
|
||
'query' => [
|
||
|
||
// If for some reason no connection to the ES cluster could be
|
||
// established, use the SQLStore QueryEngine as fallback.
|
||
'fallback.no_connection' => false,
|
||
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/6.1/_profiling_queries.html
|
||
'profiling' => false,
|
||
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html
|
||
// Part of the `format=debug` to validate potentially expensive queries
|
||
// without executing them.
|
||
'debug.explain' => true,
|
||
|
||
// During the debug output, display details about which description was
|
||
// when resolved in connection with a query
|
||
'debug.description.log' => true,
|
||
|
||
// #3698
|
||
// Restrict the length of an individual input value to avoid a potential
|
||
// "... "java.lang.IllegalArgumentException:input automaton is too
|
||
// large: 1001 ..."
|
||
'maximum.value.length' => 500,
|
||
|
||
// When `!...` is used make sure that the condition is only applied
|
||
// on entities where the property exists together with the negated
|
||
// value condition otherwise the ! condition becomes unrestricted
|
||
'must_not.property.exists' => true,
|
||
|
||
// When sorting on a particular property, enforce that the property
|
||
// exists as an assignment to a selected entity. The default setting
|
||
// matches the SQLStore behaviour. (See also #2823)
|
||
'sort.property.must.exists' => true,
|
||
|
||
// Sort by score (aka relevancy)
|
||
//
|
||
// Defines the name of the sortkey (as covention) that is used to sort
|
||
// results by scores computed by ES (based on Term Frequency, Inverse
|
||
// Document Frequency etc.).
|
||
//
|
||
// Output results with the highest score first:
|
||
//
|
||
// {{#ask: [[Category:Foo]]
|
||
// |sort=es.score
|
||
// |order=desc
|
||
// }}
|
||
//
|
||
// @see https://www.compose.com/articles/how-scoring-works-in-elasticsearch/
|
||
'score.sortfield' => 'es.score',
|
||
|
||
// The `+` and `-` symbols will be interpret as boolean operators so that
|
||
// things like `+foo, -bar` mean `+` (this term must be present) and
|
||
// `-`(this term must not be present). If they need to be part of
|
||
// the search string itself then it is required to escape them like
|
||
// `\+`.
|
||
'query_string.boolean.operators' => true,
|
||
|
||
// ES works different with text elements compared to the SQL interface
|
||
// (and its DSL query logic) therefore we try to modify some
|
||
// common scenarios and alter strings (and boolean operators) to pass
|
||
// most use cases from the SQLStore integration test suite and hereby
|
||
// allows to be compatible with the SMW SQL answering behaviour.
|
||
//
|
||
// ES has reserved characters `+ - = && || > < ! ( ) { } [ ] ^ " ~ *
|
||
// ? : \ /` and this mode will automatically encode them which of course
|
||
// limits the ability to use them as part of the native boolean operators
|
||
// within the query expression.
|
||
//
|
||
// In case the mode is disabled, the user has to make sure to follow
|
||
// the rules set forth by ES in connection with the query_string
|
||
// parser.
|
||
//
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/6.1/query-dsl-query-string-query.html
|
||
'compat.mode' => true,
|
||
|
||
// Size (limit) of the subquery construct which is executed as separated
|
||
// search request.
|
||
'subquery.size' => 10000,
|
||
|
||
// Sorting and scoring of subqueries is generally not necessary therefore
|
||
// we use the `constant_score` filter context to executed queries which
|
||
// helps to elevate the use of the filter caching.
|
||
//
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-caching.html
|
||
'subquery.constant.score' => true,
|
||
|
||
// Defines the threshold for a result size as to when those should be
|
||
// stored in a special lookup index to facilitate the ES terms lookup
|
||
// feature (which requires to write and refresh the specific index
|
||
// element ad-hoc before it can be used by the "source" query).
|
||
//
|
||
// The more often subqueries are used (or reused) the lower the threshold
|
||
// should be set as it directly impacts performance.
|
||
//
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
|
||
'subquery.terms.lookup.result.size.index.write.threshold' => 200,
|
||
|
||
// Intermediary optimization to allow for a subquery (executed as part
|
||
// of a "source" query and uses the special lookup index) to be reused
|
||
// (aka cached) for any succeeding query executions for the time frame
|
||
// set and hereby avoids fetching subquery results on repeating
|
||
// requests especially when the source query changes its limit and
|
||
// offset parameters frequently.
|
||
//
|
||
// Only subqueries with `subquery.terms.lookup.result.size.index.write.threshold`
|
||
// will be available to make use of this index cache.
|
||
//
|
||
// The cache is static and will not apply any eviction strategy which
|
||
// means that in case of additional values that would normally invalidate
|
||
// a subquery result, results remain static for the time frame set.
|
||
//
|
||
// Caching becomes crucial when a subqery terms lookup contains 1000+
|
||
// of matching documents as we avoid executing the subquery and if
|
||
// available directly resuse the terms lookup index.
|
||
//
|
||
// @default 1h
|
||
'subquery.terms.lookup.cache.lifetime' => 60 * 60,
|
||
|
||
// A concept as (aka dynamix category) is defined using a query and
|
||
// will return a list of matchable IDs therefore to improve performance
|
||
// during the lookup of those entities use the lookup index to retrieve
|
||
// precomputed results.
|
||
'concept.terms.lookup' => true,
|
||
|
||
// Threshold when to store and use the index lookup
|
||
'concept.terms.lookup.result.size.index.write.threshold' => 10,
|
||
|
||
// Threshold when to store and use the index lookup
|
||
// It is similar to `$smwgQConceptCacheLifetime`
|
||
//
|
||
// @default 1h
|
||
'concept.terms.lookup.cache.lifetime' => 60 * 60,
|
||
|
||
// In case search terms contains CJK terms, remove `*` prefix/affix
|
||
// from a search request in an effort to best match single characters
|
||
// that created as part of the standard analyzer. Use a phrase match
|
||
// instead of a wildcard proximity.
|
||
//
|
||
// This setting may be disabled when using a different index definition
|
||
// (e.g. ICU).
|
||
'cjk.best.effort.proximity.match' => true,
|
||
|
||
// Specifies that a wide proximity search (e.g. [[~~Foo bar]] or
|
||
// [[in:Foo bar]]) is executed as a match_phrase search meaning that
|
||
// that all elements of the query string need to be present in the
|
||
// order of the query
|
||
'wide.proximity.as.match_phrase' => true,
|
||
|
||
// Fields to be used for a wide proximity search with some being
|
||
// boosted to weight higher in relevance. For example, when `Foo` is
|
||
// part of the title it relevance is boosted by 8 (i.e. count more
|
||
// towards the relevance score) as when it would only appear in one
|
||
// of the text fields.
|
||
//
|
||
// It means that [[in:Foo]] where titles match `Foo` will be
|
||
// assigned a 5 times higher score and therefore appear higher in a
|
||
// list when sorted by relevancy.
|
||
'wide.proximity.fields' => [
|
||
'subject.title^8',
|
||
'text_copy^5',
|
||
'text_raw',
|
||
'attachment.title^3',
|
||
'attachment.content'
|
||
],
|
||
|
||
// By default, the URI fields are considered case sensitive similar to
|
||
// what RFC 3986 " ... the scheme and host are case-insensitive and
|
||
// therefore should be normalized to lowercase ... the other generic
|
||
// syntax components are assumed to be case-sensitive unless ",
|
||
// RFC 2616 " ... comparing two URIs to decide if they match or
|
||
// not, a client SHOULD use a case-sensitive octet-by-octet
|
||
// comparison of the entire URIs ..."
|
||
//
|
||
// The setting applies to the EQ, LIKE, and NLIKE match.
|
||
'uri.field.case.insensitive' => false,
|
||
|
||
// By default, equality searches (e.g. [[Has text:Foo]], [Has text:foo]])
|
||
// are case senstive but as in case of the SMW_FIELDT_CHAR_NOCASE,
|
||
// the search can be altered to find case insensitive matches as well.
|
||
//
|
||
// The default setting matches the SQLStore standard behaviour and
|
||
// uses the faster ES `term` search instead of a `match` variant
|
||
// which would become necessary for any analyzed field.
|
||
//
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/guide/current/term-vs-full-text.html
|
||
'text.field.case.insensitive.eq.match' => false,
|
||
|
||
// [[~Foo/Bar/*]] vs. [[~FOO/bar/*]]
|
||
// [[Has page::~Foo bar/bar/*]]
|
||
'page.field.case.insensitive.proximity.match' => true,
|
||
|
||
// Allows to retrieve text fragments from ES for query request and
|
||
// depending on the type selected can require more query time.
|
||
//
|
||
// Available types are `plain`, `unified`, and `fvh`. The `fvh` type
|
||
// requires text fields to have the `term_vector` with `with_positions_offsets`
|
||
// enabled.
|
||
//
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html#plain-highlighter
|
||
// @see https://www.elastic.co/guide/en/elasticsearch/reference/current/term-vector.html
|
||
'highlight.fragment' => [ 'number' => 1, 'size' => 250, 'type' => false ]
|
||
]
|
||
],
|
||
# #
|
||
|
||
##
|
||
# ElasticStore profile
|
||
#
|
||
# Maintaining various settings using an array notation in `LocalSettinga.php`
|
||
# can become challenging hence we provide a JSON profile that can be assigned
|
||
# instead. Settings will be merged together with the default
|
||
# `smwgElasticsearchConfig` where a profile will override any previous value
|
||
# assignments.
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgElasticsearchProfile' => false, // $smwgIP . '/data/elastic/default-profile.json',
|
||
|
||
##
|
||
# ElasticStore connection settings
|
||
#
|
||
# @since 3.0
|
||
##
|
||
'smwgElasticsearchEndpoints' => [
|
||
// [ 'host' => '127.0.0.1', 'port' => 9200, 'scheme' => 'http' ],
|
||
// [ 'host' => '127.0.0.1', 'port' => 9200, 'scheme' => 'http', 'user' => 'username', 'pass' => 'password!#$?*abc' ]
|
||
// 'localhost:9200'
|
||
],
|
||
|
||
# #
|
||
# ElasticSearch basic authentication credentials
|
||
#
|
||
# @since 4.2
|
||
##
|
||
'smwgElasticsearchCredentials' => [
|
||
// 'user' => 'foo', 'pass' => 'bar'
|
||
// 'foo', 'bar'
|
||
],
|
||
|
||
/**
|
||
* If SMW should verify that the semantic data is up to date with the latest revision of a
|
||
* page whenever this page is loaded. If the semantic data is out of date this will be shown
|
||
* in the "entity issue panel". This panel is only shown when there is something to
|
||
* display, so setting this setting to true increases the frequency the panel is shown on
|
||
* pages.
|
||
*
|
||
* @since 3.2
|
||
*/
|
||
'smwgDetectOutdatedData' => false,
|
||
|
||
/**
|
||
* Whether Special:ExportRDF <link> element is added to the <head> element
|
||
* Used to avoid bots scraping ExportRDF by not advertising on every page
|
||
* Because the page is not a cheap call
|
||
*
|
||
* @since 5.0
|
||
*/
|
||
'smwgEnableExportRDFLink' => true,
|
||
|
||
/**
|
||
* Sets whether or not to set the timestamp on the ParserOutput object
|
||
* Enabling this allows parser cache to be invalidated immediately
|
||
*
|
||
* However:
|
||
* - Last modified date will become the parser cache purge time instead of the page edit time
|
||
* - CDN cache might not be invalidated correctly because the revision is not old enough to be considered stale
|
||
*
|
||
* @since 5.1
|
||
*/
|
||
'smwgSetParserCacheTimestamp' => true,
|
||
|
||
/**
|
||
* Sets the keys that will be added to the parser cache key.
|
||
* Each key will trigger a cache fragmentation.
|
||
*
|
||
* @since 5.1
|
||
*/
|
||
'smwgSetParserCacheKeys' => [
|
||
'userlang',
|
||
'dateformat'
|
||
],
|
||
];
|
||
} )();
|