From: 
http://docs.model-glue.com/wiki/ReferenceMaterials/ColdSpringXmlReference/ModelGlueConfiguration#Model-GlueConfigurationSettingDefinitions

StatePrecedence

Possible values are FORM and URL.

Model-Glue combines all values from FORM and URL into a single
structure called the viewstate. If STATEPRECEDENCE is set to FORM,
FORM variables will overwrite like-named URL variables. If set to URL,
the opposite will occur.


On Wed, Jun 22, 2011 at 4:57 PM, Matt Quackenbush <[email protected]> wrote:
> As a general rule, it should not matter where it came from (form vs. url).
> If you have a specific use case you *must* know, then you'd just have to
> check the specific scope.  But such a use case is quite abnormal.
>
> As for what happens, the form scope takes precedence over the url scope.
> So, in the scenario you presented, the url.uuid would simply be ignored.
> (There might be a setting to reverse that, but I'm not sure off the top of
> my head.)
>
> On Wed, Jun 22, 2011 at 3:53 PM, Brett Herford-Fell <[email protected]>
> wrote:
>>
>> Thanks guys,
>> With the form / url variables in the event scope, does it identify which
>> are which?
>> E.g if I want to loop through all the variables that are form variables in
>> the event scope, can I do that?
>> Also, if there url has "uuid", and the form has "uuid", what happens here?
>> Many thanks,
>> b
>>
>> On Thu, Jun 23, 2011 at 12:22 AM, Dan Wilson <[email protected]> wrote:
>>>
>>> Ok
>>>
>>> I added the following two FAQ articles:
>>>
>>>
>>> http://docs.model-glue.com/wiki/FAQs/WhyAreControllerVariablesBeingIncorrectlySharedAcrossUserRequests
>>>
>>> http://docs.model-glue.com/wiki/FAQs/DoINeedToUseCFParamForFormAndURLVariables
>>>
>>> As this is a public wiki, anyone on the list is free to clarify
>>> statements or add sections they feel would help others.
>>>
>>>
>>> DW
>>>
>>>
>>> On Wed, Jun 22, 2011 at 9:37 AM, Dan Skaggs <[email protected]>
>>> wrote:
>>>>
>>>> Sure...glad to help.
>>>> Dan
>>>> On Jun 22, 2011, at 8:30 AM, Dan Wilson wrote:
>>>>
>>>> Hey Dan,
>>>>
>>>> That's a great explanation. Do you mind if I add some of your post to
>>>> the FAQ section on the Wiki?
>>>>
>>>>
>>>> DW
>>>>
>>>> On Tue, Jun 21, 2011 at 9:29 PM, Dan Skaggs <[email protected]>
>>>> wrote:
>>>>>
>>>>> Couple of things here:
>>>>>
>>>>> 1) Passing your entire populated model object to the view (via the
>>>>> ModelGlue event object) is perfectly fine. There's no reason to break out
>>>>> all the object's properties into separate values in the event.
>>>>>
>>>>> 2) ModelGlue controllers are created once on application init (or when
>>>>> you manually reinit the app) and cached. Therefore, yes, the controller
>>>>> objects are in effect singletons for the application.
>>>>>
>>>>> 3) Instead of doing <cfset variables.item ...>, you should do <cfset
>>>>> var item = createObject(.....) />. Using variables.item actually would set
>>>>> the object into the global memory space for the controller component 
>>>>> (which
>>>>> would be bad as that value is then cached as part of the controller
>>>>> singleton--see #2). Using the "var" keyword on a variable inside a 
>>>>> function
>>>>> body ensures that the variable only exists for that execution of the
>>>>> function (therefore it can't be stored and bleed over into other requests
>>>>> that execute that same function). The variable is discarded after the
>>>>> function completes executing.
>>>>>
>>>>> 4) Using the var keyword has nothing to do with the user session--they
>>>>> are 2 completely different ideas.
>>>>>
>>>>> 5) There's no need to cfparam the url.uuid. ModelGlue automatically
>>>>> puts all URL and form variables into the event object for you to make it
>>>>> easy for you to find them. You just need to get the value out of the event
>>>>> when you need it (see below). Should uuid not exist in the event, 
>>>>> ModelGlue
>>>>> will return you an empty string. You can optionally set a default value to
>>>>> use in case the variable doesn't exist in the event (see
>>>>> http://docs.model-glue.com/wiki/ReferenceMaterials/EventApi#GetValuename:stringdefault:any
>>>>> for more information).
>>>>>
>>>>> Try updating your controller component as such:
>>>>>
>>>>> <cfcomponent output="false"
>>>>> extends="ModelGlue.gesture.controller.Controller">
>>>>>
>>>>> <cffunction name="view" access="public">
>>>>>        <cfargument name="event" />
>>>>>
>>>>>        <cfset var uuid = arguments.event.getValue( "uuid" ) />
>>>>>        <cfset var item = CreateObject("component", "model.item") />
>>>>>        <cfset var status = "" />
>>>>>
>>>>>        <cfinvoke component="#item#"
>>>>>                method = "get"
>>>>>                returnvariable = "status"
>>>>>                uuid = "#uuid#"
>>>>>                >
>>>>>
>>>>>       <cfset arguments.event.setValue("item", item) />
>>>>>
>>>>> </cffunction>
>>>>> </cfcomponent>
>>>>>
>>>>> Additionally, while there's nothing wrong technically with using a
>>>>> <cfinvoke> there, you could shorten that up like so:
>>>>>
>>>>> <cffunction name="view" access="public">
>>>>>        <cfargument name="event" />
>>>>>
>>>>>        <cfset var item = CreateObject("component", "model.item") />
>>>>>
>>>>>        <cfset item.get( uuid = arguments.event.getValue( "uuid" ) ) />
>>>>>
>>>>>       <cfset arguments.event.setValue("item", item) />
>>>>>
>>>>> </cffunction>
>>>>> </cfcomponent>
>>>>>
>>>>> Hope that helps clarify things a bit. If there's something you don't
>>>>> understand, be sure to ping us back.
>>>>>
>>>>> Dan
>>>>>
>>>>> On Jun 21, 2011, at 8:09 PM, Brettski wrote:
>>>>>
>>>>> > And should I scope like
>>>>> >
>>>>> > <cfset Variables.item = CreateObject("component", "model.item")>
>>>>> > ..
>>>>> > <cfset arguments.event.setValue("item", Variables.myItem) />
>>>>> >
>>>>> >
>>>>> > On Jun 22, 11:01 am, Brettski <[email protected]> wrote:
>>>>> >> the model bits and pieces are all used in the view, am I thinking
>>>>> >> wrong to pass all this back to view? What else should I pass back a
>>>>> >> struct or something?
>>>>> >>
>>>>> >> My vars aren't scoped, so does this mean there is one controller
>>>>> >> "instance / singleton" for the app, and if I don't scope them they
>>>>> >> can
>>>>> >> bleed? I think that's if I scope all vars they will stay in user
>>>>> >> session?
>>>>> >>
>>>>> >> On Jun 22, 9:55 am, Roy Martin <[email protected]> wrote:
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>> Off the cuff, you haven't var scoped your 'item' variable or your
>>>>> >>> return
>>>>> >>> variable 'status'. So those variable will be subject to variable
>>>>> >>> bleed under
>>>>> >>> load. As an additional point of feedback, passing the entire model
>>>>> >>> back to
>>>>> >>> the view isn't best practice. It would be better if you had passed
>>>>> >>> just the
>>>>> >>> return variable back to the model. Unless that's a typo?
>>>>> >>
>>>>> >>> Thanks,
>>>>> >>> Roy
>>>>> >
>>>>> > --
>>>>> > Model-Glue Sites:
>>>>> > Home Page: http://www.model-glue.com
>>>>> > Documentation: http://docs.model-glue.com
>>>>> > Bug Tracker: http://bugs.model-glue.com
>>>>> > Blog: http://www.model-glue.com/blog
>>>>> >
>>>>> > You received this message because you are subscribed to the Google
>>>>> > Groups "model-glue" group.
>>>>> > To post to this group, send email to [email protected]
>>>>> > To unsubscribe from this group, send email to
>>>>> > [email protected]
>>>>> > For more options, visit this group at
>>>>> > http://groups.google.com/group/model-glue?hl=en
>>>>>
>>>>> --
>>>>> Model-Glue Sites:
>>>>> Home Page: http://www.model-glue.com
>>>>> Documentation: http://docs.model-glue.com
>>>>> Bug Tracker: http://bugs.model-glue.com
>>>>> Blog: http://www.model-glue.com/blog
>>>>>
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "model-glue" group.
>>>>> To post to this group, send email to [email protected]
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected]
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/model-glue?hl=en
>>>>
>>>>
>>>> --
>>>> Plutarch - "The mind is not a vessel to be filled but a fire to be
>>>> kindled."
>>>>
>>>> --
>>>> Model-Glue Sites:
>>>> Home Page: http://www.model-glue.com
>>>> Documentation: http://docs.model-glue.com
>>>> Bug Tracker: http://bugs.model-glue.com
>>>> Blog: http://www.model-glue.com/blog
>>>>
>>>> You received this message because you are subscribed to the Google
>>>> Groups "model-glue" group.
>>>> To post to this group, send email to [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/model-glue?hl=en
>>>>
>>>> --
>>>> Model-Glue Sites:
>>>> Home Page: http://www.model-glue.com
>>>> Documentation: http://docs.model-glue.com
>>>> Bug Tracker: http://bugs.model-glue.com
>>>> Blog: http://www.model-glue.com/blog
>>>>
>>>> You received this message because you are subscribed to the Google
>>>> Groups "model-glue" group.
>>>> To post to this group, send email to [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/model-glue?hl=en
>>>
>>>
>>> --
>>> Plutarch - "The mind is not a vessel to be filled but a fire to be
>>> kindled."
>>>
>>> --
>>> Model-Glue Sites:
>>> Home Page: http://www.model-glue.com
>>> Documentation: http://docs.model-glue.com
>>> Bug Tracker: http://bugs.model-glue.com
>>> Blog: http://www.model-glue.com/blog
>>>
>>> You received this message because you are subscribed to the Google
>>> Groups "model-glue" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/model-glue?hl=en
>>
>> --
>> Model-Glue Sites:
>> Home Page: http://www.model-glue.com
>> Documentation: http://docs.model-glue.com
>> Bug Tracker: http://bugs.model-glue.com
>> Blog: http://www.model-glue.com/blog
>>
>> You received this message because you are subscribed to the Google
>> Groups "model-glue" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/model-glue?hl=en
>
> --
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to