Extension:Events

This extension provides the ability to create events on any page of your MediaWiki. Also included is a highly configurable Special page for aggregating events on your site by various criteria. All events are stored in MySQL or pgSQL, so the Special page is extremely fast.

Original author is Aran Deltac but he decided to no longer maintain it. Thanks to Google cache I've found the instructions, I copy them here, because Aran's wiki has changed. Iubito 16:51, 10 February 2006 (UTC)

Since August 2010, version 2.0 is released on Arakhn&ecirc;.org website. Major contribution is the support of PostgreSQL database.

News

 * 2010-08-26: Version 3.1 available on Arakhn&ecirc;.org website.
 * 2010-08-25: Version 3.0 available on Arakhn&ecirc;.org website.
 * 2010-08-09: Version 2.0 available on Arakhn&ecirc;.org website.
 * 2007-03-06: Added a version for mediaWiki 1.9
 * 2006-03-12: Added code snipped to make it compatible with Christof Damian's Calendar extension.
 * 2006-02-10: Released version 0.2. Aran no longer maintain code, instructions copied here by Iubito with slight changes that make this extension work on MediaWiki 1.4 but no tested.
 * 2005-11-02: Released version 0.1.
 * 2005-11-02: First version of MediaWiki Events released.

Version 2.0 and higher
Version 2.0 of Events introduces the following changes:
 * Add pgSQL support.
 * Add automatic creation of the event tables in pgSQL and MySQL databases.
 * Add visibility level for events.
 * Apply recent Mediawiki extension writing rules.
 * Add output customization with CSS classes.

Usage
Each event must be on its own line and start with a date and separator. All the tasks must be grouped with a ... . This tag must be put in a wiki page.

The separator character should be one of:
 * for important events which are visible to every one (not yet rendered in a special way),
 * for standard events which are visible to every one,
 * for standard events which are visible only to connected users,
 * for events which are invisible.

Example: 2062-02-14 ! This is a very important public event. 1453-07-12 : This is a public event. 1423-12-25 # This is an event for connected guys. 1423-12-25 - This is an event which is never rendered.

Remember: the tags must be put inside the wiki text of an article.

Configuration
Events extension provides several configuration variables. these variables should be defined in your LocalSettings.php.
 * $wgEventsOldAge: Number of days in the past before which events are discarted. null means default value ie. 30.
 * $wgEventsYoungAge: Number of days in the future after which events are discarted. null means default value ie. 365.
 * $wgEventExtensionRenderImportantEventBox: Indicates if the box for important events should be rendered. To enable this event box, this global variable must be true, AND the current skin must implement a function named isEventsExtensionImportantEventEnabled which replies a boolean value indicating if the skin support the event box CSS style or not.
 * $wgEventsCloseButtonIcon: Is the URL to the icon which is displayed to close the event popup box. Expected sizes: 12x12 or 16x16.

Special Page to List the Events
As for previous version, all the events of the site are visible on the special page.

Special Page to Clear the Database
Since version 3.0, all the event related tables in the database could be removed by the special page.

Database Schema
Events extension is now supporting pgSQL and MySQL. The 'events' table is automatically created for both databases.

PostgreSQL Schema
DROP TYPE IF EXISTS eventVisibility CASCADE; DROP TABLE IF EXISTS events CASCADE; DROP TABLE IF EXISTS eventglobal CASCADE; CREATE TYPE eventVisibility AS ENUM ('public', 'connected', 'invisible'); CREATE TABLE events (  page_id integer NOT NULL DEFAULT 0,   date date NOT NULL,   description text NOT NULL,   visibility eventVisibility DEFAULT 'invisible' NOT NULL ); CREATE TABLE eventglobal (  popuphtml text NOT NULL );

MySQL Schema
DROP TABLE IF EXISTS events CASCADE; DROP TABLE IF EXISTS eventglobal CASCADE; CREATE TABLE events (  page_id INT UNSIGNED NOT NULL DEFAULT 0,   date DATE NOT NULL DEFAULT '0000-00-00',   description TEXT NOT NULL,   visibility ENUM('public','connected','invisible') DEFAULT 'invisible' NOT NULL,   KEY date_idx (page_id,date) ); CREATE TABLE eventglobal (  popuphtml TEXT NOT NULL );

Previous versions
Information about versions prior to 2.0 (including source code) can be found in an older version of this page.

Installation
See instructions at Download page

License
This code is distributed under GPLv2 or higher.