Necessary ingredients:
A graphical representation of a calendar, usually a little table for the month -- this usually includes hilighting of the current day, or some indication of how many entries there are for other days, and a way to see the next and the previous month.
A link between dates and pages -- perhaps dates are valid page names, or you can store meta information for each day, allowing the WikiEngine to determine the pages that go with each day.
See DatePage for more about creating and editing the pages linked to particular dates. The rest of this page focusses on the calendar interface to access the date pages.
June 2003 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
A calendar's usability varies over time: At the beginning of the month, it is practically zero, because nobody maintains date pages for the future, unless they plan ahead using a wiki. See WikiAsPim for more about that. Therefore, the calendar widget needs to offer a way to switch to past months easily. In a traditional application, this is easy. Via the web, this requires reloading at least part of the page, or client-side scripting. Both solutions are suboptimal.
Therefore: If you think you need a calendar widget -- eg. you post daily comic strips and once a visitors sees one of them, she will want to go back and read older issues -- consider numbering or naming the strips and providing a list of links instead of using a calendar. The calendar itself does not help you solve the problem, and it has bad usability at the beginning of the month.
But: Although a calendar widget might not be the optimal solution with regards to the efficiency of the interface, it is still usable (reloading a page is not so terrible) and is also an eye candy which perhaps gives the visitors the feeling that the site is (also) a blog anchored in time . -- PierreGaston
Of course, if you're worried about the calendar being empty at the start of the month, you could just default to displaying the last two months. -- ChrisPurcell
The PhpWiki engine offers plugins. One of them is the
[calendar
plugin] you insert in a page with the <?plugin Calendar?>
tag. It has a graphical representation of the month with links to the
next and previous month. When you activate (click) a link on a day,
you get a wiki page with a name composed of two parts: the name of
the page hosting the calendar / the date. If you want to try it, have
a look on NewIsFree?, FrogLog or CraoWiki.
The only problem I see using plugins is that adds tags in the page and break compatiblity with other wikis. And if you try to fetch a page with plugin thru the XmlRpcToWiki interface, you just get the tag (still have to test it with a working getPageHTML method ... mine is broken). -- ArnaudFontaine
See MoinMoin:MonthCalendar for an implementation of a month calendar macro for MoinMoin wiki engine.
See [ProWiki:CdmlCalendar] for the ProWiki implementation.
A calendar widget action has been written for [WackoWiki]. See https://wackowiki.org/doc/Doc/English/Actions
[CategoryWikiTechnology] [CategoryUncommonWikiTechnology]