Products.SimpleCalendar - new (but yet old) accessible calendar for PloneAs this week started I was working on upgrading a website for a customer, a site which had been using p4a.plonecalendar for quite a while, and doing that well..
But the site is in a (big) upgrade process, and p4a.plonecalendar and its dependencies created a bit of a mess and the package hasn't had a release in a couple of years, so I decided to create a new calendar package that uses dateable.* libraries to do most of the work.
The process for creating the package was interesting, I had to dabble a bit with adapters for example, as well as finding good ways of dealing with the dateable code which uses Python's datetime module instead of Zope's (so conversion tools were used to convert to Python's datetime). There are also some interdependencies between dateable and some p4a.* packages, so a couple of the p4a packages are included in the dependencies for Products.SimpleCalendar as well.
The main reason I wanted to use the dateable libraries was that I saw p4a.plonecalendar was not a lot of code and that most of the work seemed to be done in dateable as well as that we have a customer that does need an accessible website (internet, intranet, extranet) and accessible tools in that website. And dateable (correctly) uses a table to layout and give semantic meaning to the calendar display. It also doesn't hurt to have a bit of control over the code, I think we'll use this calendaring solution on projects to come as well.
The release now is an alpha-2, but I think it is good enough to use, at least play with until a beta and then a final release.
(By the way, you can expect some bells and whistles when it comes to the selection of events to be displayed in the calendar as well). Right now it can filter events for display on object state (private, internal, published and so on).
You can get the package here:
[Updated to please the POP crowd]
[Permalink] [By morphex] [Python, Zope, Plone - and anything loosely related to that (Atom feed)] [2012 02 Aug 08:34 GMT+2]