You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Falcon ICT Pty Ltd <fa...@gmail.com> on 2014/10/01 13:59:42 UTC

modifications to subscription expiry logic

Background
----------------
Recenlty, the trunk version of OFBiz was augmented with a new service
called runServiceUponSubscriptionExpiry through JIRA5333. This service
is scheduled to run, using the demo data, once a day. Its algorithm
looks up all subscriptions which have expired, which is defined as the
current time being greater than the sum of the subscription.thruDate +
subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
false. For all such subscriptions, the service runs any service named
in SubscriptionResource.serviceNameOnExpiry.


This provides users of the OFBiz framework who provide subscriptions
to their customers using the framework, to trigger an external
deprovisioning action when a subscription expires, implemented as a
service whose name is inserted into
SubscriptionResource.serviceNameOnExpiry.


Currently, the service mentioned in
SubscriptionResource.serviceNameOnExpiry is run every time the master
service runServiceUponSubscriptionExpiry goes through its algorithm
(once a day in the demo data). Typically, for subscriptions which
require a deprovisioning action when the subscription expired, one and
only one deprovisioning action would be required.


proposed solution
------------------------
To resolve this, it is being proposed to make the following adjustments:

a) augment the OFBiz data model with the following new field:

Subscription.serviceNameOnExpiryRunDate

b) modify the algorithm of runServiceUponSubscriptionExpiry to also
check whether the expiry service has already run, by checking that
serviceNameOnExpiryRunDate is null.

- if serviceNameOnExpiryRunDate is null (and the other conditions are
satisfied), run the service in
SubscriptionResource.serviceNameOnExpiry and update the date/time into
serviceNameOnExpiryRunDate

- if serviceNameOnExpiryRunDate is not null, skip the expired
subscription and move to the next


Testing
----------
- create a new subscription through OFBiz with demo data
- modify the subscription's thru date and gracePeriodOnExpiry so the
result of their addition is in the past of the system date
- verify that Subscription. serviceNameOnExpiryRunDate is empty
- either wait for the daily running of
runServiceUponSubscriptionExpiry, or trigger the service manually
- verify that the log file contains a reference to the subscription
having expired, and that Subscription. serviceNameOnExpiryRunDate
contains the date/time the service was run
- either wait for the daily running of
runServiceUponSubscriptionExpiry, or trigger the service manually, for
a second time
- verify that the log file does not contain a reference to the
subscription having expired, and that Subscription.
serviceNameOnExpiryRunDate still contains the date/time the service
was run.


I'd like to ask:
a) is there agreement in the developer community that this is a good idea
b) We propose to develop the patch and release it to the OFBiz
project.  Would any committer be interested in promoting into trunk
when we provide the patch?

regards
-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

Re: modifications to subscription expiry logic

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
Thank you Ivan,

I am going to work on this soon.

Jacopo

On Nov 3, 2014, at 8:57 AM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:

> A patch has been uploaded and would welcome any committer to review
> and release into trunk.
> 
> I have created a profile on Confluence, with my email address as an
> account.  Would anyone with sufficient rights grant me contributor
> privileges so I can insert the description of the new functionality
> there?
> 
> 
> regards
> Ivan
> 
> On Thu, Oct 2, 2014 at 12:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
>> JIRA 5793 opened.
>> 
>> Ivan
>> 
>> On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
>>> @Jacopo
>>> 
>>> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>>> 
>>> @Jacques
>>> 
>>> thanks for pointing out the location of subscription info on Confluence.
>>> 
>>> rgds
>>> Ivan
>>> 
>>> 
>>> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
>>> <ja...@les7arts.com> wrote:
>>>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>>> 
>>>> Thanks!
>>>> 
>>>> Jacques
>>>> 
>>>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>>> 
>>>>> Thank you for considering it.
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> Pierre Smits
>>>>> 
>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>> Services & Solutions for Cloud-
>>>>> Based Manufacturing, Professional
>>>>> Services and Retail & Trade
>>>>> http://www.orrtiz.com
>>>>> 
>>>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>>>> Confluence, but I'll consider updating the documentation when the
>>>>>> patch is complete.
>>>>>> 
>>>>>> thanks
>>>>>> Ivan
>>>>>> 
>>>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Ivan,
>>>>>>> 
>>>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>>>>>> 
>>>>>> the
>>>>>>> 
>>>>>>> ASF) for documentation purposes. If you're also considering updating the
>>>>>>> documentation regarding subscriptions.
>>>>>>> 
>>>>>>> Regards,
>>>>>>> 
>>>>>>> Pierre Smits
>>>>>>> 
>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>> Services & Solutions for Cloud-
>>>>>>> Based Manufacturing, Professional
>>>>>>> Services and Retail & Trade
>>>>>>> http://www.orrtiz.com
>>>>>>> 
>>>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> @Jacopo
>>>>>>>> 
>>>>>>>> The thruDate is used to establish when the subscription is scheduled
>>>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>>>> another field.
>>>>>>>> 
>>>>>>>> @Pierre
>>>>>>>> 
>>>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>>> 
>>>>>>>> Ivan
>>>>>>>> 
>>>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Ivan,
>>>>>>>>> 
>>>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>>> 
>>>>>>>> company)
>>>>>>>>> 
>>>>>>>>> it is suggest to use a personal email address and/or registration id
>>>>>> 
>>>>>> in
>>>>>>>>> 
>>>>>>>>> stead of company credentials.
>>>>>>>>> 
>>>>>>>>> Best regards,
>>>>>>>>> 
>>>>>>>>> Pierre Smits
>>>>>>>>> 
>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>> Services and Retail & Trade
>>>>>>>>> http://www.orrtiz.com
>>>>>>>>> 
>>>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>>> 
>>>>>> falconict@gmail.com>
>>>>>>>>> 
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>>>>>> 
>>>>>>>> patch.
>>>>>>>>>> 
>>>>>>>>>> Regards
>>>>>>>>>> Ivan
>>>>>>>>>> 
>>>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>>> 
>>>>>> pierre.smits@gmail.com>
>>>>>>>>>> 
>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi Ivan,
>>>>>>>>>>> 
>>>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>>> 
>>>>>> accompanied
>>>>>>>> 
>>>>>>>> by
>>>>>>>>>>> 
>>>>>>>>>>> test cases.
>>>>>>>>>>> 
>>>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>>> 
>>>>>> submit
>>>>>>>> 
>>>>>>>> a
>>>>>>>>>>> 
>>>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>>> 
>>>>>>>>>>> Best regards,
>>>>>>>>>>> 
>>>>>>>>>>> Pierre Smits
>>>>>>>>>>> 
>>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>> 
>>>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>>> 
>>>>>>>> falconict@gmail.com>
>>>>>>>>>>> 
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> Background
>>>>>>>>>>>> ----------------
>>>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>>> 
>>>>>> service
>>>>>>>>>>>> 
>>>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>>> 
>>>>>>>> service
>>>>>>>>>>>> 
>>>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>>> 
>>>>>> algorithm
>>>>>>>>>>>> 
>>>>>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>>>>>> 
>>>>>>>> the
>>>>>>>>>>>> 
>>>>>>>>>>>> current time being greater than the sum of the
>>>>>> 
>>>>>> subscription.thruDate
>>>>>>>> 
>>>>>>>> +
>>>>>>>>>>>> 
>>>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>>> 
>>>>>> Subscription.automaticExtend is
>>>>>>>>>>>> 
>>>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>>> 
>>>>>> named
>>>>>>>>>>>> 
>>>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>>> 
>>>>>> subscriptions
>>>>>>>>>>>> 
>>>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>>>> deprovisioning action when a subscription expires, implemented as
>>>>>> 
>>>>>> a
>>>>>>>>>>>> 
>>>>>>>>>>>> service whose name is inserted into
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>>> 
>>>>>> master
>>>>>>>>>>>> 
>>>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>>> 
>>>>>> algorithm
>>>>>>>>>>>> 
>>>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>>>>>> 
>>>>>>>> and
>>>>>>>>>>>> 
>>>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> proposed solution
>>>>>>>>>>>> ------------------------
>>>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>>> 
>>>>>>>> adjustments:
>>>>>>>>>>>> 
>>>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>>> 
>>>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>>> 
>>>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>>> 
>>>>>> also
>>>>>>>>>>>> 
>>>>>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>>> 
>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>>>>>> 
>>>>>> are
>>>>>>>>>>>> 
>>>>>>>>>>>> satisfied), run the service in
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>>>>>> 
>>>>>>>> into
>>>>>>>>>>>> 
>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>> 
>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>>>> subscription and move to the next
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Testing
>>>>>>>>>>>> ----------
>>>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>>>>>> 
>>>>>> the
>>>>>>>>>>>> 
>>>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>>>>>> - verify that the log file contains a reference to the
>>>>>> 
>>>>>> subscription
>>>>>>>>>>>> 
>>>>>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>>>>>> 
>>>>>>>> for
>>>>>>>>>>>> 
>>>>>>>>>>>> a second time
>>>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>>> 
>>>>>> service
>>>>>>>>>>>> 
>>>>>>>>>>>> was run.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> I'd like to ask:
>>>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>>> 
>>>>>> good
>>>>>>>>>> 
>>>>>>>>>> idea
>>>>>>>>>>>> 
>>>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>>> 
>>>>>> trunk
>>>>>>>>>>>> 
>>>>>>>>>>>> when we provide the patch?
>>>>>>>>>>>> 
>>>>>>>>>>>> regards
>>>>>>>>>>>> --
>>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>>> Director
>>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Ivan Cauchi
>>>>>>>>>> Director
>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>> 
>>>>>>>>>> phone: +61 414208449
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Ivan Cauchi
>>>>>>>> Director
>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>> 
>>>>>>>> phone: +61 414208449
>>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Ivan Cauchi
>>>>>> Director
>>>>>> Falcon ICT Pty Ltd
>>>>>> 
>>>>>> phone: +61 414208449
>>>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Ivan Cauchi
>>> Director
>>> Falcon ICT Pty Ltd
>>> 
>>> phone: +61 414208449
>> 
>> 
>> 
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>> 
>> phone: +61 414208449
> 
> 
> 
> -- 
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
> 
> phone: +61 414208449


Re: modifications to subscription expiry logic

Posted by Jacques Le Roux <ja...@les7arts.com>.
OK, we know Confluence have some issues. It could not find your login but I have added you.
https://cwiki.apache.org/confluence/display/OFBADMIN/Apache+OFBiz+Contributors

Jacques

