Uploaded image for project: 'Fluid Infusion'
  1. Fluid Infusion
  2. FLUID-4917

Implement "demands block horizon" system enabling demands block resolution to be cut off when meeting first instance of a context name

    XMLWordPrintable

    Details

      Description

      A fully consistent implementation of the ProgressiveEnhancement system requires us to be able to declaratively curtail demands block searches in order to make sure that at most one instance (the closest to the point of resolution) of a particular ProgressiveCheckerForComponent (PCFC) is taken into account. This is necessary because the current demands block system is only ADDITIVE - and so without some form of "horizon" system, the union of all context tags for a particular PCFC that can be seen up the component tree hierarhcy would be seen by the component instance which is resolving - which would lead to ambiguous and possibly incorrect matches for a required component implementation.

      The intent of the PCFC system is that decisions made at a higher level in the tree can be overridden by means of PCFC instances lower down the tree - either to countermand them in the case of a localised set of the tree, or else to reflect more detailed information about user context + preferences.

      A syntax like the following is proposed:

      fluid.demands("fluid.uploaderImpl", "fluid.uploader.html5",
          { funcName: "fluid.uploader.multiFileUploader", horizon: "fluid.uploader.progressiveCheck" }
      );

       

      The "fluid.uploader.progressiveCheck" name is already automatically generated by the PCFC system.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jobara Justin Obara
              Reporter:
              antranig Antranig Basman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: