ENGAGE-333: The Exhibtion About page throws an error on instantiation

Metadata

Source
ENGAGE-333
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Colin Clark
Reporter
Colin Clark
Created
2010-02-05T17:39:15.000-0500
Updated
2020-11-12T07:37:22.369-0500
Versions
  1. 0.3b
Fixed Versions
  1. 0.3b
Component
  1. Exhibitions

Description

Exhibition About is throwing an error upon page load. This is due to the fact that it is implemented using the same component as Exhibition View, which attempts to create a Navigation List for displaying catalogue information. However, the Exhibition About template doesn't have any catalogue information in it.

Since both data feeds share the same underlying representation of Exhibition models, ExhibitionView.js attempts to instantiate a NavList and bind it to the "catalogue" element in the page, even those Exhibition about.html doesn't have this information in it.

Here's the offending code:

// Render the Exhibition Preview component only if we have artifacts to preview.
        if (that.model.catalogueSize > 0 && that.model.cataloguePreview) {
            // Prepare model for NavList
            var cataloguePreview = fluid.transform(that.model.cataloguePreview, function (artifact) {
                return {
                    target: artifact.target,
                    showBadge: artifact.media,
                    image: artifact.image,
                    title: artifact.title
                };
            });
            
            $.extend(that.options.exhibitionPreview.options, {model: cataloguePreview});
            that.exhibitionPreview = fluid.initSubcomponent(that, "exhibitionPreview", [
                that.locate("catalogue"), 
                fluid.COMPONENT_OPTIONS
            ]);
        }

We'll have to work around this whole issue temporarily by ensuring that catalogue information doesn't get included in the model supplied by the Exhibition About data feed. In the long run, we need to refactor both Exhibition View and About to separate their concerns, as outlined in ENGAGE-332

Comments

  • Colin Clark commented 2010-02-05T17:39:45.000-0500

    This issue is caused by the design error described in ENGAGE-332

  • Justin Obara commented 2010-02-24T12:21:00.000-0500

    The error has been fixed, the design related issue will be fixed in ENGAGE-332