Le 03/11/2014 10:29, Falcon ICT Pty Ltd a écrit :
> HI Jacques
>
> the following is a copy paste from my Confluence profile:
>
> Personal
>
> Full Name  Ivan Cauchi
> Email         falconict@gmail.com
>
> my login is falconict.
>
> regards
> Ivan
>
> On Mon, Nov 3, 2014 at 7:52 PM, Jacques Le Roux
> <ja...@les7arts.com> wrote:
>> Yvan,
>>
>> I did not find your username in confluence I tried falconict@gmail.com, then
>> Yvan and Cauchi (Confluence has a nice autocompleter research)
>> Maybe you used another email address?
>>
>> Jacques
>>
>> Le 03/11/2014 08:57, Falcon ICT Pty Ltd a écrit :
>>
>>> A patch has been uploaded and would welcome any committer to review
>>> and release into trunk.
>>>
>>> I have created a profile on Confluence, with my email address as an
>>> account.  Would anyone with sufficient rights grant me contributor
>>> privileges so I can insert the description of the new functionality
>>> there?
>>>
>>>
>>> regards
>>> Ivan
>>>
>>> On Thu, Oct 2, 2014 at 12:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>> wrote:
>>>> JIRA 5793 opened.
>>>>
>>>> Ivan
>>>>
>>>> On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>> wrote:
>>>>> @Jacopo
>>>>>
>>>>> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>>>>>
>>>>> @Jacques
>>>>>
>>>>> thanks for pointing out the location of subscription info on Confluence.
>>>>>
>>>>> rgds
>>>>> Ivan
>>>>>
>>>>>
>>>>> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
>>>>> <ja...@les7arts.com> wrote:
>>>>>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> Jacques
>>>>>>
>>>>>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>>>>>
>>>>>>> Thank you for considering it.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Pierre Smits
>>>>>>>
>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>> Services & Solutions for Cloud-
>>>>>>> Based Manufacturing, Professional
>>>>>>> Services and Retail & Trade
>>>>>>> http://www.orrtiz.com
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd
>>>>>>> <fa...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>>>>>> Confluence, but I'll consider updating the documentation when the
>>>>>>>> patch is complete.
>>>>>>>>
>>>>>>>> thanks
>>>>>>>> Ivan
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits
>>>>>>>> <pi...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>> Ivan,
>>>>>>>>>
>>>>>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool
>>>>>>>>> of
>>>>>>>> the
>>>>>>>>> ASF) for documentation purposes. If you're also considering updating
>>>>>>>>> the
>>>>>>>>> documentation regarding subscriptions.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>>
>>>>>>>>> Pierre Smits
>>>>>>>>>
>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>> Services and Retail & Trade
>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>
>>>>>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd
>>>>>>>>> <fa...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> @Jacopo
>>>>>>>>>>
>>>>>>>>>> The thruDate is used to establish when the subscription is
>>>>>>>>>> scheduled
>>>>>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>>>>>> another field.
>>>>>>>>>>
>>>>>>>>>> @Pierre
>>>>>>>>>>
>>>>>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>>>>>
>>>>>>>>>> Ivan
>>>>>>>>>>
>>>>>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits
>>>>>>>>>> <pi...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>> Ivan,
>>>>>>>>>>>
>>>>>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>>>>> company)
>>>>>>>>>>> it is suggest to use a personal email address and/or registration
>>>>>>>>>>> id
>>>>>>>> in
>>>>>>>>>>> stead of company credentials.
>>>>>>>>>>>
>>>>>>>>>>> Best regards,
>>>>>>>>>>>
>>>>>>>>>>> Pierre Smits
>>>>>>>>>>>
>>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>>>>> falconict@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on
>>>>>>>>>>>> the
>>>>>>>>>> patch.
>>>>>>>>>>>> Regards
>>>>>>>>>>>> Ivan
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>>>>> pierre.smits@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> Hi Ivan,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>>>>> accompanied
>>>>>>>>>> by
>>>>>>>>>>>>> test cases.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>>>>> submit
>>>>>>>>>> a
>>>>>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Pierre Smits
>>>>>>>>>>>>>
>>>>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>>>>> falconict@gmail.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Background
>>>>>>>>>>>>>> ----------------
>>>>>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>>>>> service
>>>>>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>>>>> service
>>>>>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>>>>> algorithm
>>>>>>>>>>>>>> looks up all subscriptions which have expired, which is defined
>>>>>>>>>>>>>> as
>>>>>>>>>> the
>>>>>>>>>>>>>> current time being greater than the sum of the
>>>>>>>> subscription.thruDate
>>>>>>>>>> +
>>>>>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>>>>> Subscription.automaticExtend is
>>>>>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>>>>> named
>>>>>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>>>>> subscriptions
>>>>>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>>>>>> deprovisioning action when a subscription expires, implemented
>>>>>>>>>>>>>> as
>>>>>>>> a
>>>>>>>>>>>>>> service whose name is inserted into
>>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>>>>> master
>>>>>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>>>>> algorithm
>>>>>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions
>>>>>>>>>>>>>> which
>>>>>>>>>>>>>> require a deprovisioning action when the subscription expired,
>>>>>>>>>>>>>> one
>>>>>>>>>> and
>>>>>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> proposed solution
>>>>>>>>>>>>>> ------------------------
>>>>>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>>>>> adjustments:
>>>>>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>>>>> also
>>>>>>>>>>>>>> check whether the expiry service has already run, by checking
>>>>>>>>>>>>>> that
>>>>>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other
>>>>>>>>>>>>>> conditions
>>>>>>>> are
>>>>>>>>>>>>>> satisfied), run the service in
>>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the
>>>>>>>>>>>>>> date/time
>>>>>>>>>> into
>>>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>>>>>> subscription and move to the next
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Testing
>>>>>>>>>>>>>> ----------
>>>>>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry
>>>>>>>>>>>>>> so
>>>>>>>> the
>>>>>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service
>>>>>>>>>>>>>> manually
>>>>>>>>>>>>>> - verify that the log file contains a reference to the
>>>>>>>> subscription
>>>>>>>>>>>>>> having expired, and that Subscription.
>>>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service
>>>>>>>>>>>>>> manually,
>>>>>>>>>> for
>>>>>>>>>>>>>> a second time
>>>>>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>>>>> service
>>>>>>>>>>>>>> was run.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'd like to ask:
>>>>>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>>>>> good
>>>>>>>>>>>> idea
>>>>>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>>>>> trunk
>>>>>>>>>>>>>> when we provide the patch?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> regards
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>>>>> Director
>>>>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>>> Director
>>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>>
>>>>>>>>>>>> phone: +61 414208449
>>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Ivan Cauchi
>>>>>>>>>> Director
>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>
>>>>>>>>>> phone: +61 414208449
>>>>>>>>>>
>>>>>>>> --
>>>>>>>> Ivan Cauchi
>>>>>>>> Director
>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>
>>>>>>>> phone: +61 414208449
>>>>>>>>
>>>>>
>>>>> --
>>>>> Ivan Cauchi
>>>>> Director
>>>>> Falcon ICT Pty Ltd
>>>>>
>>>>> phone: +61 414208449
>>>>
>>>>
>>>> --
>>>> Ivan Cauchi
>>>> Director
>>>> Falcon ICT Pty Ltd
>>>>
>>>> phone: +61 414208449
>>>
>>>
>
>

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
HI Jacques

the following is a copy paste from my Confluence profile:

Personal

Full Name  Ivan Cauchi
Email         falconict@gmail.com

my login is falconict.

regards
Ivan

On Mon, Nov 3, 2014 at 7:52 PM, Jacques Le Roux
<ja...@les7arts.com> wrote:
> Yvan,
>
> I did not find your username in confluence I tried falconict@gmail.com, then
> Yvan and Cauchi (Confluence has a nice autocompleter research)
> Maybe you used another email address?
>
> Jacques
>
> Le 03/11/2014 08:57, Falcon ICT Pty Ltd a écrit :
>
>> A patch has been uploaded and would welcome any committer to review
>> and release into trunk.
>>
>> I have created a profile on Confluence, with my email address as an
>> account.  Would anyone with sufficient rights grant me contributor
>> privileges so I can insert the description of the new functionality
>> there?
>>
>>
>> regards
>> Ivan
>>
>> On Thu, Oct 2, 2014 at 12:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>> wrote:
>>>
>>> JIRA 5793 opened.
>>>
>>> Ivan
>>>
>>> On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>> wrote:
>>>>
>>>> @Jacopo
>>>>
>>>> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>>>>
>>>> @Jacques
>>>>
>>>> thanks for pointing out the location of subscription info on Confluence.
>>>>
>>>> rgds
>>>> Ivan
>>>>
>>>>
>>>> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
>>>> <ja...@les7arts.com> wrote:
>>>>>
>>>>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Jacques
>>>>>
>>>>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>>>>
>>>>>> Thank you for considering it.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pierre Smits
>>>>>>
>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>> Services & Solutions for Cloud-
>>>>>> Based Manufacturing, Professional
>>>>>> Services and Retail & Trade
>>>>>> http://www.orrtiz.com
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd
>>>>>> <fa...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>>>>> Confluence, but I'll consider updating the documentation when the
>>>>>>> patch is complete.
>>>>>>>
>>>>>>> thanks
>>>>>>> Ivan
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits
>>>>>>> <pi...@gmail.com>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Ivan,
>>>>>>>>
>>>>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool
>>>>>>>> of
>>>>>>>
>>>>>>> the
>>>>>>>>
>>>>>>>> ASF) for documentation purposes. If you're also considering updating
>>>>>>>> the
>>>>>>>> documentation regarding subscriptions.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Pierre Smits
>>>>>>>>
>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>> Services & Solutions for Cloud-
>>>>>>>> Based Manufacturing, Professional
>>>>>>>> Services and Retail & Trade
>>>>>>>> http://www.orrtiz.com
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd
>>>>>>>> <fa...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> @Jacopo
>>>>>>>>>
>>>>>>>>> The thruDate is used to establish when the subscription is
>>>>>>>>> scheduled
>>>>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>>>>> another field.
>>>>>>>>>
>>>>>>>>> @Pierre
>>>>>>>>>
>>>>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>>>>
>>>>>>>>> Ivan
>>>>>>>>>
>>>>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits
>>>>>>>>> <pi...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Ivan,
>>>>>>>>>>
>>>>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>>>>
>>>>>>>>> company)
>>>>>>>>>>
>>>>>>>>>> it is suggest to use a personal email address and/or registration
>>>>>>>>>> id
>>>>>>>
>>>>>>> in
>>>>>>>>>>
>>>>>>>>>> stead of company credentials.
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>>
>>>>>>>>>> Pierre Smits
>>>>>>>>>>
>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>
>>>>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>>>>
>>>>>>> falconict@gmail.com>
>>>>>>>>>>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on
>>>>>>>>>>> the
>>>>>>>>>
>>>>>>>>> patch.
>>>>>>>>>>>
>>>>>>>>>>> Regards
>>>>>>>>>>> Ivan
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>>>>
>>>>>>> pierre.smits@gmail.com>
>>>>>>>>>>>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Ivan,
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>>>>
>>>>>>> accompanied
>>>>>>>>>
>>>>>>>>> by
>>>>>>>>>>>>
>>>>>>>>>>>> test cases.
>>>>>>>>>>>>
>>>>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>>>>
>>>>>>> submit
>>>>>>>>>
>>>>>>>>> a
>>>>>>>>>>>>
>>>>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>
>>>>>>>>>>>> Pierre Smits
>>>>>>>>>>>>
>>>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>>>>
>>>>>>>>> falconict@gmail.com>
>>>>>>>>>>>>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Background
>>>>>>>>>>>>> ----------------
>>>>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>>>>
>>>>>>> service
>>>>>>>>>>>>>
>>>>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>>>>
>>>>>>>>> service
>>>>>>>>>>>>>
>>>>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>>>>
>>>>>>> algorithm
>>>>>>>>>>>>>
>>>>>>>>>>>>> looks up all subscriptions which have expired, which is defined
>>>>>>>>>>>>> as
>>>>>>>>>
>>>>>>>>> the
>>>>>>>>>>>>>
>>>>>>>>>>>>> current time being greater than the sum of the
>>>>>>>
>>>>>>> subscription.thruDate
>>>>>>>>>
>>>>>>>>> +
>>>>>>>>>>>>>
>>>>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>>>>
>>>>>>> Subscription.automaticExtend is
>>>>>>>>>>>>>
>>>>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>>>>
>>>>>>> named
>>>>>>>>>>>>>
>>>>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>>>>
>>>>>>> subscriptions
>>>>>>>>>>>>>
>>>>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>>>>> deprovisioning action when a subscription expires, implemented
>>>>>>>>>>>>> as
>>>>>>>
>>>>>>> a
>>>>>>>>>>>>>
>>>>>>>>>>>>> service whose name is inserted into
>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>>>>
>>>>>>> master
>>>>>>>>>>>>>
>>>>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>>>>
>>>>>>> algorithm
>>>>>>>>>>>>>
>>>>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions
>>>>>>>>>>>>> which
>>>>>>>>>>>>> require a deprovisioning action when the subscription expired,
>>>>>>>>>>>>> one
>>>>>>>>>
>>>>>>>>> and
>>>>>>>>>>>>>
>>>>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> proposed solution
>>>>>>>>>>>>> ------------------------
>>>>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>>>>
>>>>>>>>> adjustments:
>>>>>>>>>>>>>
>>>>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>>>>
>>>>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>>>>
>>>>>>> also
>>>>>>>>>>>>>
>>>>>>>>>>>>> check whether the expiry service has already run, by checking
>>>>>>>>>>>>> that
>>>>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>>>>
>>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other
>>>>>>>>>>>>> conditions
>>>>>>>
>>>>>>> are
>>>>>>>>>>>>>
>>>>>>>>>>>>> satisfied), run the service in
>>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the
>>>>>>>>>>>>> date/time
>>>>>>>>>
>>>>>>>>> into
>>>>>>>>>>>>>
>>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>>>
>>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>>>>> subscription and move to the next
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Testing
>>>>>>>>>>>>> ----------
>>>>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry
>>>>>>>>>>>>> so
>>>>>>>
>>>>>>> the
>>>>>>>>>>>>>
>>>>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service
>>>>>>>>>>>>> manually
>>>>>>>>>>>>> - verify that the log file contains a reference to the
>>>>>>>
>>>>>>> subscription
>>>>>>>>>>>>>
>>>>>>>>>>>>> having expired, and that Subscription.
>>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service
>>>>>>>>>>>>> manually,
>>>>>>>>>
>>>>>>>>> for
>>>>>>>>>>>>>
>>>>>>>>>>>>> a second time
>>>>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>>>>
>>>>>>> service
>>>>>>>>>>>>>
>>>>>>>>>>>>> was run.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'd like to ask:
>>>>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>>>>
>>>>>>> good
>>>>>>>>>>>
>>>>>>>>>>> idea
>>>>>>>>>>>>>
>>>>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>>>>
>>>>>>> trunk
>>>>>>>>>>>>>
>>>>>>>>>>>>> when we provide the patch?
>>>>>>>>>>>>>
>>>>>>>>>>>>> regards
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>>>> Director
>>>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>> Director
>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>
>>>>>>>>>>> phone: +61 414208449
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Ivan Cauchi
>>>>>>>>> Director
>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>
>>>>>>>>> phone: +61 414208449
>>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Ivan Cauchi
>>>>>>> Director
>>>>>>> Falcon ICT Pty Ltd
>>>>>>>
>>>>>>> phone: +61 414208449
>>>>>>>
>>>>
>>>>
>>>> --
>>>> Ivan Cauchi
>>>> Director
>>>> Falcon ICT Pty Ltd
>>>>
>>>> phone: +61 414208449
>>>
>>>
>>>
>>> --
>>> Ivan Cauchi
>>> Director
>>> Falcon ICT Pty Ltd
>>>
>>> phone: +61 414208449
>>
>>
>>
>



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Jacques Le Roux <ja...@les7arts.com>.
Yvan,

