Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © Liferay, Inc.

Similar presentations


Presentation on theme: "Copyright © Liferay, Inc."— Presentation transcript:

1 Copyright © 2000-2007 Liferay, Inc.
JSF Portlet Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission from Liferay, Inc.

2 Objective The goal of this tutorial is to create a Java Server Faces (JSF) Portlet within Liferay Define the portlet portlet.xml liferay-portlet.xml Define the page flow and layout faces-config.xml Create the JSP index.jsp

3 Directory Structure Starting with Liferay version 4.2 we've made it possible to develop portlets in a deployable *.war format. This tutorial will adhere to the specs of this new feature.

4 Directory Structure 1) Go to: 2) Download: “Sample JSF MyFaces Portlet” 3) Change the directory name to: library_jsf_portlet.war 4) This will be a template war that we modify for this tutorial. Copy library_jsf_portlet.war to …ext\portlets

5 Directory Structure Configuration files (*.xml) are located in this directory: …\ext\portlets\library_jsf_portlet.war\WEB- INF JSPs will be placed in this directory: …\ext\portlets\library_jsf_portlet.war

6 web.xml The web.xml is a standard web application descriptor file that is required by any J2EE servlet container such as Tomcat. In this case we have a *.war file that is being deployed onto Tomcat, and the web.xml file describes the portlet application. This configures our JSF implementation as well as the necessary hooks into the portal.

7 web.xml <?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <display-name>library_jsf_portlet</display-name> <context-param> <param-name>company_id</param-name> <param-value>liferay.com</param-value> </context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> <param-name>javax.faces.application.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value>

8 <listener> <listener- class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class> </listener> <listener- class>org.apache.myfaces.webapp.StartupServletContextListener</listener- class> <servlet> <servlet-name>library_jsf_portlet</servlet-name> <servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class> <init-param> <param-name>portlet-class</param-name> <param- value>com.sample.jsfmyfaces.portlet.MyFacesGenericPortlet</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-name>FacesServlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup>

9 <servlet-mapping>
<servlet-name>library_jsf_portlet</servlet- name> <url-pattern>/library_jsf_portlet/*</url-pattern> </servlet-mapping> <servlet-name>FacesServlet</servlet-name> <url-pattern>/faces/*</url-pattern> <taglib> <taglib-uri> <taglib-location>/WEB-INF/tld/liferay- portlet.tld</taglib-location> </taglib> </web-app>

10 portlet.xml The portlet.xml is the portlet descriptor per the JSR-168 spec.

11 portlet.xml <?xml version="1.0"?>
<portlet-app xmlns=" version="1.0" xmlns:xsi=" xsi:schemaLocation=" <portlet> <portlet-name>library_jsf_portlet</portlet-name> <display-name>library_jsf_portlet</display-name> <!--<portlet-class>org.apache.myfaces.portlet.MyFacesGenericPortlet</portlet- class>--> <portlet-class>com.sample.jsfmyfaces.portlet.MyFacesGenericPortlet</portlet- class> <init-param> <name>default-view</name> <value>/index.jsp</value> </init-param> <supports> <mime-type>text/html</mime-type> </supports>

12 <portlet-info>
<title>Library JSF Portlet</title> <short-title>Library JSF Portlet</short-title> <keywords>Library JSF Portlet</keywords> </portlet-info> <security-role-ref> <role-name>guest</role-name> </security-role-ref> <role-name>power-user</role-name> <role-name>user</role-name> </portlet> </portlet-app>

13 liferay-portlet.xml The liferay-portlet.xml contains Liferay- specific configurations

14 liferay-portlet.xml <?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.1.0//EN" " app_4_1_0.dtd"> <liferay-portlet-app> <portlet> <portlet-name>library_jsf_portlet</portlet-name> <instanceable>true</instanceable> </portlet> <role-mapper> <role-name>administrator</role-name> <role-link>Administrator</role-link> </role-mapper>

15 <role-mapper> <role-name>guest</role-name> <role-link>Guest</role-link> </role-mapper> <role-name>power-user</role-name> <role-link>Power User</role-link> <role-name>user</role-name> <role-link>User</role-link> </liferay-portlet-app>

16 liferay-display.xml The liferay-display.xml configured display settings such as which Liferay category this portlet belongs to.

17 liferay-display.xml <?xml version="1.0"?>
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display //EN" " display_4_0_0.dtd"> <display> <category name="category.test"> <portlet id="library_jsf_portlet" /> </category> </display>

18 Create the JSP The next step is to create the JSP
Create index.jsp in the library directory …\ext\portlets\library_jsf_portlet.war\index.jsp Finally, enter “Simple JSF Portlet!” in index.jsp

19 index.jsp taglib uri=" prefix="f" %> taglib uri=" prefix="h" %> <f:view> <h1> <h:outputText value="Simple JSF Portlet" /> </h1> </f:view>

20 Include into the build The next step is to create build file for this portlet. We must add build targets in the build.xml file. Edit build.xml here: …\ext\portlets\

21 build.xml <target name="compile">
<antcall target="compile-module"> <param name="module.name" value="library_jsf_portlet" /> </antcall> </target> <target name="clean"> <antcall target="clean-module">

22 Deploy the Files to Tomcat
Once you have finished modifying all of the files, deploy them to Tomcat Open up a cmd prompt Click “Start”, “Run” and then type “cmd” Navigate to your ext\portlets directory and then type “ant deploy” …\ext\portlets>ant deploy

23 Check the Tomcat Directory
Verify that the files were deployed to Tomcat Go to …\tomcat\webapps\ make sure that library_jsf_portlet was created Next, go to …\tomcat\webapps\library_jsf_portlet\ and open up index.jsp to see that it was deployed correctly

24 Check the Tomcat Directory (p.2)
Go to …\tomcat\webapps\library_jsf_portlet\WE B-INF and open web.xml, portlet.xml, liferay-portlet.xml, faces-config.xml, and liferay-display.xml and check to see that the files were deployed correctly.

25 Final Steps Restart Tomcat
Open up a new browser and type LOGIN: PASSWORD: test Click Add Content  Test Click Library JSF Portlet

26 Revision History Edward Shin 8/28/2006 Updated for Liferay 4.1.1
Jerry Niu 9/5/2006-9/8/2006 Updated copyright, copy edits, liferay-portal-ext slide, final steps slide edit Jerry Niu 9/27/2006 Fixed wrong tomcat deploy path James Min 01/17/2007 Converted for JSF in deployable war format Ivan Cheung 01/30/2007 Added dtd to xml config files


Download ppt "Copyright © Liferay, Inc."

Similar presentations


Ads by Google