Erssical reads queries and outputs an Event RSS channel or calendar data in Ical format.
The RSS 2.0 specification
allows adding information in RSS feeds, in a simple way: just add XML nodes with a
namespace.
This extension possibility is used in Erssical to handle additional information relative
to events, initially to share software developer events. This additional information
consists in:
- the link to the event information,
- the intended audience (a string),
- the type of event (conference, course, ...),
- some keywords (a list of strings),
- the speakers (a list of strings),
- the organizers (a list of strings),
- the start date and hour,
- the end date and hour,
- the "level" of the audience (beginner, confirmed, expert, ...).
All fields are optional. The details of the XML representation of this
information are given on Events.
Queries
A query is composed of:
- a mime-type specifying what to output,
- a list of source RSS channels,
- an optional target channel,
- an optional filter,
- an optional template.
A query is described in XML. An example of query is available
here.
The details of the XML representation of a query are given on Queries.
Executing queries
When given a query, Erssical performs the following operations:
- Fetch the source RSS channels given with a URL
(as source channels can also be embedded in the query);
each fetched channel can have default event information specified;
in this case, the event information of each item of the channel is
merged with the default information. For example, default keywords
are added to all items of a channel.
- Merge the items of all source channels into a new channel. Description
(title, description, image, ...) of this new channel is the same as the first
source channel, except if a target channel was specified in the query.
- If a filter was specified, only the items of this new channel matching
the filter are kept.
- Depending of the output format specified, output:
- the resulting RSS channel,
- the calendar data in Ical format,
- or the XML tree obtained from the XML template provided in the query.
Command line tool or server
Erssical comes with a command line tool, erssical
, and
a HTTP server, erssical-server
.
The command line tool will typically be used when generating static contents
for your web site, while the HTTP server will be useful to dynamically
merge information to embed in a web page. See
Erssical command line tool and Erssical HTTP server for more
information.