I did not find your username in confluence I tried falconict@gmail.com, then Yvan and Cauchi (Confluence has a nice autocompleter research)
Maybe you used another email address?

Jacques

Le 03/11/2014 08:57, Falcon ICT Pty Ltd a écrit :
> A patch has been uploaded and would welcome any committer to review
> and release into trunk.
>
> I have created a profile on Confluence, with my email address as an
> account.  Would anyone with sufficient rights grant me contributor
> privileges so I can insert the description of the new functionality
> there?
>
>
> regards
> Ivan
>
> On Thu, Oct 2, 2014 at 12:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
>> JIRA 5793 opened.
>>
>> Ivan
>>
>> On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
>>> @Jacopo
>>>
>>> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>>>
>>> @Jacques
>>>
>>> thanks for pointing out the location of subscription info on Confluence.
>>>
>>> rgds
>>> Ivan
>>>
>>>
>>> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
>>> <ja...@les7arts.com> wrote:
>>>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>>>
>>>> Thanks!
>>>>
>>>> Jacques
>>>>
>>>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>>>
>>>>> Thank you for considering it.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pierre Smits
>>>>>
>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>> Services & Solutions for Cloud-
>>>>> Based Manufacturing, Professional
>>>>> Services and Retail & Trade
>>>>> http://www.orrtiz.com
>>>>>
>>>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>>>> Confluence, but I'll consider updating the documentation when the
>>>>>> patch is complete.
>>>>>>
>>>>>> thanks
>>>>>> Ivan
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>>>>>> wrote:
>>>>>>> Ivan,
>>>>>>>
>>>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>>>>>> the
>>>>>>> ASF) for documentation purposes. If you're also considering updating the
>>>>>>> documentation regarding subscriptions.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Pierre Smits
>>>>>>>
>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>> Services & Solutions for Cloud-
>>>>>>> Based Manufacturing, Professional
>>>>>>> Services and Retail & Trade
>>>>>>> http://www.orrtiz.com
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> @Jacopo
>>>>>>>>
>>>>>>>> The thruDate is used to establish when the subscription is scheduled
>>>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>>>> another field.
>>>>>>>>
>>>>>>>> @Pierre
>>>>>>>>
>>>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>>>
>>>>>>>> Ivan
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>> Ivan,
>>>>>>>>>
>>>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>>> company)
>>>>>>>>> it is suggest to use a personal email address and/or registration id
>>>>>> in
>>>>>>>>> stead of company credentials.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>>
>>>>>>>>> Pierre Smits
>>>>>>>>>
>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>> Services and Retail & Trade
>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>
>>>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>>> falconict@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>>>>>> patch.
>>>>>>>>>> Regards
>>>>>>>>>> Ivan
>>>>>>>>>>
>>>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>>> pierre.smits@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>> Hi Ivan,
>>>>>>>>>>>
>>>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>>> accompanied
>>>>>>>> by
>>>>>>>>>>> test cases.
>>>>>>>>>>>
>>>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>>> submit
>>>>>>>> a
>>>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>>>
>>>>>>>>>>> Best regards,
>>>>>>>>>>>
>>>>>>>>>>> Pierre Smits
>>>>>>>>>>>
>>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>>> falconict@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Background
>>>>>>>>>>>> ----------------
>>>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>>> service
>>>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>>> service
>>>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>>> algorithm
>>>>>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>>>>>> the
>>>>>>>>>>>> current time being greater than the sum of the
>>>>>> subscription.thruDate
>>>>>>>> +
>>>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>>> Subscription.automaticExtend is
>>>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>>> named
>>>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>>> subscriptions
>>>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>>>> deprovisioning action when a subscription expires, implemented as
>>>>>> a
>>>>>>>>>>>> service whose name is inserted into
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>>> master
>>>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>>> algorithm
>>>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>>>>>> and
>>>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> proposed solution
>>>>>>>>>>>> ------------------------
>>>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>>> adjustments:
>>>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>>>
>>>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>>>
>>>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>>> also
>>>>>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>>>
>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>>>>>> are
>>>>>>>>>>>> satisfied), run the service in
>>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>>>>>> into
>>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>>
>>>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>>>> subscription and move to the next
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Testing
>>>>>>>>>>>> ----------
>>>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>>>>>> the
>>>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>>>>>> - verify that the log file contains a reference to the
>>>>>> subscription
>>>>>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>>>>>> for
>>>>>>>>>>>> a second time
>>>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>>> service
>>>>>>>>>>>> was run.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I'd like to ask:
>>>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>>> good
>>>>>>>>>> idea
>>>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>>> trunk
>>>>>>>>>>>> when we provide the patch?
>>>>>>>>>>>>
>>>>>>>>>>>> regards
>>>>>>>>>>>> --
>>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>>> Director
>>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Ivan Cauchi
>>>>>>>>>> Director
>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>
>>>>>>>>>> phone: +61 414208449
>>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ivan Cauchi
>>>>>>>> Director
>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>
>>>>>>>> phone: +61 414208449
>>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ivan Cauchi
>>>>>> Director
>>>>>> Falcon ICT Pty Ltd
>>>>>>
>>>>>> phone: +61 414208449
>>>>>>
>>>
>>>
>>> --
>>> Ivan Cauchi
>>> Director
>>> Falcon ICT Pty Ltd
>>>
>>> phone: +61 414208449
>>
>>
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>
>> phone: +61 414208449
>
>

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
A patch has been uploaded and would welcome any committer to review
and release into trunk.

I have created a profile on Confluence, with my email address as an
account.  Would anyone with sufficient rights grant me contributor
privileges so I can insert the description of the new functionality
there?


regards
Ivan

On Thu, Oct 2, 2014 at 12:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
> JIRA 5793 opened.
>
> Ivan
>
> On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
>> @Jacopo
>>
>> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>>
>> @Jacques
>>
>> thanks for pointing out the location of subscription info on Confluence.
>>
>> rgds
>> Ivan
>>
>>
>> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
>> <ja...@les7arts.com> wrote:
>>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>>
>>> Thanks!
>>>
>>> Jacques
>>>
>>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>>
>>>> Thank you for considering it.
>>>>
>>>> Regards,
>>>>
>>>> Pierre Smits
>>>>
>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>> Services & Solutions for Cloud-
>>>> Based Manufacturing, Professional
>>>> Services and Retail & Trade
>>>> http://www.orrtiz.com
>>>>
>>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>> wrote:
>>>>
>>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>>> Confluence, but I'll consider updating the documentation when the
>>>>> patch is complete.
>>>>>
>>>>> thanks
>>>>> Ivan
>>>>>
>>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Ivan,
>>>>>>
>>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>>>>>
>>>>> the
>>>>>>
>>>>>> ASF) for documentation purposes. If you're also considering updating the
>>>>>> documentation regarding subscriptions.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pierre Smits
>>>>>>
>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>> Services & Solutions for Cloud-
>>>>>> Based Manufacturing, Professional
>>>>>> Services and Retail & Trade
>>>>>> http://www.orrtiz.com
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> @Jacopo
>>>>>>>
>>>>>>> The thruDate is used to establish when the subscription is scheduled
>>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>>> another field.
>>>>>>>
>>>>>>> @Pierre
>>>>>>>
>>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>>
>>>>>>> Ivan
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Ivan,
>>>>>>>>
>>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>>
>>>>>>> company)
>>>>>>>>
>>>>>>>> it is suggest to use a personal email address and/or registration id
>>>>>
>>>>> in
>>>>>>>>
>>>>>>>> stead of company credentials.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>>
>>>>>>>> Pierre Smits
>>>>>>>>
>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>> Services & Solutions for Cloud-
>>>>>>>> Based Manufacturing, Professional
>>>>>>>> Services and Retail & Trade
>>>>>>>> http://www.orrtiz.com
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>>
>>>>> falconict@gmail.com>
>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>>>>>
>>>>>>> patch.
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> Ivan
>>>>>>>>>
>>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>>
>>>>> pierre.smits@gmail.com>
>>>>>>>>>
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Ivan,
>>>>>>>>>>
>>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>>
>>>>> accompanied
>>>>>>>
>>>>>>> by
>>>>>>>>>>
>>>>>>>>>> test cases.
>>>>>>>>>>
>>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>>
>>>>> submit
>>>>>>>
>>>>>>> a
>>>>>>>>>>
>>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>>
>>>>>>>>>> Pierre Smits
>>>>>>>>>>
>>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>>> Services and Retail & Trade
>>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>>
>>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>>
>>>>>>> falconict@gmail.com>
>>>>>>>>>>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Background
>>>>>>>>>>> ----------------
>>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>>
>>>>> service
>>>>>>>>>>>
>>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>>
>>>>>>> service
>>>>>>>>>>>
>>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>>
>>>>> algorithm
>>>>>>>>>>>
>>>>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>>>>>
>>>>>>> the
>>>>>>>>>>>
>>>>>>>>>>> current time being greater than the sum of the
>>>>>
>>>>> subscription.thruDate
>>>>>>>
>>>>>>> +
>>>>>>>>>>>
>>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>>
>>>>> Subscription.automaticExtend is
>>>>>>>>>>>
>>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>>
>>>>> named
>>>>>>>>>>>
>>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>>
>>>>> subscriptions
>>>>>>>>>>>
>>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>>> deprovisioning action when a subscription expires, implemented as
>>>>>
>>>>> a
>>>>>>>>>>>
>>>>>>>>>>> service whose name is inserted into
>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>>
>>>>> master
>>>>>>>>>>>
>>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>>
>>>>> algorithm
>>>>>>>>>>>
>>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>>>>>
>>>>>>> and
>>>>>>>>>>>
>>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> proposed solution
>>>>>>>>>>> ------------------------
>>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>>
>>>>>>> adjustments:
>>>>>>>>>>>
>>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>>
>>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>>
>>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>>
>>>>> also
>>>>>>>>>>>
>>>>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>>
>>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>>>>>
>>>>> are
>>>>>>>>>>>
>>>>>>>>>>> satisfied), run the service in
>>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>>>>>
>>>>>>> into
>>>>>>>>>>>
>>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>>
>>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>>> subscription and move to the next
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Testing
>>>>>>>>>>> ----------
>>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>>>>>
>>>>> the
>>>>>>>>>>>
>>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>>>>> - verify that the log file contains a reference to the
>>>>>
>>>>> subscription
>>>>>>>>>>>
>>>>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>>>>>
>>>>>>> for
>>>>>>>>>>>
>>>>>>>>>>> a second time
>>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>>
>>>>> service
>>>>>>>>>>>
>>>>>>>>>>> was run.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I'd like to ask:
>>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>>
>>>>> good
>>>>>>>>>
>>>>>>>>> idea
>>>>>>>>>>>
>>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>>
>>>>> trunk
>>>>>>>>>>>
>>>>>>>>>>> when we provide the patch?
>>>>>>>>>>>
>>>>>>>>>>> regards
>>>>>>>>>>> --
>>>>>>>>>>> Ivan Cauchi
>>>>>>>>>>> Director
>>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Ivan Cauchi
>>>>>>>>> Director
>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>
>>>>>>>>> phone: +61 414208449
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Ivan Cauchi
>>>>>>> Director
>>>>>>> Falcon ICT Pty Ltd
>>>>>>>
>>>>>>> phone: +61 414208449
>>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ivan Cauchi
>>>>> Director
>>>>> Falcon ICT Pty Ltd
>>>>>
>>>>> phone: +61 414208449
>>>>>
>>>
>>
>>
>>
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>
>> phone: +61 414208449
>
>
>
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>
> phone: +61 414208449



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
JIRA 5793 opened.

Ivan

On Thu, Oct 2, 2014 at 12:14 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:
> @Jacopo
>
> Ok.  We'll use expirationCompletedDate.  It's less cumbersome.
>
> @Jacques
>
> thanks for pointing out the location of subscription info on Confluence.
>
> rgds
> Ivan
>
>
> On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
> <ja...@les7arts.com> wrote:
>> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>>
>> Thanks!
>>
>> Jacques
>>
>> Le 01/10/2014 15:24, Pierre Smits a écrit :
>>
>>> Thank you for considering it.
>>>
>>> Regards,
>>>
>>> Pierre Smits
>>>
>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>> Services & Solutions for Cloud-
>>> Based Manufacturing, Professional
>>> Services and Retail & Trade
>>> http://www.orrtiz.com
>>>
>>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>> wrote:
>>>
>>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>>> Confluence, but I'll consider updating the documentation when the
>>>> patch is complete.
>>>>
>>>> thanks
>>>> Ivan
>>>>
>>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>>>> wrote:
>>>>>
>>>>> Ivan,
>>>>>
>>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>>>>
>>>> the
>>>>>
>>>>> ASF) for documentation purposes. If you're also considering updating the
>>>>> documentation regarding subscriptions.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pierre Smits
>>>>>
>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>> Services & Solutions for Cloud-
>>>>> Based Manufacturing, Professional
>>>>> Services and Retail & Trade
>>>>> http://www.orrtiz.com
>>>>>
>>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> @Jacopo
>>>>>>
>>>>>> The thruDate is used to establish when the subscription is scheduled
>>>>>> to expire, so cannot also be used to determine that the service has
>>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>>> another field.
>>>>>>
>>>>>> @Pierre
>>>>>>
>>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>>
>>>>>> Ivan
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>>>> wrote:
>>>>>>>
>>>>>>> Ivan,
>>>>>>>
>>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>>
>>>>>> company)
>>>>>>>
>>>>>>> it is suggest to use a personal email address and/or registration id
>>>>
>>>> in
>>>>>>>
>>>>>>> stead of company credentials.
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Pierre Smits
>>>>>>>
>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>> Services & Solutions for Cloud-
>>>>>>> Based Manufacturing, Professional
>>>>>>> Services and Retail & Trade
>>>>>>> http://www.orrtiz.com
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>>
>>>> falconict@gmail.com>
>>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>>>>
>>>>>> patch.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Ivan
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>>
>>>> pierre.smits@gmail.com>
>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hi Ivan,
>>>>>>>>>
>>>>>>>>> Thank you of describing the issue and a possible solution
>>>>
>>>> accompanied
>>>>>>
>>>>>> by
>>>>>>>>>
>>>>>>>>> test cases.
>>>>>>>>>
>>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>>
>>>> submit
>>>>>>
>>>>>> a
>>>>>>>>>
>>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>>
>>>>>>>>> Pierre Smits
>>>>>>>>>
>>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>>> Services & Solutions for Cloud-
>>>>>>>>> Based Manufacturing, Professional
>>>>>>>>> Services and Retail & Trade
>>>>>>>>> http://www.orrtiz.com
>>>>>>>>>
>>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>>
>>>>>> falconict@gmail.com>
>>>>>>>>>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Background
>>>>>>>>>> ----------------
>>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>>
>>>> service
>>>>>>>>>>
>>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>>
>>>>>> service
>>>>>>>>>>
>>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>>
>>>> algorithm
>>>>>>>>>>
>>>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>>>>
>>>>>> the
>>>>>>>>>>
>>>>>>>>>> current time being greater than the sum of the
>>>>
>>>> subscription.thruDate
>>>>>>
>>>>>> +
>>>>>>>>>>
>>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>>
>>>> Subscription.automaticExtend is
>>>>>>>>>>
>>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>>
>>>> named
>>>>>>>>>>
>>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> This provides users of the OFBiz framework who provide
>>>>
>>>> subscriptions
>>>>>>>>>>
>>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>>> deprovisioning action when a subscription expires, implemented as
>>>>
>>>> a
>>>>>>>>>>
>>>>>>>>>> service whose name is inserted into
>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Currently, the service mentioned in
>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>>
>>>> master
>>>>>>>>>>
>>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>>
>>>> algorithm
>>>>>>>>>>
>>>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>>>>
>>>>>> and
>>>>>>>>>>
>>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> proposed solution
>>>>>>>>>> ------------------------
>>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>>
>>>>>> adjustments:
>>>>>>>>>>
>>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>>
>>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>>
>>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>>
>>>> also
>>>>>>>>>>
>>>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>>
>>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>>>>
>>>> are
>>>>>>>>>>
>>>>>>>>>> satisfied), run the service in
>>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>>>>
>>>>>> into
>>>>>>>>>>
>>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>>
>>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>>> subscription and move to the next
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Testing
>>>>>>>>>> ----------
>>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>>>>
>>>> the
>>>>>>>>>>
>>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>>>> - verify that the log file contains a reference to the
>>>>
>>>> subscription
>>>>>>>>>>
>>>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>>>> contains the date/time the service was run
>>>>>>>>>> - either wait for the daily running of
>>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>>>>
>>>>>> for
>>>>>>>>>>
>>>>>>>>>> a second time
>>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>>
>>>> service
>>>>>>>>>>
>>>>>>>>>> was run.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I'd like to ask:
>>>>>>>>>> a) is there agreement in the developer community that this is a
>>>>
>>>> good
>>>>>>>>
>>>>>>>> idea
>>>>>>>>>>
>>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>>> project.  Would any committer be interested in promoting into
>>>>
>>>> trunk
>>>>>>>>>>
>>>>>>>>>> when we provide the patch?
>>>>>>>>>>
>>>>>>>>>> regards
>>>>>>>>>> --
>>>>>>>>>> Ivan Cauchi
>>>>>>>>>> Director
>>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ivan Cauchi
>>>>>>>> Director
>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>
>>>>>>>> phone: +61 414208449
>>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ivan Cauchi
>>>>>> Director
>>>>>> Falcon ICT Pty Ltd
>>>>>>
>>>>>> phone: +61 414208449
>>>>>>
>>>>
>>>>
>>>> --
>>>> Ivan Cauchi
>>>> Director
>>>> Falcon ICT Pty Ltd
>>>>
>>>> phone: +61 414208449
>>>>
>>
>
>
>
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>
> phone: +61 414208449



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
@Jacopo

Ok.  We'll use expirationCompletedDate.  It's less cumbersome.

@Jacques

thanks for pointing out the location of subscription info on Confluence.

rgds
Ivan


On Thu, Oct 2, 2014 at 7:01 AM, Jacques Le Roux
<ja...@les7arts.com> wrote:
> https://cwiki.apache.org/confluence/display/OFBIZ/Subscription
>
> Thanks!
>
> Jacques
>
> Le 01/10/2014 15:24, Pierre Smits a écrit :
>
>> Thank you for considering it.
>>
>> Regards,
>>
>> Pierre Smits
>>
>> *ORRTIZ.COM <http://www.orrtiz.com>*
>> Services & Solutions for Cloud-
>> Based Manufacturing, Professional
>> Services and Retail & Trade
>> http://www.orrtiz.com
>>
>> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>> wrote:
>>
>>> Ok.  Yes I use my name on the JIRA account.  I've never used
>>> Confluence, but I'll consider updating the documentation when the
>>> patch is complete.
>>>
>>> thanks
>>> Ivan
>>>
>>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>>> wrote:
>>>>
>>>> Ivan,
>>>>
>>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>>>
>>> the
>>>>
>>>> ASF) for documentation purposes. If you're also considering updating the
>>>> documentation regarding subscriptions.
>>>>
>>>> Regards,
>>>>
>>>> Pierre Smits
>>>>
>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>> Services & Solutions for Cloud-
>>>> Based Manufacturing, Professional
>>>> Services and Retail & Trade
>>>> http://www.orrtiz.com
>>>>
>>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>>> wrote:
>>>>
>>>>> @Jacopo
>>>>>
>>>>> The thruDate is used to establish when the subscription is scheduled
>>>>> to expire, so cannot also be used to determine that the service has
>>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>>> another field.
>>>>>
>>>>> @Pierre
>>>>>
>>>>> where is the registration id used?  On the dev list or JIRA?
>>>>>
>>>>> Ivan
>>>>>
>>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Ivan,
>>>>>>
>>>>>> In order to recognise you as the contributor (or any other of your
>>>>>
>>>>> company)
>>>>>>
>>>>>> it is suggest to use a personal email address and/or registration id
>>>
>>> in
>>>>>>
>>>>>> stead of company credentials.
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Pierre Smits
>>>>>>
>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>> Services & Solutions for Cloud-
>>>>>> Based Manufacturing, Professional
>>>>>> Services and Retail & Trade
>>>>>> http://www.orrtiz.com
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>>>
>>> falconict@gmail.com>
>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>>>
>>>>> patch.
>>>>>>>
>>>>>>> Regards
>>>>>>> Ivan
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>>>
>>> pierre.smits@gmail.com>
>>>>>>>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Ivan,
>>>>>>>>
>>>>>>>> Thank you of describing the issue and a possible solution
>>>
>>> accompanied
>>>>>
>>>>> by
>>>>>>>>
>>>>>>>> test cases.
>>>>>>>>
>>>>>>>> Any improvement to the code base is a good idea. And if you'll
>>>
>>> submit
>>>>>
>>>>> a
>>>>>>>>
>>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>>
>>>>>>>> Pierre Smits
>>>>>>>>
>>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>>> Services & Solutions for Cloud-
>>>>>>>> Based Manufacturing, Professional
>>>>>>>> Services and Retail & Trade
>>>>>>>> http://www.orrtiz.com
>>>>>>>>
>>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>>>
>>>>> falconict@gmail.com>
>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Background
>>>>>>>>> ----------------
>>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>>>
>>> service
>>>>>>>>>
>>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>>>
>>>>> service
>>>>>>>>>
>>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>>>
>>> algorithm
>>>>>>>>>
>>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>>>
>>>>> the
>>>>>>>>>
>>>>>>>>> current time being greater than the sum of the
>>>
>>> subscription.thruDate
>>>>>
>>>>> +
>>>>>>>>>
>>>>>>>>> subscription.gracePeriodOnExpiry, and
>>>
>>> Subscription.automaticExtend is
>>>>>>>>>
>>>>>>>>> false. For all such subscriptions, the service runs any service
>>>
>>> named
>>>>>>>>>
>>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This provides users of the OFBiz framework who provide
>>>
>>> subscriptions
>>>>>>>>>
>>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>>> deprovisioning action when a subscription expires, implemented as
>>>
>>> a
>>>>>>>>>
>>>>>>>>> service whose name is inserted into
>>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Currently, the service mentioned in
>>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>>>
>>> master
>>>>>>>>>
>>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>>>
>>> algorithm
>>>>>>>>>
>>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>>>
>>>>> and
>>>>>>>>>
>>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> proposed solution
>>>>>>>>> ------------------------
>>>>>>>>> To resolve this, it is being proposed to make the following
>>>>>
>>>>> adjustments:
>>>>>>>>>
>>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>>
>>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>>
>>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>>>
>>> also
>>>>>>>>>
>>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>>
>>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>>>
>>> are
>>>>>>>>>
>>>>>>>>> satisfied), run the service in
>>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>>>
>>>>> into
>>>>>>>>>
>>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>>
>>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>>> subscription and move to the next
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Testing
>>>>>>>>> ----------
>>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>>>
>>> the
>>>>>>>>>
>>>>>>>>> result of their addition is in the past of the system date
>>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>>> - either wait for the daily running of
>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>>> - verify that the log file contains a reference to the
>>>
>>> subscription
>>>>>>>>>
>>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>>> contains the date/time the service was run
>>>>>>>>> - either wait for the daily running of
>>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>>>
>>>>> for
>>>>>>>>>
>>>>>>>>> a second time
>>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>>>
>>> service
>>>>>>>>>
>>>>>>>>> was run.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I'd like to ask:
>>>>>>>>> a) is there agreement in the developer community that this is a
>>>
>>> good
>>>>>>>
>>>>>>> idea
>>>>>>>>>
>>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>>> project.  Would any committer be interested in promoting into
>>>
>>> trunk
>>>>>>>>>
>>>>>>>>> when we provide the patch?
>>>>>>>>>
>>>>>>>>> regards
>>>>>>>>> --
>>>>>>>>> Ivan Cauchi
>>>>>>>>> Director
>>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Ivan Cauchi
>>>>>>> Director
>>>>>>> Falcon ICT Pty Ltd
>>>>>>>
>>>>>>> phone: +61 414208449
>>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ivan Cauchi
>>>>> Director
>>>>> Falcon ICT Pty Ltd
>>>>>
>>>>> phone: +61 414208449
>>>>>
>>>
>>>
>>> --
>>> Ivan Cauchi
>>> Director
>>> Falcon ICT Pty Ltd
>>>
>>> phone: +61 414208449
>>>
>



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Jacques Le Roux <ja...@les7arts.com>.
https://cwiki.apache.org/confluence/display/OFBIZ/Subscription

