Difference between revisions of "Composer (PHP)"

From Biowikifarm Metawiki
Jump to: navigation, search
m (Add an extension)
m
Line 54: Line 54:
  
 
Read the documentation of the extension what kind of version you need, the extension’s documentation should describe it.
 
Read the documentation of the extension what kind of version you need, the extension’s documentation should describe it.
 
+
 
The following “require”-command will update your <code>composer.json</code> as well as install the extension including dependencies:
 
The following “require”-command will update your <code>composer.json</code> as well as install the extension including dependencies:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 60: Line 60:
 
sudo -u www-data php /usr/local/bin/composer.phar require 'mediawiki/semantic-maps' '3.1.3'
 
sudo -u www-data php /usr/local/bin/composer.phar require 'mediawiki/semantic-maps' '3.1.3'
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
== Update extensions ==
 
== Update extensions ==
Line 76: Line 75:
 
sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps'
 
sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps'
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== Self Update of composer ==
 +
 +
sudo php /usr/local/bin/composer.phar composer.phar self-update
  
 
[[Category: MediaWiki]]
 
[[Category: MediaWiki]]
 
[[Category: Maintenance]]
 
[[Category: Maintenance]]

Revision as of 18:47, 25 March 2015

Some extensions of MediWiki are managed by composer. This tool is intended to manage dependencies and needed versions of MediaWiki extensions. It needs a basic configuration file (composer.json in the root wiki folder) and installation or remove of extensions is done on the command line.

Documentation:


Step 0: First install of PHP composer tool itself:

cd ~ # go to personal home directory
sudo curl -sS https://getcomposer.org/installer | php
sudo chown root:mwadmin composer.phar
sudo mv composer.phar /usr/local/bin/


Step 1: Manage your required extensions in file composer.json in the root wiki folder. A basic setup is shipped usually by the Mediawiki installation. File composer.json can look like:

{
  "require": {
    "php": ">=5.3.2",
    "mediawiki/graph-viz": "*",
    "mediawiki/image-map": "@dev",
    "mediawiki/semantic-media-wiki": "~2.0",
    "mediawiki/semantic-result-formats": "2.0",
    "mediawiki/semantic-forms": "3.1",
    "mediawiki/semantic-maps": "3.1.3"
  },
  "suggest": {
    "ext-fileinfo": "More accurate file type detection for uploaded files",
    "ext-mbstring": "Faster unicode handling",
    "ext-wikidiff2": "Faster diff generation",
    "ext-apc": "Speed up MediaWiki with opcode caching (before PHP 5.5)"
  },
  "autoload": {
    "psr-0": {
      "ComposerHookHandler": "includes/composer"
    }
  },
  "scripts": {
    "pre-update-cmd": "ComposerHookHandler::onPreUpdate",
    "pre-install-cmd": "ComposerHookHandler::onPreInstall"
  },
  "config": {
    "optimize-autoloader": true
  }
}

Add an extension

Read the documentation of the extension what kind of version you need, the extension’s documentation should describe it.

The following “require”-command will update your composer.json as well as install the extension including dependencies:

cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar require 'mediawiki/semantic-maps' '3.1.3'

Update extensions

cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar update

Remove an extension

See https://getcomposer.org/doc/03-cli.md#remove

cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps'

Self Update of composer

sudo php /usr/local/bin/composer.phar composer.phar self-update