Difference between revisions of "MediaWiki/Installation"

From Jmol
Jump to navigation Jump to search
(homogenize formats)
(Managing molecular structure files)
Line 8: Line 8:
 
'''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.
 
'''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: ==
+
== To install the Jmol extension using Jmol 14 ==
 
# Download the [https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.32/ release] of [[:en:Jmol|Jmol]] (<code>Jmol-14.xx.xx-binary.zip</code>) You need version 14.29.32 or later.
 
# Download the [https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.32/ release] of [[:en:Jmol|Jmol]] (<code>Jmol-14.xx.xx-binary.zip</code>) You need version 14.29.32 or later.
 
# Extract into a temporary location the {{file|jsmol.zip}} file from the Jmol release.
 
# Extract into a temporary location the {{file|jsmol.zip}} file from the Jmol release.
Line 17: Line 17:
 
#* the {{folder|j2s}}, {{folder|php}} and {{folder|idioma}} folders ''(the latter one may not exist in latest Jmol versions)''.
 
#* the {{folder|j2s}}, {{folder|php}} and {{folder|idioma}} folders ''(the latter one may not exist in latest Jmol versions)''.
  
== To install the Jmol extension using Jmol 16: ==
+
== To install the Jmol extension using Jmol 16 ==
 
# Download the [https://sourceforge.net/projects/jmol/files/Jmol/ latest release] of [[:en:Jmol|Jmol]] (<code>Jmol-16.xx.xx-binary.zip</code>) Good compatibility may be expected, but the Extension has not been tested yet against Jmol 16.
 
# Download the [https://sourceforge.net/projects/jmol/files/Jmol/ latest release] of [[:en:Jmol|Jmol]] (<code>Jmol-16.xx.xx-binary.zip</code>) Good compatibility may be expected, but the Extension has not been tested yet against Jmol 16.
 
# Extract into a temporary location the {{file|jsmol.zip}} file from the Jmol release.
 
# Extract into a temporary location the {{file|jsmol.zip}} file from the Jmol release.
Line 47: Line 47:
 
** <tt>$wgJmolAuthorizeChoosingSignedApplet = true / <u>false</u></tt> : Authorize users to choose between the unsigned and the signed Jmol applet.
 
** <tt>$wgJmolAuthorizeChoosingSignedApplet = true / <u>false</u></tt> : Authorize users to choose between the unsigned and the signed Jmol applet.
  
'''Note:''' If you want to authorize users to upload files containing molecular data (for using the {{Tag|uploadedFileContents}} tag), you need to do the following:
+
== Managing molecular structure files ==
* By default, MediaWiki authorizes the uploading of files whose name ends with a limited number of extensions. For example, if you want to authorize uploading {{File|*.cml}} files, add <tt>$wgFileExtensions[] = 'cml';</tt> in {{File|LocalSettings.php}}.
+
 
 +
If you want to authorize users to upload files containing molecular data (for using the {{Tag|uploadedFileContents}} tag), you need to do the following:
 +
 
 +
By default, MediaWiki authorizes the uploading of  
 +
<!--
 +
files whose name ends with a limited number of extensions. For example, if you want to authorize uploading {{File|*.cml}} files, add <tt>$wgFileExtensions[] = 'cml';</tt> in {{File|LocalSettings.php}}.
 +
-->
 +
a very limited set of file types, based on [https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads 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:
 +
* [https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads Configuring file uploads]
 +
* [https://www.mediawiki.org/wiki/Manual:Mime_type_detection Mime type detection]
 +
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_administration Image administration]
 +
 
 +
 
 +
First, you need to authorize new file extensions being uploaded in the wiki, using [[Manual:$wgFileExtensions|$wgFileExtensions]].
 +
 
 +
For example, if you want to authorize uploading of [[:en:Chemical Markup Language|CML files]] (<code>*.cml</code>), 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 [[Manual:Mime type detection|MIME type detection]] configuration of MediaWiki only detects molecular files as basic  MIME types (<code>text/plain</code>, <code>application/xml</code>, …). 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 [[Manual:$wgXMLMimeTypes|$wgXMLMimeTypes]] which allows the mapping between the root element of the file and the MIME type.
 +
 
 +
For example, for enhancing detection for [[:en:Chemical Markup Language|CML files]] (<code>*.cml</code>), 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 <code>includes/mime.types</code> 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, <code>*.cml</code> can be detected as <code>chemical/x-cml</code> or <code>application/xml</code> (depending on your [[Manual:Mime type detection|MIME type detection]] configuration), so you need to make the following additions to <code>includes/mime.types</code>:
 +
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 [http://wiki.jmol.org/index.php/Category:XYZ_file Jmol wiki]).
 +
You can add an icon in the <code>skins/common/images/icons</code> folder for each extension for molecular files (for example <code>fileicon-cml.png</code>).
 +
You can use [http://wiki.jmol.org/index.php/File:Fileicon_Chemical.png this file].
 +
 
 +
 
 +
 
 
* You can add an icon in the {{Directory|skins/common/images/icons/}} directory for each extension (for example, {{File|fileicon-cml.png}}). In this wiki, we are using [[:Image:Fileicon_Chemical.png|this image]], which leads to the [[:Category:Molecular_Data|following result]].
 
* You can add an icon in the {{Directory|skins/common/images/icons/}} directory for each extension (for example, {{File|fileicon-cml.png}}). In this wiki, we are using [[:Image:Fileicon_Chemical.png|this image]], which leads to the [[:Category:Molecular_Data|following result]].
  

Revision as of 18:05, 2 May 2024

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.

arrangement of folders and files of the Jmol Extension

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

  1. Download the release of Jmol (Jmol-14.xx.xx-binary.zip) You need version 14.29.32 or later.
  2. Extract into a temporary location the File icon.gifjsmol.zip file from the Jmol release.
  3. Create a Folder icon.gifJmol subfolder in the Folder icon.gifextensions folder of your MediaWiki installation.
  4. Extract (upload) into this Folder icon.gifJmol folder the following contents from the File icon.gifjsmol.zip file:
    • the File icon.gifJSmol.min.js file,
    • the File icon.gifJSmol.GLmol.min.js file,
    • the Folder icon.gifj2s, Folder icon.gifphp and Folder icon.gifidioma folders (the latter one may not exist in latest Jmol versions).

To install the Jmol extension using Jmol 16

  1. 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.
  2. Extract into a temporary location the File icon.gifjsmol.zip file from the Jmol release.
  3. Create a Folder icon.gifJmol subfolder in the Folder icon.gifextensions folder of your MediaWiki installation.
  4. Extract (upload) into this Folder icon.gifJmol folder the following contents from the File icon.gifjsmol.zip file (all located inside a Folder icon.gifjsmol subfolder):
    • the File icon.gifJSmol.min.js file,
    • the File icon.gifJSmol.GLmol.min.js file,
    • the Folder icon.gifj2s and Folder icon.gifphp folders. Note: if the latter folder contains a File icon.gifjsmol2.php file, rename it to File icon.gifjsmol.php before uploading.

Further steps

  1. Download all the source files of the Jmol extension and place them in the extensions/Jmol folder.
  2. Add the following line to your LocalSettings.php file (near the end): require_once("extensions/Jmol/Jmol.php");
  3. 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, File icon.giffileicon-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.

Contributors

AngelHerraez