My mistake I got WOLToolbar confused with ERD2WDebugFlags...
I can see the rule gets properly set for propertyNameComponentName
Mar 14 15:09:02 KMIWebCMSApp_1[5570] DEBUG
er.directtoweb.rules.propertyNameComponentName.fire (InspectKMIWebRealm) -
CANDIDATES for keyPath: propertyNameComponentName
20 : (look = 'KMINativeLook') => propertyNameComponentName =
KMID2WPropertyName (20001) From: KMINativeLook/Resources
20 : *true* => propertyNameComponentName = ERD2WPropertyName
(20000) From: ERDirectToWeb/Resources
On Mar 14, 2013, at 2:55 PM, Johnny Miller <[email protected]> wrote:
> OK. it's a bit of pain to get this going because I'm on the MooTools
> framework and apparently WOLToolbar is incompatible with it ( the JS breaks
> >:( )
>
> I can go to the direct action page and set the values you show in the video.
> Is there another way to clear the cache other than the WOLToolbar? I didn't
> see any rules getting written to the console after adding the
> displayNameForPageConfiguration setting on the log4j settings page.
>
> Johnny
>
> On Mar 14, 2013, at 2:26 PM, Ramsey Gurley <[email protected]> wrote:
>
>> Ewwww gross. Kill it. Kill it with fire :P That's Apple's rule logger. It's
>> useless. It doesn't tell you candidates. It doesn't tell you cached values.
>> All it tells you is what fired. Do what I told you earlier. Watch the video
>> here.
>>
>> http://wiki.wocommunity.org/display/documentation/How+to+debug+a+D2W+application
>>
>> Go to /wa/ERXDirectAction/log4j on your app. Set up wonder rule loggers on
>> the keys you actually care about. The wonder logging will tell you why the
>> key fired a rule or was pulled from the cache. Each time it's pulled from
>> the cache it will log that. It will show you the dependent keys. It will
>> give you the current state of those dependent keys. Without this
>> information, you are just guessing.
>>
>> Ramsey
>>
>> On Mar 14, 2013, at 4:17 PM, Johnny Miller wrote:
>>
>>> Hi David,
>>>
>>> It works but the flag is D2WTraceRuleFiringEnabled
>>>
>>> Here is the rules that get fired on the page where the read only gets
>>> cached. I just don't see anything in there that raises a red flag. It's
>>> just like whatever triggers the D2WContext to recalculate it's values stops
>>> working.
>>>
>>> Thanks,
>>>
>>> Johnny
>>>
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog - ****** fire : 20 :
>>> (pageConfiguration like 'Edit*') => task = edit (20501)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog - ****** fire : 10 :
>>> *true* => entity = entityForPageConfiguration
>>> [er.directtoweb.assignments.ERDKeyValueAssignment] (10000)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog - ****** fire : 0 :
>>> *true* => entityForPageConfiguration = <ERDDefaultModelAssignment>
>>> [er.directtoweb.assignments.defaults.ERDDefaultModelAssignment] (0)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog - ****** fire : 51 :
>>> ((task = 'edit') or (task = 'inspect')) => pageName =
>>> templateNameForInspectPage
>>> [er.directtoweb.assignments.ERDKeyValueAssignment] (51001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : *true* => targetOutput = html (0)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : (frame = (java.math.BigDecimal)'1') =>
>>> pageWrapperName = D2WEmptyWrapper (1)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> <WOImage>: No height or width information provided for 'DownTriangle.gif'.
>>> If possible, this information should be provided for best performance.
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 110 : (((task = 'inspect') or (task = 'edit')) and
>>> (object.isNonNull = (java.math.BigDecimal)'1') and (object.isNewObject =
>>> (java.math.BigDecimal)'0')) => branchChoices = ({branchButtonLabel =
>>> "Inspect"; branchIcon = "g"; branchName = "inspectObject"; },
>>> {branchButtonLabel = "Edit"; branchIcon = "%"; branchName =
>>> "editObject"; }, {branchButtonLabel = "Add"; branchIcon = "";
>>> branchName = "createObject"; }) (110003)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 100 : (task = 'edit') => selectedTabIndex = 1 (100001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 22 : ((task = 'edit') or (task = 'inspect')) =>
>>> repetitionComponentName = KMID2WInspectPageRepetition (22001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 100 : ((task = 'edit') and (entity.name = 'KMIPrincipal'))
>>> => displayPropertyKeys = (("Details", "userName", "firstName", "lastName",
>>> "emailAddress", "phoneNumber"), ("Password", "password",
>>> "passwordConfirm")) (100002)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 10 : *true* => displayNameForProperty =
>>> <ERDDefaultDisplayNameAssignment>
>>> [er.directtoweb.assignments.defaults.ERDDefaultDisplayNameAssignment]
>>> (10000)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : *true* => smartRelationship =
>>> <ERDDefaultModelAssignment>
>>> [er.directtoweb.assignments.defaults.ERDDefaultModelAssignment] (0)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : *true* => smartAttribute =
>>> <ERDDefaultModelAssignment>
>>> [er.directtoweb.assignments.defaults.ERDDefaultModelAssignment] (0)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 22 : (task = 'edit') => componentName = KMID2WEditString
>>> (22001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 5 : (smartAttribute.className = 'java.lang.String') =>
>>> length = smartDefaultAttributeWidth
>>> [er.directtoweb.assignments.ERDKeyValueAssignment] (5001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : *true* => smartDefaultAttributeWidth =
>>> <ERDDefaultModelAssignment>
>>> [er.directtoweb.assignments.defaults.ERDDefaultModelAssignment] (0)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 0 : (smartAttribute.width > (java.math.BigDecimal)'0')
>>> => maxLength = smartAttribute.width
>>> [er.directtoweb.assignments.ERDKeyValueAssignment] (1)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 100 : ((task = 'edit') and (entity.name = 'KMIPrincipal')
>>> and (propertyKey = 'userName')) => readOnly = 1
>>> [com.webobjects.directtoweb.BooleanAssignment] (100003)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 20 : (look = 'KMINativeLook') =>
>>> elementNameForBottomActionBlock = div (20001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 20 : (look = 'KMINativeLook') =>
>>> classForBottomActionBlock = form-actions (20001)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 10 : *true* => saveButtonLabel = ERD2W.saveButtonLabel
>>> [er.directtoweb.assignments.delayed.ERDDelayedLocalizedAssignment] (10000)
>>> Mar 14 13:13:03 KMIWebCMSApp_1[5570] DEBUG NSLog (EditKMIPrincipal) -
>>> ****** fire : 10 : *true* => cancelButtonLabel =
>>> ERD2W.cancelButtonLabel
>>> [er.directtoweb.assignments.delayed.ERDDelayedLocalizedAssignment] (10000)
>>>
>>> On Mar 14, 2013, at 12:00 PM, David Holt <[email protected]> wrote:
>>>
>>>>
>>>> On 2013-03-13, at 7:29 PM, Johnny Miller <[email protected]> wrote:
>>>>
>>>>> Hi Ramsey,
>>>>>
>>>>> Yeah, I have a rule like this:
>>>>>
>>>>> 30 : look = 'KMINativeLook' => propertyNameComponentName =
>>>>> "KMID2WPropertyName" [com.webobjects.directtoweb.Assignment],
>>>>>
>>>>> KMID2WPropertyName subclasses ERD2WPropertyName and it's basically the
>>>>> same thing except I removed the HTML I didn't need.
>>>>>
>>>>> Is there a way to debug the rules if you are using embedded components?
>>>>
>>>> Does the flag "ERD2WTraceRuleFiringEnabled = true" not work?
>>>>
>>>> http://wiki.wocommunity.org/display/documentation/The+D2W+Rule+System
>>>>
>>>>
>>>>>
>>>>> Thanks again,
>>>>>
>>>>> Johnny
>>>>>
>>>>>
>>>>> On Mar 13, 2013, at 4:01 PM, Ramsey Gurley <[email protected]> wrote:
>>>>>
>>>>>> How are you setting propertyComponentName? I assume through rules, but
>>>>>> if you are pushing the context, you're probably permacaching the value
>>>>>> for your key. If not, debug your rule firings and see why it's choosing
>>>>>> the cached value for your RHS.
>>>>>>
>>>>>> Ramsey
>>>>>>
>>>>>> On Mar 13, 2013, at 5:14 PM, Johnny Miller wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm trying to do the following:
>>>>>>>
>>>>>>> I have an inspect page and inside of that I have an inspect page
>>>>>>> repetition. That all works fine and it looks like the ERD2W
>>>>>>> equivalents.
>>>>>>>
>>>>>>> In the inspect page repetition I want to have a switch component that
>>>>>>> uses a rule to determine what kind of component to display i.e. if it
>>>>>>> is a string put one kind of component, if it's an ERAttachment put
>>>>>>> another.
>>>>>>>
>>>>>>> Now here is where the strange things start occurring. I've defined my
>>>>>>> own key "propertyComponentName". For some odd reason whatever rule
>>>>>>> resolves to in the first property is what it displays for every
>>>>>>> property?
>>>>>>>
>>>>>>> And what is equally strange is that suppose they all resolve to the
>>>>>>> same type of component so it doesn't matter... it will display the
>>>>>>> right property value but the property value for key always resolves to
>>>>>>> whatever the answer would be for the first property.
>>>>>>>
>>>>>>> It's hard to describe so I created a couple of screenshots:
>>>>>>>
>>>>>>> http://www.kahalawai.com/displaying-same-component.png // It always
>>>>>>> shows the component for viewing an ERAttachment
>>>>>>> http://www.kahalawai.com/displaying-same-property-name.png // Gets the
>>>>>>> property key right but the display name for property value wrong
>>>>>>>
>>>>>>> One of my questions is can you just arbitrarily create keys or do you
>>>>>>> need to register them somewhere?
>>>>>>>
>>>>>>> Another Is localcontext and d2wcontext completely synonymous?
>>>>>>>
>>>>>>> Thanks in advance,
>>>>>>>
>>>>>>> Aloha,
>>>>>>> Mr. Johnny Miller
>>>>>>> Web Development Manager
>>>>>>> Kahalawai Media Company
>>>>>>> Lahaina, HI 96761
>>>>>>> tel: (808) 661-7962 | mobile: (808) 283-0791
>>>>>>> website | e-mail
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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/ramseygurley%40gmail.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/programmingosx%40mac.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/rgurley%40smarthealth.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]