I often use before save to modify fields. Example: I often set the label to
a mashup of different data fields.

afterSave() I will often use for contacting third-party API's to get data
and then set them to fields.  In these cases I protect the fields from
formtools by setting bSave() to false so that I can manually save the data
myself in afterSave().

Those are just a couple common examples of where I use both methods .

--
Jeff Coughlin

On Feb 10, 2014, at 22:44, AJ Mercer <ajmer...@gmail.com> wrote:

I am using beforeSave() to set defaults based on business rules
and afterSave() in, this case, to do something if a business condition is
met.

I have not created a custom createData()/setData() as there is nothing I
wanted to change about the saving of the data,
and like I said, I assumed before/after where being called by Farcry

Also, if for some reason the set/create fails, I would assume after is not
called.



On 11 February 2014 11:31, Blair McKenzie <shi...@gmail.com> wrote:

> What is it you want to do in beforeSave? At the moment I'm not sure why
> beforeSave and createData/setData are separate, or why a developer would
> use beforeSave instead of simply overriding createData/setData. I would be
> just as sceptical about afterSave, except that up until recently it was the
> closest thing FarCry had to a COAPI event.
>
> Blair
>
>
> On Tue, Feb 11, 2014 at 2:26 PM, AJ Mercer <ajmer...@gmail.com> wrote:
>
>> is version 7 a good time to consider COAPI changes?
>>
>> I assumed beforeSave() and afterSaved() would be called by
>> createData()/setData()
>>
>> should setData() call createData() - or visa versa?
>>
>>
>>
>> On 11 February 2014 10:54, Justin Carter <justin.w.car...@gmail.com>wrote:
>>
>>> setData() checks first to see if a record exists, so it's less
>>> performant (i.e. at least 2 queries for every "insert"), whereas
>>> createData() will just try to do an insert. There may by some try/catches
>>> in the mix as well.
>>>
>>> I haven't looked at the code in detail but they should probably also be
>>> consistent in regards to default values, I don't think the resultant data
>>> should differ depending on which method you use.
>>>
>>> I'm not sure if there's an existing ticket related to this, but perhaps
>>> you should create one if there isn't. Also if anyone wants to have a go at
>>> fixing it I'm happy to receive pull requests - I'm just swamped at the
>>> moment!
>>>
>>> cheers,
>>> Justin
>>>
>>> cheers,
>>> Justin
>>>
>>> --
>>> Justin Carter
>>> http://www.madfellas.com/blog
>>> http://twitter.com/justincarter
>>>
>>>
>>> On Tue, Feb 11, 2014 at 1:49 PM, AJ Mercer <ajmer...@gmail.com> wrote:
>>>
>>>> nope - no difference
>>>>
>>>> What is the reason for having createData()?
>>>> What is the difference from setData()?
>>>>
>>>>
>>>>
>>>> On 11 February 2014 10:44, Justin Carter <justin.w.car...@gmail.com>wrote:
>>>>
>>>>> Hmmm... Perhaps the formtool defaults should be getting applied in
>>>>> createData() but aren't?
>>>>>
>>>>> Does anything different happen when you add default="false"? e.g.
>>>>>
>>>>> <cfproperty name="bContacted" type="boolean" ftType="boolean"
>>>>> default="false" ftDefault="false" required="false"
>>>>>  ftSeq="210" ftWizardStep="PSL Contact Follow-up" ftFieldset="Update
>>>>> Details" ftLabel="Contacted">
>>>>>
>>>>> cheers,
>>>>> Justin
>>>>>
>>>>> --
>>>>> Justin Carter
>>>>> http://www.madfellas.com/blog
>>>>> http://twitter.com/justincarter
>>>>>
>>>>>
>>>>> On Tue, Feb 11, 2014 at 1:40 PM, AJ Mercer <ajmer...@gmail.com> wrote:
>>>>>
>>>>>> Hmmm, ok. Was assuming my beforeSave() was being called, but I put a
>>>>>> cfabort in there and it is not called.
>>>>>>
>>>>>> I have boolean fields in my custom type,
>>>>>> when createData() is used, they are set to empty string.
>>>>>> when setData() is used, they are set to the (formtool) default
>>>>>>
>>>>>>
>>>>>> <cfproperty name="bContacted" type="boolean" ftType="boolean"
>>>>>> ftDefault="false" required="false"
>>>>>>  ftSeq="210" ftWizardStep="PSL Contact Follow-up" ftFieldset="Update
>>>>>> Details" ftLabel="Contacted">
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 11 February 2014 10:21, Justin Carter 
>>>>>> <justin.w.car...@gmail.com>wrote:
>>>>>>
>>>>>>> Nope, I think the only time Core runs beforeSave() is when a form
>>>>>>> (or wizard) is processed, and in createFromUpload() (for file/image
>>>>>>> formtools) - it doesn't get run within createData() or setData(). I'm 
>>>>>>> not
>>>>>>> entirely happy with the way that part of the API currently works, but 
>>>>>>> it's
>>>>>>> easy enough to call beforeSave() manually before create/setData().
>>>>>>>
>>>>>>> cheers,
>>>>>>> Justin
>>>>>>>
>>>>>>> --
>>>>>>> Justin Carter
>>>>>>> http://www.madfellas.com/blog
>>>>>>> http://twitter.com/justincarter
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Feb 11, 2014 at 1:10 PM, AJ Mercer <ajmer...@gmail.com>wrote:
>>>>>>>
>>>>>>>> it seems that if createData() is used it does not fire beforeSave()
>>>>>>>> where as setData() does,
>>>>>>>> but with setData() you need to create an objectID
>>>>>>>>
>>>>>>>> Is this correct?
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> *AJ Mercer*
>>>>>>>> <webonix:net strength="Industrial" /> <http://webonix.net> | 
>>>>>>>> <webonix:org
>>>>>>>> community="Open" /> <http://webonix.org>
>>>>>>>> http://twitter.com/webonix
>>>>>>>> Railo Community 
>>>>>>>> Manager<http://www.getrailo.org/index.cfm/community/team/>
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message cos you are subscribed to "farcry-dev"
>>>>>>>> Google group.
>>>>>>>> To post, email: farcry-dev@googlegroups.com
>>>>>>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>>>>>>> For more options: http://groups.google.com/group/farcry-dev
>>>>>>>> --------------------------------
>>>>>>>> Follow us on Twitter: http://twitter.com/farcry
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "farcry-dev" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to farcry-dev+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> You received this message cos you are subscribed to "farcry-dev"
>>>>>>> Google group.
>>>>>>> To post, email: farcry-dev@googlegroups.com
>>>>>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>>>>>> For more options: http://groups.google.com/group/farcry-dev
>>>>>>> --------------------------------
>>>>>>> Follow us on Twitter: http://twitter.com/farcry
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "farcry-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to farcry-dev+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> *AJ Mercer*
>>>>>> <webonix:net strength="Industrial" /> <http://webonix.net> | <webonix:org
>>>>>> community="Open" /> <http://webonix.org>
>>>>>> http://twitter.com/webonix
>>>>>> Railo Community 
>>>>>> Manager<http://www.getrailo.org/index.cfm/community/team/>
>>>>>>
>>>>>> --
>>>>>> You received this message cos you are subscribed to "farcry-dev"
>>>>>> Google group.
>>>>>> To post, email: farcry-dev@googlegroups.com
>>>>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>>>>> For more options: http://groups.google.com/group/farcry-dev
>>>>>> --------------------------------
>>>>>> Follow us on Twitter: http://twitter.com/farcry
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "farcry-dev" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to farcry-dev+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>
>>>>>  --
>>>>> You received this message cos you are subscribed to "farcry-dev"
>>>>> Google group.
>>>>> To post, email: farcry-dev@googlegroups.com
>>>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>>>> For more options: http://groups.google.com/group/farcry-dev
>>>>> --------------------------------
>>>>> Follow us on Twitter: http://twitter.com/farcry
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "farcry-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to farcry-dev+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *AJ Mercer*
>>>> <webonix:net strength="Industrial" /> <http://webonix.net> | <webonix:org
>>>> community="Open" /> <http://webonix.org>
>>>> http://twitter.com/webonix
>>>> Railo Community Manager<http://www.getrailo.org/index.cfm/community/team/>
>>>>
>>>> --
>>>> You received this message cos you are subscribed to "farcry-dev" Google
>>>> group.
>>>> To post, email: farcry-dev@googlegroups.com
>>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>>> For more options: http://groups.google.com/group/farcry-dev
>>>> --------------------------------
>>>> Follow us on Twitter: http://twitter.com/farcry
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "farcry-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to farcry-dev+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>  --
>>> You received this message cos you are subscribed to "farcry-dev" Google
>>> group.
>>> To post, email: farcry-dev@googlegroups.com
>>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>>> For more options: http://groups.google.com/group/farcry-dev
>>> --------------------------------
>>> Follow us on Twitter: http://twitter.com/farcry
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "farcry-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to farcry-dev+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>
>>
>> --
>>
>> *AJ Mercer*
>> <webonix:net strength="Industrial" /> <http://webonix.net> | <webonix:org
>> community="Open" /> <http://webonix.org>
>> http://twitter.com/webonix
>> Railo Community Manager<http://www.getrailo.org/index.cfm/community/team/>
>>
>> --
>> You received this message cos you are subscribed to "farcry-dev" Google
>> group.
>> To post, email: farcry-dev@googlegroups.com
>> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
>> For more options: http://groups.google.com/group/farcry-dev
>> --------------------------------
>> Follow us on Twitter: http://twitter.com/farcry
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "farcry-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to farcry-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message cos you are subscribed to "farcry-dev" Google
> group.
> To post, email: farcry-dev@googlegroups.com
> To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
> For more options: http://groups.google.com/group/farcry-dev
> --------------------------------
> Follow us on Twitter: http://twitter.com/farcry
> ---
> You received this message because you are subscribed to the Google Groups
> "farcry-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to farcry-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 

*AJ Mercer*
<webonix:net strength="Industrial" /> <http://webonix.net> | <webonix:org
community="Open" /> <http://webonix.org>
http://twitter.com/webonix
Railo Community Manager <http://www.getrailo.org/index.cfm/community/team/>

-- 
You received this message cos you are subscribed to "farcry-dev" Google
group.
To post, email: farcry-dev@googlegroups.com
To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
For more options: http://groups.google.com/group/farcry-dev
--------------------------------
Follow us on Twitter: http://twitter.com/farcry
---
You received this message because you are subscribed to the Google Groups
"farcry-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to farcry-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message cos you are subscribed to "farcry-dev" Google group.
To post, email: farcry-dev@googlegroups.com
To unsubscribe, email: farcry-dev+unsubscr...@googlegroups.com
For more options: http://groups.google.com/group/farcry-dev
--------------------------------
Follow us on Twitter: http://twitter.com/farcry
--- 
You received this message because you are subscribed to the Google Groups 
"farcry-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to farcry-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to