Thanks!

Jacques

Le 01/10/2014 15:24, Pierre Smits a écrit :
> Thank you for considering it.
>
> Regards,
>
> Pierre Smits
>
> *ORRTIZ.COM <http://www.orrtiz.com>*
> Services & Solutions for Cloud-
> Based Manufacturing, Professional
> Services and Retail & Trade
> http://www.orrtiz.com
>
> On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> wrote:
>
>> Ok.  Yes I use my name on the JIRA account.  I've never used
>> Confluence, but I'll consider updating the documentation when the
>> patch is complete.
>>
>> thanks
>> Ivan
>>
>> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
>> wrote:
>>> Ivan,
>>>
>>> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
>> the
>>> ASF) for documentation purposes. If you're also considering updating the
>>> documentation regarding subscriptions.
>>>
>>> Regards,
>>>
>>> Pierre Smits
>>>
>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>> Services & Solutions for Cloud-
>>> Based Manufacturing, Professional
>>> Services and Retail & Trade
>>> http://www.orrtiz.com
>>>
>>> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>>> wrote:
>>>
>>>> @Jacopo
>>>>
>>>> The thruDate is used to establish when the subscription is scheduled
>>>> to expire, so cannot also be used to determine that the service has
>>>> run, which can happen whenever it is scheduled.  Hence the need for
>>>> another field.
>>>>
>>>> @Pierre
>>>>
>>>> where is the registration id used?  On the dev list or JIRA?
>>>>
>>>> Ivan
>>>>
>>>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>>>> wrote:
>>>>> Ivan,
>>>>>
>>>>> In order to recognise you as the contributor (or any other of your
>>>> company)
>>>>> it is suggest to use a personal email address and/or registration id
>> in
>>>>> stead of company credentials.
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Pierre Smits
>>>>>
>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>> Services & Solutions for Cloud-
>>>>> Based Manufacturing, Professional
>>>>> Services and Retail & Trade
>>>>> http://www.orrtiz.com
>>>>>
>>>>> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
>> falconict@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Thank you Pierre.  We'll open a JIRA case and start working on the
>>>> patch.
>>>>>> Regards
>>>>>> Ivan
>>>>>>
>>>>>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
>> pierre.smits@gmail.com>
>>>>>> wrote:
>>>>>>> Hi Ivan,
>>>>>>>
>>>>>>> Thank you of describing the issue and a possible solution
>> accompanied
>>>> by
>>>>>>> test cases.
>>>>>>>
>>>>>>> Any improvement to the code base is a good idea. And if you'll
>> submit
>>>> a
>>>>>>> patch in JIRA I will do my best to review it.
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Pierre Smits
>>>>>>>
>>>>>>> *ORRTIZ.COM <http://www.orrtiz.com>*
>>>>>>> Services & Solutions for Cloud-
>>>>>>> Based Manufacturing, Professional
>>>>>>> Services and Retail & Trade
>>>>>>> http://www.orrtiz.com
>>>>>>>
>>>>>>> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>>>> falconict@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Background
>>>>>>>> ----------------
>>>>>>>> Recenlty, the trunk version of OFBiz was augmented with a new
>> service
>>>>>>>> called runServiceUponSubscriptionExpiry through JIRA5333. This
>>>> service
>>>>>>>> is scheduled to run, using the demo data, once a day. Its
>> algorithm
>>>>>>>> looks up all subscriptions which have expired, which is defined as
>>>> the
>>>>>>>> current time being greater than the sum of the
>> subscription.thruDate
>>>> +
>>>>>>>> subscription.gracePeriodOnExpiry, and
>> Subscription.automaticExtend is
>>>>>>>> false. For all such subscriptions, the service runs any service
>> named
>>>>>>>> in SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>
>>>>>>>>
>>>>>>>> This provides users of the OFBiz framework who provide
>> subscriptions
>>>>>>>> to their customers using the framework, to trigger an external
>>>>>>>> deprovisioning action when a subscription expires, implemented as
>> a
>>>>>>>> service whose name is inserted into
>>>>>>>> SubscriptionResource.serviceNameOnExpiry.
>>>>>>>>
>>>>>>>>
>>>>>>>> Currently, the service mentioned in
>>>>>>>> SubscriptionResource.serviceNameOnExpiry is run every time the
>> master
>>>>>>>> service runServiceUponSubscriptionExpiry goes through its
>> algorithm
>>>>>>>> (once a day in the demo data). Typically, for subscriptions which
>>>>>>>> require a deprovisioning action when the subscription expired, one
>>>> and
>>>>>>>> only one deprovisioning action would be required.
>>>>>>>>
>>>>>>>>
>>>>>>>> proposed solution
>>>>>>>> ------------------------
>>>>>>>> To resolve this, it is being proposed to make the following
>>>> adjustments:
>>>>>>>> a) augment the OFBiz data model with the following new field:
>>>>>>>>
>>>>>>>> Subscription.serviceNameOnExpiryRunDate
>>>>>>>>
>>>>>>>> b) modify the algorithm of runServiceUponSubscriptionExpiry to
>> also
>>>>>>>> check whether the expiry service has already run, by checking that
>>>>>>>> serviceNameOnExpiryRunDate is null.
>>>>>>>>
>>>>>>>> - if serviceNameOnExpiryRunDate is null (and the other conditions
>> are
>>>>>>>> satisfied), run the service in
>>>>>>>> SubscriptionResource.serviceNameOnExpiry and update the date/time
>>>> into
>>>>>>>> serviceNameOnExpiryRunDate
>>>>>>>>
>>>>>>>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>>>>>>>> subscription and move to the next
>>>>>>>>
>>>>>>>>
>>>>>>>> Testing
>>>>>>>> ----------
>>>>>>>> - create a new subscription through OFBiz with demo data
>>>>>>>> - modify the subscription's thru date and gracePeriodOnExpiry so
>> the
>>>>>>>> result of their addition is in the past of the system date
>>>>>>>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>>>>>>>> - either wait for the daily running of
>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually
>>>>>>>> - verify that the log file contains a reference to the
>> subscription
>>>>>>>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>>>>>>>> contains the date/time the service was run
>>>>>>>> - either wait for the daily running of
>>>>>>>> runServiceUponSubscriptionExpiry, or trigger the service manually,
>>>> for
>>>>>>>> a second time
>>>>>>>> - verify that the log file does not contain a reference to the
>>>>>>>> subscription having expired, and that Subscription.
>>>>>>>> serviceNameOnExpiryRunDate still contains the date/time the
>> service
>>>>>>>> was run.
>>>>>>>>
>>>>>>>>
>>>>>>>> I'd like to ask:
>>>>>>>> a) is there agreement in the developer community that this is a
>> good
>>>>>> idea
>>>>>>>> b) We propose to develop the patch and release it to the OFBiz
>>>>>>>> project.  Would any committer be interested in promoting into
>> trunk
>>>>>>>> when we provide the patch?
>>>>>>>>
>>>>>>>> regards
>>>>>>>> --
>>>>>>>> Ivan Cauchi
>>>>>>>> Director
>>>>>>>> Falcon ICT Pty Ltd
>>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ivan Cauchi
>>>>>> Director
>>>>>> Falcon ICT Pty Ltd
>>>>>>
>>>>>> phone: +61 414208449
>>>>>>
>>>>
>>>>
>>>> --
>>>> Ivan Cauchi
>>>> Director
>>>> Falcon ICT Pty Ltd
>>>>
>>>> phone: +61 414208449
>>>>
>>
>>
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>
>> phone: +61 414208449
>>

Re: modifications to subscription expiry logic

Posted by Pierre Smits <pi...@gmail.com>.
Thank you for considering it.

Regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Wed, Oct 1, 2014 at 3:18 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
wrote:

