EventAggregator
This page describes a number of actions associated with the MacroMarket/EventAggregator macro.
Purpose
The EventAggregatorSummary action can be used to provide iCalendar summaries and RSS feeds of event data based on pages belonging to specific categories (such as CategoryEvents). The start and end dates, plus other details, are read from the page describing each event and included in the summary, subject to parameters supplied to the action. The category, start and end parameters are read directly from the request as URL or form parameters: these restrict the extent of each generated summary.
The EventAggregatorNewEvent action can be used to conveniently create new event pages, displaying a simple form which can be filled out in order to provide elementary event details such as the event title or summary, the categories to which the page will be assigned, and the start and end dates of the event.
See also MacroMarket/EventAggregator for the macro which displays event details in a calendar, map or list view within a Wiki page.
Download & Release Notes
Download |
Release Version |
Moin Version |
Release Notes |
0.10.2 |
1.6, 1.7, 1.8, 1.9 |
||
0.10.1 |
1.6, 1.7, 1.8, 1.9 |
||
0.10 |
1.6, 1.7, 1.8, 1.9 |
||
0.9 |
1.6, 1.7, 1.8, 1.9 |
||
0.8.5 |
1.6, 1.7, 1.8, 1.9 |
||
0.8.4 |
1.6, 1.7, 1.8, 1.9 |
||
0.8.3 |
1.6, 1.7, 1.8, 1.9 |
||
0.8.2 |
1.6, 1.7, 1.8, 1.9 |
||
0.8.1 |
1.6, 1.7, 1.8, 1.9 |
||
0.8 |
1.6, 1.7, 1.8, 1.9 |
||
0.7.1 |
1.6, 1.7, 1.8, 1.9 |
||
0.7 |
1.6, 1.7, 1.8, 1.9 |
||
0.6.4 |
1.6, 1.7, 1.8, 1.9 |
||
0.6.3 |
1.6, 1.7, 1.8, 1.9 |
||
0.6.2 |
1.6, 1.7, 1.8, 1.9 |
||
0.6.1 |
1.5, 1.6, 1.7, 1.8 |
||
0.6 |
1.5, 1.6, 1.7, 1.8 |
||
0.5 |
1.5, 1.6, 1.7, 1.8 |
||
0.4 |
1.5, 1.6, 1.7, 1.8 |
||
0.3 |
1.5, 1.6, 1.7, 1.8 |
||
0.2 |
1.5, 1.6, 1.7, 1.8 |
||
0.1 |
1.5, 1.6, 1.7, 1.8 |
Usage
To obtain an iCalendar or RSS format summary, the EventAggregatorSummary action can be selected from the actions menu on any page. Alternatively, a collection of parameters can be specified in the URL of any Wiki page.
To create a new event, the EventAggregatorNewEvent action can be selected from the actions menu on any page. Alternatively, a day number in the event calendar can be clicked upon to launch the action using the selected day.
Procedure
On a Wiki page...
For EventAggregatorSummary:
Select EventAggregatorSummary from the actions menu.
- In the form that is shown, select categories from the list, specifying start and end months if desired.
- Upon initiating the action, the browser will offer an iCalendar file for download.
For EventAggregatorNewEvent:
Select EventAggregatorNewEvent from the actions menu.
- In the form that is shown, enter an event title, select categories from the list, specify start and end dates if desired, add a description and optionally change the template.
- Upon initiating the action, the browser will show the event page in edit mode, although the page will already exist.
Example
For EventAggregatorSummary:
Select EventAggregatorSummary from the actions menu.
Select Events, specifying June 2009 and July 2009 for the start and end months, respectively.
The browser will offer to download an iCalendar file containing events described in pages belonging to CategoryEvents from June 2009 to July 2009.
For EventAggregatorNewEvent:
Select EventAggregatorNewEvent from the actions menu.
Select Events, enter EuroPython 2009 as the title, specifying 28th June 2009 and 4th July 2009 as the respective dates.
- The browser will show the event page in edit mode with the details from the form already filled in.
Copyright
Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Paul Boddie <paul AT boddie DOT org DOT uk>
Some patches provided by the following contributors:
Copyright (C) 2009 Cristian Rigamonti <rigamonti AT fsfeurope DOT org>
Some pieces of MoinMoin code were used in this work - typically pieces which demonstrate how to perform certain common tasks (as found in various macros and actions) - and are thus covered by the following copyrights:
Copyright (C) 2000-2004 Juergen Hermann <jh AT web DOT de>
Copyright (C) 2003-2008 ThomasWaldmann
Copyright (C) 2004-2006 AlexanderSchremmer
Copyright (C) 2007 ReimarBauer
License
GNU General Public License version 2 or later
To Do
- Expose more metadata in the iCalendar and RSS output, such as descriptions, URLs.
Added in 0.3: Perhaps support current months and years (as in the macro). Day numbers in the calendar provide day-specific links to the EventAggregatorNewEvent action.
Added in 0.2: Support updated events, potentially as an RSS feed.
Dependencies
The Xapian search software is highly recommended, if not technically essential, for the acceptable performance of the EventAggregator macro since the macro makes use of search routines in MoinMoin that can dominate the time spent processing requests. See HelpOnXapian for installing Xapian and getting acceptable performance.
Discussion
I like to use the EventAggregatorSummary form with GET instant POST. The reason is that I always setup a cron job to download the feeds (rss) regularly (for caching them locally) and then use a link directly to the static rss files on the server. I'm happy that this works for me with those parameters:
? action=EventAggregatorSummary& resolution=month& category=CategoryEvents& start-day=& start-month=& start-year=& start=&end-day=& end-month=&end-year=&end=&descriptions=page& format=RSS
I hope that this "feature" also stays available in future versions of your action -- MarcelHäfner 2012-02-29 16:21:28
- Additional Note: The RSS Event is sorted by start Date of the event (function getOrderedEvents), for an pure RSS feed (as an update channel) it should (in my eyes) sorted to the creation date (latest first) and note the start-date.
You mean GET instead of POST, right? I had to support this, really, since I offer links to the summaries. It is possible to get wget to send POST requests, of course, but it's a lot easier to be able to use a URL and nothing else. You're probably right about the sorting, though. I don't try to be clever about sending RSS data because I'm treating it exactly like a summary, not as a collection of updates the user hasn't seen before, but I can imagine that for some clients it is more optimal if they can rely on the data being sorted latest first by creation or last-modified date. -- PaulBoddie 2012-03-01 22:14:44