wow, so by using d2wcontext.someMadeUpAccessKey; in the condition, it is available as a key to the ruleModeler.
I kept trying to create a rule: pageConfiguration = 'ListAgenda' but it wouldn't work until I broke it apart into: task = 'list' and entity.name = 'Agenda' don't know why. Ted --- On Tue, 9/11/12, David LeBer <[email protected]> wrote: > From: David LeBer <[email protected]> > Subject: Re: adding a component to a D2W page > To: "Theodore Petrosky" <[email protected]> > Cc: "[email protected] Development" > <[email protected]> > Date: Tuesday, September 11, 2012, 10:37 AM > InstructionComponentCondition : > WOConditional { > condition = > d2wContext.showHeaderInstructionComponent; > } > > 0 : *true* => showHeaderInstructionComponent = "false" > [com.webobjects.directtoweb.BooleanAssignment] > 100 : pageConfiguration like 'Edit*Foo' => > showHeaderInstructionComponent = "true" > [com.webobjects.directtoweb.BooleanAssignment] > > -- > David LeBer > Codeferous Software > > On 2012-09-11, at 10:23 AM, Theodore Petrosky <[email protected]> > wrote: > > > Yea, I like your headerInstructionComponentName > better. > > > > your comment about wrapping it in a conditional is > interesting. if I understand, it would be like this: > > > > > > <webobject name = > "InstructionComponentCondition"> > > <webobject name = "InstructionComponent"/> > > </webobject > > > > InstructionComponent : WOSwitchComponent { > > WOComponentName = > d2wContext.headerInstructionComponentName; > > } > > > > InstructionComponentCondition : WOConditional { > > condition = ""; > > } > > > > but the condition is giving me problems. when I trace > backwards to find out how 'hasLeftActions' works, it leads > me on a merry chase through ERMDListPageRepetition which > extends ERDListPageRepetition which gives me a headache. > > > > can I just create a setter for the boolean and set it > from the rules? > > > > as an aside, I noticed that even before I added in the > conditional, when I ran my app, the switched in component > didn't show up, until I clicked the "clear d2w cache" link a > number of times. Even after a relaunch the component didn't > show up right away. > > > > Ted > > > > > > > > --- On Mon, 9/10/12, David LeBer <[email protected]> > wrote: > > > >> From: David LeBer <[email protected]> > >> Subject: Re: adding a component to a D2W page > >> To: "Theodore Petrosky" <[email protected]> > >> Cc: "[email protected] > Development" <[email protected]> > >> Date: Monday, September 10, 2012, 3:21 PM > >> Ted, > >> > >> You don't need the WOComponentContent (unless you > plan on > >> wrapping content with your 'instructions' > component). > >> > >> You probably want to use something more descriptive > than > >> 'compName', i.e: headerInstructionComponentName. > >> > >> Some thoughts: > >> > >> If you can eliminate the dependency on pushing a > value into > >> the d2wContext that would be cleaner (i.e: reduce > the > >> squickness I feel). > >> > >> 1. Wrap the instruction switch component with a > conditional > >> that is controlled by rules. With a default rule to > keep it > >> hidden and a specific rule to show it on the pages > where it > >> needs to light up. > >> > >> 2. Replace the fixed text with localized text keyed > off the > >> page configuration name. Some think like: > >> "[PageConfigurationName][TabName]InstructionText" > (i.e: > >> EditUserOverviewInstructionText). So you only need > one > >> 'Instruction' component, and the text can change > based on > >> the page config and tab (if you're using them). You > could > >> make this value overrideable by a value in the > rules or > >> pushing a value in the d2wContext if you absolutely > needed > >> to. > >> > >> D > >> > >> -- > >> David LeBer > >> Codeferous Software > >> > >> On 2012-09-10, at 1:29 PM, Theodore Petrosky <[email protected]> > >> wrote: > >> > >>> I must be doing something wrong because it > worked so > >> easily. > >>> > >>> I created a component "AgendaInstructions" > with: > >>> > >>> these are the agenda instructions From the > >> AgendaInstructions component!!! > >>> <webobject > >> name=ComponentContent></webobject> > >>> > >>> in the html and: > >>> > >>> ComponentContent: WOComponentContent { > >>> } > >>> > >>> in the wod. > >>> > >>> in the method that returns the page: > >>> > >> > >> > page.d2wContext().takeValueForKey("AgendaInstructions", > >> "compName"); > >>> > >>> in my ListRepetition component: > >>> > >>> <webobject name = > "InstructionComponent"/> > >>> > >>> InstructionComponent : WOSwitchComponent { > >>> WOComponentName = > d2wContext.compName; > >>> } > >>> > >>> Is there anything more I 'should' be doing? It > seemed > >> too easy. > >>> > >>> Ted > >>> > >>> > >>> --- On Mon, 9/10/12, David LeBer <[email protected]> > >> wrote: > >>> > >>>> From: David LeBer <[email protected]> > >>>> Subject: Re: adding a component to a D2W > page > >>>> To: "[email protected] > >> Development" <[email protected]> > >>>> Date: Monday, September 10, 2012, 12:48 PM > >>>> WOSwitchComponent is your friend. > >>>> > >>>> Look at the templates, they are used > everywhere. > >>>> > >>>> D > >>>> > >>>> -- > >>>> David LeBer > >>>> Codeferous Software > >>>> > >>>> On 2012-09-10, at 12:21 PM, Theodore > Petrosky > >> <[email protected]> > >>>> wrote: > >>>> > >>>>> ok this is what I figured out so far: > >>>>> > >>>>> 10 : (look = 'ERModernLook' and (task = > 'list' > >> or task > >>>> = 'select' or (task = 'edit' and subTask = > >> 'list'))) => > >>>> repetitionComponentName = > >> "ERMDSimpleListPageRepetition" > >>>> [com.webobjects.directtoweb.Assignment] > >>>>> > >>>>> from that rule, I see that if we are > creating > >> a > >>>> ListPage, this rule says to use > >>>> "ERMDSimpleListPageRepetition". > >>>>> > >>>>> So I created my own framework, and > created a > >> component > >>>> "TPMDSimpleListPageRepetition" copying the > html, > >> wod, java > >>>> where they belonged. > >>>>> > >>>>> then I created a rule: > >>>>> > >>>>> 10 : (look = 'ERModernLook' and (task = > 'list' > >> or task > >>>> = 'select' or (task = 'edit' and subTask = > >> 'list'))) => > >>>> repetitionComponentName = > >> "TPMDSimpleListPageRepetition" > >>>> [com.webobjects.directtoweb.Assignment] > >>>>> > >>>>> and my D2W app is using my > ListPageRep. > >>>>> > >>>>> so my next step was to create a > WOString at the > >> top of > >>>> my new shiny component: <webobject > name = > >>>> "CopyOnTop"/> and in the wod: > >>>>> > >>>>> CopyOnTop : WOString { > >>>>> value = > >> d2wContext.topCopy; > >>>>> } > >>>>> > >>>>> so that in my method that calls in the > listPage > >> I > >>>> added: > >>>>> > >>>>> page.d2wContext().takeValueForKey("This > is some > >> copy > >>>> Call Reports", "topCopy"); > >>>>> > >>>>> and it gives me what I want. I can just > wrap it > >> in a > >>>> div and the stylist and go to town. > >>>>> > >>>>> but, can I add a WOComponent instead of > the > >> WOString? > >>>> If yes, the bindings are not obvious. I > will keep > >> looking > >>>> maybe a solution will jump out and bite > me. > >>>>> > >>>>> adding a component would be handier, > easier if > >> I had a > >>>> few paragraphs of information to add. > >>>>> > >>>>> Ted > >>>>> > >>>>> > >>>>> --- On Wed, 9/5/12, Jesse Tayler <[email protected]> > >>>> wrote: > >>>>> > >>>>>> From: Jesse Tayler <[email protected]> > >>>>>> Subject: Re: adding a component to > a D2W > >> page > >>>>>> To: "Theodore Petrosky" <[email protected]> > >>>>>> Date: Wednesday, September 5, 2012, > 11:01 > >> AM > >>>>>> I'm pretty sure you are getting > >>>>>> confused but I'm not looking at it > either. > >>>>>> > >>>>>> so, the factory is just going to > return > >> whatever > >>>> list page a > >>>>>> rule somewhere tells it to, right? > >>>>>> > >>>>>> so, there's not "the" list page, > there's > >> some rule > >>>> that's > >>>>>> saying with this entity, and this > task, use > >> this > >>>> page. > >>>>>> > >>>>>> so, whatever your tab menu is > doing, it's > >> calling a > >>>> rule to > >>>>>> get the list page -- > >>>>>> > >>>>>> you might have to write six rules > to get > >> the list > >>>> page to > >>>>>> fire when you want, but it doesn't > matter > >> how many > >>>> pages you > >>>>>> create - you're the programmer! > >>>>>> > >>>>>> now, if you're lost on this - try > writing > >> some > >>>> rules that do > >>>>>> something you can see clearly on > screen in > >> the same > >>>> context > >>>>>> -- this will help you see what > rules are > >> firing and > >>>> what > >>>>>> level of specificity you need to > override > >> whatever > >>>> is > >>>>>> currently firing. > >>>>>> > >>>>>> sometimes you can even find the > rule that's > >> firing > >>>> in some > >>>>>> framework and copy it, raise the > priority > >> and > >>>> change the > >>>>>> page name to your page. > >>>>>> > >>>>>> see where I'm going on that? > >>>>>> > >>>>>> hope that sheds some light -- > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> On Sep 5, 2012, at 10:44 AM, > Theodore > >> Petrosky > >>>> <[email protected]> > >>>>>> wrote: > >>>>>> > >>>>>>> this is what I thought > however: > >>>>>>> > >>>>>>> lpi = > >>>>>> > >>>> > >> > D2W.factory().listPageForEntityNamed(CallReport.ENTITY_NAME, > >>>>>> session()); > >>>>>>> > >>>>>>> This is the page I need to > target. the > >> list > >>>> page. > >>>>>>> > >>>>>>> when I click a tab in the menu, > it > >> fires off a > >>>> method > >>>>>> to return a listPage. > >>>>>>> > >>>>>>> and it seems that I would have > to > >> create 6 > >>>> different > >>>>>> listPages as the markup to add is > different > >> for > >>>> each tab. > >>>>>>> > >>>>>>> Ted > >>>>>>> > >>>>>>> --- On Wed, 9/5/12, Jesse > Tayler <[email protected]> > >>>>>> wrote: > >>>>>>> > >>>>>>>> From: Jesse Tayler <[email protected]> > >>>>>>>> Subject: Re: adding a > component to > >> a D2W > >>>> page > >>>>>>>> To: "Theodore Petrosky" > <[email protected]> > >>>>>>>> Date: Wednesday, September > 5, 2012, > >> 10:16 > >>>> AM > >>>>>>>> hmm -- I doubt it -- > >>>>>>>> > >>>>>>>> I think I'm saying make a > list page > >> called > >>>> > >>>>>>>> > >>>>>>>> TedsCoolListPage.wo > >>>>>>>> > >>>>>>>> Inherit from whatever list > page you > >> are > >>>> using now. > >>>>>>>> > >>>>>>>> copy all WOD and HTML from > the page > >> you are > >>>> using > >>>>>> now. > >>>>>>>> > >>>>>>>> add whatever you need. > >>>>>>>> > >>>>>>>> write rule to make > TedsCoolListPage > >> the > >>>> component > >>>>>> you use on > >>>>>>>> that list, instead of > whatever you > >> are > >>>> using. > >>>>>>>> > >>>>>>>> make sense? > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On Sep 5, 2012, at 6:15 > AM, > >> Theodore > >>>> Petrosky > >>>>>> <[email protected]> > >>>>>>>> wrote: > >>>>>>>> > >>>>>>>>> I have six tabs. I want > to > >> subclass the > >>>> List* > >>>>>> page so > >>>>>>>> that I can fly in some > markup > >> before the > >>>> table. > >>>>>>>>> > >>>>>>>>> It seems to me that > this > >> method > >>>> requires 6 > >>>>>> 'subclasses' > >>>>>>>> of the List* page. > >>>>>>>>> > >>>>>>>>> Is this what you are > thinking? > >>>>>>>>> > >>>>>>>>> Ted > >>>>>>>>> > >>>>>>>>> --- On Tue, 9/4/12, > Jesse > >> Tayler <[email protected]> > >>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> From: Jesse Tayler > <[email protected]> > >>>>>>>>>> Subject: Re: adding > a > >> component to > >>>> a D2W > >>>>>> page > >>>>>>>>>> To: "Theodore > Petrosky" > >> <[email protected]> > >>>>>>>>>> Date: Tuesday, > September 4, > >> 2012, > >>>> 11:43 PM > >>>>>>>>>> oh, I'd just take > the html > >> and wod > >>>>>>>>>> bindings from the > page you > >> are > >>>> subclassing, > >>>>>> you can > >>>>>>>> subclass > >>>>>>>>>> or not in java, but > write a > >> rule to > >>>> use > >>>>>> that > >>>>>>>> component. > >>>>>>>>>> > >>>>>>>>>> edit html and add > at > >> will…. > >>>>>>>>>> > >>>>>>>>>> might be more > simple than > >> you are > >>>> realizing > >>>>>> -- > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> On Sep 4, 2012, at > 11:01 > >> PM, > >>>> Theodore > >>>>>> Petrosky > >>>>>>>> <[email protected]> > >>>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>>> Jesse, > >>>>>>>>>>> > >>>>>>>>>>> would you be > interested > >> in > >>>> showing me > >>>>>> how to > >>>>>>>> use the > >>>>>>>>>> subclassing > technique? I > >> really > >>>> don't know > >>>>>> where to > >>>>>>>> begin > >>>>>>>>>> and it is time I > learned > >> something > >>>> new. > >>>>>>>>>>> > >>>>>>>>>>> I would be > happy to > >>>> document/record a > >>>>>> session > >>>>>>>> and make > >>>>>>>>>> it available. There > may be > >> others > >>>> in the > >>>>>> same > >>>>>>>> boat. > >>>>>>>>>>> > >>>>>>>>>>> Ted > >>>>>>>>>>> > >>>>>>>>>>> --- On Tue, > 9/4/12, > >> Jesse > >>>> Tayler <[email protected]> > >>>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> From: Jesse > Tayler > >> <[email protected]> > >>>>>>>>>>>> Subject: > Re: adding > >> a > >>>> component to > >>>>>> a D2W > >>>>>>>> page > >>>>>>>>>>>> To: > "Theodore > >> Petrosky" > >>>> <[email protected]> > >>>>>>>>>>>> Cc: > "WebObjects > >>>> Development" <[email protected]> > >>>>>>>>>>>> Date: > Tuesday, > >> September 4, > >>>> 2012, > >>>>>> 12:54 PM > >>>>>>>>>>>> hi ted - > >>>>>>>>>>>> > >>>>>>>>>>>> is this > something > >> you can > >>>> add to > >>>>>> your page > >>>>>>>>>> wrapper? > >>>>>>>>>>>> > >>>>>>>>>>>> if maybe > that's not > >> a > >>>> great > >>>>>> solution, > >>>>>>>>>>>> > >>>>>>>>>>>> in the > past, when I > >> have > >>>> designed > >>>>>> complex > >>>>>>>> D2W apps, > >>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> I end up > >> subclassing pages > >>>> and > >>>>>> often make > >>>>>>>> container > >>>>>>>>>> elements > >>>>>>>>>>>> like a > 'panel' to > >> handle > >>>>>> arrangement of > >>>>>>>> property > >>>>>>>>>> level > >>>>>>>>>>>> components > and also > >> to > >>>> report > >>>>>> things or > >>>>>>>> add > >>>>>>>>>> standard UI > >>>>>>>>>>>> elements at > that > >> level. > >>>>>>>>>>>> > >>>>>>>>>>>> modern look > has so > >> many > >>>> goodies > >>>>>> today, but > >>>>>>>>>> subclassing and > >>>>>>>>>>>> using your > own page > >> (or > >>>> panel) > >>>>>> level > >>>>>>>> components is > >>>>>>>>>> a common > >>>>>>>>>>>> way to add > >> something like a > >>>> special > >>>>>> error > >>>>>>>> message > >>>>>>>>>> or > >>>>>>>>>>>> standard UI > element > >> that is > >>>> not > >>>>>> part of > >>>>>>>> the > >>>>>>>>>> underlying > >>>>>>>>>>>> system. > >>>>>>>>>>>> > >>>>>>>>>>>> maybe that > helps > >> -- > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> On Sep 4, > 2012, at > >> 12:43 > >>>> PM, > >>>>>> Theodore > >>>>>>>> Petrosky > >>>>>>>>>> <[email protected]> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> I have > a D2w > >> app. they > >>>> want to > >>>>>> add > >>>>>>>> some > >>>>>>>>>> instructional > >>>>>>>>>>>> text to the > top of > >> the page > >>>> (under > >>>>>> the > >>>>>>>> Menubar). > >>>>>>>>>> Obviously, > >>>>>>>>>>>> the text > will > >> change for > >>>> each tab > >>>>>> that is > >>>>>>>>>> selected. > >>>>>>>>>>>>> > >>>>>>>>>>>>> How do > I add > >> this > >>>> markup in? or > >>>>>> How do > >>>>>>>> I create > >>>>>>>>>> the > >>>>>>>>>>>> hook so a > component > >> can fly > >>>> in here > >>>>>> as > >>>>>>>> needed? > >>>>>>>>>>>>> > >>>>>>>>>>>>> Ted > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>> > >> _______________________________________________ > >>>>>>>>>>>>> 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/jtayler%40oeinc.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/dleber_wodev%40codeferous.com > >>>>> > >>>>> This email sent to [email protected] > >>>> > >>>> > >>>> -- > >>>> David LeBer > >>>> Codeferous Software > >>>> > >>>> > >>>> > _______________________________________________ > >>>> 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/tedpet5%40yahoo.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]
