语义MediaWiki 3.1.0
Semantic MediaWiki 3.1.0 | |
---|---|
发行日期: | September 23, 2019 |
上个版本: | Semantic MediaWiki 3.0.2 |
兼容: | MW 1.31.0 - 1.33.x |
当前版本: | |
SMW 4.2.0 |
Version 3.1.0 of Semantic MediaWiki is the next major release after the Semantic MediaWiki 3.0.0 release. It introduces several new features, enhances existing functionality, provides bugfixes and further increases platform stability. See the English language RELEASE NOTES below on this page for further information.
Please refer to the help pages on installing or upgrading Semantic MediaWiki to get detailed instructions on how to do this.
Semantic MediaWiki 3.1
Released on September 23, 2019.
Highlights
This release brings the following highlights:
- Support for tracking attachment links added. They display on special page "Browse" and in the factbox using an extra tab (#3643, #3652, #3661, #4147)
- Elasticsearch replication monitoring introduced (#3697, #3700, #3713)
- Embedded query update feature refactored and improved by a new dependency links validation and invalidation mechanism (#3644, #3831)
- Support for constraint schemas added (#3746, #3829, #3968, #4033, #4047)
- Support for annotation value sequence maps added (#4226)
Compatibility
This release supports MediaWiki 1.31.x up to 1.33.x and PHP 7.0.x up to PHP 7.4.x. For more detailed information, see the compatibility matrix.
New features and enhancements
Changes to the data store are now triggered by introducing DependencyLinksValidator
a mechanism to validate temporal attributes (#3644, #3831). This refactored and improved the embedded query update feature.
Setup
- #3605 Conditionally create the full-text (
smw_ft_search
) table - #3738 Show an "in maintenance" screen with information while the upgrade is progressing
- #4026 Show relative upgrade progress on the "in maintenance" screen
- #4119 Added check for
SMW_EXTENSION_LOADED
to enforceenableSemantics
- #4123 Added
smwgDefaultStore
to upgrade key matrix hereby making it part of the upgrade key - #4170 Added check whether the extension registration is complete or not
- #4190 Prevent "Uncaught Exception: It was attempted to load SemanticMediaWiki twice"
Store
- #3642 Extended maintenance script "rebuildData.php" to support the removal of outdated query links
- #3686 Display of semantic statistics on special page "Statistics" was improved and extended
- #3782 Added check for retired properties
- #3803 SQLite, use text type for
o_hash
field - #3809 DataUpdater, use changed revision
- #3822 Check
smw_hash
and update if necessary - #3887 Added check to detect and remove detached subobjects i in the rebuilder
- #4063 Added a prefetch cache and lookup capabilities to minimize required read queries when resolving result objects
ElasticStore
- #3637 Uses
keyword
as type for theP:*.geoField
mapping - #3638 Added minimal index document for an empty bulk request
- #3693 Relaxed link removal in raw text
- #3697 Added replication monitoring (
indexer.monitor.entity.replication
) on per entity base and #3713 (indexer.monitor.entity.replication.cache_lifetime
) - #3699 Added length restriction to value inputs for a query construct (
query.maximum.value.length
) - #3700 Show indicator placeholder for replication monitoring
- #3763 Forced
FileIngestJob
to wait on the command line before executing the file indexing - #3777 Added
rev_id
as field for indexing to extend the replication monitoring - #3810 Check for associated revision
- #3835 Added capabilities to record replication issues
- #3999 Added support for inverse property + category subquery
- #4018 Added replication check to confirm connection status with the Elasticsearch
- #4019 Show the Elasticsearch status unconditionally on the dashboard
- #4088 Fixed handling of predefined properties keys
- #4114 Added the "rebuildElasticMissingDocuments.php" maintenance script to find missing entities (aka documents) from Elasticsearch and schedule
smw.update
jobs for those identified documents - #4126 Added a monitoring on whether an adminstrator has run the rebuild index script after switching to the
ElasticStore
or not - #4155 Fixed
PredefinedPropertyLabelMismatchException
on invalid predefined property matches - #4158 Added
--only-update
option to the "rebuildElasticIndex.php" maintenance script to run an update without switching indices or initiating a rollover - #4208 Fixed that only deleted subobjects on related entities are removed during an replication
- #4230, #4231 Fixed overriding
smw_rev
,smw_touched
on predefined properties during the setup and show user readable property labels - #4240 Added support for running the rebuild index as part of the "updateEntityCollation.php" maintenance script execution
- #4250 Improve ICU related collation sorting
Query
- #3644 Added
DependencyLinksValidator
, refactored the update logic, and improved the detection of outdated dependencies (see also #4265) - #3665 Added support for the
ctrl+q
shortkey to start the query process on special page "Ask" - #4064 Fixed use of
+offset=
as printout parameter - #4137 Added maintenance script "updateQueryDependencies.php" to update the
smw_query_links
table on entities that contain embedded queries
Result formats
- #3620 Fixed result printer "csv" to not ignore omitting of units with display formatter
#-n
- #3650 Added support for
noimage
as output option for entity (aka. page) links - #3734 Moved remaining result printers to new namespace
- #3760 Removed
template arguments
and addednamed args
to the "templatefile" result printer - #3793 Added support for (ul/ol) as value separator in result format "table"
- #3873 Use canonical property label in a template context
Misc
- #3621 Added support for hidden annotation
- #3643 Added support for tracking attachment links via the
_ATTCH_LINK
property - #3652 Added attachment display in the
Factbox
, #3661 added suport for sorting attachment list columns, #4147 added aIs local
column to indicate whether a file is local or not - #3678 Decodes
#
in a record text field - #3696 Highlighter to decode
<
and>
in content - #3717 Highlighter to decode
\n
in content - #3718 Extended tables to find and remove duplicates
- #3720 Added special page "MissingRedirectAnnotations" to show missing redirect annotations
- #3733 Added support for enforced property parent type inheritance (disabled by default, can be enabled using the
$smwgMandatorySubpropertyParentTypeInheritance
setting) - #3735 Added declaration check for when multiple
Has fields
declarations are used - #3747 Added an option to define
LAST_EDITOR
,IS_IMPORTER
- #3749 Added
PROPERTY_GROUP_SCHEMA
as schema type to to define property groups using a JSON schema - #3751 Added
?
,*
, and!
as invalid characters for a property name - #3756 Added properties count in use for a specific type to special page "Types"
- #3779 Added normalization for
__
in propery names - #3790 Highlighter, remove trailing line feeds
- #3792 Added the
_ERR_TYPE
predefine property - #3795 Decode values before comparing (</>,</>)
- #3816 Show filter count on property page
- #3817 ExternalFormatterUri to replace
with
_
- #3818 External identifier to support multi substitutes using {...}
- #3819 Support
Has fields
to allow property names with:
- #3821 Support schema change to push a change propagation dispatch job
- #3864 Added core hook to support
--skip-optimize
in "update.php" again with MW 1.33+ - #3866 Added check for remnant entities,
$smwgCheckForRemnantEntities
- #3869 Minimize redirect lookups on properties
- #3905 Added maintenance script "purgeEntityCache.php" to purge all cache entries (including associates) that use the
EntityCache
interface - #3920 Added
DisplayTitleFinder
to support a prefetch lookup so that titles can be fetched and cached in bulk to minimize the required database queries - #3922 Added the
--auto-recovery
option to maintenance scripts "rebuildElasticIndex.php" and "rebuildData.php" - #3928 Added
TableStatistics
to dashboard to gather some inforamtion of the table usage - #3940 Added support for
callable
in$smwgFallbackSearchType
to allow usingSMWSearch
in tandem with for exampleCirrusSearch
- #3945 Added support for the full pipe trick to the WikiPage datavalue
- #3960 Added
--namespace
option filter to maintenance script "rebuildData.php" - #3965 Show usage (properties linked to a schema) for schemta that define a
usage_lookup
- #4042 Added support for
#
as formatting directive to create a no link - #4048 Added new
smwtable-clean
table CSS - #4151 Added
--report-runtime
and--with-maintenance-log
options to the "removeDuplicateEntities.php" maintenance script - #4069 Added
--with-maintenance-log
option to the "rebuildElasticIndex.php" maintenance script - #4143 Added support for
count
andfurther results
to the remote request - #4144 Added schema summary
- #4150 Fixed
enableSemantics
exception where external functions try to access Semantic MediaWiki that hasn't been enabled - #4223 Improved the option display on the preference page
- #4226 Introduced the concept of
sequence map
for annotation values - #4244 Adding sorting of properties by label (not by key) on special page "Browse"
- #4281 Added wider search radius for
completionSearch
Constraints
- #3746 Added [
PROPERTY_CONSTRAINT_SCHEMA
] as a new schema type and introduce an approach by assigning a[[Constraint schema::...]]
to a property - #3829 Added
_CONSTRAINT_SCHEMA
property (see #3746) - #3843 Show compiled constraint schema on property page
- #3908 Added
unique_value_constraint
- #3968 Added support for displaying
constraint
errors using an page indicator - #3969 Added support for
custom_constraint
to enable users to define custom constraints via aConstraint
interface and the provided hook - #3970 Added
non_negative_integer
constraint - #3981 Added
must_exists
constraint - #3989 Extended the constraint
ErrorLookup
to scan subobjects and cache the lookup, also addedsmwgCheckForConstraintErrors
setting - #4010 Added
single_value_constraint
- #4033 Added support for
CLASS_CONSTRAINT_SCHEMA
- #4047 Added
SpecialConstraintErrorList
to display errors classified as constraint - #4069 Added
shape_constraint
Bug fixes
- #3568 Fixed "Warning: Cannot modify header information - headers already sent by" on a remote request
- #3750 Checks whether the sort argument can be accessed or not in the datatable
- #3839 Fixed display of time offset display for non date items on the property page
- #3840 Fixed special page "Browse" and display of properties when more than 200 items are available
- #3888 Fixed
MWUnknownContentModelException
while running maintenance script "rebuildData.php" - #3938 Fixed "Index name must always be lower case" in connection with Elasticsearch
- #3914 Fixed "Cannot override final method Job::getTitle"
- #4022 Fixed "Call to undefined method ... transformSearchTerm"
- #4035 Fixed "DispatchContext.php .. subject is unknown"
- #4071 Fixed "Minus prepended to queried negative values stored with datatype Number"
- #4077 Fixed "Maintenance logging no longer works due to missing user"
- #4091 Fixed "HTMLInfoField.php: 'default' must be a FieldLayout or subclass when using 'rawrow'"
- #4110 Fixed "trailing spaces" in JSON language files
- #4111 Fixed "TypeError SearchDatabase.php: Argument 1 passed to SearchDatabase ... must implement interface ... ILoadBalancer ..."
- #4113 Fixed "Declaration of SMW\MediaWiki\Search\SearchResult::getTextSnippet($terms) should be compatible with SearchResult::getTextSnippet($terms = Array)"
- #4160 Fixed "SQL error
... AND ( AND o_id LIKE '%input%') ...
when matching a string usingStore::getPropertyValues
" - #4205 Fixed "NavigationLinksWidget.php ... PHP Warning: A non-numeric value encountered"
- #4210 Fixed "MediumSpecificBagOStuff reports ... Serialization of 'Closure' is not allowed"
- #4255 Fixed
allows value
declaration for record types - #4270 Fixed "Error: Call to undefined method RevisionSearchResult ..."
Breaking changes and deprecations
- #3808 Removed
CachingEntityLookup
- #3995 Disabled access to
Title
related methods in theWikiPageValue
- #3402 Removed long deprecated functions from
SMWQueryProcessor
Other changes
- #3580 Removed HHVM from the test matrix (implicitly it means that HHVM is no longer supported)
- #3612 Added
FieldType::TYPE_ENUM
support - #3666 Uses HTML instead of JS for the SMWSearch namespace buttons
- #3675 Support definition of field index type
- #3682 Removed
IsFileCacheable
hook usage - #3685 Replaced qTip with tippy.js (3.4+) (#3811, #3812, #3813)
- #3712 Uses
smw_rev
field to check if an update is skippable - #3721 Added index hint for page types
- #3723 Added prefetch support for the property value list retrievable
- #3770 Extended
ParserAfterTidy
hook event listening - #3780 Added
Database::beginSectionTransaction
due to MW 1.33 - #3801 Class and namespace reorg
- #3792 Added the
ProcessingError
interface to describe error types - #3808 Removed
CachingEntityLookup
- #3807 Added
SMW::Event::RegisterEventListeners
hook - #3815 EntityValidator
- #3823 Added 'jquery.async' as local copy
- #3830 Added
Constraint
interface andConstraintCheckRunner
- #3895 Added the
SMW::SQLStore::Installer::BeforeCreateTablesComplete
hook - #3897 Added
SMW::RevisionGuard::*
hooks - #3924 Removed
SMWSQLStore3Readers
- #4066 Moved
QueryResult
andResultArray
- #4131
LoadBalancerConnectionProvider
to rely ongetConnectionRef
- #4169 Added the
SMW::Parser::AfterLinksProcessingComplete
hook to address things like #3651 - #4189 Isolated
smw_proptable_hash
handling - #4192 Moved
SMWSQLStore3
toSMW\SQLStore\SQLStore
- #4194 Moved
SMWSQLStore3Writers
toSMW\SQLStore\SQLStoreUpdater
- #4200 Moved
SMWSql3SmwIds
toSMW\SQLStore\EntityStore\EntityIdManager
- #4222 Added exception handling to ensure that errors are logged during a deferred update
- #4240 Added the
SMW::Maintenance::AfterUpdateEntityCollationComplete
hook - #4273 Added
ResultPrinterDependency
interface
Contributors
- 650 – James Hong Kong
- 88 – translatewiki.net for the translator community
- 48 – Jeroen De Dauw
- 41 – Karsten Hoffmeyer
- 4 – DannyS712
- 2 – Bernhard Krabina
- 2 – Mark A. Hershberger
- 2 – Máté Szabó
- 2 – Zoran Dori
- 2 – Alexander Gesinn
- 1 – Alex Winkler
- 1 – Brett Zamir
- 1 – Clara
- 1 – Jaider Andrade Ferreira
- 1 – Morgon Kanter
- 1 – NIKITA
- 1 – Peter Grassberger
- 1 – Sébastien Beyou
- 1 – Timo Tijhof
- 1 – Tisza Gergő
另见
- 3.1.0 milestone (on GitHub) for tracking issues and tasks related to this release