Hi Samuel! So it is better for me to pack all my components in the same app with the template. (Actually there are in differents frameworks)? Or is it a better solution to do this?
2015-06-02 15:17 GMT+01:00 Samuel Pelletier <[email protected]>: > Hi, > > Usually, I use WOSwitchComponent for an editor component used for an > entity with subclasses. The switch is based on the object real entity to > select the right editor component. > > With WOSwitchComponent, there are 2 things to ensure: > > 1- Binding required for the used components are common to all of them. > > 2- Make sure the the component used by the WOSwitchComponent does not > change between two responses, breaking this rule is easy and produce very > nasty results. i.e. it should change only during appendToResponse. (Same > rule for WORepetition list...) > > > For surrounding contents commun to multiple pages, a PageWrapper using the > WOComponentContent is a better pattern, I often even stack them. A main > page wrapper for the application and a specialized one for admin sections > or visitor pages that will include the main one. > > WOComponentContent indicate to place the content between the parent > <WEBOBJECT> and </WEBOBJECT> tags. It is a reverse inclusion to add content > around us ! > > > Samuel > > > Le 2015-06-02 à 07:43, HOUNKPONOU Ronald <[email protected]> a > écrit : > > Hi everyone, > Actually, i think all my pages (managed by woswitch) will have the same > binding. > I am now implementing the woswitching and it seems to work fine for the > moment. > The one thing i am having problem with is the menu on which user will > click to trigger > the component switch. > > Trying to use AjaxUpdateLink for the first time. > > Thank you all for your contributions. > > Ronald. > > > > 2015-06-02 1:00 GMT+01:00 Timothy Worman <[email protected]>: > >> +1 >> >> As is, WOSwitchComponent expects all child switched components to take >> the same bindings. It can be a pretty surly limitation. If your >> subcomponents take the same binding(s) then WOSwitchComponent works pretty >> great. >> >> For “fun,” I created a set of interfaces (one each, for the base page >> with the switch component, and the switched component) which, when >> implemented, enforces an api where you can pass custom bindings. Then I can >> pass a single dictionary of bindings. >> >> Works fine, but I’m not sure the cure was better than the disease! >> >> Tim Worman >> UCLA GSE&IS >> >> >> > On Jun 1, 2015, at 8:03 AM, Jean-François Veillette < >> [email protected]> wrote: >> > >> > I can’t remember exactly. It was solved a long time ago. >> > All I can remember is that it was somehow related to instance not >> having expected binding / ivars values. >> > >> > My comment where just to give good recommendation on the WOSwitch >> strategy: it’s working great. >> > >> > But also to warn you that once you make it work in dev, you might still >> encounter bug in extensive testing, and when you do, keep in mind that it >> might be related to multiples instances of your component (WOSwitch will >> have to instantiate one of your switched component). >> > At the time, once I figured out exactly what was the problem, it was >> not hard to fix, so you should have no problem fixing it either. >> > >> > Sorry, it’s all I remember. >> > >> > jfv >> > >> > >> >> On May 29, 2015, at 6:21 PM, HOUNKPONOU Ronald < >> [email protected]> wrote: >> >> >> >> Please Jean-François! >> >> >> >> How to not use it? >> >> I would like to learn good practices. >> >> >> >> >> >> 2015-05-29 23:12 GMT+01:00 Jean-François Veillette < >> [email protected]>: >> >> WOSwitchComponent? >> >> https://wiki.wocommunity.org/display/documentation/WOSwitchComponent >> >> >> >> I used it with great success, once I figured out how to not use it. >> >> Right now I can’t remember what was the symptom, what what the cause >> and how I fixed it. >> >> All I remember is that it’s related to sharing instances your >> component instantiated by the switch component. So if you encounter a >> problem, keep that in mind. >> >> >> >> jfv >> >> >> >> >> >>> On May 29, 2015, at 5:22 PM, HOUNKPONOU Ronald < >> [email protected]> wrote: >> >>> >> >>> Hi everyone!! >> >>> >> >>> Thanks for all your response. >> >>> Everything is now working for me. >> >>> I was doing a mistake in the call of the component A in a third one >> (C) as if A require the binding value. (A is the template that all pages >> should use). >> >>> >> >>> But i have another question (I don't know if it is best to make a >> separate post): >> >>> >> >>> Question : What is the best way to make a dynamiq page inclusion >> system? >> >>> >> >>> I have a lot of custumized components those i would like to listed on >> a central page (this page use my template). >> >>> And i want that depending of the clicked link the corresponding >> components is load in the content area ofmy central page. >> >>> >> >>> Thanks for your help. >> >>> >> >>> 2015-05-29 16:57 GMT+01:00 Jean-François Veillette < >> [email protected]>: >> >>> Hi Ronald, >> >>> is your B component syncronizing bindings? >> >>> If so, your B instance should receive a call equivalent to « >> b.takeValueForKey(session().authenticatedUser(), “userAccount”); » so you >> should comply to KVC for this key (public ivar, get/set method .. your >> choice) to get it assigned and available. >> >>> >> >>> If your B component is non-synchronized, then you have to get it >> whenever you need it: >> >>> « User user = this.valueForBinding(“userAccount”); » >> >>> >> >>> Also, since your B component is in a framework and is aware of the >> concept of a userAccount, I would try to keep the dependency as loose as >> possible and NOT add coupling directly with the session object. >> >>> But if you absolutely have to do it (last resort), it could be done >> with simple KVC: >> >>> « User user = (User) session().valueForKey("authenticatedUser”); >> » >> >>> or even: >> >>> « User user = (User) >> valueForKeyPath(“session.authenticatedUser”); » >> >>> >> >>> Ways of passing generic/contextual objects from the front-end layer >> to the lower end without adding too much coupling is by going through the >> editingContext.userInfo dictionary, or through the current thread userInfo >> dictionary (see ERXThreadStorage). Those 2 objects are available in most >> lower level objects and can be set from the upper level just as easily. >> >>> >> >>> jfv >> >>> >> >>> >> >>>> On May 29, 2015, at 9:11 AM, HOUNKPONOU Ronald < >> [email protected]> wrote: >> >>>> >> >>>> In A.html >> >>>> >> >>>> <webobject name = "template"> >> >>>> >> >>>> </webobject> >> >>>> >> >>>> >> >>>> In A.wood >> >>>> >> >>>> template : B { >> >>>> userAccount = session.authenticatedUser; >> >>>> } >> >>>> >> >>>> >> >>>> in B.html >> >>>> >> >>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >> >>>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> >> >>>> >> >>>> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> >> >>>> <head> >> >>>> <meta http-equiv="Content-Type" content="text/html; >> charset=utf-8"/> >> >>>> <title>untitled</title> >> >>>> </head> >> >>>> <body> >> >>>> <webobject name = "specialitemedicale"> >> >>>> <label>Libellé</label> >> >>>> <webobject name = "libelle"/> >> >>>> <webobject name = "enregistrer"/> >> >>>> </webobject> >> >>>> </body> >> >>>> </html> >> >>>> >> >>>> in B.wood >> >>>> >> >>>> specialitemedicale : WOForm { >> >>>> } >> >>>> >> >>>> libelle : WOTextField { >> >>>> value = libelle; >> >>>> } >> >>>> >> >>>> enregistrer : WOSubmitButton { >> >>>> action=insertSpecialitemedicale; >> >>>> value="Enregistrer"; >> >>>> } >> >>>> >> >>>> 2015-05-29 13:15 GMT+01:00 Johann Werner <[email protected]>: >> >>>> What is your HTML? You need to wire up your binding with the actual >> method/ivar of your component A: >> >>>> >> >>>> … >> >>>> <wo:B userAccount="$account" /> >> >>>> … >> >>>> >> >>>> and in A.java: >> >>>> >> >>>> public MyAccountClass account = …; >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> > Am 29.05.2015 um 13:25 schrieb HOUNKPONOU Ronald < >> [email protected]>: >> >>>> > >> >>>> > I forgot the image. >> >>>> > >> >>>> > 2015-05-29 12:23 GMT+01:00 HOUNKPONOU Ronald < >> [email protected]>: >> >>>> > Hi everyone, >> >>>> > >> >>>> > Iam facing a problem with subcomponent binding. >> >>>> > >> >>>> > I have 2 componets A & B. B is to be include in A. >> >>>> > >> >>>> > But B need some information (eg. Authenticated user object). So i >> have create a binding as show in the attached picture and add its gette 7 >> setter in B.java. >> >>>> > >> >>>> > (I dont know how to specify Value Set to be my Objet Type. so i >> try with undefined & ressources) >> >>>> > >> >>>> > But the object is not passed to B. >> >>>> > >> >>>> > I got a NullPointerException when trying to access the passed >> vairable in B.java >> >>>> > >> >>>> > Thanks for your help. >> >>>> > >> >>>> > <Selection_005.png> >> >>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> Do not post admin requests to the list. They will be ignored. >> >>>> Webobjects-dev mailing list ([email protected]) >> >>>> Help/Unsubscribe/Update your Subscription: >> >>>> >> https://lists.apple.com/mailman/options/webobjects-dev/jean_francois_veillette%40yahoo.ca >> >>>> >> >>>> This email sent to [email protected] >> >>> >> >>> >> >> >> >> >> > >> > _______________________________________________ >> > Do not post admin requests to the list. They will be ignored. >> > Webobjects-dev mailing list ([email protected]) >> > Help/Unsubscribe/Update your Subscription: >> > >> https://lists.apple.com/mailman/options/webobjects-dev/lists%40thetimmy.com >> > >> > This email sent to [email protected] >> >> > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com > > This email sent to [email protected] > > >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