> Ok.  Yes I use my name on the JIRA account.  I've never used
> Confluence, but I'll consider updating the documentation when the
> patch is complete.
>
> thanks
> Ivan
>
> On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com>
> wrote:
> > Ivan,
> >
> > User Id's  are used in JIRA and Confluence (the prefered wiki tool  of
> the
> > ASF) for documentation purposes. If you're also considering updating the
> > documentation regarding subscriptions.
> >
> > Regards,
> >
> > Pierre Smits
> >
> > *ORRTIZ.COM <http://www.orrtiz.com>*
> > Services & Solutions for Cloud-
> > Based Manufacturing, Professional
> > Services and Retail & Trade
> > http://www.orrtiz.com
> >
> > On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> > wrote:
> >
> >> @Jacopo
> >>
> >> The thruDate is used to establish when the subscription is scheduled
> >> to expire, so cannot also be used to determine that the service has
> >> run, which can happen whenever it is scheduled.  Hence the need for
> >> another field.
> >>
> >> @Pierre
> >>
> >> where is the registration id used?  On the dev list or JIRA?
> >>
> >> Ivan
> >>
> >> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
> >> wrote:
> >> > Ivan,
> >> >
> >> > In order to recognise you as the contributor (or any other of your
> >> company)
> >> > it is suggest to use a personal email address and/or registration id
> in
> >> > stead of company credentials.
> >> >
> >> > Best regards,
> >> >
> >> > Pierre Smits
> >> >
> >> > *ORRTIZ.COM <http://www.orrtiz.com>*
> >> > Services & Solutions for Cloud-
> >> > Based Manufacturing, Professional
> >> > Services and Retail & Trade
> >> > http://www.orrtiz.com
> >> >
> >> > On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <
> falconict@gmail.com>
> >> > wrote:
> >> >
> >> >> Thank you Pierre.  We'll open a JIRA case and start working on the
> >> patch.
> >> >>
> >> >> Regards
> >> >> Ivan
> >> >>
> >> >> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <
> pierre.smits@gmail.com>
> >> >> wrote:
> >> >> > Hi Ivan,
> >> >> >
> >> >> > Thank you of describing the issue and a possible solution
> accompanied
> >> by
> >> >> > test cases.
> >> >> >
> >> >> > Any improvement to the code base is a good idea. And if you'll
> submit
> >> a
> >> >> > patch in JIRA I will do my best to review it.
> >> >> >
> >> >> > Best regards,
> >> >> >
> >> >> > Pierre Smits
> >> >> >
> >> >> > *ORRTIZ.COM <http://www.orrtiz.com>*
> >> >> > Services & Solutions for Cloud-
> >> >> > Based Manufacturing, Professional
> >> >> > Services and Retail & Trade
> >> >> > http://www.orrtiz.com
> >> >> >
> >> >> > On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
> >> falconict@gmail.com>
> >> >> > wrote:
> >> >> >
> >> >> >> Background
> >> >> >> ----------------
> >> >> >> Recenlty, the trunk version of OFBiz was augmented with a new
> service
> >> >> >> called runServiceUponSubscriptionExpiry through JIRA5333. This
> >> service
> >> >> >> is scheduled to run, using the demo data, once a day. Its
> algorithm
> >> >> >> looks up all subscriptions which have expired, which is defined as
> >> the
> >> >> >> current time being greater than the sum of the
> subscription.thruDate
> >> +
> >> >> >> subscription.gracePeriodOnExpiry, and
> Subscription.automaticExtend is
> >> >> >> false. For all such subscriptions, the service runs any service
> named
> >> >> >> in SubscriptionResource.serviceNameOnExpiry.
> >> >> >>
> >> >> >>
> >> >> >> This provides users of the OFBiz framework who provide
> subscriptions
> >> >> >> to their customers using the framework, to trigger an external
> >> >> >> deprovisioning action when a subscription expires, implemented as
> a
> >> >> >> service whose name is inserted into
> >> >> >> SubscriptionResource.serviceNameOnExpiry.
> >> >> >>
> >> >> >>
> >> >> >> Currently, the service mentioned in
> >> >> >> SubscriptionResource.serviceNameOnExpiry is run every time the
> master
> >> >> >> service runServiceUponSubscriptionExpiry goes through its
> algorithm
> >> >> >> (once a day in the demo data). Typically, for subscriptions which
> >> >> >> require a deprovisioning action when the subscription expired, one
> >> and
> >> >> >> only one deprovisioning action would be required.
> >> >> >>
> >> >> >>
> >> >> >> proposed solution
> >> >> >> ------------------------
> >> >> >> To resolve this, it is being proposed to make the following
> >> adjustments:
> >> >> >>
> >> >> >> a) augment the OFBiz data model with the following new field:
> >> >> >>
> >> >> >> Subscription.serviceNameOnExpiryRunDate
> >> >> >>
> >> >> >> b) modify the algorithm of runServiceUponSubscriptionExpiry to
> also
> >> >> >> check whether the expiry service has already run, by checking that
> >> >> >> serviceNameOnExpiryRunDate is null.
> >> >> >>
> >> >> >> - if serviceNameOnExpiryRunDate is null (and the other conditions
> are
> >> >> >> satisfied), run the service in
> >> >> >> SubscriptionResource.serviceNameOnExpiry and update the date/time
> >> into
> >> >> >> serviceNameOnExpiryRunDate
> >> >> >>
> >> >> >> - if serviceNameOnExpiryRunDate is not null, skip the expired
> >> >> >> subscription and move to the next
> >> >> >>
> >> >> >>
> >> >> >> Testing
> >> >> >> ----------
> >> >> >> - create a new subscription through OFBiz with demo data
> >> >> >> - modify the subscription's thru date and gracePeriodOnExpiry so
> the
> >> >> >> result of their addition is in the past of the system date
> >> >> >> - verify that Subscription. serviceNameOnExpiryRunDate is empty
> >> >> >> - either wait for the daily running of
> >> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually
> >> >> >> - verify that the log file contains a reference to the
> subscription
> >> >> >> having expired, and that Subscription. serviceNameOnExpiryRunDate
> >> >> >> contains the date/time the service was run
> >> >> >> - either wait for the daily running of
> >> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually,
> >> for
> >> >> >> a second time
> >> >> >> - verify that the log file does not contain a reference to the
> >> >> >> subscription having expired, and that Subscription.
> >> >> >> serviceNameOnExpiryRunDate still contains the date/time the
> service
> >> >> >> was run.
> >> >> >>
> >> >> >>
> >> >> >> I'd like to ask:
> >> >> >> a) is there agreement in the developer community that this is a
> good
> >> >> idea
> >> >> >> b) We propose to develop the patch and release it to the OFBiz
> >> >> >> project.  Would any committer be interested in promoting into
> trunk
> >> >> >> when we provide the patch?
> >> >> >>
> >> >> >> regards
> >> >> >> --
> >> >> >> Ivan Cauchi
> >> >> >> Director
> >> >> >> Falcon ICT Pty Ltd
> >> >> >>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Ivan Cauchi
> >> >> Director
> >> >> Falcon ICT Pty Ltd
> >> >>
> >> >> phone: +61 414208449
> >> >>
> >>
> >>
> >>
> >> --
> >> Ivan Cauchi
> >> Director
> >> Falcon ICT Pty Ltd
> >>
> >> phone: +61 414208449
> >>
>
>
>
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>
> phone: +61 414208449
>

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
Ok.  Yes I use my name on the JIRA account.  I've never used
Confluence, but I'll consider updating the documentation when the
patch is complete.

thanks
Ivan

On Wed, Oct 1, 2014 at 11:11 PM, Pierre Smits <pi...@gmail.com> wrote:
> Ivan,
>
> User Id's  are used in JIRA and Confluence (the prefered wiki tool  of the
> ASF) for documentation purposes. If you're also considering updating the
> documentation regarding subscriptions.
>
> Regards,
>
> Pierre Smits
>
> *ORRTIZ.COM <http://www.orrtiz.com>*
> Services & Solutions for Cloud-
> Based Manufacturing, Professional
> Services and Retail & Trade
> http://www.orrtiz.com
>
> On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> wrote:
>
>> @Jacopo
>>
>> The thruDate is used to establish when the subscription is scheduled
>> to expire, so cannot also be used to determine that the service has
>> run, which can happen whenever it is scheduled.  Hence the need for
>> another field.
>>
>> @Pierre
>>
>> where is the registration id used?  On the dev list or JIRA?
>>
>> Ivan
>>
>> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
>> wrote:
>> > Ivan,
>> >
>> > In order to recognise you as the contributor (or any other of your
>> company)
>> > it is suggest to use a personal email address and/or registration id in
>> > stead of company credentials.
>> >
>> > Best regards,
>> >
>> > Pierre Smits
>> >
>> > *ORRTIZ.COM <http://www.orrtiz.com>*
>> > Services & Solutions for Cloud-
>> > Based Manufacturing, Professional
>> > Services and Retail & Trade
>> > http://www.orrtiz.com
>> >
>> > On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>> > wrote:
>> >
>> >> Thank you Pierre.  We'll open a JIRA case and start working on the
>> patch.
>> >>
>> >> Regards
>> >> Ivan
>> >>
>> >> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <pi...@gmail.com>
>> >> wrote:
>> >> > Hi Ivan,
>> >> >
>> >> > Thank you of describing the issue and a possible solution accompanied
>> by
>> >> > test cases.
>> >> >
>> >> > Any improvement to the code base is a good idea. And if you'll submit
>> a
>> >> > patch in JIRA I will do my best to review it.
>> >> >
>> >> > Best regards,
>> >> >
>> >> > Pierre Smits
>> >> >
>> >> > *ORRTIZ.COM <http://www.orrtiz.com>*
>> >> > Services & Solutions for Cloud-
>> >> > Based Manufacturing, Professional
>> >> > Services and Retail & Trade
>> >> > http://www.orrtiz.com
>> >> >
>> >> > On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
>> falconict@gmail.com>
>> >> > wrote:
>> >> >
>> >> >> Background
>> >> >> ----------------
>> >> >> Recenlty, the trunk version of OFBiz was augmented with a new service
>> >> >> called runServiceUponSubscriptionExpiry through JIRA5333. This
>> service
>> >> >> is scheduled to run, using the demo data, once a day. Its algorithm
>> >> >> looks up all subscriptions which have expired, which is defined as
>> the
>> >> >> current time being greater than the sum of the subscription.thruDate
>> +
>> >> >> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
>> >> >> false. For all such subscriptions, the service runs any service named
>> >> >> in SubscriptionResource.serviceNameOnExpiry.
>> >> >>
>> >> >>
>> >> >> This provides users of the OFBiz framework who provide subscriptions
>> >> >> to their customers using the framework, to trigger an external
>> >> >> deprovisioning action when a subscription expires, implemented as a
>> >> >> service whose name is inserted into
>> >> >> SubscriptionResource.serviceNameOnExpiry.
>> >> >>
>> >> >>
>> >> >> Currently, the service mentioned in
>> >> >> SubscriptionResource.serviceNameOnExpiry is run every time the master
>> >> >> service runServiceUponSubscriptionExpiry goes through its algorithm
>> >> >> (once a day in the demo data). Typically, for subscriptions which
>> >> >> require a deprovisioning action when the subscription expired, one
>> and
>> >> >> only one deprovisioning action would be required.
>> >> >>
>> >> >>
>> >> >> proposed solution
>> >> >> ------------------------
>> >> >> To resolve this, it is being proposed to make the following
>> adjustments:
>> >> >>
>> >> >> a) augment the OFBiz data model with the following new field:
>> >> >>
>> >> >> Subscription.serviceNameOnExpiryRunDate
>> >> >>
>> >> >> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
>> >> >> check whether the expiry service has already run, by checking that
>> >> >> serviceNameOnExpiryRunDate is null.
>> >> >>
>> >> >> - if serviceNameOnExpiryRunDate is null (and the other conditions are
>> >> >> satisfied), run the service in
>> >> >> SubscriptionResource.serviceNameOnExpiry and update the date/time
>> into
>> >> >> serviceNameOnExpiryRunDate
>> >> >>
>> >> >> - if serviceNameOnExpiryRunDate is not null, skip the expired
>> >> >> subscription and move to the next
>> >> >>
>> >> >>
>> >> >> Testing
>> >> >> ----------
>> >> >> - create a new subscription through OFBiz with demo data
>> >> >> - modify the subscription's thru date and gracePeriodOnExpiry so the
>> >> >> result of their addition is in the past of the system date
>> >> >> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>> >> >> - either wait for the daily running of
>> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually
>> >> >> - verify that the log file contains a reference to the subscription
>> >> >> having expired, and that Subscription. serviceNameOnExpiryRunDate
>> >> >> contains the date/time the service was run
>> >> >> - either wait for the daily running of
>> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually,
>> for
>> >> >> a second time
>> >> >> - verify that the log file does not contain a reference to the
>> >> >> subscription having expired, and that Subscription.
>> >> >> serviceNameOnExpiryRunDate still contains the date/time the service
>> >> >> was run.
>> >> >>
>> >> >>
>> >> >> I'd like to ask:
>> >> >> a) is there agreement in the developer community that this is a good
>> >> idea
>> >> >> b) We propose to develop the patch and release it to the OFBiz
>> >> >> project.  Would any committer be interested in promoting into trunk
>> >> >> when we provide the patch?
>> >> >>
>> >> >> regards
>> >> >> --
>> >> >> Ivan Cauchi
>> >> >> Director
>> >> >> Falcon ICT Pty Ltd
>> >> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Ivan Cauchi
>> >> Director
>> >> Falcon ICT Pty Ltd
>> >>
>> >> phone: +61 414208449
>> >>
>>
>>
>>
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>
>> phone: +61 414208449
>>



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Pierre Smits <pi...@gmail.com>.
Ivan,

User Id's  are used in JIRA and Confluence (the prefered wiki tool  of the
ASF) for documentation purposes. If you're also considering updating the
documentation regarding subscriptions.

Regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Wed, Oct 1, 2014 at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
wrote:

