Important new features of Semantic MediaWiki 3.2


Last updated on 2020-12-10. Written by Karsten Hoffmeyer


Release 3.2 of Semantic MediaWiki. What are the important new features?

Semantic MediaWiki 3.2 was released earlier this year, but it has taken some time to digest and let you know what were the important changes.

In contrast to previous releases, this major release was focused mainly on improvements for software administrators. Although there were still significant benefits for users, i. e. wiki editors and readers that are worth mentioning.

In this blog post I will focus on the main improvements and cover details that are interesting and important for everybody.

Semantic MediaWiki 3.2

Compatibility

The Semantic MediaWiki 3.2 release was worked on for about a year. It now provides support for the new MediaWiki 1.35 Long Term Support (LTS) release that was published about a fortnight later. So you can now upgrade both MediaWiki and Semantic MediaWiki in one go, great for administrators.

Since it also supports the earlier MediaWiki 1.31 LTS release and every version in-between you can just upgrade Semantic MediaWiki. This means you take advantage of new features without being forced to upgrade MediaWiki at the same time. From experience I know that this may also be preferable in some cases.

Release Policy

The release policy was refined to improve the experience of administrators in maintaining Semantic MediaWiki.

Thus we will see more major releases (first version number change) in the future. The new release policy makes sure that upgrades do not need special attention and do not come with breaking changes (database schema changes, data consistency changes, syntax changes, etc.) within a specific release series of Semantic MediaWiki, i.e. versions 3.x, 4.x, etc.

Minor and patch releases will in the future only bring compatible feature improvements and bug fixes. Have a look at the details of the release policy document.

Enhancements for Editors and Readers

Related to the display and validation of schema definitions

Improvements to the accessibility of schemas located in the "smw/schema" namespace were implemented.

The buttons for toggling parts of the schema definitions as well as copying it as a whole were placed in a new top navigation. This navigation now also comes with a nice search field allowing you to search for given strings within a schema definition.

Editors and readers can now easily find specific parts of a schema definition, making it easier if the given one is rather complex and large. Plus, this new search feature comes with a really useful highlighting function of the results found.

Display of schema

Moreover the formal validation of JSON schema definitions has been improved. Any resulting error messages are now more specific and provide better ways of identifying the cause of the problem within the given schema.

Also in a dedicated tab on property pages you now see a JSON representation of the property profile schema for that given property that was defined with special property "Profile schema". Profile schemas usually define sequence mapping or range grouping for values annotated to the property.

Last but not least, Semantic MediaWiki now provides a predefined JSON schema for property groups which are automatically imported to your wiki upon initial installation or during the upgrade process.

If you already have manually defined a property group schema you do not have to worry since that will take precedence. Still, you may have to adapt your property group schema since the structure was changed which was breaking for previous definitions.

Related to the #info parser function

The #info parser function allowing to generate tooltips now provides two new parameters for you.

One parameter allows to define a maximum width (max-width) and the other allows to choose from a predefined theme (theme). This way you can improve the automatically generated appearance of tooltips that should be shown to the editors and readers. See the help page on adding tooltips for more information on this nice enhancement.

Use of max-width parameter Use of theme parameter

New entity issue panel

An entity issue panel was introduced that will inform you of issues with the data stored to the given page and provide easily accessible context for them. In general two different kinds of issues are shown. One kind of issue is classified as warnings that are indicated with an orange icon. These issues are problems with formal data validation such as constraint violations or otherwise improper data. In this situation the editor needs to check and update the data stored to the page.

The other kind of issue is classified as errors, shown with a red icon. These issues arise when the data store is or should be in maintenance mode or if inconsistencies with the storage backend are discovered. In these cases the administrators need to take action, however the editor at the same time knows that there are issues.

Entity issue panel

Help on value filtering on property pages

The value filtering functionality on property pages which was introduced with version 3.0 of Semantic MediaWiki is now feature rich.

Historically these features were only documented on wiki, preventing them from being easily accessible. With the 3.2 release with the new tooltip it provides details of all the options available.

Property filter tooltip

Enhancements for Administrators

Setup checks

The previous version of Semantic MediaWiki introduced setup checks to generate information about the state of the Semantic MediaWiki software.

