ENGAGE-179: Duplicate attributes error when trying to use the browse component with image reorderer

Metadata

Source
ENGAGE-179
Type
Bug
Priority
Minor
Status
Closed
Resolution
Fixed
Assignee
Svetoslav Nedkov
Reporter
Svetoslav Nedkov
Created
2009-11-02T10:38:16.000-0500
Updated
2009-11-03T10:49:12.000-0500
Versions
N/A
Fixed Versions
N/A
Component
  1. Browse

Description

This problems occurs when first reorderImages is invoked on an element class and then renderSelf is invoked on a containing element having the flc-browse-contents class.

The call to renderSelf inserts aria attributes among others that start with "aria-". Those attributes, even if they differ are treated as the same by the parser.

The error message follows:

17:34:05 GMT+0200 (EET): Error parsing template: Attribute: duplicate attributes not allowed at line 5Fluid.js (line 710)
17:34:05 GMT+0200 (EET): Just read: aria-labelledby="fluid-id-2" Fluid.js (line 710)
17:34:05 GMT+0200 (EET): Still to read: aria-dropeffect="none" aria-grFluid.js (line 710)
17:34:05 GMT+0200 (EET): Error parsing template: Attribute: duplicate attributes not allowed at line 5Fluid.js (line 710)

Environments

Mandriva Linux 2009, Apache Tomcat 6.0.18, Firefox 3.0.14, Firebug 1.4.3

Comments

  • Svetoslav Nedkov commented 2009-11-03T08:38:07.000-0500

    My collection tryout failing with duplicate attributes

  • Svetoslav Nedkov commented 2009-11-03T08:39:16.000-0500

    It seems I have accidently found a solution for this problem although I'm not sure why it works now. The solution was to move the image reorderer related code after the rendering code (this was the original order but the call to the rendering code seems to be asynchronous).

    Anyway for completeness I'm attaching my part of the application before the changes that fix that problem.

    The structure of my code is:

    /project root
    myCollection.json - JSON file
    /services
    /myCollection
    /js
    myCollection.js - server side javascript
    /engage-core
    /components
    /myCollection
    /html
    myCollection.html - HTML file
    /js
    myCollection.js - javascript

    To run this it needs to be placed in the fluid-engage directory structure.

    I guess that in order to reproduce the error you need to simply access:

    http://host:port/fluid-engage-mycollection-tryout/artifacts/myCollection.html

  • Svetoslav Nedkov commented 2009-11-03T10:49:12.000-0500

    The problem was worked around.