This is a new MoinMoin macro for event calendar (similar to MonthCalendar macro). The development is based on the MoinMoin MonthCalendar macro but it is a litte bit different from MonthCalendar. It is targeted to the one of PIM. It includes a parser which shows the event information in a well parsed format.

Features

Platform Support

Installation Guide

Download

Change Log

Usage

Macro Usage

Parameters

Parser Usage

eventcal Block & Event Format

Separating Multiple Events

Use format PI

Parameters

Custom Properties for Events

Sample & Screenshot

Known Problem

To do list

Notes

Discussion / Support / Request / Contribution

(moved from ExtensionProposals/EventCalendar)

Of course XML suck for data entry. But you may use wiki markup, for example:

== Event Name ==
Event description...
 start:: 2005-10-25 14:00
 end:: 2005-10-28 20:00
 foo:: bar

This markup is automatically rendered in a meaningful way:

Event Name

Event description...

start
2005-10-25 14:00
end
2005-10-28 20:00
foo
bar

You can parse this data using a special event formatter, that ignore everything but heading level 1, paragraph, text and definition list. When you format you page with such formatter, it can produce a list of events objects, each with name, start, end, foo and description. Check how MoinMoin/formatter/pagelinks.py works. I think this will be the easiest way to parse your data into format you can use. Then pickle your event data in the page cache directory. Next time you need to read the page data, use the cache. Check how Page use this system to create a pagelinks cache - Page.getPageLinks, Page.parsePageLinks.

-- SeungikLee 2005-10-29 18:26:31

Use page content, not a file.

Why use both data file and a wiki page?

I tried your event test page. It is not clear how you should work with it. I learned by trial and error that each #!eventcal is an event, and I guess you use the date~date as start and end date.

I suggest you write a specification that describe what kind of activities you want to support, and how people should do common tasks. For example, how one should add an event, change event data like start date, end date etc. It is hard to test the implementation when you don't know what the system should do :-)

Looks fine and useful, some wishes

I thought more on using the existing wiki markup for example. The nummeration is done automaticly.

{ { {
= first event =
 Event description...
 start:: 2005-10-25 14:00
 end:: 2005-10-28 20:00
 foo:: bar
 color:: <#FF0000>
 bgcolor:: <#CCCCCC>

= second event =
 Event description...
 start:: 2005-10-30 14:00
 end:: 2005-11-08 20:00
 foo:: bar

= third event =
 Event description...
 start:: 2005-11-25 14:00
 end:: 2005-11-25 14:00
 foo:: bar

----
CategorySystemCalendar
} } }

While this page is set to the category CategorySystemCalendar it's entries are shown in the SystemCalendar. Similiar to include pages a user could add on an own page private entries secured by acls for only reading from him. Then if he looks at the calendar own entries are shown too but if one else looks his entries are invisible.

If it would be possible to have dependencies the second and following heading levels could be used -- ReimarBauer 2005-11-05 08:44:26

It's an easy format to use IMHO. I'll take it into consideration to the next update. -- SeungikLee 2005-11-29 01:47:58

* the layout of the calendar will be corrupted while switching the theme other than default.

What if I prefer using RestructuredText to display my Information? Did I get this right, that everything inside { { {#!eventcal ... } } } is parsed by eventcal and then given to the wiki-Parser? Can I tell eventcal to use ReST? (Nesting parsers doesnt seems to work -- which makes sense to me) -- HenningHasemann 2005-11-29 11:08:10

Okay, I think I can live without RST for the few lines / words that define dates, so that isn't too bad, but another thing I would consider useful is some kind of patterns. For example having things happening every Monday or so. Maybe the good old "calendar" program for UNIX/linux would also be a nice example for a syntax where one could easily describe repeating events. From the man page: (\t is the <TAB>-Character, calendar uses this to split dates and information) {{{ Thursday\tEvery Thursday.

}}} -- HenningHasemann

* I think it is a good idea to have a event calendar with multiple references. User can maintain their own schedules individually, while showing group schedule in a common event calendar. How do you think ? --MoinBenz

* Great ideas. I'll take these into the consideration on the next version. I hope you could help me then. Thanks. -- SeungikLee 2005-12-16 06:46:36

SeattleWireless: EventCalendarPlugin (last edited 2008-04-13 23:34:21 by localhost)

Bandwidth Provided by speakeasy.net