Share

RenderRequest Vs ActionRequest

In this section we will see how to add set of "actions" embedded within the search container in every row. The following code snippet is responsible for rendering the actions menu button  




<liferay-ui:icon-menu>
    <liferay-ui:icon image="edit" message="Update Status"  url="<%=updateStatusURL%>" />
    <liferay-ui:icon image="permissions" message="Update Worklog" url="<%=updateWorklogURL%>" />
 </liferay-ui:icon-menu>          
 
 







This is two step process
  Define render url
  Create a actions menu

In the above snippet i defined a two render urls named updateStatusURL and updateWorklogURL.So when i click on Update Status action menu button it will navigate to the repective page defined in updateStatusURL render url variable. Same thing will happen for Update Worklog also.

Compare between JSR-168 and 286

In this section we will see how to add set of "actions" embedded within the search container in every row. The following code snippet is responsible for rendering the actions menu button  




<liferay-ui:icon-menu>
    <liferay-ui:icon image="edit" message="Update Status"  url="<%=updateStatusURL%>" />
    <liferay-ui:icon image="permissions" message="Update Worklog" url="<%=updateWorklogURL%>" />
 </liferay-ui:icon-menu>          
 
 







This is two step process
  Define render url
  Create a actions menu

In the above snippet i defined a two render urls named updateStatusURL and updateWorklogURL.So when i click on Update Status action menu button it will navigate to the repective page defined in updateStatusURL render url variable. Same thing will happen for Update Worklog also.

Anatomy of Portlet

In this section we will see how to add set of "actions" embedded within the search container in every row. The following code snippet is responsible for rendering the actions menu button  




<liferay-ui:icon-menu>
    <liferay-ui:icon image="edit" message="Update Status"  url="<%=updateStatusURL%>" />
    <liferay-ui:icon image="permissions" message="Update Worklog" url="<%=updateWorklogURL%>" />
 </liferay-ui:icon-menu>          
 
 







This is two step process
  Define render url
  Create a actions menu

In the above snippet i defined a two render urls named updateStatusURL and updateWorklogURL.So when i click on Update Status action menu button it will navigate to the repective page defined in updateStatusURL render url variable. Same thing will happen for Update Worklog also.

Liferay Portal folder structure and their contents


Folder
Details
Benchmarks
Contains the script for testing the performance of Liferay portal using a tool called Grinder
Classes
Contains the compiled class files.Not signficant
Definitations
Contains the DTD files for the various XML files that are used by the Liferay. All  previous version of files are also maintained for backward compatibility.The DTD files present insidethis folder are for following types of XML files

  1.          Liferay-display.xml
  2.          Liferay-friendly-url-routes.xml
  3.          Liferay-hook.xml
  4.          Liferay-layout-templates.xml
  5.          Liferay-look-and-feel.xml
  6.          Liferay-plugin-package.xml
  7.          Liferay-plugin-repository.xml
  8.          Liferay-portlet.xml
  9.          Liferay-portlet-app.xml
  10.          Liferay-resource-action-mapping.xml
  11.          Liferay-service-builder.xml
  12.          Liferay-social.xml
  13.           Liferay-theme-loader.xml
  14.           Liferay-workfloe-definitation.xml
Lib
Contains all the jar files required for development ,global and portal.To understand the difference between the these jar file read the Readme.txt file and versions.html file to know about the versions of each jar


nbProject
A folder created by NetBeans IDE.you can ignore this
Portal-client
Contains all generated webservices stubs that will be used by any client application inorder to make a SOAP based webservice call to Liferay.
Portal-impl
This contains the implementation classes of all portal and portlet functionalities
Portal-service
Contains mostly the files generated by the Service Builder
Portal-web
Contains all css,images,theme related files,JSP Files and taglib JSP for various portal features and portlets that come bundled with Liferay
Sql
Contains various migration scripts for migrating lIferay from one version to another  version.
Support tomact
To support tomcat class lodaing feature
Tools
Maven
Putty
Jalopy
Selenium
YUI Compressor
Grinder

Util-bridges
Contains portlet connectors for various fameworks and technologies.Some of bridges are javascript,ruby and php
Util-java
Most commonly used classes
Util-taglib
Contains the tag handler files for thevarious taglibs that comes bundled with Liferay.
Reference cookbook

Pre Installed portlets In Liferay


Portlets and Features

  1. Tags and Categories
  2. Document Library/Recent Documents
  3. Document and Image Management
  4. Page Ratings and Flagging
  5. Blogs and Blog aggregation
  6. Chat and Forums
  7. Polls and Poll display
  8. Social Equity
  9. Web Content and Site Map
  10. Website Tools
  11. Software catlog
  12. Calendar and Events
  13. Mail and Personal Messaging
  14. Wiki and Knowledge Base
  15. Themes and Layouts


  16. Assets Publishing

Integrations

  1. WebDav Integration
  2. LDAP Integration
  3. CMIS integrations

Portelt Introduction


Portlets are pluggable user interface components that are managed and displayed in a web portal.If you are aware of servlets, then you should know similarities between Servlet and Portlet
.

Similarities between servlets and portlets

  1. Both servlets and portlets use the web.xml as deployment descriptor.However,Portlets have an additional deployment descriptor portlet.xml to define the portlets.
  2. Portlets have Context interface which allows developer to access the Portlet application under which portlet is running.This is similar to Servlet’s context interface.
  3. Portlets have their own config  object,PortletConfig, Which can be used to access the properties with in portlet.xml.This is also like ServletConfig.
  4. Listeners and Wrappers used by the portlets are still declared in a web.xml for both.
  5. Both Lifecycle’s managed by containers only(PortletContainer,ServletContainer)
  6. Both produces the dynamic content.
  7. Both interact with Web client via request,response paradigm.
  8. Instead of HttpServletRequest and HttpServletResponse object,Portlet expect ActionRequest or RenderRequest object and ActionResponse or  RenderResponse.

Different from Servlets

  1. Portlets generate markup fragments,not complete documents.
  2. Portlets are not directly URL accessible.We can access the portal URL containing the portlet.
  3. Portlet can’t generate arbitrary content,since the content generated by portlet is going to be part of Portal page.If server asking for html/text then all portlets should generate html/text content.If it asks WML then all should generate WML.