[Laszlo-dev] Implicit replication, <view> datapath property, and, <datapath> xpath property
André Bargull
a.bargull at intensis.de
Fri Feb 8 05:41:58 PST 2008
What do you actually plan to do for states, because through states
you'll get dynamic constraints, so dynamic method attachment/detachment,
too.
You've wrote once about a LzConstraint-class, but I can't quite remember
in which context. If you had this LzConstraint-class, couldn't you
add/remove constraints more easily at runtime?
So specifically for implicit replication, you'd only remove the
datapath-/xpath-constraint from the source-node's datapath and attach it
to the replication-manager and that's it.
Also keep in mind, that currently constraint datapaths aren't fully
"bug-free", i.e. LPP-4209 or LPP-5353.
On 2/8/2008 1:46 PM, P T Withington wrote:
> True. And this I think is one of the complaints about implicit
> replication, that it is unpredictable.
>
> The alternative is that implicit replication will just have to be
> slower than explicit (because it needs to do this dynamic method
> detachment and attachment at runtime, rather than being able to be
> analyzed at compile time). That would certainly be another way to
> deprecate implicit replication! :)
>
> On 2008-02-07, at 17:24 EST, André Bargull wrote:
>
>> But you need to consider, that the constraint does not apply to a
>> replication-manager in every case! If the xpath-expression points to
>> a single node, replication isn't triggered and therefore no
>> replication-manager will be created. If you just replace all
>> constraint datapaths with explicit replication, many programs will
>> break, because people don't expect to get a replicator-node in this
>> cases.
>>
>>> Delving into making constraints class methods, we have some tag-
>>> compiler work to do.
>>>
>>> Apparently you can say:
>>>
>>> <view datapath="${...}" />
>>>
>>> or:
>>>
>>> <view>
>>> <datapath xpath="${...}" />
>>>
>>> In both cases, the constraint really applies to the (invisible)
>>> replication manager, not to the view or the datapath. Right now
>>> this constraint is picked up at run time, ripped off the clone
>>> template and smashed onto the replication manager. That is not
>>> going to work in modern (JS2) runtimes.
>>>
>>> I think the right approach here is to have the tag compiler
>>> re-write implicit replication into explicit replication, so:
>>>
>>> <view datapath="${...}" />
>>>
>>> becomes:
>>>
>>> <replicator datapath="${...}">
>>> <view />
>>> </replicator>
>>>
>>> etc.
>>>
>>> Does this seem feasible? Could we even spit out a deprecation
>>> warning suggesting that explicit replication be used?
>>
>
>
More information about the Laszlo-dev
mailing list