I’m converting our existing synagogue website to EE. We have a purpose-built event calendar system I wrote in PHP a few years ago. I am designing a weblog replacement for the calendar but could use some advice on a few things:
1. Each event in the current system has a date, a start and end time, and also a booking start and endtime. We don’t need to handle multi-day events. Right now I use MySQL DATE and TIME types, which is exactly what I want. Various PHP functions allow me to accept fairly free-form input.
To replicate this, I could use the existing EE Date custom field type, but I’d have to do some fiddling with the entries in a SAEF (parse them, merge the date into the time fields, etc.) I might be able to some of this in Javascript, but it’s probably more easily done in PHP after the SAEF submits. But I don’t see how I can get a hook into the SAEF mechanism to do this. Am I missing something?
I could write an extension for DateOnly and Time custom field types. But that seems like overkill.
2. Our current calendar admin page has a multi-field form on top for entering new events and editing existing ones. Below, a couple of months of events are shown in tabular form, with buttons to edit, clone, or delete each event.
To recode something similar, I need the SAEF, and also probably Solspace’s Form Helper Plugin. I think I can more or less recreate what I have, but I’m not sure it’s possible.
Instead, I thought I might preserve most of my current PHP code, but have it do its database operations to the weblog rather than to my old table.
I could use raw SQL on the exp_ tables to do that. However, I’d prefer some kind of weblog API. A weblog is a pretty good analog of a database table (maybe it actually was a table, once upon a time), An API that provided that abstraction, hiding the details of the actual EE tables, sounds useful. Has anyone built such a thing, or am I missing a current feature?
(An aside: each time I think I have hit a wall in terms of possible functionality, I keep discovering ways out, like custom field extensions or the Solspace plugin. There is a lot of depth to EE, but it does take lot of forum diving to find it.)
Thanks a lot,
Dan