Ah I see, no worries and thanks for explaining, wasn't directed at you so much just a general rant about editing comments :-)
Regards Scott 2008/9/13 Adrian Crum <[EMAIL PROTECTED]>: > Sorry Scott. After I saved the comment, Jira reformatted the text - making it > hard to read. So, I had to edit it to get the formatting back. > > -Adrian > > > --- On Fri, 9/12/08, Scott Gray <[EMAIL PROTECTED]> wrote: > >> From: Scott Gray <[EMAIL PROTECTED]> >> Subject: Re: [jira] Issue Comment Edited: (OFBIZ-1956) Improved Recurring >> Events >> To: dev@ofbiz.apache.org >> Date: Friday, September 12, 2008, 5:32 PM >> As I've mentioned before, edited comments are a PITA. I >> took the time >> to read Adrian's initial comment only to find the next >> email in my >> inbox was the one below but I have no way of knowing what >> was changed. >> >> Everyone, whenever possible please avoid editing comments >> and just >> post a new correcting comment instead. >> >> Thanks >> Scott >> >> 2008/9/13 Adrian Crum (JIRA) <[EMAIL PROTECTED]>: >> > >> > [ >> https://issues.apache.org/jira/browse/OFBIZ-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630717#action_12630717 >> ] >> > >> > [EMAIL PROTECTED] edited comment on OFBIZ-1956 at >> 9/12/08 5:19 PM: >> > >> ------------------------------------------------------------- >> > >> > As was discussed on the dev mailing list... >> > >> > The proposed recurrence system is based >> > on a design proposed by Martin Fowler - >> > http://martinfowler.com/apsupp/recurring.pdf. His >> design is quite old, >> > so I updated it to support internationalization and I >> expanded it. >> > >> > The design is extremely flexible and it allows for >> arbitrarily complex >> > recurring events. The design is based on temporal >> expressions. Each >> > temporal expression could be considered a rule - like >> "every Monday" or >> > "the 15th of the month." >> > >> > Temporal expressions can used alone or they can be >> combined in any of >> > three "collection" expressions - Union, >> Intersection, and Difference. A >> > date will match a Union collection if any of its >> expressions match >> > (logical OR). A date will match an Intersection >> collection if all of its >> > expressions match (logical AND). A date will match a >> Difference >> > collection if it matches the "included" >> expression and doesn't match the >> > "excluded" expression. >> > >> > Using Bilgin's Happy Hour promotion as an example: >> > >> > Intersection >> > ..DayOfWeekRange(Monday, Friday) >> > ..TimeOfDayRange(15:00, 17:00) >> > >> > Let's say we want to exclude St. Patrick's Day >> from the Happy Hour >> > promotion: >> > >> > Difference >> > ..Include >> > ....Intersection >> > ......DayOfWeekRange(Monday, Friday) >> > ......TimeOfDayRange(15:00, 17:00) >> > ....Exclude >> > ......Intersection >> > ........MonthRange(March, March) >> > ........DayOfMonthRange(17, 17) >> > >> > A semi-monthly payday: >> > >> > Union >> > ..DayOfMonthRange(1, 1) >> > ..DayOfMonthRange(15, 15) >> > >> > Labor Day (US): >> > >> > Intersection >> > ..MonthRange(September, September) >> > ..DayInMonth(Monday, 1) >> > >> > A schedule is made up of schedule items. Each schedule >> item "points to" >> > a temporal expression. It also has duration >> information, and an item >> > type ID (meeting, appointment, etc). >> > >> > Schedules can be linked to parties/facilities/fixed >> assets through >> > relationship entities. >> > >> > The implementation requires four new entities. I >> picture this being introduced in the framework and we can >> gradually migrate the existing recurrence code over to it. >> In addition, I >> > could write a conversion routine to convert the >> existing Recurrence* >> > entities over to the new ones. >> > >> > >> > was (Author: [EMAIL PROTECTED]): >> > As was discussed on the dev mailing list... >> > >> > The proposed recurrence system is based >> > on a design proposed by Martin Fowler - >> > http://martinfowler.com/apsupp/recurring.pdf. His >> design is quite old, >> > so I updated it to support internationalization and I >> expanded it. >> > >> > The design is extremely flexible and it allows for >> arbitrarily complex >> > recurring events. The design is based on temporal >> expressions. Each >> > temporal expression could be considered a rule - like >> "every Monday" or >> > "the 15th of the month." >> > >> > Temporal expressions can used alone or they can be >> combined in any of >> > three "collection" expressions - Union, >> Intersection, and Difference. A >> > date will match a Union collection if any of its >> expressions match >> > (logical OR). A date will match an Intersection >> collection if all of its >> > expressions match (logical AND). A date will match a >> Difference >> > collection if it matches the "included" >> expression and doesn't match the >> > "excluded" expression. >> > >> > Using Bilgin's Happy Hour promotion as an example: >> > >> > Intersection >> > DayOfWeekRange(Monday, Friday) >> > TimeOfDayRange(15:00, 17:00) >> > >> > Let's say we want to exclude St. Patrick's Day >> from the Happy Hour >> > promotion: >> > >> > Difference >> > Include >> > Intersection >> > DayOfWeekRange(Monday, Friday) >> > TimeOfDayRange(15:00, 17:00) >> > Exclude >> > Intersection >> > MonthRange(March, March) >> > DayOfMonthRange(17, 17) >> > >> > A semi-monthly payday: >> > >> > Union >> > DayOfMonthRange(1, 1) >> > DayOfMonthRange(15, 15) >> > >> > Labor Day (US): >> > >> > Intersection >> > MonthRange(September, September) >> > DayInMonth(Monday, 1) >> > >> > A schedule is made up of schedule items. Each schedule >> item "points to" >> > a temporal expression. It also has duration >> information, and an item >> > type ID (meeting, appointment, etc). >> > >> > Schedules can be linked to parties/facilities/fixed >> assets through >> > relationship entities. >> > >> > The implementation requires four new entities. I >> picture this being introduced in the framework and we can >> gradually migrate the existing recurrence code over to it. >> In addition, I >> > could write a conversion routine to convert the >> existing Recurrence* >> > entities over to the new ones. >> > >> > >> >> Improved Recurring Events >> >> ------------------------- >> >> >> >> Key: OFBIZ-1956 >> >> URL: >> https://issues.apache.org/jira/browse/OFBIZ-1956 >> >> Project: OFBiz >> >> Issue Type: Improvement >> >> Components: framework >> >> Affects Versions: SVN trunk >> >> Reporter: Adrian Crum >> >> Priority: Minor >> >> >> >> Come up with an improved recurring event >> implementation. Details in comments. >> > >> > -- >> > This message is automatically generated by JIRA. >> > - >> > You can reply to this email to add a comment to the >> issue online. >> > >> > > > > >