This information was gathered in a special file (".smw.json"). These checks have now been refined and reorganized providing better information to administrators about actions to be taken when a check detects an issue. In most cases these issues prevent the wiki from being fully accessible by showing an error screen to the wiki user.

These issues need to be resolved before editing can safely commence or continue on the wiki which prevents potential data inconsistencies or even data loss.

Also, avoidable setup mistakes are being addressed by the checks to ensure a smooth operation of the wiki. The detected problems can e.g. be issues coming from extension loading, extension incompatibilities, etc. or are triggered by missed software requirements. See the documentation on setup checks. for further information.

Setup check error

Maintenance alerts

These days MediaWiki and Semantic MediaWiki have become increasingly dependent on maintenance tasks. This need to be done on a regular basis to assure the operating stability of the wiki.

These maintenance tasks are usually worked on by running dedicated scripts to assure that the respective maintenance jobs are being executed by the softwaer.

Starting with this new version 3.2 of Semantic MediaWiki, maintenance alerts are supported to assist administrators in identifying the maintenance tasks in need of attention.

These alerts also cover information about outdated or superfluous configuration and are shown on the special page "SemanticMediaWiki" in the alerts section. Alternatively on the special page "PendingTaskList" you have an overview that lists maintenance jobs.

I believe this is an important improvement making required maintenance work more visible and creates better awareness for it. See the documentation on maintenance alerts for further information.

Maintenance alert

Maintenance scripts

This new release serves two new maintenance scripts, "runImport.php" and "disposeOutdatedEntities.php".

The first one "runImport.php" was introduced to allow re-run of the import of content in case this step was suppressed during the setup or update of the wiki. For example, if you wanted to prevent predefined content from rolling into a specific wiki.

However, this script is also very useful if new content was placed on the server for import.

The second new maintenance script "disposeOutdatedEntities.php" was created as a short-hand for using the "rebuildData.php" maintenance script together with the --skip-properties and --dispose-outdated parameters in previous versions of Semantic MediaWiki. There is no immediate need to migrate to using this new script but I like the idea of separating concerns for this specific task.

A nice enhancement brought to you for all maintenance scripts was the modernization and improvement of the script's client output on your shell. I was about to write that it now makes it fun just to watch the scripts performing their actions.

Configuration preloading

Configuration preloading is a new mechanism added to allow a preload of a set of configurations. These would otherwise have been added manually when creating or updating a wiki.

Thus you can prepare reusable configuration profiles for your wiki and load them individually to specific instances. This is a great improvement for maintainers of wikifarms since it eases the work of distributing specific configuration to individual wikis.

Moreover a couple of common profiles are already provided by Semantic MediaWiki such as one for providing settings relating to the usage of media files.

Also, there is a specialized one for adding primary keys to Semantic MediaWiki owned tables to help specific relational data store environments like e.g. "Percona". See the documentation on configuration preloading for further information.

Conclusion

Semantic MediaWiki 3.2 is not directly comparable to the features fests celebrated by the previous two major releases but rather focused on improving and updating existing features.

This makes this release a different one in character. It is however another solid release and allows us to take a breath and dig into the features we already have.

I personally very much appreciate that it brought support for MediaWiki 1.35 (LTS) and was published prior to the MediaWiki release.

Also, revising and formally publishing the release policy was a good step to take. Let's cheerfully move on to this version of Semantic MediaWiki.

Hosting and Support

All of Professional.Wiki’s hosting plans ship with the latest version of Semantic MediaWiki covered by this blog post.

Since we do the administration of the wiki for you you can enjoy the benefits for users without needing to worry about the technical implications.

Additionally professional support is available to help you get the most out of your wiki. We will be very happy to assist you and make a difference for you!

Contact us for more information.

In this blog post I only covered the most important changes this release introduced to us as the users of the software. During last weeks SWMCon 2020 I provided a presentation on Semantic MediaWiki 3.2 which you can also check out if you are interested in more details.

Still I hope you enjoyed reading this very blog post and got a lot out of it, and let me know if you have more questions or what your thoughts are about the latest release.

Also interesting

Participate

Comment and upvote on Reddit

Comment and share on LinkedIn

Enjoyed our article? We don't have like buttons but you can follow Professional Wiki on Twitter or subscribe to our newsletter!