Re: D2W: getting the "root" pageConfiguration
Re: D2W: getting the "root" pageConfiguration
- Subject: Re: D2W: getting the "root" pageConfiguration
- From: David LeBer <email@hidden>
- Date: Fri, 26 Oct 2012 16:32:51 -0400
Fabian,
If you cannot access the session from within any part of the D2W system that is just whacked.
D2W is heavily dependent on a session.
Yes, you need to dig deeper, I for one, am scratching my head.
D
On 2012-10-26, at 4:26 PM, Fabian Peters <email@hidden> wrote:
> Unfortunately, yes. I had already tried another key on session. I'm now using a conditional breakpoint for the keypath in ERD2WUtilities' contextValueForKeyNoInferenceNoException method. When the creation page is generated, everything's fine. But when the edit page is generated, I get a null result for the key path at times - other times it returns the expected value. Looks like a longer debugging session...
>
> Am 26.10.2012 um 22:19 schrieb Ramsey Gurley:
>
>> Are you sure there's no session? What do you get when you enter session.sessionID?
>>
>> On Oct 26, 2012, at 12:05 PM, Fabian Peters wrote:
>>
>>> Thanks Ramsey, just tried this but to no avail. I've tried both
>>>
>>> session.context.page.d2wContext.entity.name
>>> session.context.page.d2wContext.pageConfiguration
>>>
>>> in the "D2W Key" field of the ERDDebuggingHelp. The problem seems to be that the session cannot be reached, unless the call is made from within the property level repetition:
>>>
>>> <http://www.e-lumo.com/tmp/d2wdebug.png>
>>>
>>>
>>> Am 26.10.2012 um 20:37 schrieb Ramsey Gurley:
>>>
>>>> You may not necessarily have a page configuration depending on how the page is instantiated. Have you tried a rule with a LHS like
>>>>
>>>> session.context.page.d2wContext.entity.name = 'EntityA' and session.context.page.d2wContext.task = 'edit'
>>>>
>>>> ?
>>>>
>>>> Ramsey
>>>>
>>>> On Oct 26, 2012, at 11:18 AM, Fabian Peters wrote:
>>>>
>>>>> Sorry, sent too fast and mixed up my mock entities. This seems to be (more) correct:
>>>>>
>>>>> Unfortunately parentPageConfiguration doesn't help, as there's an additional level of nesting due to the "EditRelationshipEmbeddedEntityC". It will always just return "EditRelationshipEmbeddedEntityC", when the embedded page is "EditEmbeddedEntityC" and the "root" pageConfiguration is "EditEntityA" or "EditEntityB".
>>>>>
>>>>> My rule works fine when the pageConfiguration is "CreateEmbeddedEntityC":
>>>>>
>>>>> 333 : ((pageConfiguration = 'CreateEmbeddedEntityC' or pageConfiguration = 'EditEmbeddedEntityC') and session.context.page.d2wContext.pageConfiguration like '*EntityC') => displayPropertyKeys = ("foo", "bar", "baz") [com.webobjects.directtoweb.Assignment]
>>>>>
>>>>> But the same rule fails when the task is "edit". Tracing the rules shows that "session.context.page.d2wContext.pageConfiguration" evaluates to null then.
>>>>>
>>>>> Am 26.10.2012 um 20:00 schrieb David Holt:
>>>>>
>>>>>> Sorry those should have been: editEmbeddedRelationshipEntityC
>>>>>>
>>>>>>
>>>>>> On 2012-10-26, at 10:57 AM, David Holt wrote:
>>>>>>
>>>>>>> If you're using embedded configurations, wouldn't you just have a couple of rules like:
>>>>>>>
>>>>>>> 20 : (pageConfiguration = 'editRelationshipEntityC' and parentPageConfiguration = 'EditEntityA') => displayPropertyKeys = ("name", "description") [com.webobjects.directtoweb.Assignment]
>>>>>>>
>>>>>>> 20 : (pageConfiguration = 'editRelationshipEntityC' and parentPageConfiguration = 'EditEntityB') => displayPropertyKeys = ("name") [com.webobjects.directtoweb.Assignment]
>>>>>>>
>>>>>>> Unless I'm missing what you're trying to do.
>>>>>>>
>>>>>>> d
>>>>>>>
>>>>>>>
>>>>>>> On 2012-10-26, at 10:09 AM, Fabian Peters wrote:
>>>>>>>
>>>>>>>> Yes, this is with ModernLook.
>>>>>>>>
>>>>>>>> Am 26.10.2012 um 17:56 schrieb David Holt:
>>>>>>>>
>>>>>>>>> Are you using ModernLook with actual embedded page configurations?
>>>>>>>>>
>>>>>>>>> David
>>>>>>>>>
>>>>>>>>> On 2012-10-26, at 6:40 AM, Fabian Peters wrote:
>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> An entity that's being edited (EntityC) has relationships to two different entities (EntityA, EntityB) and different keys should be shown depending on the context (root pageConfiguration being "EditEntityA" or "EditEntityB"). In order to display the right properties on an embedded page, I need to look at the root pageConfiguration, "parentPageConfiguration" is the same in both contexts.
>>>>>>>>>>
>>>>>>>>>> Calling "session.context.page.d2wContext.pageConfiguration" works when used at the property level, but (mostly) fails when used in a rule acting on "displayPropertyKeys". Apparently, it's impossible to get to the session from there. Is there an alternative approach to get the root page configuration in a D2W app?
>>>>>>>>>>
>>>>>>>>>> Fabian
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>
>>>>>>>>>> This email sent to email@hidden
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>
>>>>>>> This email sent to email@hidden
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>
>>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden