Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2397

Mixins inside components should have an id that extends from from the containing component, but is still unique and URL safe


    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.0.11
    • Fix Version/s: 5.0.12
    • Component/s: tapestry-core
    • Labels:


      Currently, a mixin is "along for the ride" with a component and doesn't quite have its own unique id.

      This works for rendering just fine, but for more interesting cases its limiting:

      • If the mixin has persistent fields, there is the potential for conflicts with the component or other mixins that have persistent fields with the same name
      • If the mixin wishes to contribute a component action (to the FormSupport environmental) it ends up using the component's id, so the action will be applied to the container component, not the mixin

      Mixins should have an id that extends the container id; a separator character (perhaps '$') followed by the simple class name of the mixin, i.e., Index.border.form$mixin where "Index" is the page name, "border.form" is the component id path and "mixin" is the Mixin class name.

      The unique id is not necessary for the generation of URLs, as mixins are (in fact) "mixed in" to component event processing already.




            • Assignee:
              hlship Howard M. Lewis Ship
              hlship Howard M. Lewis Ship
            • Votes:
              1 Vote for this issue
              1 Start watching this issue


              • Created: