Extension:AutoCreatePage

The AutoCreatePage extension provides a parser function createpageifnotex that creates a page of a given title if no such page exists yet. The function takes the page title and the wikitext that is used to create the page as its only parameters. This can be used by templates that want to create some content on separate pages, which is especially useful when creating pages with Semantic Forms or when using Semantic MediaWiki to create query pages (which may be too big to fit on the same page).

Usage and documentation
Documentation is found on the github page of the extension. The general syntax for using the parser function is:

All newly created pages will be attributed to the user who edited the page where the parser function was used. It is possible to use templates and parser functions as part of the initial content by surrounding them with &lt;nowiki&gt; tags. However, newly created pages can never create additional pages (this is a feature; otherwise one could accidentally create large numbers of pages, where each new page creates another one).

Requirements
requires:


 * MediaWiki 1.21 or above
 * PHP 5.3 or above

Download and installation
The source code of the initial release is found at github: https://github.com/mkroetzsch/AutoCreatePage. To install the extension, you need to download the code to your MediaWiki extension directory. An easy way to do this is to run the following command from you extension directory:

git clone https://github.com/mkroetzsch/AutoCreatePage.git

but there are also file-based downloads if you don't have git installed. Once you have downloaded the code, with the AutoCreatePage directory within your MediaWiki 'extensions' directory, add the following code to your LocalSettings.php file:

Configuration
The extension supports three configuration variables, that can be set in LocalSettings.php.


 * $egAutoCreatePageMaxRecursion: The maximum recursion depth to which calls of createpageifnotex are executed on created pages. Default: 1.
 * $egAutoCreatePageIgnoreEmptyTitle: If invocations of createpageifnotex should be silently ignored. Default: false (will put an error message on the wiki page).
 * $egAutoCreatePageNamespaces: The list of namespaces in which calls of createpageifnotex are executed. If your call originates from a page not in one of these namespaces, it gets ignored. Defaults to $wgContentNamespaces. Example:

Version

 * Version 0.6 (2016-10-13): New config variable $egAutoCreatePageNamespaces
 * Version 0.5 (2016-05-13): New config variables $egAutoCreatePageMaxRecursion and $egAutoCreatePageIgnoreEmptyTitle
 * Version 0.4 (2014-09-23): Initial release, based on previous code by Daniel Herzig (from AIFB Portal extension version 0.3).

Internationalization
is not currently internationalized. There are only three string messages in the code, so you could add the appropriate i18n files if needed. A repository should be created in Gerrit and the code be moved there to get full translatewiki.net support (please notify the author if you do this, so suitable links can be added to the original github repository to avoid confusion as to where the most current code lives).

Authors
has been written by Markus Krötzsch, based on code by Daniel Herzig.