Jetspeed 2
  1. Jetspeed 2
  2. JS2-1003

DOJO-based admin portlet doesn' show the contents correctly.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.0
    • Component/s: Desktop
    • Labels:
      None

      Description

      1. Dojo-enabled portlet having DOJO Tab makes portal page menus show tabs suddenly under desktop mode.
      At first, under desktop, the page menu does not show DOJO tab, but if a Dojo-enabled portlet having DOJO tabs is shown, the portal page menu shows DOJO tabs suddenly.

      2. j2-admin's Permissions management portlet does not show under desktop mode.

      3. j2-admin's Constraints management portlet does not show correctly under desktop mode.

      4. Portlet Selector under desktop mode doesn't seem working correctly. Cannot add portlet.

        Activity

        Hide
        Woonsan Ko added a comment -

        Fixed the bug (the page layout editor is not displayed when user clicks edit icon.)

        Show
        Woonsan Ko added a comment - Fixed the bug (the page layout editor is not displayed when user clicks edit icon.)
        Hide
        Woonsan Ko added a comment -

        One more problem is found:

        • Under desktop mode, the page layout editor is not displayed when user clicks edit icon.
        Show
        Woonsan Ko added a comment - One more problem is found: Under desktop mode, the page layout editor is not displayed when user clicks edit icon.
        Hide
        Woonsan Ko added a comment -

        Finally I fixed (1) and (4).
        For (4), I just added dojo requires statements in the headtag.xml by default for desktop mode, as I did in the same way for (2) and (3).
        For (1), I removed redundant css class definitions.
        Here's my commit message for this:
        Some css classes were redundantly defined in desktop.css and PortalTabContainer.css. That's why this happened.
        I guess that the change was originally intended to customized the tab's look and feel without using images.
        However, currently with dojo tab, the only way to customized the look and feel is to change the images. (/decorations/layout/jetspeed/images/desktop/tabs/tab_*.gif)

        Show
        Woonsan Ko added a comment - Finally I fixed (1) and (4). For (4), I just added dojo requires statements in the headtag.xml by default for desktop mode, as I did in the same way for (2) and (3). For (1), I removed redundant css class definitions. Here's my commit message for this: Some css classes were redundantly defined in desktop.css and PortalTabContainer.css. That's why this happened. I guess that the change was originally intended to customized the tab's look and feel without using images. However, currently with dojo tab, the only way to customized the look and feel is to change the images. (/decorations/layout/jetspeed/images/desktop/tabs/tab_*.gif)
        Hide
        Woonsan Ko added a comment -

        I fixed (2) and (3). Here's my explanation on this in the commit message:

        Adding some optional dojo.requires to run j2-admin's permissions management portlet and constraints management portlet.
        The main problem is that dojo widgets are available only when the dojo requires are written during page loading.
        If dojo requires statement for a specific widget is added in the loaded page later, then the widget cannot be accessible by dojo.widget.getId().
        In the previous version, head contributions are initially done by a separate lifecycle for every portlet window.
        However, in JS-2.2's desktop mode, head contributions are done for each portlet content after page loaded and dynamically added into the page.
        This is why permissions management portlet and constraints management portlet did not work.

        To resolve this problem, we can choose the following possible options:
        (a) Add all dojo widget requires statements for j2-admin portlets in the headtag.xml, so every widget requires lines are to be added by default.
        (b) Consider to upgrade dojo toolkit if possible.
        (c) If dojo.requires statements are newly added by a portlet window under desktop mode, reload the page.

        For 2.2 release, I'd like to stick to (a) because of the time constraints and reducing risks.

        Show
        Woonsan Ko added a comment - I fixed (2) and (3). Here's my explanation on this in the commit message: Adding some optional dojo.requires to run j2-admin's permissions management portlet and constraints management portlet. The main problem is that dojo widgets are available only when the dojo requires are written during page loading. If dojo requires statement for a specific widget is added in the loaded page later, then the widget cannot be accessible by dojo.widget.getId(). In the previous version, head contributions are initially done by a separate lifecycle for every portlet window. However, in JS-2.2's desktop mode, head contributions are done for each portlet content after page loaded and dynamically added into the page. This is why permissions management portlet and constraints management portlet did not work. To resolve this problem, we can choose the following possible options: (a) Add all dojo widget requires statements for j2-admin portlets in the headtag.xml, so every widget requires lines are to be added by default. (b) Consider to upgrade dojo toolkit if possible. (c) If dojo.requires statements are newly added by a portlet window under desktop mode, reload the page. For 2.2 release, I'd like to stick to (a) because of the time constraints and reducing risks.

          People

          • Assignee:
            Woonsan Ko
            Reporter:
            Woonsan Ko
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development