Extension:SignDocument

This extension allows authorized users to validate pages.

Installing
SignDocument has the following installation prerequisites:
 * 1) MediaWiki 1.10+ and its requirements (such as PHP5 and MySQL)
 * 2) It should run on all operating systems that MW supports; however, it has only been tested on SuSE Linux 10.1 and Red Hat Fedora Core 4.
 * 3) ExtensionFunctions.php must be installed in your extensions directory. This can be downloaded from subversion.

Verify that you have all the needed files (see |4| below) in the directoy " /extensions/SignDocument". If you need the extension to be stored elsewhere, then amend these instructions accordingly.

First, you must set up the database to support the extension. To do this, execute "mysql -u root -p otherwise execute the signdocument.sql script (using phpMyAdmin or similar applications).

Then, add to your LocalSettings.php: 'require_once( "$IP/extensions/SignDocument/SignDocument.php" )'.

You can then add a user on your wiki to the group "sigadmin" via Special:Userrights.

Verify that the installation was successful by visiting Special:SignDocument and Special:CreateSignDocument on your wiki.

Using Special:CreateSignDocument
Special:CreateSignDocument is a special page that allows users in the group "sigadmin" to enable the signing of a document and specify settings for how users can sign the document, such as which fields are visible to users and which are required.

To use it, you must first have a page in your wiki on which you wish to enable signing. Once you have enabled the signing of the document the presently current version will be the only version displayed to users when signing it, so be sure that the page is in a stable state before proceeding.

Visit the page Special:CreateSignDocument to enable the signing of this page. Provide the name of the page to the field "Page," specify which group should be allowed to sign it, specify which fields you wish to make hidden and optional, indicate a minimum age to require signers to obtain (or omit if you wish to enforce no minimum age), and type a brief introductory text providing instructions to users that are specific to the signing of this page.

Then, hit "Create" to enable the signing. Note that there is presently no way to modify SignDocuments after they are created except through database queries, so be careful! To delete a SignDocument you created accidentally, execute "DELETE FROM sdoc_form WHERE form_id = X;" where "X" is the ID number of the document you created.

Using Special:SignDocument
The heart of the extension is Special:SignDocument, which provides both the interface allowing users to sign documents and the moderation interface, accessible to users in the group "sigadmin".

Accessing the special page directly will give you a list of pages that you can sign or for which you can view signatures; however, in most cases, the actual signing forms should simply be linked directly, by linking to 'Special:SignDocument?doc=id'.

Once at a signing page, you will see the full text of the document followed by a form prompting you for the information needed to sign the petition, as specified by the sigadmin who enabled the signing of the document. You can fill out the information and click "Sign document" to sign the page.

You will also see a link in the upper-right hand corner allowing you to view all signatures submitted for the page.

At the "view signatures" page, you can view a list of all signatures submitted, which can be sorted by any of the available fields. Sigadmins will also be able to use this form to disable or enable the signing of a page, and they will be able to view the IP addresses and user agents of all the signers.

Additionally, sigadmins will see an link next to each signature title "Options". Clicking it will take you to a detail view of the signature that will provide you with many tools to examine the signature, and the ability to review and "strike" the signature.

File manifest

 * README.txt
 * -> This file.
 * signdocument.sql
 * -> MySQL script to set up the needed tables.
 * SignDocument.php
 * -> The initialization file for the extension.
 * SignDocument.i18n.php
 * -> General localization.
 * SpecialSignDocument.php
 * -> Implements Special:SignDocument as described above.
 * SpecialSignDocument.i18n.php
 * -> Localization for Special:SignDocument.
 * SpecialCreateSignDocument.php
 * -> Implements Special:CreateSignDocument.
 * SpecialCreateSignDocument.i18n.php
 * -> Localization for Special:CreateSignDocument.
 * SignDocumentHelpers.php
 * -> Helper classes for the extension.