[EventCalendar] Big Calendar features & suggestions (Was Re: [PATCH 3]...)

Matthew Middleton mailinglists at zzxc.net
Tue Oct 16 02:17:03 UTC 2007


firetree_ec3 at spamex.com wrote:
>Well, I installed it, and, at first blush, it looks just like the  
>original.
>However, that's probably because I'm not stressing it.
>What do you want me to bang on?

The main difference with this latest patch is the sort-by-category option.  Thus, you can create a calendar for specific categor(ies) of events only.  There aren't new user-facing features (other than the expanded template tags) in this patch.  However, it still needs to be tested for bugs and other problems.

I have already tested this latest patch on Wordpress 2.3, and it appears to work equally well on both WP2.2.x and WP2.3.  For anyone wanting to give this a test without installing anything, I have set up a quick demo at "h t t p s colon slash slash matthewmiddleton dot com slash wptest"  (self-signed certificate warning; username: test    password: testing - if anyone abuses it, I will delete it.).  Go ahead and add as many events to there as you want, so as to more effectively find bugs in my patch.  This test is running Wordpress 2.3; simply add events using the "write post" option to test the calendar display on the front page - click the big link at the bottom of the main page.  (Events in category 4 are displayed in the calendar, events from categories 4 or 5 are displayed in the events list below the calendar.  If anyone wants more access to that test site, e-mail me privately - I don't want to give out more access on a public, logged mailing list.)

As I mentioned in my "todo" list, I still have yet to implement "front-end" features that use this increased functionality.  I would like to get Alex Tingle's opinion on this, as he is the author/maintainer of the plug-in.  Here are features that I am considering for my next patch; feel free to comment on any of them or suggest more.  If anyone wants to help me with any of the implementation, just let me know so I can avoid duplicating work.  These are from the top of my head, so I am sure there are very useful features that I am omitting.  I am hoping that revised versions of these features can make it into the main plugin distribution.

1) I am planning to implement a "page tag" similar to [show_events|limit|categories] to use inline on any page/post to display a list of upcoming events in a category.  Thus, a page entitled "sports" could contain a list of upcoming events related to sports.

2a) The categories listed at the top of the calendar need to be linked to the relevant category page.  They also need default CSS styling.

2b) The actual category names -- not the descriptions -- need to be listed on the top of the calendar.  I couldn't find a good way to do this with Wordpress-internal functions, so I may have to use a sql call for this.

3) I am also thinking about implement a control panel feature for selecting a default calendar page, similar to the current functionality for selecting a default category for events.  The user would first create a default page to display full-page calendars on and add a special [show_calendar] tag to the page.  After selecting this page in the eventcalendar3 configuration, all links at the top of calendars would direct to http://blog.url/?p=34&m=200710&cat=4 (for calendar page 34, October 2007, and a category filter of 4).  When the page is loaded with these options, the big calendar with the selected options would replace the [show_calendar] tag.  The "calendar url" I mentioned would probably be in the form [blog.url/p=calendar_page_id&m=yearmonth&cat=categories] or [blog.url/calendar_page/?m=yearmonth&cat=categories], depending on the permalink of the selected calendar page.  If you have any thoughts on this, let me know.

4) Another optional feature would be having the [show_calendar] tag work on other pages as well.  This way, you could create a page entitled "This Month's Meetings" with the code [show_calendar|14], where 14 is the category number for "meetings".  This tag and [show_events] would have to be enabled in the eventcalendar3 configuration for people who want them.  They would be disabled by default to reduce the resources the plugin uses.  Other possible page tags would be [link_calendar|2007|10|category] and [link_event_category|2007|10].

5) Of course, giving the user the option to create calendars at will makes the problem of the one-calendar-per-page limit even more annoying.  I am thinking about giving each calendar a unique ID, and having all javascript functions (next, prev, etc) reference a calendar ID.  There are lots of getElementById's in the code that will need to be changed.  The window onload event would loop through every element in the ec3_big_calendar and ec3_small_calendar classes, rather than simply looking for the element with ID ec3_calendar.  I will also need to update all the CSS to use class names rather than IDs.  If Alex (or anyone else) is planning on doing this, please let me know so that I don't duplicate work.

6) Support displaying a calendar with events that have certain tags on Wordpress 2.3. (It would simply be ignored for Wordpress < 2.3) For example, blog.url/calendar_page/?tags=fun.  This would require that ec3_get_calendar support a 'tags' option in addition to a category option.  Supporting this would be a rather simple addition to the sql syntax.

7) After fixing the multiple-calendars bug, have an option to display a small calendar in the post page, with the day of the event highlighted.  This would be instead of the red box with the date.  (What would good default styling for this be?  Would this feature be useful enough to implement?)

8) More consistent variable names, cleaner comments, get rid of unnecessary comments.  Have my code reviewed by someone else.

If there is anything else I should add or fix, or if you want to help out, please let me know.  For anyone wanting to try out my patch, see my last e-mail for a link to the patch and a link to the patch applied to the latest SVN code.  Otherwise, feel free to just log in and add random events to my test site above.

-Matthew






More information about the EventCalendar mailing list