Open main menu
A single article or collection of pages can be output in a variety of formats; on-demand

Books (Collections is the formal software name, Books is the more User-friendly feature name) allows you to export any content you want from the wiki into formats more suitable for offline reading, sharing, printing etc.

Books is a feature of this wiki, added by mw:Extension:Collection which in turn relies on a host of other goodies such as Python's setuptools, Imaging Library, and a whole render server which is supplied by PediaPress.

Users

See the help page at Help:Books

For Developers and Admins

there is a

To get the MediaWiki Document server going locally, follow the guide on pediapress.com

Note that the --clean-cache option of mw-serve is meant to be used from a cron job to clean up, NOT as a configuration option in your --daemonize script.


I needed to create a script similar to the following so that the service would be available after system restarts (from http://svn.wikimedia.org/viewvc/mediawiki/trunk/tools/mw-serve/mw-serve.sh)

#! /bin/sh
# run this service automatically in run-levels 3 or 5
# see chkconfig for more detail
# on debian/ubuntu use sysv-rc-conf
# chkconfig: 35 90 10
# description: mediawiki-serve - does document conversion to PDF
#
# Script for running the MediaWiki collection server (which converts articles to PDF)
# See the wiki for more information
# Author: Greg Rundlett <greg@freephile.com>

case "$1" in
start)

echo "Starting mw-serve... "
# defaults to FastCGI, port 8899 on localhost, no daemonization
su -c "PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin \
PYTHON_EGG_CACHE=/var/cache/python-eggs \
/usr/bin/mw-serve \
--daemonize \
--cache-dir='/var/cache/pdfserver/' \
--mwrender-logfile='/var/log/mw-pdf.log' \
--mwzip-logfile='/var/log/mw-zip.log' \
--mwpost-logfile='/var/log/mw-post.log' \
--logfile='/var/log/mw-serve.log' \
--pid-file='/var/run/mw-serve.pid' \
--report-from-mail=greg@freephile.com \
--report-recipient=greg@freephile.com www-data"
;;

stop)
PIDFILE=/var/run/mw-serve.pid
if [ -e $PIDFILE ]; then
PID=`cat $PIDFILE`
echo -n "Stopping mw-serve, killing PID $PID..."
if ! kill $PID; then
echo "can't kill it."
else
echo "done."
rm -f $PIDFILE
fi
else
echo "mw-serve does not appear to be running."
fi
;;

reload|force-reload)
echo "Reload not supported for mw-serve yet."
;;

restart)
"$0" stop && "$0" start
;;

*)
echo "Usage: /etc/init.d/mw-serve {start|stop|restart}"
exit 1
esac

exit 0