Extension:WorkingWiki

What can this extension do?
WorkingWiki is a software extension for MediaWiki that makes a wiki into a powerful environment for collaborating on publication-quality manuscripts and software projects.

The WorkingWiki extension allows you to store "source files" in your wiki and develop, test, run and publish them easily. Examples include a project of five LaTeX files and six EPS images that compile together into a single PDF file, or an R script that includes two other R source files and produces a CSV data file and several EPS figures. The WorkingWiki extension keeps track of when the source files have changed and when to redo the processing to update the output, and how to display the various file formats involved. The output files and images can be displayed in wiki pages along with the source code, and can be used as inputs to further computations.

For instance, a research team can use WorkingWiki to archive experimental data (using the wiki's history features to record who uploaded which data points when); develop the data-processing scripts that interpret the data collaboratively in the wiki; develop the scripts that produce figures and tables in the wiki; create the manuscript that presents the results in the wiki; and finally export the manuscript as a .tar.gz file ready to submit to a scientific journal. The data, source code, and manuscript can then be made available to the world as is on the wiki. This process captures all the material needed to understand and reproduce the research project, with its revision history intact, and in a form that is easy to annotate and publish online. A research team developing simulation programs rather than using experimental data can use WorkingWiki similarly. WorkingWiki is developed principally for research groups, but is likely to have a variety of other uses as well.

WorkingWiki operates on source files that are stored in standard wiki pages. Source files are collected into projects. When an output file is called for in a wiki page or by other means, WorkingWiki does its work by invoking  to create or update the file from the source files in its project before displaying it. In this way, you can edit your code (or your data files, or .tex documents, or whatever files) by editing the wiki, and run the code and view the output (the typeset version of your paper, the latest version of your figures, the textual output of your program) just by previewing or saving the page.

For more information, see WorkingWiki's home page.

Usage
First add source files to a project in the wiki. Then to do computing work, request one zero or more output files.

Add source files to the wiki
There are several ways to do this.


 * 1) Insert a source file into a wiki page, using the   tag.
 * 2) * For example:
 * &lt;source-file filename="example.txt">This is the content of my file.
 * 1) Import an existing project into the wiki.
 * 2) * Collect your working directory into a  file, and then use the "Import project" link in the sidebar to upload, unpack and install the files.
 * 3) * Source files can be uploaded into  tags, or to File: pages.
 * 4) Create a project by importing existing files.
 * 5) * Create a project by typing its name into the navigation field in the projects box in the sidebar, or use the link that's provided to create a project with the name of the current page.
 * 6) * From the project's page, use the "Import project file" link to import your files into the project.
 * 7) If the project's name doesn't match the page's name, specify the project:
 * &lt;source-file filename="example.txt" project="My Project">This is the content of my file.

Request output files

 * 1) In some cases, you don't need to request an output file explicitly. The main example is the default behavior in the LaTeX case: if you place a   source file in a wiki page, WorkingWiki automatically uses LaTeXML to create an HTML version of the complete document and display it to you in the wiki page.  It also provides a link you can follow to automatically create a   file of the complete document.
 * 2) The general way to do computations is by inserting a   tag in a page.
 * 3) * For example:
 * &lt;project-file filename="output.file"/>
 * 1) * WorkingWiki will use make to create this file by running programs in the project's working directory.
 * 2) * If the project's name doesn't match the page's name, specify the project, as above.

For more information, see the WorkingWiki tutorial and documentation pages.

Download instructions
WorkingWiki's code is housed at sourceforge.net, and is accessible by SVN: svn co https://workingwiki.svn.sourceforge.net/svnroot/workingwiki/trunk workingwiki

Installation
See http://lalashan.mcmaster.ca/theobio/projects/index.php/WorkingWiki/Downloading_and_Installing_WorkingWiki for full installation instructions.

Configuration parameters
There are many configuration variables to control the behavior of WorkingWiki. See  and   for commented code explaining each of them.