> @Jacopo
>
> The thruDate is used to establish when the subscription is scheduled
> to expire, so cannot also be used to determine that the service has
> run, which can happen whenever it is scheduled.  Hence the need for
> another field.
>
> @Pierre
>
> where is the registration id used?  On the dev list or JIRA?
>
> Ivan
>
> On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com>
> wrote:
> > Ivan,
> >
> > In order to recognise you as the contributor (or any other of your
> company)
> > it is suggest to use a personal email address and/or registration id in
> > stead of company credentials.
> >
> > Best regards,
> >
> > Pierre Smits
> >
> > *ORRTIZ.COM <http://www.orrtiz.com>*
> > Services & Solutions for Cloud-
> > Based Manufacturing, Professional
> > Services and Retail & Trade
> > http://www.orrtiz.com
> >
> > On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> > wrote:
> >
> >> Thank you Pierre.  We'll open a JIRA case and start working on the
> patch.
> >>
> >> Regards
> >> Ivan
> >>
> >> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <pi...@gmail.com>
> >> wrote:
> >> > Hi Ivan,
> >> >
> >> > Thank you of describing the issue and a possible solution accompanied
> by
> >> > test cases.
> >> >
> >> > Any improvement to the code base is a good idea. And if you'll submit
> a
> >> > patch in JIRA I will do my best to review it.
> >> >
> >> > Best regards,
> >> >
> >> > Pierre Smits
> >> >
> >> > *ORRTIZ.COM <http://www.orrtiz.com>*
> >> > Services & Solutions for Cloud-
> >> > Based Manufacturing, Professional
> >> > Services and Retail & Trade
> >> > http://www.orrtiz.com
> >> >
> >> > On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <
> falconict@gmail.com>
> >> > wrote:
> >> >
> >> >> Background
> >> >> ----------------
> >> >> Recenlty, the trunk version of OFBiz was augmented with a new service
> >> >> called runServiceUponSubscriptionExpiry through JIRA5333. This
> service
> >> >> is scheduled to run, using the demo data, once a day. Its algorithm
> >> >> looks up all subscriptions which have expired, which is defined as
> the
> >> >> current time being greater than the sum of the subscription.thruDate
> +
> >> >> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
> >> >> false. For all such subscriptions, the service runs any service named
> >> >> in SubscriptionResource.serviceNameOnExpiry.
> >> >>
> >> >>
> >> >> This provides users of the OFBiz framework who provide subscriptions
> >> >> to their customers using the framework, to trigger an external
> >> >> deprovisioning action when a subscription expires, implemented as a
> >> >> service whose name is inserted into
> >> >> SubscriptionResource.serviceNameOnExpiry.
> >> >>
> >> >>
> >> >> Currently, the service mentioned in
> >> >> SubscriptionResource.serviceNameOnExpiry is run every time the master
> >> >> service runServiceUponSubscriptionExpiry goes through its algorithm
> >> >> (once a day in the demo data). Typically, for subscriptions which
> >> >> require a deprovisioning action when the subscription expired, one
> and
> >> >> only one deprovisioning action would be required.
> >> >>
> >> >>
> >> >> proposed solution
> >> >> ------------------------
> >> >> To resolve this, it is being proposed to make the following
> adjustments:
> >> >>
> >> >> a) augment the OFBiz data model with the following new field:
> >> >>
> >> >> Subscription.serviceNameOnExpiryRunDate
> >> >>
> >> >> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
> >> >> check whether the expiry service has already run, by checking that
> >> >> serviceNameOnExpiryRunDate is null.
> >> >>
> >> >> - if serviceNameOnExpiryRunDate is null (and the other conditions are
> >> >> satisfied), run the service in
> >> >> SubscriptionResource.serviceNameOnExpiry and update the date/time
> into
> >> >> serviceNameOnExpiryRunDate
> >> >>
> >> >> - if serviceNameOnExpiryRunDate is not null, skip the expired
> >> >> subscription and move to the next
> >> >>
> >> >>
> >> >> Testing
> >> >> ----------
> >> >> - create a new subscription through OFBiz with demo data
> >> >> - modify the subscription's thru date and gracePeriodOnExpiry so the
> >> >> result of their addition is in the past of the system date
> >> >> - verify that Subscription. serviceNameOnExpiryRunDate is empty
> >> >> - either wait for the daily running of
> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually
> >> >> - verify that the log file contains a reference to the subscription
> >> >> having expired, and that Subscription. serviceNameOnExpiryRunDate
> >> >> contains the date/time the service was run
> >> >> - either wait for the daily running of
> >> >> runServiceUponSubscriptionExpiry, or trigger the service manually,
> for
> >> >> a second time
> >> >> - verify that the log file does not contain a reference to the
> >> >> subscription having expired, and that Subscription.
> >> >> serviceNameOnExpiryRunDate still contains the date/time the service
> >> >> was run.
> >> >>
> >> >>
> >> >> I'd like to ask:
> >> >> a) is there agreement in the developer community that this is a good
> >> idea
> >> >> b) We propose to develop the patch and release it to the OFBiz
> >> >> project.  Would any committer be interested in promoting into trunk
> >> >> when we provide the patch?
> >> >>
> >> >> regards
> >> >> --
> >> >> Ivan Cauchi
> >> >> Director
> >> >> Falcon ICT Pty Ltd
> >> >>
> >>
> >>
> >>
> >> --
> >> Ivan Cauchi
> >> Director
> >> Falcon ICT Pty Ltd
> >>
> >> phone: +61 414208449
> >>
>
>
>
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>
> phone: +61 414208449
>

Re: modifications to subscription expiry logic

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
On Oct 1, 2014, at 3:08 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:

> @Jacopo
> 
> The thruDate is used to establish when the subscription is scheduled
> to expire, so cannot also be used to determine that the service has
> run, which can happen whenever it is scheduled.  Hence the need for
> another field.

Ok, I was imagining something similar; then your proposal makes sense to me even if maybe we could name the new field "expirationDate" or "effectiveExpirationDate" or "expirationCompletedDate" or similar rather than "serviceNameOnExpiryRunDate".

Jacopo


Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
@Jacopo

The thruDate is used to establish when the subscription is scheduled
to expire, so cannot also be used to determine that the service has
run, which can happen whenever it is scheduled.  Hence the need for
another field.

@Pierre

where is the registration id used?  On the dev list or JIRA?

Ivan

On Wed, Oct 1, 2014 at 10:59 PM, Pierre Smits <pi...@gmail.com> wrote:
> Ivan,
>
> In order to recognise you as the contributor (or any other of your company)
> it is suggest to use a personal email address and/or registration id in
> stead of company credentials.
>
> Best regards,
>
> Pierre Smits
>
> *ORRTIZ.COM <http://www.orrtiz.com>*
> Services & Solutions for Cloud-
> Based Manufacturing, Professional
> Services and Retail & Trade
> http://www.orrtiz.com
>
> On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> wrote:
>
>> Thank you Pierre.  We'll open a JIRA case and start working on the patch.
>>
>> Regards
>> Ivan
>>
>> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <pi...@gmail.com>
>> wrote:
>> > Hi Ivan,
>> >
>> > Thank you of describing the issue and a possible solution accompanied by
>> > test cases.
>> >
>> > Any improvement to the code base is a good idea. And if you'll submit a
>> > patch in JIRA I will do my best to review it.
>> >
>> > Best regards,
>> >
>> > Pierre Smits
>> >
>> > *ORRTIZ.COM <http://www.orrtiz.com>*
>> > Services & Solutions for Cloud-
>> > Based Manufacturing, Professional
>> > Services and Retail & Trade
>> > http://www.orrtiz.com
>> >
>> > On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
>> > wrote:
>> >
>> >> Background
>> >> ----------------
>> >> Recenlty, the trunk version of OFBiz was augmented with a new service
>> >> called runServiceUponSubscriptionExpiry through JIRA5333. This service
>> >> is scheduled to run, using the demo data, once a day. Its algorithm
>> >> looks up all subscriptions which have expired, which is defined as the
>> >> current time being greater than the sum of the subscription.thruDate +
>> >> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
>> >> false. For all such subscriptions, the service runs any service named
>> >> in SubscriptionResource.serviceNameOnExpiry.
>> >>
>> >>
>> >> This provides users of the OFBiz framework who provide subscriptions
>> >> to their customers using the framework, to trigger an external
>> >> deprovisioning action when a subscription expires, implemented as a
>> >> service whose name is inserted into
>> >> SubscriptionResource.serviceNameOnExpiry.
>> >>
>> >>
>> >> Currently, the service mentioned in
>> >> SubscriptionResource.serviceNameOnExpiry is run every time the master
>> >> service runServiceUponSubscriptionExpiry goes through its algorithm
>> >> (once a day in the demo data). Typically, for subscriptions which
>> >> require a deprovisioning action when the subscription expired, one and
>> >> only one deprovisioning action would be required.
>> >>
>> >>
>> >> proposed solution
>> >> ------------------------
>> >> To resolve this, it is being proposed to make the following adjustments:
>> >>
>> >> a) augment the OFBiz data model with the following new field:
>> >>
>> >> Subscription.serviceNameOnExpiryRunDate
>> >>
>> >> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
>> >> check whether the expiry service has already run, by checking that
>> >> serviceNameOnExpiryRunDate is null.
>> >>
>> >> - if serviceNameOnExpiryRunDate is null (and the other conditions are
>> >> satisfied), run the service in
>> >> SubscriptionResource.serviceNameOnExpiry and update the date/time into
>> >> serviceNameOnExpiryRunDate
>> >>
>> >> - if serviceNameOnExpiryRunDate is not null, skip the expired
>> >> subscription and move to the next
>> >>
>> >>
>> >> Testing
>> >> ----------
>> >> - create a new subscription through OFBiz with demo data
>> >> - modify the subscription's thru date and gracePeriodOnExpiry so the
>> >> result of their addition is in the past of the system date
>> >> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>> >> - either wait for the daily running of
>> >> runServiceUponSubscriptionExpiry, or trigger the service manually
>> >> - verify that the log file contains a reference to the subscription
>> >> having expired, and that Subscription. serviceNameOnExpiryRunDate
>> >> contains the date/time the service was run
>> >> - either wait for the daily running of
>> >> runServiceUponSubscriptionExpiry, or trigger the service manually, for
>> >> a second time
>> >> - verify that the log file does not contain a reference to the
>> >> subscription having expired, and that Subscription.
>> >> serviceNameOnExpiryRunDate still contains the date/time the service
>> >> was run.
>> >>
>> >>
>> >> I'd like to ask:
>> >> a) is there agreement in the developer community that this is a good
>> idea
>> >> b) We propose to develop the patch and release it to the OFBiz
>> >> project.  Would any committer be interested in promoting into trunk
>> >> when we provide the patch?
>> >>
>> >> regards
>> >> --
>> >> Ivan Cauchi
>> >> Director
>> >> Falcon ICT Pty Ltd
>> >>
>>
>>
>>
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>
>> phone: +61 414208449
>>



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Pierre Smits <pi...@gmail.com>.
Ivan,

In order to recognise you as the contributor (or any other of your company)
it is suggest to use a personal email address and/or registration id in
stead of company credentials.

Best regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Wed, Oct 1, 2014 at 2:56 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
wrote:

