Skip to content

Adds buttons to Mediawiki's Visual Editor to allow you to insert a process-model or map.

License

Notifications You must be signed in to change notification settings

cse-bristol/steep-mediawiki-gadgets

Repository files navigation

Part of the Stakeholder Engagement Platform for the Steep Project.

Code distributed under an open source MIT license.

The STEEP project has now finished, but the server will be live until 30-09-2020, at which point we will kill it.

Live Deployment

The project is deployed at https://tools.smartsteep.eu. This is hosted on CSE’s Linode account. CSE has pre-paid for this server to exist for the required period of time.

Back-ups taken weekly. See: https://manager.linode.com/linodes/backups/steep.

Credentials

These are available in the CSE password database:

  • Wiki admin user login
  • Database password for ‘mediawiki’ user.

Unfortunately, I’ve lost the database password for the ‘root’ user. If you need root access to the live database, MySQL has a process for resetting the password.

You can SSH onto cse@tools.smartsteep.eu using the CSE SSH key.

Likely Maintenance Issues

Parsoid - the server backend for Mediawiki’s VisualEditor - tends to fall over and need restarting.

Similarly, ElasticSearch has proven to be a bit unreliable. Probably there is a configuration mistake.

Features

Steep Icons Extension

Provides an icon font. The skin and other extensions listed here depend on this to display properly.

Steep Skin

Reskins Mediawiki to have a simpler look and feel with fewer buttons.

It also provides breadcrumbs in page and category titles which contain the ‘/’ character. These act a bit like sub-pages, except that it doesn’t check whether the parent pages exist.

Steep Tags Extension

Adds two XML-like tags <data-map> and <process-model> to Mediawiki. These insert a Process Model or Map as an iframe.

There can be controlled with the following properties:

  • name sets the name of the document to load.
  • v sets the version of the document to load.
  • viewpoint overrides the default viewpoint of the document.
  • width
  • height

Adds buttons to Mediawiki’s Visual Editor’s Insert menu to allow you to insert these tags more easily.

See: Visual Editor API, Tag Extensions Example.

Set Viewpoint

Determines the initial view that the map or process-model will show on opening the document. It does this by adding a &viewpoint= parameter to the src of the iframe.

You can also save viewpoints when you are editing a process-model or viewpoint directly in its own Window. The ‘Set Viewpoint’ button we are providing in VisualEditor overrides this, allow you to look at several different parts of the same map or process-model in a document.

History

Choose which version of the process-model or map will be displayed.

Choose ‘Latest’ to ensure that the document will always show the most recent version.

Open Original

This opens the process-model or map in a new window or tab depending on browser configuration.

Category Tables Extension

Modifies the display of categories to be a sortable, paged table.

Adds a box to search within the category.

Adds a button to add items (pages, files, sub-categories) within that category.

Added pages and sub-categories are treated much like sub-pages: they get the category they belong to pre-pended to their name, creating a hierarchy.

Project Structure Extension

Provides a project structure build around categories.

This makes two categories special: Categories:Projects and Categories:ProjectsAndSubProjects:

  • Every category added to Category:Projects also gets added to Categories:ProjectsAndSubProjects
  • Every sub-category, sub-sub-category and so-on inside Categories:ProjectsAndSubProjects also gets added to Category:ProjectsAndSubProjects.

Adds a navigation link to Categories:Projects.

Modifies the text in various places to talk about “Projects” rather than “Categories”.

Depends on CategoryTables.

Dependencies

  • Mediawiki v1.25.1
  • VisualEditor REL1_25 branch.
  • Parsoid (with a running Parsoid server). Note that this does not require the Parsoid extension be installed into Mediawiki.
  • The Process Model and Map software hosted on the same domain as your wiki. Set up and run a ShareJS Server to act as the backend for these.
  • ElasticSearch and the CirrusSearch plugin.

The Steep Project also uses Semantic Mediawiki, but we do not actually require that for these components.

Verify your Mediawiki plugins by looking at the Special:Version page of your wiki.

Deployment

To add this extension to an existing Mediawiki installation, run the following from inside your Mediawiki directory:

# Checkout the code into the extensions folder.
git clone git@github.com:cse-bristol/steep-mediawiki-gadgets.git extensions/steep-mediawiki-gadgets;

# Icon fonts
ln -s -T extensions/steep-mediawiki-gadgets/SteepIcons extensions/SteepIcons;

# Steep skin
ln -s -T extensions/steep-mediawiki-gadgets/steep-skin skins/Steep;

# Steep Tags
ln -s -T extensions/steep-mediawiki-gadgets/SteepTags extensions/SteepTags;

# Category Tables
ln -s -T extensions/steep-mediawiki-gadgets/CategoryTables extensions/CategoryTables;

# Project Structure
ln -s -T extensions/steep-mediawiki-gadgets/ProjectStructure extensions/ProjectStructure;

Then modify your LocalSettings.php to include the following (replace any existing wfLoadSkins call):

require_once "$IP/extensions/steep-mediawiki-gadgets/steep-mediawiki-gadgets.php";

wfLoadSkins(array(
    'Steep',
    'Vector'
));
$wgDefaultSkin = "steep";

wfLoadExtensions(array(
    'SteepIcons',
    'SteepTags',
    'CategoryTables',
    'ProjectStructure'
));

Scripts

The file steep-deploy.sh can run a fresh install or upgrade of the entire Steep platform.

The files steep-backup.sh and steep-restore.sh do what they say.

Future Plans

See TODO.org.

About

Adds buttons to Mediawiki's Visual Editor to allow you to insert a process-model or map.

Resources

License

Stars

Watchers

Forks

Packages

No packages published