ICEfaces
  1. ICEfaces
  2. ICE-5943

Port the portlet version of Component Showcase to run on ICEfaces 2 and the new PortletFaces bridge.

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta1
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Labels:
      None
    • Environment:
      ICEfaces 2 portals portlets

      Description

      Our goal for Beta2 is to include our first support of portlets using the PortletFaces bridge. In order to enhance testing and provide a comprehensive demonstration of compatible components running as portlets, we should port the Component Showcase as a .war showing each demo as portlet, much like what we have in ICEfaces 1.8.x

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22055 Thu Jul 29 13:23:46 MDT 2010 deryk.sinotte ICE-5943: adding libraries specific to support portlets and the new bridge
        Files Changed
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/slf4j-api-1.6.1.jar
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/portletfaces-bridge-api-2.0.0.ALPHA3.jar
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/portletfaces-bridge-impl-2.0.0.ALPHA3.jar
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/jsf-impl.jar
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/slf4j-jdk14-1.6.1.jar
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22056 Thu Jul 29 13:24:04 MDT 2010 deryk.sinotte ICE-5943: initial checkin of support for building a portlet version of Component Showcase
        Files Changed
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/view.xhtml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/build.xml
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-plugin-package.properties
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/src/org/icefaces/application/showcase/util/PortletUtil.java
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-portlet.xml
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/src/context.xml
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-display.xml
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF
        Commit graph ADD /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/portlet.xml
        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Salesforce Case []
        Assignee Priority P1
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Hide
        Deryk Sinotte added a comment -

        The intial commits have been done. I've added the libraries for the bridge and portlet support to a subdirectory:

        icefaces/lib/portlets

        to keep them separate from the more generic libraries and show that basic ICEfaces doesn't require them.

        Under compat/samples/component-showcase I've added a portlets directory. This contains the portlet specific content and the required .xml files (portlet.xml, liferay*.xml).

        There is now a new build target called portletize.war that currently only builds a Tomcat 6 compatible .war. So from the component-showcase directory you can type:

        ant clean portletize.war

        This will build the normal tomcat6.0 .war and then:

        • unzip the .war file under portlets/build/exploded
        • add all the portlet stuff to the exploded directory
        • re-zip the directory as portlets/build/component-showcase-portlet.war

        You should copy this war to:

        liferay-portal-6.0.2/deploy

        This should allow you to add the ICEfaces portlets to a portal page. Currently there are only two portlets defined but I've set it up so that there is only a single view.xhtml page for all the portlets. All we need to do to add more portlets is add a <portlet> entry in the portlet.xml file. Simply copy and paste an existing entry and change the values. The important one is the org.icefaces.demo.viewPath parameter that points to the content to include for that particular portlet:

        <portlet>
        <portlet-name>textFields</portlet-name>
        <display-name>ICEfaces 2: Text Fields</display-name>
        <portlet-class>org.portletfaces.bridge.GenericFacesPortlet</portlet-class>
        <init-param>
        <name>javax.portlet.faces.defaultViewId.view</name>
        <value>/view.xhtml</value>
        </init-param>
        <init-param>
        <name>org.icefaces.demo.viewPath</name>
        <value>/WEB-INF/includes/examples/standard/textFields.xhtml</value>
        </init-param>
        <supports>
        <mime-type>text/html</mime-type>
        <portlet-mode>view</portlet-mode>
        </supports>
        <portlet-info>
        <title>ICEfaces 2: Text Fields</title>
        <short-title>Buttons and Links</short-title>
        <keywords>ICEfaces Component Showcase Buttons Links</keywords>
        </portlet-info>
        </portlet>

        Then add an entry to the liferay-portlet.xml file. Again, copy and paste an existing entry and just change the portlet-name to match the entry in the portlet.xml file:

        <portlet>
        <portlet-name>textFields</portlet-name>
        <instanceable>true</instanceable>
        <ajaxable>false</ajaxable>
        </portlet>

        Lastly, add a line to liferay-display.xml so that the portlet will show up in the menu for adding applications. Again, id must match the portlet-name:

        <category name="ICEfaces 2">
        <portlet id="buttonsAndLinks"/>
        <portlet id="textFields"/>
        </category>

        Show
        Deryk Sinotte added a comment - The intial commits have been done. I've added the libraries for the bridge and portlet support to a subdirectory: icefaces/lib/portlets to keep them separate from the more generic libraries and show that basic ICEfaces doesn't require them. Under compat/samples/component-showcase I've added a portlets directory. This contains the portlet specific content and the required .xml files (portlet.xml, liferay*.xml). There is now a new build target called portletize.war that currently only builds a Tomcat 6 compatible .war. So from the component-showcase directory you can type: ant clean portletize.war This will build the normal tomcat6.0 .war and then: unzip the .war file under portlets/build/exploded add all the portlet stuff to the exploded directory re-zip the directory as portlets/build/component-showcase-portlet.war You should copy this war to: liferay-portal-6.0.2/deploy This should allow you to add the ICEfaces portlets to a portal page. Currently there are only two portlets defined but I've set it up so that there is only a single view.xhtml page for all the portlets. All we need to do to add more portlets is add a <portlet> entry in the portlet.xml file. Simply copy and paste an existing entry and change the values. The important one is the org.icefaces.demo.viewPath parameter that points to the content to include for that particular portlet: <portlet> <portlet-name>textFields</portlet-name> <display-name>ICEfaces 2: Text Fields</display-name> <portlet-class>org.portletfaces.bridge.GenericFacesPortlet</portlet-class> <init-param> <name>javax.portlet.faces.defaultViewId.view</name> <value>/view.xhtml</value> </init-param> <init-param> <name>org.icefaces.demo.viewPath</name> <value>/WEB-INF/includes/examples/standard/textFields.xhtml</value> </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> </supports> <portlet-info> <title>ICEfaces 2: Text Fields</title> <short-title>Buttons and Links</short-title> <keywords>ICEfaces Component Showcase Buttons Links</keywords> </portlet-info> </portlet> Then add an entry to the liferay-portlet.xml file. Again, copy and paste an existing entry and just change the portlet-name to match the entry in the portlet.xml file: <portlet> <portlet-name>textFields</portlet-name> <instanceable>true</instanceable> <ajaxable>false</ajaxable> </portlet> Lastly, add a line to liferay-display.xml so that the portlet will show up in the menu for adding applications. Again, id must match the portlet-name: <category name="ICEfaces 2"> <portlet id="buttonsAndLinks"/> <portlet id="textFields"/> </category>
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22081 Wed Aug 04 08:09:20 MDT 2010 ted.goddard generated additional portlets (ICE-5943)
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-portlet.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-display.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/portlet.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22082 Wed Aug 04 08:27:16 MDT 2010 ted.goddard corrected portlet-name (ICE-5943)
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/portlet.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22083 Wed Aug 04 08:43:02 MDT 2010 ted.goddard added selectionTags (ICE-5943)
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/portlet.xml
        Hide
        Ted Goddard added a comment -

        Rough perl script for generating portlet metadata. Perl script includes list of portlets and produces output suitable for copying and pasting into the various files.

        Show
        Ted Goddard added a comment - Rough perl script for generating portlet metadata. Perl script includes list of portlets and produces output suitable for copying and pasting into the various files.
        Ted Goddard made changes -
        Attachment component-showcase-gen.pl [ 12477 ]
        Ted Goddard made changes -
        Attachment component-showcase-gen.pl [ 12477 ]
        Hide
        Ted Goddard added a comment -

        updated perl script.

        Show
        Ted Goddard added a comment - updated perl script.
        Ted Goddard made changes -
        Attachment component-showcase-gen.pl [ 12478 ]
        Hide
        Deryk Sinotte added a comment -

        Required files and build target have been added to the Component Showcase example to run as a set of portlets using the new PortletFaces bridge.

        Show
        Deryk Sinotte added a comment - Required files and build target have been added to the Component Showcase example to run as a set of portlets using the new PortletFaces bridge.
        Deryk Sinotte made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.0-Beta2 [ 10242 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22230 Wed Aug 25 11:29:30 MDT 2010 deryk.sinotte ICE-5943: improve portlet version of Component Showcase
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/build.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-portlet.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/liferay-display.xml
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/samples/component-showcase/portlets/web/WEB-INF/portlet.xml
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #22231 Wed Aug 25 11:30:41 MDT 2010 deryk.sinotte ICE-5943: upgrade portlet specific libraries
        Files Changed
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/jsf-api.jar
        Commit graph ADD /icefaces2/trunk/icefaces/lib/portlets/portletfaces-bridge-impl-2.0.0.BETA1-SNAPSHOT.jar
        Commit graph DEL /icefaces2/trunk/icefaces/lib/portlets/portletfaces-bridge-impl-2.0.0.ALPHA3.jar
        Commit graph MODIFY /icefaces2/trunk/icefaces/lib/portlets/jsf-impl.jar
        Ken Fyten made changes -
        Fix Version/s 2.0.0 [ 10230 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: