Difference between revisions of "Mediawiki installation/Version 1.25"
(→Install composer extensions {{anchor|install composer and extensions}}) |
|||
Line 1: | Line 1: | ||
MediaWiki version 1.25 installation notes (On 2015-02-26 installed as alpha version) | MediaWiki version 1.25 installation notes (On 2015-02-26 installed as alpha version) | ||
+ | |||
+ | '''General note: the present code may NOT allow updating. On trial it failed on updating the extensions. Instead, an update was created in a new folder, and then the existing folder overwritten.''' | ||
== Architecture == | == Architecture == | ||
Line 104: | Line 106: | ||
cd "${git_path}/core" && sudo git archive $git_tag | sudo -u root -g mwadmin tar --extract --overwrite --directory="${usr_share_wiki_path}" | cd "${git_path}/core" && sudo git archive $git_tag | sudo -u root -g mwadmin tar --extract --overwrite --directory="${usr_share_wiki_path}" | ||
sudo chown root:www-data -R "${usr_share_extension_path}" | sudo chown root:www-data -R "${usr_share_extension_path}" | ||
+ | # for composer on wikifarm: create a vendor folder in usr-share-wiki | ||
+ | sudo mkdir "${usr_share_wiki_path}"/vendor | ||
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ | ##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 332: | Line 336: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ | ##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ | ||
− | |||
− | |||
− | |||
− | |||
# symbolic links of folders | # symbolic links of folders | ||
# for $vhost_wiki_path to $usr_share_wiki_path | # for $vhost_wiki_path to $usr_share_wiki_path |
Revision as of 01:01, 2 March 2015
MediaWiki version 1.25 installation notes (On 2015-02-26 installed as alpha version)
General note: the present code may NOT allow updating. On trial it failed on updating the extensions. Instead, an update was created in a new folder, and then the existing folder overwritten.
Contents
Architecture
See also http://biowikifarm.net/meta/Mediawiki_installation#Cloning_a_new_wiki
Schema:
MW_WMF_CLONE /usr/share/mw-wmf-clone ├ core (Git) ─────────git-archive-export───┐ /usr/share/mw-wmf-clone/core └ skins (Git) ───git-archive-export─→ ) ─┐ /usr/share/mw-wmf-clone/skins └ extensions (Git) ───git-archive-export─→ ) ─┐ /usr/share/mw-wmf-clone/extensions │ │ Active installation (e.g. REL1_25) │ │ ┌ core-files (local git archive-export) ←┘ │ /usr/share/mediawiki25 ├ skins │ /usr/share/mediawiki25/skins ├ extensions (mixed: │ /usr/share/mediawiki25/extensions │ svn biowikifarm, (repo: as svn-post-commit) │ git-archive-export) ←──────────────────┘ │ some svn extensions from MediaWiki esp. Extension:StringFunctions ↓ │ var-www-Wiki ├─→ core-files (linked) /var/www/v-xxx/w/ └─→ extensions (linked) /var/www/v-xxx/w/extensions composer-extensions /var/www/v-xxx/w/composer.json
Git short help
#↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
git checkout <branch>
git checkout <tag-name>
git checkout -b <create-new-branch>
git branch -r|--remotes # list all branches
git tag -l|--list # list all tags
git tag -l|--list <pattern> # list tags matching the pattern
git archive <tag-or-branch-or-tree-ish> # extract an archive
#↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
“Global Variables”
# Set global variables
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
git_path="/usr/share/mw-wmf-clone"
git_extension_path="/usr/share/mw-wmf-clone/extensions"
# UPDATE THE FOLLOWING:
usr_share_wiki_path="/usr/share/mediawiki25"
usr_share_extension_path="${usr_share_wiki_path}/extensions"
git_branch="origin/master" ## OR "origin/wmf/1.25wmf19" for wmf version, OR REL1_25
git_tag="origin/master" ## OR "1.25.9"
vhost_path="/var/www/zzz-temp-overwrite4mw25template" # in web base dir
vhost_wiki_path="${vhost_path}/w"
# Note: if wiki is not directly in the vhost path, add the necessary subfolder, e.g. .../en/w
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
# End of global variables
Update local wmf git clone
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# Update the git clone on biowikifarm:
cd /usr/share/mw-wmf-clone/core; sudo git fetch;
cd ../extensions; sudo git pull; sudo git submodule update --init --recursive;
cd ../skins; sudo git pull; sudo git submodule update --init --recursive;
# OPTIONAL: information on tags etc:
cd /usr/share/mw-wmf-clone/core;
git branch -r | sort --version-sort # list branches
git tag -l | sort --version-sort # list tags
cd /usr/share/mw-wmf-clone/extensions;
git branch -r | sort --version-sort # list branches
git tag -l | sort --version-sort # list tags
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
- Create a MediaWiki versioned source in usr/share
- Create extension sources, extract Git extensions to usr-share-wiki
- biowikifarm extensions
- no further developed extension still necessary fro biowikifarm
- Git extensions from MW_WMF_CLONE
# create MediaWiki core for specific version
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
if ! [ -d "${usr_share_wiki_path}" ]; then
sudo -u root -g mwadmin mkdir --parent "${usr_share_wiki_path}"
echo -e "Create wiki directory ($git_branch): '${usr_share_wiki_path}'"
else
echo -e "Wiki wiki directory ($git_branch) exits already: '${usr_share_wiki_path}'"
fi
# Extract MediaWiki core files from git to usr-share-folder
# EXAMPLE: sudo git archive origin/REL1_23 | sudo -u root -g mwadmin tar --extract --overwrite --directory=/usr/share/mediawiki23
cd "${git_path}/core" && sudo git archive $git_tag | sudo -u root -g mwadmin tar --extract --overwrite --directory="${usr_share_wiki_path}"
sudo chown root:www-data -R "${usr_share_extension_path}"
# for composer on wikifarm: create a vendor folder in usr-share-wiki
sudo mkdir "${usr_share_wiki_path}"/vendor
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
Check status of extensions, either git tags or git branch numbers needed later for installation
#######################################
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# List all extensions with their tags, write into file in the user's home folder
# (Ignore error about /mw-wmf-clone/extensions/extensions)
sudo printf "\n" > ~/"ext_tags_and_branches.txt";
IFS=$'\n'; # change internal Field Separator to newline only; test: printf %q "$IFS"; default $' \t\n'
for ext in `find "${git_extension_path}" -maxdepth 1 -type d -printf "%f\n" | sort`; do
printf "\n%s" "$ext" >> ~/"ext_tags_and_branches.txt";
cd "${git_extension_path}/$ext";
tags=""; tags=`git tag -l | sed ':anchor;N;$!banchor;s@\n@, @g; s@ \{2,\}@ @g;'` ;
if [ "$tags" != "" ]; then
printf "\n tags: %s" "$tags" >> ~/"ext_tags_and_branches.txt";
else
printf "\n" >> ~/"ext_tags_and_branches.txt";
fi
done;
# List all extensions with their branches, write into same file
for ext in `find "${git_extension_path}" -maxdepth 1 -type d -printf "%f\n" | sort`; do
printf "\n%s" "$ext" >> ~/"ext_tags_and_branches.txt";
cd "${git_extension_path}/$ext";
branches=""; branches=`git branch --remotes | sed ':anchor;N;$!banchor;s@\n@, @g; s@ \{2,\}@ @g;'`
if [ "$branches" != "" ]; then printf "\n branches: %s" "$branches" >> ~/"ext_tags_and_branches.txt"; else printf "\n" >> ~/"ext_tags_and_branches.txt"; fi
done;
cd "${git_extension_path}"
IFS=$' \t\n';
# end list extensions' tags and branches
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#######################################
Extract the correct branch or tag of an extension from MW_WMF_CLONE for this usr-share-wiki. Note, the list of EXTENSIONS is incomplete but it seems unnecessary to extract all 663 extensions shipped with the wmf git clone.
#######################################
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# create MediaWiki extensions in usr share
# IMPORTANT: extensions managed by PHP script composer.phar
# and their dependencies must not be included here
EXTENSIONS="
Arrays
BetaFeatures
CategoryTree
CharInsert
Cite
Collection
ConfirmAccount
ConfirmEdit
ContactPage
DataTransfer, 0.6
DismissableSiteNotice
ExternalData, 1.8
Gadgets
HeaderTabs, 1.0.1
ImageMap
InputBox
Interwiki
LiquidThreads
LocalisationUpdate
Lockdown
MassEditRegex
Math
MediaFunctions
MwEmbedSupport
MultimediaViewer
Nuke
OpenID
PageTools, REL_2_0
ParserFunctions
Poem
PdfExport
PdfHandler
Quiz
Renameuser
ReplaceText
SemanticCompoundQueries
SemanticDrilldown
SemanticForms
SemanticFormsInputs
SemanticInternalObjects, 0.8.1
SpamBlacklist
SyntaxHighlight_GeSHi
TimedMediaHandler
TitleBlacklist
TitleKey
UploadWizard
Variables
Widgets
WikiEditor
WikimediaMessages
"
# --------------------------------------
# split line on ", ". If only one value, export HEAD, else first value is branch/tag. Example:
# SemanticMediaWiki, 1.8
# ↓ ↓
# $extension, $this_clone_version
# will export tag 1.8
# NOTE: check the line (similar to ternary operator: if condition ? dothis : dootherthings)
# $( … ) substitutes/returns the command's output
# → if ext-check-with-comma == ext then (&&) "HEAD" else (||) version-string-from-above-list-of-EXTENSIONS
# ${ext%,*} from back of $ext → delete shortest (%) or longest (%%) match
# ${ext#*,* } from front of $ext → delete shortest (#) or longest (##) match
# --------------------------------------
this_ext_update_status=""
IFS=$'\n';
for ext in $EXTENSIONS; do
if [ "${ext}" ];then
this_extension=$([ "${ext%,*}" == "$ext" ] && echo "$ext" || echo "${ext%%,*}");
this_clone_version=$([ "${ext%,*}" == "$ext" ] && echo "$git_branch" || echo "${ext#*, *}");
if ! [ -d "${git_extension_path}/${this_extension}" ]; then
echo "${git_extension_path}/${this_extension} DOES NOT EXIST AS GIT SOURCE, check the extension's name or path!! (extension was skipped)";
else
if [ ! -d "${usr_share_extension_path}/${this_extension}" ]; then
this_ext_update_status="+";
sudo mkdir --parents "${usr_share_extension_path}/${this_extension}";
sudo chown www-data:www-data "${usr_share_extension_path}/${this_extension}";
else
this_ext_update_status="u";
fi;
printf "git archive export: %1s %-30s %s\n" $this_ext_update_status $this_extension $this_clone_version;
if [ -d "${git_extension_path}/${this_extension}" ]; then
cd "${git_extension_path}/${this_extension}";
AVAILABLE_CLONE_VERSIONS=`git branch -r | sort --version-sort`;
##### FOLLOWING LINES CAUSE ERROR -> CHECKING TEMPORARILY DISABLED
##if [ "`echo "$AVAILABLE_CLONE_VERSIONS" | grep --count "$this_clone_version"`" == "0" ]; then
## echo "Clone version $this_clone_version not available!! Check these (git branch -r | sort --version-sort):";
## echo "$AVAILABLE_CLONE_VERSIONS";
##else
## echo "OK";
##fi;
# EXAMPLE: sudo git archive --prefix=AdminLinks/ HEAD | sudo -u www-data tar --extract --overwrite --directory=/usr/share/mediawiki25/extensions
echo "sudo git archive --prefix=\"${this_extension}/\" \"$this_clone_version\""
sudo git archive --prefix="${this_extension}/" "$this_clone_version" | sudo -u www-data tar --extract --overwrite --directory="${usr_share_extension_path}";
else
echo "Source not found: \"${git_extension_path}/${this_extension}\" ";
fi;
fi;
fi;
done;
cd ..
IFS=$' \t\n';
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#######################################
Subversion extensions (svn)
## Subversion step 1: some string functions still needed (Check?) ##
# https://www.mediawiki.org/wiki/Extension:StringFunctions
cd "${usr_share_extension_path}"
sudo -u www-data -g www-data svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/StringFunctions/
# subversion step 2: biowikifarm extensions
cd "${usr_share_extension_path}"
sudo -u www-data -g www-data svn checkout file:///var/lib/svn/LocalSVNextensions "${usr_share_extension_path}"
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#######################################
# Subversion step 3 (manual, not scripted): # create post hook commit to the current MediaWiki version # Open file: sudo vi /var/lib/svn/hooks/post-commit # and insert following text: if [ -d "/usr/share/mediawiki25/extensions" ]; then echo -en "\n\npost-commit mediawiki25/extensions (r${REV})\n" >> "${LOGFILE}" cd /usr/share/mediawiki25/extensions echo "try to get /usr/bin/svn update >> \"${LOGFILE}\"" >> "${LOGFILE}"; /usr/bin/svn update >> "${LOGFILE}" echo -ne " (done)\n" >> "${LOGFILE}" fi
Skins
Since Mediawiki V1.25 the default skins are in separate Git respositories, copied separately
Note: this code presently directly checks out a git for each version, not (as in core and extensions) creates an archive export. Could be changed in the future for consistency.
# variables
cd ${usr_share_wiki_path}/skins
# get default skins from separate skin git
## NEXT TIME: extract (git archive) from "${git_path}/skins"!
sudo git clone https://git.wikimedia.org/git/mediawiki/skins/Vector.git
# optionally get special skins from separate git(s)
sudo git clone https://github.com/MfN-Berlin/mwSkinNaturkunde.git
USR_SHARE_MW → var/www-folder
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# STEP 1 create web wiki folder
if ! [ -d "${vhost_wiki_path}" ]; then
sudo -u root -g mwadmin mkdir --parent "${vhost_wiki_path}"
else
echo -e "folder already exits: '${vhost_wiki_path}'"
fi
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
OpenMedia Symlink
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# STEP create symlink to openmedia
if ! [ -d "${vhost_path}/o" ]; then
echo -e "Create Openmedia-symlink '${vhost_path}/o' → '../v-species/o'"
sudo ln -s "../v-species/o" "${vhost_path}/o"
sudo mkdir "${vhost_path}/o = Openmedia-symlink"
else
echo -e "Openmedia-symlink already exits"
fi
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# symbolic links of folders
# for $vhost_wiki_path to $usr_share_wiki_path
cd "${usr_share_wiki_path}"
# \( ! -name '.*' \) avoids finding hidden directories
for current_folder in `find . -maxdepth 1 \( ! -name '.*' \) -type d -printf "%f\n"`; do
if ! [ -e "${vhost_wiki_path}/${current_folder}" ]; then
echo "symbolic link to ${vhost_wiki_path}/${current_folder}"
sudo ln -s "${usr_share_wiki_path}/${current_folder}" "${vhost_wiki_path}/${current_folder}"
fi
done
# Remove some symlinks, which should not be overwritten in existing wikis
sudo rm ${vhost_wiki_path}/cache
sudo rm ${vhost_wiki_path}/images
sudo rm ${vhost_wiki_path}/mw-config
# symbolic links of files
cd "${usr_share_wiki_path}"
# \( ! -name '.*' \) avoids finding hidden directories
for mw_wiki_file in `find . -maxdepth 1 \( ! -name '.*' \) -type f -printf "%f\n"`; do
if ! [ -e "${vhost_wiki_path}/${mw_wiki_file}" ]; then
echo "symbolic link to ${vhost_wiki_path}/${mw_wiki_file}"
sudo ln -s "${usr_share_wiki_path}/${mw_wiki_file}" "${vhost_wiki_path}/${mw_wiki_file}"
fi
done
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
- COPY over existing installation. EXAMPLE:
sudo cp /var/www/zzz-temp-overwrite4mw25template/w/* /var/www/v-on/w25 -pr
Install composer extensions
Newer extensions must be dealt with at level of /var/www-wiki. Documentation
- https://www.mediawiki.org/wiki/Composer
- https://getcomposer.org/doc/
- removing these extensions: https://getcomposer.org/doc/03-cli.md#remove
##↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
# Get PHP composer tool / Rerun for UPDATING
cd ~ # personal home directory
sudo curl -sS https://getcomposer.org/installer | php
sudo chown root:mwadmin composer.phar
sudo mv composer.phar /usr/local/bin/
##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
NOTES: Normally composer creates a "vendor" folder in the /var/www/.../w/ folder On biowikifarm we create a vendor folder in /usr/share/mediawikixx and already linked to this. Problem: originally the composer.json and composer.lock (created on first install) were left in the var-www-wikis (with the possibilites to have different ones, e.g. with/without SMW). However, the update maintenance script (cd /var/www/v-on/w25; sudo -u www-data php ./maintenance/update.php --quick --conf ./LocalSettings.php) fails to run. Adding back-symlinks:
# rename composer.json to composer.distrib.json if updating from existing installs: sudo mv /usr/share/mediawiki25/composer.json /usr/share/mediawiki25/composer.distrib.json sudo ln -s /var/www/v-on/w25/composer.json /usr/share/mediawiki25/composer.json sudo ln -s /var/www/v-on/w25/composer.lock /usr/share/mediawiki25/composer.lock
did fix this. (Note: the "normal" direction, file in usr/share/... and symlink in var/www/... would probably work as well, the hope is that this still allows differentiation. To be tested!
Notes:
- Update the /usr/share/mediawikiXX/composer.json file with the desired composer-installed extensions
- For all these extensions, remove the include statements you have in your LocalSettings.php file.
- Not for this fresh install, but for later changes within a version: remove folder located in usr-share-extensions
Run composer:
cd /var/www/v-on/w25 ## EXAMPLE # First time (writing both into vendor and extension folders): sudo php /usr/local/bin/composer.phar install # Later (harmless to re-run): sudo php /usr/local/bin/composer.phar update
OTHER WORK
- Versioned MediaWikiCommonSettings.php needed:
- sudo cp /var/www/MediaWikiCommonSettings.php /var/www/MediaWikiCommonSettingsV25.php -pr
- To be safe, create a copy of the metawiki database!
- Update LocalSettings
- use MediaWikiCommonSettingsVXX
- remove shared tables before updating DB: $wgSharedTables = array("xxx");
- verify that a temporary, version-specific wiki-db is used for testing
- Update MediaWikiCommonSettingsVXX
- Remove the Composer-based extension calls from
- Run update (EXAMPLE)
cd /var/www/v-on/w25; sudo -u www-data php ./maintenance/update.php --quick --conf ./LocalSettings.php cd /var/www/v-on/w25; sudo -u www-data php ./extensions/TitleKey/rebuildTitleKeys.php --quick --conf ./LocalSettings.php
- SMW-updates partly work with new rebuildData script and conf= syntax:
cd /var/www/v-on/w25; sudo -u www-data php ./maintenance/runJobs.php -v --procs 4 --conf ./LocalSettings.php sudo -u www-data php ./extensions/SemanticMediaWiki/maintenance/rebuildData.php -ftpv --conf=./LocalSettings.php sudo -u www-data php ./extensions/SemanticMediaWiki/maintenance/rebuildData.php -v --conf=./LocalSettings.php sudo -u www-data php ./maintenance/runJobs.php -v --procs 4 --conf ./LocalSettings.php sudo /usr/sbin/apache2ctl -k graceful && sudo service nginx restart && sudo service php5-fpm restart
STATUS: Most problematic: Page 1 not rendered in browser,, same error with rebuildData script and with rebuildFileCache:
cd /var/www/v-on/w25; sudo -u www-data php ./maintenance/rebuildFileCache.php 0 overwrite --conf ./LocalSettings.php
results in error:
Notice: Array to string conversion in /usr/share/mediawiki25/includes/db/Database.php on line 1093 [b31fec11] [no req] MWException from line 6357 of /usr/share/mediawiki25/includes/parser/Parser.php: Parser state cleared while parsing. Did you call Parser::parse recursively? Backtrace: #0 /usr/share/mediawiki25/includes/parser/Parser.php(4773): Parser->lock() #etc.#
Installation Issues, Problems, Transition from older Wikis
- RELEASE-NOTES: read/check file mw-source/RELEASE-NOTES-X.XX, changes are described there, class changes, core changes and deprecated functions
- CHECK, not sure relevant, seemed to work without problems: Extension:ContactPage has special installation (MW1.23+) https://www.mediawiki.org/wiki/Extension:ContactPage#Installation
- * Extension:GlobalUsage has no more class names with underscore. Adjust configuration of $wgLBFactoryConf in LocalSettings.php see also http://noc.wikimedia.org/conf/highlight.php?file=db.php
- Extension:Vector is in core MW 1.22+, separate installation is no longer necessary (
)require_once("…")
Dependencies:
- Extension:TimedMediaHandler dependent on Extension:MwEmbedSupport
- biowikifarm Extension:MobileKeyV1, Extension:MobileKeyV2 are dependent on Extension:TemplateParameterIndex
- Extension:BetaFeatures is a light dependency of Extension:MultimediaViewer
No further development
- problem support https://www.mediawiki.org/wiki/Extension:StringFunctions is terminated
- there is a Lua module https://www.mediawiki.org/wiki/Module:String instead. Docu says String functions except urlencode/decode are in ParserFunctions extension, but string parts no longer documented there.