FLUID-4537: Failure to expand contextual EL references within prototrees that are not UIBound elements

Metadata

Source
FLUID-4537
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2011-11-13T03:39:31.816-0500
Updated
2012-01-20T16:48:57.655-0500
Versions
  1. 1.4
Fixed Versions
  1. 1.5
Component
  1. Renderer

Description

Problem reported by the Jen Bourey: prototree material like the following:

protoTree: {
expander: {
type: "fluid.renderer.repeat",
repeatID: "item",
controlledBy: "feeds",
pathAs: "item",
tree: {
title: "${{item}.title}",
link: { target: "${{item}.link}", decorators: { attrs: { title: "${{item}.description}" } } },
description: "${{item}.description}"
}
}
}

has UIBound members like title, link, description expanded properly, whereas material sent to the attribute decorator via the "expandLight" pathway ends up destroyed.

This is as a result of a fault in the prototree expander - the custom "EL concatentation pathway" operated by code handing via "fetchEL" within makeProtoExpander is only operated from "expandBound". Any other material is handed to "expandLight" which just uses the default environmental fetcher (this was actually code hacked out of the IoC system as a kind of "generalisation" of the common requirements of the protoTree expander and the old historical "half-IoC" system in fluid Engage - but is not in fact used directly by any part of Fluid IoC itself despite being defined in that file).

The "default environmental fetcher" needs to be modified to allow the special strategy used in protoTree expansion to transform "parsed" context objects, consistently with the "fetchEL" strategy.

In the long term this pathway needs to be moved out of FluidIoC entirely and further rationalisation provided with context parsing expression.s

In the even longer term the protoTree expansion pathway needs to be "burned to the ground" entirely and replaced with pure IoC definitions.

Comments

  • Michelle D'Souza commented 2011-11-17T11:55:49.261-0500

    Merged into project repo at 4eae684f5f05c8a937869897fc749c8277c4522d

  • Michelle D'Souza commented 2012-01-20T16:48:57.599-0500

    Merged into the project repo at 1e7f0d8f071a69ef5d9cd75e18fc0fe3da170622 with several framework change issues:

    FLUID-4525
    FLUID-4532
    FLUID-4537
    FLUID-4539
    FLUID-4564
    FLUID-4563
    FLUID-4568