Hello,

 

I 'm having an issue with zone Ids and actionlinks and having spent some
time on it am hoping someone can give me some pointers.  I've checked the
previous postings to do with manually binding zone Ids to ensure they are
consistent before and after partial updates and can see that my zones are
named as required / expected - the problem is that some actionlinks that
have t:zone specified, to target a specific zone appear to be behaving
inconsistently - unfortunately it's only happening very infrequently making
testing difficult.

 

The issue is a component, that delegates to a block to ensure render upon
initial page load.  The zone has an explicitly bound id  it's defined as
follows:

 

<t:zone zone="prop:zone" id="${ componentZoneId }" t:update="show">

    <t:delegate to="testBlock"/>

</t:zone>

 

'zone' is a ComponentSource within the associated component java class and
is defined as follows:

 

                @Property

                @Inject

                @Id("testZone")

                private ComponentSource zone;

 

The block it delegates to has multiple actionlinks that have the zone itself
as a target, specified as:

 

<a t:type="actionlink" t:id="xyzButton" id="prop:xyzButton"
context="relevant.context" href="#"
t:zone="${componentZoneId}">${xyz.displayText}</a>

 

The component is included in a tml using:

 

<t:componenName componentZoneId ="zone_1"/>

<t:componenName componentZoneId ="zone_2"/>

<t:componenName componentZoneId ="zone_3"/>

 

Generally the actionlinks within each zone update the correct zone, but
every now and then, the actionlinks within zone_1 update zone_2 or zone_3,
or 3 updates zone_1 or zone_2 etc.

 

When working correctly, the action links for zone_1 are:

 

http://serverName/contextRoot/pageName.zone_1.actionLink/
<http://serverName/contextRoot/pageName.zone_1.actionLink/%3cactivationConte
xt1> <activationContext1>

http://serverName/contextRoot/pageName.zone_1.actionLink/<activationContext2
>

http://serverName/contextRoot/pageName.zone_1.actionLink/<activationContext3
>

 

and for zone_2 are:

 

http://serverName/contextRoot/pageName.zone_2.actionLink/
<http://serverName/contextRoot/pageName.zone_2.actionLink/%3cactivationConte
xt1> <activationContext1>

http://serverName/contextRoot/pageName.zone_2.actionLink/<activationContext2
>

http://serverName/contextRoot/pageName.zone_2.actionLink/<activationContext3
>

 

etc. but when they are incorrect I can see that in zone_1 the action links
may be:

 

http://serverName/contextRoot/pageName.zone_2.actionLink/
<http://serverName/contextRoot/pageName.zone_2.actionLink/%3cactivationConte
xt1> <activationContext1>

http://serverName/contextRoot/pageName.zone_2.actionLink/<activationContext2
>

http://serverName/contextRoot/pageName.zone_2.actionLink/
<http://serverName/contextRoot/pageName.zone_2.actionLink/%3cactivationConte
xt3> <activationContext3>

 

and in zone_2 they may be:

 

http://serverName/contextRoot/pageName.zone_1.actionLink/
<http://serverName/contextRoot/pageName.zone_1.actionLink/%3cactivationConte
xt1> <activationContext1>

http://serverName/contextRoot/pageName.zone_1.actionLink/<activationContext2
>

http://serverName/contextRoot/pageName.zone_1.actionLink/
<http://serverName/contextRoot/pageName.zone_1.actionLink/%3cactivationConte
xt3> <activationContext3>

 

Sorry for the long winded email - this has been keeping me busy for a while
- would really appreciate any insights anyone has.  This is a component I
can't really release to production until it is working 100% of the time, not
99%!

 

Regards,

Jim.

 

 

 

Reply via email to