Help:Wiki administration

From Ruisdael Observatory Data Catalog

Ruisdael Observatory Data Catalog Wiki

This wiki consist of installations of Mediawiki software, with some added Mediawiki extensions.

The most relevant extensions are:

  • Semantic Mediawiki (SMW) - allows wiki pages to contain structured data, through the use of semantic annotations, performed with with property::value descriptors (see a list of all the properties used in this wiki at Special:Properties), and categories that identify the kind content a page represents (see a list of all the categories used in this wiki at Special:Categories).

This structure content can be used in queries that data to create dynamic representations such as tables, timelines, maps, lists, etc (see this wiki semantic search interface at Special:Ask)

  • Page Forms - provides the wiki with user-defined Forms (see all forms used in this wiki) for creating and editing pages on your wiki, as well as for querying data. The data entered in these Forms is passed onto to wiki templates (see [more on wiki templates]) and displayed often as infoboxes
  • Maps to visualize and work with semantic geographical information.
  • Semantic_Result_Formats which extends the range of formats by which semantic data can be represented
  • SimpleBatchUpload for uploading files in batches to the wiki

A complete list of all the installed extensions, plus detailed information on software versions can be found in each wiki's Special:Version page


Wiki Ecosystem

Mediwiki requires the following components to run:

  • the programming language: PHP
  • the database: MySQL/Mariadb
  • the webserver: Nginx
  • the software: Mediawiki

For details on the versions of each of these components see Special:Version page in each wiki

Wiki Installation Process

This wiki runs on non-dockerized configuration. Although Mediawiki can be run inside a docker container, it is quite cumbersome to setup extensions such as SMW in a docker container.

The approach we have chosen to easily install and configure the Mediawiki instances in operation is to run the semantic-mediawiki-playbook/ against a VM. Or for testing purposes, against a Vagrant box. In the playbook all the used extensions and their individual installation methods (either through [PHP Composer PHP Composer], Git or bundled with the Mediawiki Software) are defined in ansible/group_vars/all.

configuration and directories

The installation of the wikis is often circumscribed to the /var/www/html/wiki/ directory. Inside which the configuration file LocalSettings.php.

LocalSettings.php defines most of the settings of the wiki, such as its:

  • loaded & enabled extensions
  • loaded & enabled skin
  • visibility and user-rights
  • wiki names, URLs and paths
  • file upload restrictions

Visibility and Permissions

This wiki is configured to allow viewing to non-logged in users, but restrict editing only to logged in users, or allow editing to anyone, even without an account (not recommended due to spam)

It restricts account creation to only administrators or all users. Open account creation is not recommended as it can lead to a infestation of spam bot accounts, writing about the benefits of viagra on wiki pages.

More on Manual:Preventing_access and Manual:User_rights

The use configuration is:

# Permissions
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = true;
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['bureaucrat']['createaccount'] = true;

wiki maintenance

Admin pages

See Special:AdminLinks for a list of administrative pages in each wiki (available only to administrators)

creating new users

New users can request accounts via Github issues in https://github.com/ruisdael-observatory/Ruisdael-Data-Catalog/issues/new?template=WikiAccount.yml.

The issue form is based on a template used is located in https://github.com/ruisdael-observatory/Ruisdael-Data-Catalog/blob/main/.github/ISSUE_TEMPLATE/WikiAccount.yml which can be changed easily.

Screenshot 2024-09-24 at 11-53-36 New Issue · ruisdael-observatory Ruisdael-Data-Catalog.png


Wiki admins & bureaucrats (see wiki admins list in Special:ListUsers) can use the page Special:CreateAccount to create new user accounts

Once the account is created, an email, similar to the following template, shall be sent out to the new user.

Your user-account for the Ruisdael Observatory Data Catalog (https://ruisdael-catalog.citg.tudelft.nl) has been under the username @@@given-name surname@@@ 

The default password is: @@@XYZ@@@. You should change it in your user preferences (https://ruisdael-catalog.citg.tudelft.nl/index.php?title=Special:Preferences)


A comment should be added to the Github issue ie. "Your user account has been created. Check your mailbox for further details", followed by the issue closure.

Semantic Properties and Categories

Powered by Semantic Mediawiki (SMW) extension

Semantic properties and categories organize and describe content in machine-readable ways, allowing for structured queries and dynamic content aggregation

Category declaration pages do not need to be created, in order to be used. See all categories used in this wiki at Special:Categories.


Property declaration pages are essential to define what each property is [1], its data type[2] and other possible definitions such as label(s)[3], descriptions [4], allowed values[5], etc. See all special properties in in https://www.semantic-mediawiki.org/wiki/Help:Special_properties. See all properties used in this wiki at Special:Properties.


Annotating Pages with Categories & Properties

Although categories and properties can be include onto wiki pages via text. ie. I can say that this page is described with the properties Property:Date and Property:relatedTo with the following piece of text:

[[hasDate::2024.09.17]] [[relatedTo::Main Page]]

    • The usual way the user will interact with them, is indirectly via forms and templates.**

Editing with Form & Template pairs

In short the Form: pages pass-on the user entered content onto templates, and those templates have properties with template variables, that will be substituted with user entered content.

See:

Querying the categories and properties

Special:Ask page provides a query interface, where users can draft semantic queries, to generate up-to-date results, based on properties and categories, displayed in chosen formats, ie. tables, lists, maps, timelines, etc. The query code can be copied from this interface and pasted on the page where the query results shall be expressed ie. see the Main Page for examples.

For more info see https://www.semantic-mediawiki.org/wiki/Help:Browsing_and_searching


Data model of this wiki

see Help:Data Catalog Schema


References