Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3.0-beta2, 1.3.0-beta3
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:
      Jetspeed-2.1.2, Tomcat 5.5, Servlet API 2.4, JDK 1.4 & Java 5

      Description

      I'm providing a new solution for Wicket Portlet support, see also my initial proposal on the wicket-dev list: http://www.nabble.com/A-new-proposal-for-Wicket-Portlet-support-tf3836652.html

      As this solution will require a few (but not very much) changes to Wicket core, I'll create a separate branch first to let everyone involved review and test it out.
      I'll also create separate sub tasks in JIRA to record the changes required and the new features provided so each can be reviewed individually and we can have step-by-step discussions how to proceed in bringing this solution into the main trunk.

      Note: as current Wicket development is getting close to the 1.3.0 release, I don't expect all of this to be merged into the trunk until after the 1.3.0 release.
      But some of my proposed changes really are very light and non-intrusive, so I can imagine (and hope) those can be integrated in the trunk even before the 1.3.0 release.
      That definitely would make it easier for me to provide portlet support to my own development team using the wicket core trunk and only a few additional patches.

      1.
      New Wicket Portlet support: create a separate branch for review Sub-task Resolved Ate Douma
       
      2.
      New Wicket Portlet support: fix appending query parameters Sub-task Resolved Ate Douma
       
      3.
      New Wicket Portlet support: use a RequestContext for abstracted url generation, writing header response and namespacing Sub-task Resolved Ate Douma
       
      4.
      New Wicket Portlet support: extending IHeaderResponse and its usage to allow plugging in custom HeaderResponse writing Sub-task Resolved Ate Douma
       
      5.
      New Wicket Portlet support: translating Wicket relative paths back to fully qualified paths for usage in a portlet context Sub-task Resolved Ate Douma
       
      6.
      New Wicket Portlet support: Encode Wicket urls through RenderContext to allow a PortletRenderContext to replace them by PortletURLs Sub-task Resolved Ate Douma
       
      7.
      New Wicket Portlet support: adding portlet support with a new WicketPortlet and support classes Sub-task Resolved Ate Douma
       
      8.
      New Wicket Portlet support: adapting wicket-examples to use the new portlet support so they can be run as portlets Sub-task Closed Ate Douma
       
      9.
      New Wicket Portlet support: provide a Jetspeed-2 demo installer with wicket-examples configured as portlets out-of-the-box Sub-task Resolved Ate Douma
       
      10.
      New Wicket Portlet support: Merge WicketPortletFilter back in WicketFilter using a delagate class for handling and (class) loading the portlet specific functionality Sub-task Resolved Ate Douma
       
      11.
      New Wicket Portlet support: Support non-relative urls in Ajax.Request redirect callback handling Sub-task Resolved Ate Douma
       
      12.
      New Wicket Portlet support: Support for detached/popup pages Sub-task Resolved Ate Douma
       

        Activity

        Hide
        Ate Douma added a comment -

        Initial version of wicket portlet support committed

        Show
        Ate Douma added a comment - Initial version of wicket portlet support committed
        Hide
        Senthil Durai added a comment -

        Hello Ate Douma,

        I was about to create an application with wicket, spring, hibernate, ibatis and mssql but we are stopped not to use wicket
        because wicket doesn't support portlet(JSR-168). I don't have good experience in portlet projects. but i love wicket.

        I tried using wicket 1.3 beta 2 and deployed in websphere 6.1 but my application is not working.
        But the same application works in tomcat and jetty. So i have used wicket 1.2.6 for my new application.

        The suggested technology for my application is JSF, spring, hibernate, mssql with DOJO. can you comment on this?

        If you strongly recommend wicket instead of JSF and DOJO for portlet please give me comparison and a basic sample portlet configuration.

        Thanks,
        Senthil Durai
        ssenthildurai@yahoo.com

        Show
        Senthil Durai added a comment - Hello Ate Douma, I was about to create an application with wicket, spring, hibernate, ibatis and mssql but we are stopped not to use wicket because wicket doesn't support portlet(JSR-168). I don't have good experience in portlet projects. but i love wicket. I tried using wicket 1.3 beta 2 and deployed in websphere 6.1 but my application is not working. But the same application works in tomcat and jetty. So i have used wicket 1.2.6 for my new application. The suggested technology for my application is JSF, spring, hibernate, mssql with DOJO. can you comment on this? If you strongly recommend wicket instead of JSF and DOJO for portlet please give me comparison and a basic sample portlet configuration. Thanks, Senthil Durai ssenthildurai@yahoo.com
        Hide
        Ate Douma added a comment -

        I've continued with extending the portlet support based on the latest 1.3.0-beta3 release.
        Because the number of core Wicket changes were too numerous to merge back in the portlet-support branch, I had to start anew and apply my changes by hand to the beta3 codebase instead.

        As I've already indicated on the wicket user list yesterday (see: http://www.nabble.com/Re%3A-Portlet-Support-p12415429.html), this turned out to be a good thing as during that process I made lots of improvements and refactored several class and method names to better reflect their purpose.

        After I got my original portlet support working again, I continued to improve and fix quite a few issues.

        Right now, I think I have almost all the wicket-examples features which are feasible for usage in a portlet working.
        Some features though never are going to work, like frameset usage, or direct client-side manipulation of the url (like the locale select boxed which simple append the selected locale to the url).
        But I've now got popups as well as modal windows working (yes: even the "source code" viewer now just works!)
        And I also encountered a bug in wicket itself for which I already created an issue, WICKET-913, which really isn't portlet specific.

        The nicest part I think of the new portlet-support is that it turned out to require very little changes to the wicket core, and AFAIK all of those are transparent, meaning these changes have zero effect on existing plain servlet based applications!

        I'm going to create a new 1.3.0-beta3-portlet-support branch based upon the beta3 release and start checking in my new changes there.
        After I completed that, committed against the current and a few new subtasks of this issue, I'll also create a new Jetspeed-2.1.2 based demo installer to allow others to review and test it.

        I think the new portlet-support now covers most common use-cases and is ready to be used for real portlet development.
        In the Jetspeed-2 team there is already quite an interest to rewrite our current administrative portlets in Wicket.
        And at my own company we've already started writing our new CMS (http://www.hippo-ecm.org) in Wicket to be deployable as portlet(s) too.

        So after I've committed my latest changes I think we should begin discussing about merging this to the trunk.
        Ready to roll...

        Show
        Ate Douma added a comment - I've continued with extending the portlet support based on the latest 1.3.0-beta3 release. Because the number of core Wicket changes were too numerous to merge back in the portlet-support branch, I had to start anew and apply my changes by hand to the beta3 codebase instead. As I've already indicated on the wicket user list yesterday (see: http://www.nabble.com/Re%3A-Portlet-Support-p12415429.html ), this turned out to be a good thing as during that process I made lots of improvements and refactored several class and method names to better reflect their purpose. After I got my original portlet support working again, I continued to improve and fix quite a few issues. Right now, I think I have almost all the wicket-examples features which are feasible for usage in a portlet working. Some features though never are going to work, like frameset usage, or direct client-side manipulation of the url (like the locale select boxed which simple append the selected locale to the url). But I've now got popups as well as modal windows working (yes: even the "source code" viewer now just works!) And I also encountered a bug in wicket itself for which I already created an issue, WICKET-913 , which really isn't portlet specific. The nicest part I think of the new portlet-support is that it turned out to require very little changes to the wicket core, and AFAIK all of those are transparent, meaning these changes have zero effect on existing plain servlet based applications! I'm going to create a new 1.3.0-beta3-portlet-support branch based upon the beta3 release and start checking in my new changes there. After I completed that, committed against the current and a few new subtasks of this issue, I'll also create a new Jetspeed-2.1.2 based demo installer to allow others to review and test it. I think the new portlet-support now covers most common use-cases and is ready to be used for real portlet development. In the Jetspeed-2 team there is already quite an interest to rewrite our current administrative portlets in Wicket. And at my own company we've already started writing our new CMS ( http://www.hippo-ecm.org ) in Wicket to be deployable as portlet(s) too. So after I've committed my latest changes I think we should begin discussing about merging this to the trunk. Ready to roll...
        Hide
        Ate Douma added a comment -

        With now the last subtask WICKET-658 resolved, I think the overall task of providing initial portlet support for Wicket is complete and usable enough for integrating in the Wicket trunk.

        Show
        Ate Douma added a comment - With now the last subtask WICKET-658 resolved, I think the overall task of providing initial portlet support for Wicket is complete and usable enough for integrating in the Wicket trunk.
        Hide
        Jonathan Locke added a comment -

        september was quite a while ago and i still see a separate branch in SVN. so, when does this code get merged in? i think portlet support in core is a desirable thing.

        Show
        Jonathan Locke added a comment - september was quite a while ago and i still see a separate branch in SVN. so, when does this code get merged in? i think portlet support in core is a desirable thing.
        Hide
        Jonathan Locke added a comment -

        oh, i see... the wiki must be out of date
        it still points to this ticket, which is now resolved fixed.

        Show
        Jonathan Locke added a comment - oh, i see... the wiki must be out of date it still points to this ticket, which is now resolved fixed.

          People

          • Assignee:
            Ate Douma
            Reporter:
            Ate Douma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development