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.
> >
> >


      

Reply via email to