> Thank you Pierre.  We'll open a JIRA case and start working on the patch.
>
> Regards
> Ivan
>
> On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <pi...@gmail.com>
> wrote:
> > Hi Ivan,
> >
> > Thank you of describing the issue and a possible solution accompanied by
> > test cases.
> >
> > Any improvement to the code base is a good idea. And if you'll submit a
> > patch in JIRA I will do my best to review it.
> >
> > Best regards,
> >
> > Pierre Smits
> >
> > *ORRTIZ.COM <http://www.orrtiz.com>*
> > Services & Solutions for Cloud-
> > Based Manufacturing, Professional
> > Services and Retail & Trade
> > http://www.orrtiz.com
> >
> > On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> > wrote:
> >
> >> Background
> >> ----------------
> >> Recenlty, the trunk version of OFBiz was augmented with a new service
> >> called runServiceUponSubscriptionExpiry through JIRA5333. This service
> >> is scheduled to run, using the demo data, once a day. Its algorithm
> >> looks up all subscriptions which have expired, which is defined as the
> >> current time being greater than the sum of the subscription.thruDate +
> >> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
> >> false. For all such subscriptions, the service runs any service named
> >> in SubscriptionResource.serviceNameOnExpiry.
> >>
> >>
> >> This provides users of the OFBiz framework who provide subscriptions
> >> to their customers using the framework, to trigger an external
> >> deprovisioning action when a subscription expires, implemented as a
> >> service whose name is inserted into
> >> SubscriptionResource.serviceNameOnExpiry.
> >>
> >>
> >> Currently, the service mentioned in
> >> SubscriptionResource.serviceNameOnExpiry is run every time the master
> >> service runServiceUponSubscriptionExpiry goes through its algorithm
> >> (once a day in the demo data). Typically, for subscriptions which
> >> require a deprovisioning action when the subscription expired, one and
> >> only one deprovisioning action would be required.
> >>
> >>
> >> proposed solution
> >> ------------------------
> >> To resolve this, it is being proposed to make the following adjustments:
> >>
> >> a) augment the OFBiz data model with the following new field:
> >>
> >> Subscription.serviceNameOnExpiryRunDate
> >>
> >> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
> >> check whether the expiry service has already run, by checking that
> >> serviceNameOnExpiryRunDate is null.
> >>
> >> - if serviceNameOnExpiryRunDate is null (and the other conditions are
> >> satisfied), run the service in
> >> SubscriptionResource.serviceNameOnExpiry and update the date/time into
> >> serviceNameOnExpiryRunDate
> >>
> >> - if serviceNameOnExpiryRunDate is not null, skip the expired
> >> subscription and move to the next
> >>
> >>
> >> Testing
> >> ----------
> >> - create a new subscription through OFBiz with demo data
> >> - modify the subscription's thru date and gracePeriodOnExpiry so the
> >> result of their addition is in the past of the system date
> >> - verify that Subscription. serviceNameOnExpiryRunDate is empty
> >> - either wait for the daily running of
> >> runServiceUponSubscriptionExpiry, or trigger the service manually
> >> - verify that the log file contains a reference to the subscription
> >> having expired, and that Subscription. serviceNameOnExpiryRunDate
> >> contains the date/time the service was run
> >> - either wait for the daily running of
> >> runServiceUponSubscriptionExpiry, or trigger the service manually, for
> >> a second time
> >> - verify that the log file does not contain a reference to the
> >> subscription having expired, and that Subscription.
> >> serviceNameOnExpiryRunDate still contains the date/time the service
> >> was run.
> >>
> >>
> >> I'd like to ask:
> >> a) is there agreement in the developer community that this is a good
> idea
> >> b) We propose to develop the patch and release it to the OFBiz
> >> project.  Would any committer be interested in promoting into trunk
> >> when we provide the patch?
> >>
> >> regards
> >> --
> >> Ivan Cauchi
> >> Director
> >> Falcon ICT Pty Ltd
> >>
>
>
>
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>
> phone: +61 414208449
>

Re: modifications to subscription expiry logic

Posted by Falcon ICT Pty Ltd <fa...@gmail.com>.
Thank you Pierre.  We'll open a JIRA case and start working on the patch.

Regards
Ivan

On Wed, Oct 1, 2014 at 10:50 PM, Pierre Smits <pi...@gmail.com> wrote:
> Hi Ivan,
>
> Thank you of describing the issue and a possible solution accompanied by
> test cases.
>
> Any improvement to the code base is a good idea. And if you'll submit a
> patch in JIRA I will do my best to review it.
>
> Best regards,
>
> Pierre Smits
>
> *ORRTIZ.COM <http://www.orrtiz.com>*
> Services & Solutions for Cloud-
> Based Manufacturing, Professional
> Services and Retail & Trade
> http://www.orrtiz.com
>
> On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
> wrote:
>
>> Background
>> ----------------
>> Recenlty, the trunk version of OFBiz was augmented with a new service
>> called runServiceUponSubscriptionExpiry through JIRA5333. This service
>> is scheduled to run, using the demo data, once a day. Its algorithm
>> looks up all subscriptions which have expired, which is defined as the
>> current time being greater than the sum of the subscription.thruDate +
>> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
>> false. For all such subscriptions, the service runs any service named
>> in SubscriptionResource.serviceNameOnExpiry.
>>
>>
>> This provides users of the OFBiz framework who provide subscriptions
>> to their customers using the framework, to trigger an external
>> deprovisioning action when a subscription expires, implemented as a
>> service whose name is inserted into
>> SubscriptionResource.serviceNameOnExpiry.
>>
>>
>> Currently, the service mentioned in
>> SubscriptionResource.serviceNameOnExpiry is run every time the master
>> service runServiceUponSubscriptionExpiry goes through its algorithm
>> (once a day in the demo data). Typically, for subscriptions which
>> require a deprovisioning action when the subscription expired, one and
>> only one deprovisioning action would be required.
>>
>>
>> proposed solution
>> ------------------------
>> To resolve this, it is being proposed to make the following adjustments:
>>
>> a) augment the OFBiz data model with the following new field:
>>
>> Subscription.serviceNameOnExpiryRunDate
>>
>> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
>> check whether the expiry service has already run, by checking that
>> serviceNameOnExpiryRunDate is null.
>>
>> - if serviceNameOnExpiryRunDate is null (and the other conditions are
>> satisfied), run the service in
>> SubscriptionResource.serviceNameOnExpiry and update the date/time into
>> serviceNameOnExpiryRunDate
>>
>> - if serviceNameOnExpiryRunDate is not null, skip the expired
>> subscription and move to the next
>>
>>
>> Testing
>> ----------
>> - create a new subscription through OFBiz with demo data
>> - modify the subscription's thru date and gracePeriodOnExpiry so the
>> result of their addition is in the past of the system date
>> - verify that Subscription. serviceNameOnExpiryRunDate is empty
>> - either wait for the daily running of
>> runServiceUponSubscriptionExpiry, or trigger the service manually
>> - verify that the log file contains a reference to the subscription
>> having expired, and that Subscription. serviceNameOnExpiryRunDate
>> contains the date/time the service was run
>> - either wait for the daily running of
>> runServiceUponSubscriptionExpiry, or trigger the service manually, for
>> a second time
>> - verify that the log file does not contain a reference to the
>> subscription having expired, and that Subscription.
>> serviceNameOnExpiryRunDate still contains the date/time the service
>> was run.
>>
>>
>> I'd like to ask:
>> a) is there agreement in the developer community that this is a good idea
>> b) We propose to develop the patch and release it to the OFBiz
>> project.  Would any committer be interested in promoting into trunk
>> when we provide the patch?
>>
>> regards
>> --
>> Ivan Cauchi
>> Director
>> Falcon ICT Pty Ltd
>>



-- 
Ivan Cauchi
Director
Falcon ICT Pty Ltd

phone: +61 414208449

Re: modifications to subscription expiry logic

Posted by Pierre Smits <pi...@gmail.com>.
Hi Ivan,

Thank you of describing the issue and a possible solution accompanied by
test cases.

Any improvement to the code base is a good idea. And if you'll submit a
patch in JIRA I will do my best to review it.

Best regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Wed, Oct 1, 2014 at 1:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com>
wrote:

> Background
> ----------------
> Recenlty, the trunk version of OFBiz was augmented with a new service
> called runServiceUponSubscriptionExpiry through JIRA5333. This service
> is scheduled to run, using the demo data, once a day. Its algorithm
> looks up all subscriptions which have expired, which is defined as the
> current time being greater than the sum of the subscription.thruDate +
> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
> false. For all such subscriptions, the service runs any service named
> in SubscriptionResource.serviceNameOnExpiry.
>
>
> This provides users of the OFBiz framework who provide subscriptions
> to their customers using the framework, to trigger an external
> deprovisioning action when a subscription expires, implemented as a
> service whose name is inserted into
> SubscriptionResource.serviceNameOnExpiry.
>
>
> Currently, the service mentioned in
> SubscriptionResource.serviceNameOnExpiry is run every time the master
> service runServiceUponSubscriptionExpiry goes through its algorithm
> (once a day in the demo data). Typically, for subscriptions which
> require a deprovisioning action when the subscription expired, one and
> only one deprovisioning action would be required.
>
>
> proposed solution
> ------------------------
> To resolve this, it is being proposed to make the following adjustments:
>
> a) augment the OFBiz data model with the following new field:
>
> Subscription.serviceNameOnExpiryRunDate
>
> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
> check whether the expiry service has already run, by checking that
> serviceNameOnExpiryRunDate is null.
>
> - if serviceNameOnExpiryRunDate is null (and the other conditions are
> satisfied), run the service in
> SubscriptionResource.serviceNameOnExpiry and update the date/time into
> serviceNameOnExpiryRunDate
>
> - if serviceNameOnExpiryRunDate is not null, skip the expired
> subscription and move to the next
>
>
> Testing
> ----------
> - create a new subscription through OFBiz with demo data
> - modify the subscription's thru date and gracePeriodOnExpiry so the
> result of their addition is in the past of the system date
> - verify that Subscription. serviceNameOnExpiryRunDate is empty
> - either wait for the daily running of
> runServiceUponSubscriptionExpiry, or trigger the service manually
> - verify that the log file contains a reference to the subscription
> having expired, and that Subscription. serviceNameOnExpiryRunDate
> contains the date/time the service was run
> - either wait for the daily running of
> runServiceUponSubscriptionExpiry, or trigger the service manually, for
> a second time
> - verify that the log file does not contain a reference to the
> subscription having expired, and that Subscription.
> serviceNameOnExpiryRunDate still contains the date/time the service
> was run.
>
>
> I'd like to ask:
> a) is there agreement in the developer community that this is a good idea
> b) We propose to develop the patch and release it to the OFBiz
> project.  Would any committer be interested in promoting into trunk
> when we provide the patch?
>
> regards
> --
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd
>

Re: modifications to subscription expiry logic

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
Thank you Ivan,

it is interesting and very clear explanation.
Did you consider to mark the already expired Subscription records with the "thruDate"? I don't know if the field is already used for other purposes, but it seems a good fit.

Regards,

Jacopo

On Oct 1, 2014, at 1:59 PM, Falcon ICT Pty Ltd <fa...@gmail.com> wrote:

> Background
> ----------------
> Recenlty, the trunk version of OFBiz was augmented with a new service
> called runServiceUponSubscriptionExpiry through JIRA5333. This service
> is scheduled to run, using the demo data, once a day. Its algorithm
> looks up all subscriptions which have expired, which is defined as the
> current time being greater than the sum of the subscription.thruDate +
> subscription.gracePeriodOnExpiry, and Subscription.automaticExtend is
> false. For all such subscriptions, the service runs any service named
> in SubscriptionResource.serviceNameOnExpiry.
> 
> 
> This provides users of the OFBiz framework who provide subscriptions
> to their customers using the framework, to trigger an external
> deprovisioning action when a subscription expires, implemented as a
> service whose name is inserted into
> SubscriptionResource.serviceNameOnExpiry.
> 
> 
> Currently, the service mentioned in
> SubscriptionResource.serviceNameOnExpiry is run every time the master
> service runServiceUponSubscriptionExpiry goes through its algorithm
> (once a day in the demo data). Typically, for subscriptions which
> require a deprovisioning action when the subscription expired, one and
> only one deprovisioning action would be required.
> 
> 
> proposed solution
> ------------------------
> To resolve this, it is being proposed to make the following adjustments:
> 
> a) augment the OFBiz data model with the following new field:
> 
> Subscription.serviceNameOnExpiryRunDate
> 
> b) modify the algorithm of runServiceUponSubscriptionExpiry to also
> check whether the expiry service has already run, by checking that
> serviceNameOnExpiryRunDate is null.
> 
> - if serviceNameOnExpiryRunDate is null (and the other conditions are
> satisfied), run the service in
> SubscriptionResource.serviceNameOnExpiry and update the date/time into
> serviceNameOnExpiryRunDate
> 
> - if serviceNameOnExpiryRunDate is not null, skip the expired
> subscription and move to the next
> 
> 
> Testing
> ----------
> - create a new subscription through OFBiz with demo data
> - modify the subscription's thru date and gracePeriodOnExpiry so the
> result of their addition is in the past of the system date
> - verify that Subscription. serviceNameOnExpiryRunDate is empty
> - either wait for the daily running of
> runServiceUponSubscriptionExpiry, or trigger the service manually
> - verify that the log file contains a reference to the subscription
> having expired, and that Subscription. serviceNameOnExpiryRunDate
> contains the date/time the service was run
> - either wait for the daily running of
> runServiceUponSubscriptionExpiry, or trigger the service manually, for
> a second time
> - verify that the log file does not contain a reference to the
> subscription having expired, and that Subscription.
> serviceNameOnExpiryRunDate still contains the date/time the service
> was run.
> 
> 
> I'd like to ask:
> a) is there agreement in the developer community that this is a good idea
> b) We propose to develop the patch and release it to the OFBiz
> project.  Would any committer be interested in promoting into trunk
> when we provide the patch?
> 
> regards
> -- 
> Ivan Cauchi
> Director
> Falcon ICT Pty Ltd