Nope. Init is defined in the Base Mode Glue controller. You can override it if you like.
I never do, myself. DW On Wed, Jun 22, 2011 at 5:11 PM, Brett Herford-Fell <[email protected]>wrote: > Cool :) > > One last thing before I get on and fix all my var scopes, is the init > function required in a MG controller? All mine is.. > > <cffunction name="init" access="public" output="false" hint="Constructor"> > > <cfreturn this /> > > </cffunction> > > > > On Thu, Jun 23, 2011 at 7:07 AM, Jim Priest <[email protected]> wrote: > >> 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 >> > > -- > 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
