From: <da...@d2...> - 2005-05-14 07:05:38
|
> Sorry Ive been preoccupied with another project. It might be a good > time to note that when fixing bugs, to check that the calendar itself > is properly written against IETF-2445. Most times iCal/Mozilla/ > Sunbird files are ok... and generally we dont accept hand written > ical files. Yup - the calendar files w/ that bug are correct, and render fine once the overlap code is working properly. So, a quick status report on that - I finished the rewrite yesterday, and spent most of the day testing. While this is a bogus situation - rewriting a piece like this from scratch when we're trying to stabilize - please believe me that I spent 2 days trying to shoehorn the "right" way into the existing code, and kept running into fundamental flaws in how it worked. I then gave up, spend the next 2 days rewriting everything from scratch, and then spent today testing. If it's worth it, I'd be happy to go into more technical detail why there were things that just wouldn't work properly using the existing logic, and how my rewrite should be more foolproof. I've also tried to make the code as low-impact as possible - I've only reworked the overlap code, and it seems to work fine in all the trivial cases, so worst case, we'll find some bugs in the already-messed-up edge cases (which I will promptly fix, now understanding the code). As an added benefit, the code is cleaned up, semi-faster (it's probably about the same or even slower, actually, because it's much more rigorous in generating correct overlap_arrays, but the base-cases should be faster), and more modular. And now should work regardless of the craziness of your overlap setup. So, here's my proposal - I'd like to commit this, my openevent cleanup patch, and then finish going through the remaining bugs (I think there's only one or two more relevant ones). Once that's done, we should release a 2.0b2, wait a week or 2, and release 2.0. :) Hopefully w/ website at the same time. So, barring any complaints, I'll commit my code next week (with suitable announcements, etc.) - all you loyal readers, please try CVS at that point and let me know if you run into anything! I will fix it if I know about it. > It might also be good that we have a regression suite of test > calendars for when we test any major code changes. The checkOverlap > function was written by David Reindl who may be able to help you fix > anything, although that function has been very stable over the past > few years to my knowledge. Yeah, a regression test suite would be interesting - we could hack something up that wget'd specific calendar+date+page combos, then compared that to the "known good" render. Would help with the testing a lot, esp. with some of the overlap issues (you get fun problems depending on the order you load the calendars, as the various events create new overlap blocks and/or merge the blocks). I'll take a look at setting something up next week, as well. dave |