Since this is my first D2W project all help is a lot of help!  

Here is the mark up for the InspectPageRepetition:

<webobject name = "SectionsRepetition">
        <fieldset>
                <webobject name = "AttributeRepetition">
                        <webobject name = "Wrapper">
                                <webobject name = "Label"><webobject name = 
"PropertyName" /></webobject>
                                <webobject name = "ControlsWrapper">
                                        <webobject name = 
"AttributeValue"></webobject>
                                        <webobject name = "HasHelpText">
                                                <webobject name = 
"HelpBlock"><webobject name = "HelpText" /></webobject>
                                        </webobject>
                                </webobject>
                        </webobject>
                </webobject>
        </fieldset>
</webobject>

Here are the important bindings:

AttributeRepetition : WORepetition {
        _unroll = true;
        item = propertyKey;
        list = currentSectionKeys;
}

SectionsRepetition : WORepetition {
        item = currentSection;
        list = sectionsContents;
}

PropertyName: WOSwitchComponent {
        WOComponentName = d2wContext.propertyNameComponentName;
        localContext = d2wContext;
}

AttributeValue: WOSwitchComponent {
        WOComponentName = d2wContext.componentName;
        localContext = d2wContext;
        object = object;
}

My inspect page repetition subclasses ERDAttributeRepetition...

I've added these two overrides like in ERDInspectPageRepetition

    /** component does not synchronize it's variables */
    @Override
    public boolean synchronizesVariablesWithBindings() { return false; }

    public EOEnterpriseObject object() {
        return (EOEnterpriseObject)valueForBinding("object");
    }

I don't know why synchronizesVariablesWithBindings is in there because 
ERAttributeRepetition also sets this to false.

Can you tell me what the binding _unroll sets?

Thanks again,

Johnny


On Mar 14, 2013, at 2:18 PM, David Holt <[email protected]> wrote:

> Hi Johnny,
> 
> Not seeing anything out of the ordinary there except that it only processes 
> the one propertyKey.
> 
> Maybe if you post your repetition component we can see something?
> 
> Sorry I can't be of more help.
> 
> David
> 
> 
> On 2013-03-14, at 4:17 PM, Johnny Miller <[email protected]> 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 = "&#x67;"; branchName = "inspectObject"; }, 
>> {branchButtonLabel = "Edit"; branchIcon = "&#x25;"; branchName = 
>> "editObject"; }, {branchButtonLabel = "Add"; branchIcon = "&#xe033;"; 
>> 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/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to