ICEfaces
  1. ICEfaces
  2. ICE-9502

Provide load only dependency configuration for resources

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: 4.0.BETA, 4.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      Sometimes the dependency relationship between resources is not that strict, that is when there is no need to load all the transitive resources before. It is good enough to just load the resource after the resources defined in the metadata, if some are not loaded the dependant resource's code will adapt.
      For example:

      E depends on B
      C depends on B
      B depends on A

      D depends (load only) on E, C

      When only A and B is loaded, D is just ordered after these without forcing the loading of E and C.

        Issue Links

          Activity

          Mircea Toma created issue -
          Mircea Toma made changes -
          Field Original Value New Value
          Assignee Mircea Toma [ mircea.toma ]
          Mircea Toma made changes -
          Link This issue depends on ICE-9464 [ ICE-9464 ]
          Mircea Toma made changes -
          Assignee Priority P2 [ 10011 ]
          Mircea Toma made changes -
          Fix Version/s 3.4 [ 10770 ]
          Mircea Toma made changes -
          Affects Documentation (User Guide, Ref. Guide, etc.) [ 10003 ]
          Hide
          Mircea Toma added a comment - - edited

          "load-after" tag was introduced in the resource-dependency.xml structure that can be used to define dependencies that require only ordering.

          Example:

          <resource name="E" library="...">
             <depends-on>
                <resource name="B" library="..."/>
             </depends-on>
          </resource>
          ...
          <resource name="D" library="...">
             <load-after>
                <resource name="C" library="..."/>
                <resource name="E" library="..."/>
             </load-after>
          </resource>
          
          Show
          Mircea Toma added a comment - - edited "load-after" tag was introduced in the resource-dependency.xml structure that can be used to define dependencies that require only ordering. Example: <resource name= "E" library= "..." > <depends-on> <resource name= "B" library= "..." /> </depends-on> </resource> ... <resource name= "D" library= "..." > <load-after> <resource name= "C" library= "..." /> <resource name= "E" library= "..." /> </load-after> </resource>
          Hide
          Mircea Toma added a comment -

          Implemented soft resource dependency feature.

          Show
          Mircea Toma added a comment - Implemented soft resource dependency feature.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #37304 Mon Aug 05 15:49:02 MDT 2013 mircea.toma ICE-9502 Fix typos.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/resources-meta/resource-dependency.xml
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #37305 Mon Aug 05 15:50:20 MDT 2013 mircea.toma ICE-9502 Implemented soft resource dependency feature.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/ResourceOrdering.java
          Mark Collette made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ken Fyten made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Ken Fyten made changes -
          Link This issue blocks ICE-9465 [ ICE-9465 ]
          Ken Fyten made changes -
          Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Won't Fix [ 2 ]
          Hide
          Ken Fyten added a comment -

          I think it makes sense to keep the original "depends-on" element name for the original dependency-only (not loading) behaviour. This protects any existing applications from possible negative side-effects.

          Then we just document the new "load-after" element as a new improvement that also loads the resource in addition to declaring the ordering dependency.

          We can update our own resource-dependency.xml files readily to use the new feature as well.

          Show
          Ken Fyten added a comment - I think it makes sense to keep the original "depends-on" element name for the original dependency-only (not loading) behaviour. This protects any existing applications from possible negative side-effects. Then we just document the new "load-after" element as a new improvement that also loads the resource in addition to declaring the ordering dependency. We can update our own resource-dependency.xml files readily to use the new feature as well.
          Ken Fyten made changes -
          Resolution Won't Fix [ 2 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Affects Documentation (User Guide, Ref. Guide, etc.) [ 10003 ] Documentation (User Guide, Ref. Guide, etc.),Compatibility/Configuration [ 10003, 10002 ]
          Hide
          Mircea Toma added a comment - - edited

          depends-on element is used now for the original dependency-only (not loading) behaviour. requires is the (container) element that enforces the loading of listed dependencies before the specified resource is loaded.

          Show
          Mircea Toma added a comment - - edited depends-on element is used now for the original dependency-only (not loading) behaviour. requires is the (container) element that enforces the loading of listed dependencies before the specified resource is loaded.
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #37440 Mon Aug 19 12:55:07 MDT 2013 mircea.toma ICE-9502 "depends-on" element is used now for the original dependency-only (not loading) behaviour. "requires" is the (container) element that enforces the loading of listed dependencies before the specified resource is loaded.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/resources/META-INF/resource-dependency.xml
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/META-INCLUDE/resource-dependency.xml
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/resources/META-INF/resource-dependency.xml
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/ResourceOrdering.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/resources-meta/resource-dependency.xml
          Hide
          Mircea Toma added a comment -

          Update docs.

          Show
          Mircea Toma added a comment - Update docs.
          Mircea Toma made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Hide
          Mircea Toma added a comment -
          Show
          Mircea Toma added a comment - Updated the documentation at http://www.icesoft.org/wiki/display/ICE/Resource+dependencies .
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 4.0 [ 11382 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Mircea Toma
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: