ICEfaces
  1. ICEfaces
  2. ICE-8131

Add annotations for browser conditional resource loading

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3
    • Component/s: ACE-Components, Framework
    • Labels:
      None
    • Environment:
      IF 3.x
    • Assignee Priority:
      P1

      Description

      This issue encompasses the work done to implement annotations that allow definition of browser specific resources. Also detailed is the work to abstract browser detection to the core, as well as add an improved API over the original ResourceDependency annotations.

      The original scope of this issue was:
      Allow app developer specified or automatic inclusion in IE 7/8 of excanvas.js to chart component dependencies.

      This sizable dependency should be configurable so that it can be removed when possible, but our dependency annotation doesn't support runtime toggling.

        Activity

        Nils Lundquist created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 3.1 [ 10312 ]
        Assignee Ken Fyten [ ken.fyten ]
        Ken Fyten made changes -
        Salesforce Case []
        Component/s ACE-Components [ 10050 ]
        Component/s Framework [ 10013 ]
        Ken Fyten made changes -
        Fix Version/s 3.2 [ 10338 ]
        Fix Version/s 3.1 [ 10312 ]
        Migration made changes -
        Fix Version/s 3.3 [ 10370 ]
        Fix Version/s 3.2 [ 10338 ]
        Hide
        Ken Fyten added a comment -

        In order to do this we should enhance the ACE resource annotations to optionally support conditional resource loading for specific platforms, such as IE7/8. There is a similar mechanism in the ICEmobile code (deviceResource component).

        Show
        Ken Fyten added a comment - In order to do this we should enhance the ACE resource annotations to optionally support conditional resource loading for specific platforms, such as IE7/8. There is a similar mechanism in the ICEmobile code (deviceResource component).
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ] Nils Lundquist [ nils.lundquist ]
        Ken Fyten made changes -
        Assignee Priority P3 [ 10012 ]
        Nils Lundquist made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Nils Lundquist made changes -
        Status In Progress [ 3 ] Open [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33244 Fri Jan 25 20:13:13 MST 2013 nils.lundquist ICE-8131 - ace:chart now conditionally loads excanvas IE7/8 compat library. Added new ICEResourceDependency annotation to replace use of ResourceDependency and enable definition of browser specific resources. Replacement was necessary due to the restrictions of annotations. Ported UserAgentInfo.java from ICEMobile to Core.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMarkerMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tree/TreeMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/confirmationdialog/ConfirmationDialogMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/util/UserAgentInfo.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tooltip/TooltipMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/animation/AnimationBehavior.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehavior.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/Dialog.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/confirmationdialog/ConfirmationDialog.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceDependency.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/richtextentry/RichTextEntryMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ResourceInfo.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/column/ColumnMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DroppableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubutton/MenuButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/fileentry/FileEntryMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/BrowserType.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menu/MenuMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/row/Row.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textareaentry/TextAreaEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapServicesMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapInfoWindowMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/AccordionPaneMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/sliderentry/SliderEntry.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/node/NodeMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/maskedentry/MaskedEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/excludefromexport/ExcludeFromExport.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/celleditor/CellEditor.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/AccordionMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menuitem/MenuItemMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/panel/PanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/roweditor/RowEditor.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceUtils.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datetimeentry/DateTimeEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/sliderentry/SliderEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapLayerMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/progressbar/ProgressBarMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textentry/TextEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/Accordion.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapEventMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DraggableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/gmap/GMap.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEBrowserDependency.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/inputrichtext/InputRichText.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/submitmonitor/SubmitMonitorMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/build.xml
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/listcontrol/ListControlMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tableconfigpanel/TableConfigPanel.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/contextmenu/ContextMenuMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapAutocompleteMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapOverlayMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/notificationpanel/NotificationPanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubar/MenuBarMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/MandatoryResourcesSetup.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tableconfigpanel/TableConfigPanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/resizable/ResizableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/columngroup/ColumnGroup.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceDependencies.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/resizable/Resizable.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/component/NavigationNotifier.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tooltip/Tooltip.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporterMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/column/Column.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapControlMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/list/ListMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/printer/PrinterMeta.java
        Hide
        Nils Lundquist added a comment -

        ace:chart now uses new ICEResourceDependency to conditionally load the excanvas library.

        ICEResourceDependency is functionally complete, though some of the API may be renamed before this JIRA is closed.

        Also with UserAgentInfo now being available in core, ICEMobile should be update to use it.

        Show
        Nils Lundquist added a comment - ace:chart now uses new ICEResourceDependency to conditionally load the excanvas library. ICEResourceDependency is functionally complete, though some of the API may be renamed before this JIRA is closed. Also with UserAgentInfo now being available in core, ICEMobile should be update to use it.
        Hide
        Nils Lundquist added a comment -

        Revision #33244
        Committed by nils.lundquist
        A minute ago
        ICE-8131 - ace:chart now conditionally loads excanvas IE7/8 compat library. Added new ICEResourceDependency annotation to replace use of ResourceDependency and enable definition of browser specific resources. Replacement was necessary due to the restrictions of annotations.
        Ported UserAgentInfo.java from ICEMobile to Core.

        Show
        Nils Lundquist added a comment - Revision #33244 Committed by nils.lundquist A minute ago ICE-8131 - ace:chart now conditionally loads excanvas IE7/8 compat library. Added new ICEResourceDependency annotation to replace use of ResourceDependency and enable definition of browser specific resources. Replacement was necessary due to the restrictions of annotations. Ported UserAgentInfo.java from ICEMobile to Core.
        Nils Lundquist made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Nils Lundquist made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Nils Lundquist added a comment -

        I'll post a few annotations here for demonstration:

        @ICEResourceDependencies({
                @ICEResourceDependency(library = "icefaces.ace", name = "util/ace-jquery.js"),
                @ICEResourceDependency(library = "icefaces.ace", name = "chart/excanvas.js", browser = BrowserType.IE8_OR_LESS),
                @ICEResourceDependency(library = "icefaces.ace", name = "chart/ace-chart.js"),
                @ICEResourceDependency(library = "icefaces.ace", name = "util/combined.css")
        })
        

        is equiv to:

        @ICEResourceDependencies({
            @ICEResourceDependency(library = "icefaces.ace", name = "util/ace-jquery.js"),
            @ICEResourceDependency(browserOverride = {
                @ICEBrowserDependency(browser = BrowserType.IE8_OR_LESS, library = "icefaces.ace", name = "chart/excanvas.js")
            }),
            @ICEResourceDependency(library = "icefaces.ace", name = "chart/ace-chart.js"),
            @ICEResourceDependency(library = "icefaces.ace", name = "util/combined.css")
        })
        
        @ICEResourceDependencies({
            @ICEResourceDependency(library = "icefaces.ace", name = "util/ace-jquery.js"),
            @ICEResourceDependency(
                library = "icefaces.ace", name = "chart/default-excanvas.js", // Default resource
                browserOverride = { // Alternate resources
                    @ICEBrowserDependency(browser = BrowserType.IE8_OR_LESS, library = "icefaces.ace", name = "chart/old-ie-excanvas.js"), // Alt resource
                    @ICEBrowserDependency(browser = BrowserType.IE9_OR_GREATER) // Opt out of resource
                }
            }),
            @ICEResourceDependency(library = "icefaces.ace", name = "chart/ace-chart.js"),
            @ICEResourceDependency(library = "icefaces.ace", name = "util/combined.css")
        })
        
        Show
        Nils Lundquist added a comment - I'll post a few annotations here for demonstration: @ICEResourceDependencies({ @ICEResourceDependency(library = "icefaces.ace" , name = "util/ace-jquery.js" ), @ICEResourceDependency(library = "icefaces.ace" , name = "chart/excanvas.js" , browser = BrowserType.IE8_OR_LESS), @ICEResourceDependency(library = "icefaces.ace" , name = "chart/ace-chart.js" ), @ICEResourceDependency(library = "icefaces.ace" , name = "util/combined.css" ) }) is equiv to: @ICEResourceDependencies({ @ICEResourceDependency(library = "icefaces.ace" , name = "util/ace-jquery.js" ), @ICEResourceDependency(browserOverride = { @ICEBrowserDependency(browser = BrowserType.IE8_OR_LESS, library = "icefaces.ace" , name = "chart/excanvas.js" ) }), @ICEResourceDependency(library = "icefaces.ace" , name = "chart/ace-chart.js" ), @ICEResourceDependency(library = "icefaces.ace" , name = "util/combined.css" ) }) @ICEResourceDependencies({ @ICEResourceDependency(library = "icefaces.ace" , name = "util/ace-jquery.js" ), @ICEResourceDependency( library = "icefaces.ace" , name = "chart/ default -excanvas.js" , // Default resource browserOverride = { // Alternate resources @ICEBrowserDependency(browser = BrowserType.IE8_OR_LESS, library = "icefaces.ace" , name = "chart/old-ie-excanvas.js" ), // Alt resource @ICEBrowserDependency(browser = BrowserType.IE9_OR_GREATER) // Opt out of resource } }), @ICEResourceDependency(library = "icefaces.ace" , name = "chart/ace-chart.js" ), @ICEResourceDependency(library = "icefaces.ace" , name = "util/combined.css" ) })
        Hide
        Nils Lundquist added a comment -

        I like most of the naming conventions of this code, with the exception of 'browserOverride', any suggestions?

        Show
        Nils Lundquist added a comment - I like most of the naming conventions of this code, with the exception of 'browserOverride', any suggestions?
        Hide
        Ken Fyten added a comment -

        browserOverride is an apt name, I don't have an issue with it since it does override the default resource.

        Show
        Ken Fyten added a comment - browserOverride is an apt name, I don't have an issue with it since it does override the default resource.
        Hide
        Nils Lundquist added a comment -

        One remaining question is if the user agent results should be cached for the session. It currently isn't due to session size concerns, but it would eliminate repeated String comparisons in RestoreResourceDependencies.

        Show
        Nils Lundquist added a comment - One remaining question is if the user agent results should be cached for the session. It currently isn't due to session size concerns, but it would eliminate repeated String comparisons in RestoreResourceDependencies.
        Hide
        Ken Fyten added a comment -

        Seems like a legit use of Session scope to me. Won't take much space if it's a Boolean.

        Show
        Ken Fyten added a comment - Seems like a legit use of Session scope to me. Won't take much space if it's a Boolean.
        Hide
        Nils Lundquist added a comment -

        create new tests for UserAgentInfo

        Show
        Nils Lundquist added a comment - create new tests for UserAgentInfo
        Hide
        Mark Collette added a comment -

        If browserOverride is for when we want to use one resource, or alternatively another one, then what is the means for simply adding resources that are browser specific. For example, let's say I have a base.css that I always want served, and when I have IE7 I additionally want another css file served afterwards.

        It would be nice if this took into consideration ICE-8784.

        Show
        Mark Collette added a comment - If browserOverride is for when we want to use one resource, or alternatively another one, then what is the means for simply adding resources that are browser specific. For example, let's say I have a base.css that I always want served, and when I have IE7 I additionally want another css file served afterwards. It would be nice if this took into consideration ICE-8784.
        Ken Fyten made changes -
        Assignee Priority P3 [ 10012 ] P1 [ 10010 ]
        Hide
        Ted Goddard added a comment -

        It should be possible to additionally factor the annotation to be less verbose; in most cases, the library for all resources is common.

        @ICEResourceConfig(library = "icefaces.ace")
        @ICEResourceDependencies({
        @ICEResourceDependency(
        names =

        {"util/ace-jquery.js", "chart/ace-chart.js", "util/combined.css"}

        ),
        @ICEResourceDependency(name = "chart/excanvas.js",
        browser = BrowserType.IE8_OR_LESS),
        })

        Type safety can be improved as follows:

        @ICEResourceConfig(library = AceResources.LIBRARY)
        @ICEResourceDependencies({
        @ICEResourceDependency(
        names =

        {AceResources.JQUERY, "chart/ace-chart.js", AceResources.COMBINED}

        ),
        @ICEResourceDependency(name = "chart/excanvas.js",
        browser = BrowserType.IE8_OR_LESS),
        })

        Show
        Ted Goddard added a comment - It should be possible to additionally factor the annotation to be less verbose; in most cases, the library for all resources is common. @ICEResourceConfig(library = "icefaces.ace") @ICEResourceDependencies({ @ICEResourceDependency( names = {"util/ace-jquery.js", "chart/ace-chart.js", "util/combined.css"} ), @ICEResourceDependency(name = "chart/excanvas.js", browser = BrowserType.IE8_OR_LESS), }) Type safety can be improved as follows: @ICEResourceConfig(library = AceResources.LIBRARY) @ICEResourceDependencies({ @ICEResourceDependency( names = {AceResources.JQUERY, "chart/ace-chart.js", AceResources.COMBINED} ), @ICEResourceDependency(name = "chart/excanvas.js", browser = BrowserType.IE8_OR_LESS), })
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33286 Thu Jan 31 14:40:23 MST 2013 nils.lundquist ICE-8131 - Removed MyFaces compatibility hack that was causing issues in Mojarra 2.1.7 and earlier. No longer needed since we don't use standard ResourceDependency and ResourceDependencies annotations.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/MandatoryResourcesSetup.java
        Hide
        Nils Lundquist added a comment -

        Revision #33286
        Committed by nils.lundquist
        A minute ago
        ICE-8131 - Removed MyFaces compatibility hack that was causing issues in Mojarra 2.1.7 and earlier. No longer needed since we don't use standard ResourceDependency and ResourceDependencies annotations.

        Show
        Nils Lundquist added a comment - Revision #33286 Committed by nils.lundquist A minute ago ICE-8131 - Removed MyFaces compatibility hack that was causing issues in Mojarra 2.1.7 and earlier. No longer needed since we don't use standard ResourceDependency and ResourceDependencies annotations.
        Nils Lundquist made changes -
        Link This issue depends on ICE-8955 [ ICE-8955 ]
        Nils Lundquist made changes -
        Comment [ Linking duplicate id JIRA ]
        Nils Lundquist made changes -
        Comment [ Issue with particular showcase examples in Mojarra 2.1.6 is due to ID clashing caused by subtle state saving problems in UIViewRoot.

        The clashing ID is one from a implicit UIPanel that is inserted into the component tree during a time when the UIViewRoot has a particular ID as the next to be assigned. Later, another component, added much later in the lifecycle is attempted to be added, although a different state at this point is loaded by the UIViewRoot allowing duplicate IDs to be set.

        This state is supposed to stay consistent throughout the entire lifecycle, however at some point the UIViewRoot is recreated, and at that point uses restoreState to restore different state than was held in the last instance. The lifecycle of this bugged StateHelper object is under investigation. ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33362 Thu Feb 07 15:38:16 MST 2013 nils.lundquist ICE-8131 - Addde ICEResouceLibrary and ACEResourceNames, used to simplfy ResourceDependency definitions.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMarkerMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tree/TreeMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/confirmationdialog/ConfirmationDialogMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tooltip/TooltipMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/richtextentry/RichTextEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/message/MessageMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ResourceInfo.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/messages/MessagesMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/column/ColumnMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DroppableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubutton/MenuButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/fileentry/FileEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menu/MenuMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textareaentry/TextAreaEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapServicesMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapInfoWindowMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceLibrary.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/node/NodeMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/maskedentry/MaskedEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/accordion/AccordionMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menuitem/MenuItemMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/panel/PanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceUtils.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datetimeentry/DateTimeEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapLayerMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/sliderentry/SliderEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/progressbar/ProgressBarMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/textentry/TextEntryMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapEventMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dnd/DraggableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/submitmonitor/SubmitMonitorMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/listcontrol/ListControlMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapOverlayMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapAutocompleteMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/contextmenu/ContextMenuMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/notificationpanel/NotificationPanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/menubar/MenuBarMeta.java
        Commit graph ADD /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/resources/ACEResourceNames.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/MandatoryResourcesSetup.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tabset/TabSetMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/resizable/ResizableMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/tableconfigpanel/TableConfigPanelMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/DataExporterMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/gmap/GMapControlMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/list/ListMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/printer/PrinterMeta.java
        Hide
        Ken Fyten added a comment -
        • Implement core caching of user-agent details.
        • Add static strings for type safety.
        Show
        Ken Fyten added a comment - Implement core caching of user-agent details. Add static strings for type safety.
        Nils Lundquist made changes -
        Summary ace:chart - enable conditional resource loading for excanvas Add annotations for browser conditional resource loading
        Nils Lundquist made changes -
        Description Allow app developer specified or automatic inclusion in IE 7/8 of excanvas.js to chart component dependencies.

        This sizable dependency should be configurable so that it can be removed when possible, but our dependency annotation doesn't support runtime toggling.
        This issue encompasses the work done to implement annotations that allow definition of browser specific resources. Also detailed is the work to abstract browser detection to the core, as well as add an improved API over the original ResourceDependency annotations.

        The original scope of this issue was:
        Allow app developer specified or automatic inclusion in IE 7/8 of excanvas.js to chart component dependencies.

        This sizable dependency should be configurable so that it can be removed when possible, but our dependency annotation doesn't support runtime toggling.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33369 Fri Feb 08 13:21:06 MST 2013 nils.lundquist ICE-8131 - Added UserAgentContext util to add caching to UserAgentInfo browser / device detection.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/util/UserAgentInfo.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/resources/ICEResourceUtils.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/RestoreResourceDependencies.java
        Commit graph ADD /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/util/UserAgentContext.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/MandatoryResourcesSetup.java
        Hide
        Nils Lundquist added a comment -

        Revision #33362
        Committed by nils.lundquist
        Yesterday 3:38 PM
        ICE-8131 - Addde ICEResouceLibrary and ACEResourceNames, used to simplfy ResourceDependency definitions.

        Revision #33369
        Committed by nils.lundquist
        3 minutes ago
        ICE-8131 - Added UserAgentContext util to add caching to UserAgentInfo browser / device detection.

        Show
        Nils Lundquist added a comment - Revision #33362 Committed by nils.lundquist Yesterday 3:38 PM ICE-8131 - Addde ICEResouceLibrary and ACEResourceNames, used to simplfy ResourceDependency definitions. Revision #33369 Committed by nils.lundquist 3 minutes ago ICE-8131 - Added UserAgentContext util to add caching to UserAgentInfo browser / device detection.
        Hide
        Nils Lundquist added a comment -

        should this JIRA remain open until a MOBI JIRA is opened to adopt these core additions?

        Show
        Nils Lundquist added a comment - should this JIRA remain open until a MOBI JIRA is opened to adopt these core additions?
        Hide
        Nils Lundquist added a comment -

        This issue is ready to be closed pending adoption of these changes by mobi.

        Show
        Nils Lundquist added a comment - This issue is ready to be closed pending adoption of these changes by mobi.
        Hide
        Nils Lundquist added a comment -

        Porting complete.

        Adoption of changes in mobi covered under: MOBI-654

        Show
        Nils Lundquist added a comment - Porting complete. Adoption of changes in mobi covered under: MOBI-654
        Nils Lundquist made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Nils Lundquist
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: