MediaWiki/Installation
Contents
Installation of the Jmol (JSmol) Extension for Mediawiki
- Admin All this must be done by the wiki administrator.
The files forming the Jmol Extension are part of the Jmol source code and may hence be retrieved from the SVN system.
Note: Version 5 of the Jmol Extension has been tested against MediaWiki 1.32. There are significant changes in MediaWiki, so this procedure will not work with older versions. It is not compatible either with newest versions of MediaWiki.
To install the Jmol extension using Jmol 14
- Download the release of Jmol (
Jmol-14.xx.xx-binary.zip
) You need version 14.29.32 or later. - Extract into a temporary location the jsmol.zip file from the Jmol release.
- Create a Jmol subfolder in the extensions folder of your MediaWiki installation.
- Extract (upload) into this Jmol folder the following contents from the jsmol.zip file:
To install the Jmol extension using Jmol 16
- Download the latest release of Jmol (
Jmol-16.xx.xx-binary.zip
) Good compatibility may be expected, but the Extension has not been tested yet against Jmol 16. - Extract into a temporary location the jsmol.zip file from the Jmol release.
- Create a Jmol subfolder in the extensions folder of your MediaWiki installation.
- Extract (upload) into this Jmol folder the following contents from the jsmol.zip file (all located inside a jsmol subfolder):
Further steps
- Download all the source files of the Jmol extension and place them in the
extensions/Jmol
folder. - Add the following line to your LocalSettings.php file (near the end):
require_once("extensions/Jmol/Jmol.php");
- Optional change of settings:
You can configure the Jmol extension with several settings added after the require_once
line (default value underlined):
- $wgJmolAuthorizeJmolTag = true / false : Authorize the use of the <jmol/> tag.
- $wgJmolAuthorizeJmolFileTag = true / false : Authorize the use of the <jmolFile/> tag.
- $wgJmolAuthorizeJmolPdbTag = true / false : Authorize the use of the <jmolPdb/> tag.
- $wgJmolAuthorizeJmolSmilesTag = true / false : Authorize the use of the <jmolSmiles/> tag.
- $wgJmolAuthorizeUploadedFile = true / false : Authorize the use of <uploadedFileContents>.
- $wgJmolAuthorizeUrl = true / false : Authorize the use of <urlContents>.
- $wgJmolDefaultAppletSize = 400 : Size in pixels of the JSmol panel.
- $wgJmolDefaultScript = ... : Default script.
- $wgJmolExtensionPath = "extensions/Jmol" : Path to the directory where the Jmol extension is installed. This must be an absolute path, therefore if you customize it, make sure it is prepended with $wgScriptPath (see example in Jmol.php).
- $wgJmolForceNameSpace = ... : Force the NameSpace where JSmol will go looking for wiki pages containing molecular data (using <wikiPageContents>).
- $wgJmolShowWarnings = true / false : Display warnings when users try to use disabled features.
- Deprecated:
- $wgJmolUsingSignedAppletByDefault = true / false : Choose if the signed Jmol applet will be used by default. Note: the signed Jmol applet is signed with a default certificate. If you want to use the signed Jmol applet in your wiki, I suggest resigning the Jmol applet with your own certificate.
- $wgJmolAuthorizeChoosingSignedApplet = true / false : Authorize users to choose between the unsigned and the signed Jmol applet.
Managing molecular structure files
If you want to authorize users to upload files containing molecular data (for using the <uploadedFileContents> tag), you need to do the following:
By default, MediaWiki authorizes the uploading of a very limited set of file types, based on file extensions and MIME types. By default, uploading molecular files is not authorized, so the configuration must be modified to take advantage of all the Jmol extension features.
Configuration of file uploading for MediaWiki can be quite complex and may also depend on the servers configuration hosting the wiki. You can read several MediaWiki manual pages for correctly configuring file uploading for your own MediaWiki setup:
First, you need to authorize new file extensions being uploaded in the wiki, using $wgFileExtensions.
For example, if you want to authorize uploading of CML files (*.cml
), you can add the following line in your LocalSettings.php file:
<source lang="php">
$wgFileExtensions[] = 'cml';
</source>
You can check what file extensions are authorized in the Special:Upload page.
By default, the MIME type detection configuration of MediaWiki only detects molecular files as basic MIME types (text/plain
, application/xml
, …). Having a more precise MIME type detection is better, especially for the Media Handler.
For molecular files formats based on XML, the MIME type detection can be enhanced using $wgXMLMimeTypes which allows the mapping between the root element of the file and the MIME type.
For example, for enhancing detection for CML files (*.cml
), you can add the following lines in your LocalSettings.php file:
<source lang="php">
$wgXMLMimeTypes = array_merge( $wgXMLMimeTypes, array(
'http://www.xml-cml.org/schema:cml' => 'chemical/x-cml',
'http://www.xml-cml.org/schema:molecule' => 'chemical/x-cml',
'http://www.xml-cml.org/schema/cml2/core:list' => 'chemical/x-cml',
'http://www.xml-cml.org/schema/cml2/core:molecule' => 'chemical/x-cml' ) );
</source>
Note: This description needs to be completed, especially for dealing with MIME types which is quite complex and depends on your server configuration.
By default, MediaWiki checks that the file extension matches the MIME type that has been detected.
For this, MediaWiki uses the includes/mime.types
file in MediaWiki installation.
File extensions for molecular models are probably missing from this file by default, so you need to modify it.
For example, *.cml
can be detected as chemical/x-cml
or application/xml
(depending on your MIME type detection configuration), so you need to make the following additions to includes/mime.types
:
application/xml xml xsl xsd cml chemical/x-cml cml
Now that new file extensions being uploaded have been authorized, you can do a last modification so that molecular files are shown with a specific icon in categories (see example on the Jmol wiki).
You can add an icon in the skins/common/images/icons
folder for each extension for molecular files (for example fileicon-cml.png
).
You can use this file.
- You can add an icon in the skins/common/images/icons/ directory for each extension (for example, fileicon-cml.png). In this wiki, we are using this image, which leads to the following result.
Installation of older versions
Version 4 of the Jmol Extension is compatible with MediaWiki 1.16; installation instructions.
The Jmol Extension below v. 3.3 uses another extension, Stub Manager, so you first need to install it.
Deprecated
Installation of the Jmol extension was described on the Jmol extension page on MediaWiki.
That page has been removed since the Jmol Extension is not compatible with recent versions of MediaWiki.