Extension:ChronologyList

The ChronologyList extension adds chronology lists of events to wiki. Individual events are added to pages with tag "chrono", tag "chronolist" inserts a new event list.

New extension - any feedback is appreciated. Written originally for private wiki.

Installation

 * Download and extract the files in a directory called "ChronologyList" in your  folder.
 * Create 3 tables, defined in file chrono.sql.
 * Enable the extension by adding this line to your LocalSettings.php:

Configuration parameters
No parameters yet.

User rights
No user rights yet.

Usage
You can find common example of historical events list on any page for individual year, e. g. http://en.wikipedia.org/wiki/1798. Here you can see ordered list of events, sorted by date. Each event is usually mentioned on the page devoted to a specific person, city, country, etc.

(taken from http://en.wikipedia.org/wiki/Napoleon )

( http://en.wikipedia.org/wiki/1798 )

With chronolist extension, you would write both these texts on one page:

Chrono tag can be extended with argument "keys":

This argument allows to generate event lists for individual country or person:

Multiple keys are allowed:

(wine OR beer)

Date range is allowed, too. For multiple-year range is another argument "year" mandatory (otherwise year is not displayed):

Content of  tag is validated during rendering (previewing page), failure is indicated with error message located directly in the page. When the page is saved,  tag content is stored into extra database tables, record ID is added as additional argument and whole tag is converted into invisible HTML comment. In case of need, you can manually remove surrounding comment  sequences, change description, keys or date and again save page.

Version 0.2

 * i18n file added
 * internal tag parsing added

To do

 * Thorough testing, of course.
 * Some refactoring needed.
 * Better documentation.
 * Database queries are written for MySQL only.
 * Add code for chrono item deleting (column `deleted` in `ext_chrono_items` table).
 * Better error messages for chrono tag.
 * More formatting options for chronolist tag.