[Zope] DTML calendar widget

Kent Polk kent@goathill.org
Tue, 9 Feb 1999 15:06:26 -0600 (CST)


Michael Bernstein wrote:

> I would reccomend taking a look at the following URLs:
> http://www.geonorth.com/geocalendar/
> http://www.when.com
> http://www.planetall.com
> 
> I would love to be able to add events that could be personalized by
> filtering for category and/or geographical proximity, as well as letting
> end-users create and manage shared/group calendars with submission,
> editing and viewing permissions.

Ty's too busy doing real work for me while I get to goof off,
so I'll try to reply.
 
> It should be possible to click on a link to see a more detailed listing
> for an event. This might actually involve creating a separate 'Event'
> product/class/lever/whatzit and dropping it in, although I'm not sure
> how you would create events that spanned several dates.

This is where we want to go with this stuff, however, a 'calendar
product' appears a bit too limiting, thus why Ty implemented the
calendar wrapper in dtml. The one drawback, as mentioned is that
a month calendar query may require performing separate queries for 
each day in the month, depending on the final version.  Ty says
that if you set caching on the queries, it may not be so bad even
still.  (I'll let him handle that one :^)

Basically we are thinking that the calendar dtml would provide the
info as in Ty's example, to another method, which could determine 
how to publish the items for that day.  This could provide an very
high degree of flexibility at the expense of having to write the stuff
yourself.  And of course, I expect we'll see the next version of
TinyTables as a result, supporting editable rows (mmmm, tasty).

This would mean that you could use a TinyTable to maintain info
on how to reference other objects, basically anywhere. You could
even have a 'sunset' column where you set an expiration date for
the item and a corresponding method to expire items which match
the sunset query.

This also means that you could simply have one item extend over several
days in the tinytable, or you could have a column named 'day', which 
could contain items which you want displayed for every day that
matches (every Monday, or every 1st Monday as an extension)

This brings to mind having a 'day list manager' or such which could
provide an editable management wrapper for the tinytable. Maybe a
folderish object which contains a tinytable or other query object
(or combinations thereof) for managing the links. The dtml therein
could be changed to support pretty much whatever you need.