satya - Wednesday, October 04, 2006 4:09:12 PM
Developers guide
satya - Wednesday, October 04, 2006 4:09:52 PM
Docs
satya - Wednesday, October 04, 2006 4:50:43 PM
ibms docs on portlets
satya - Friday, October 06, 2006 4:27:59 PM
After downloading...
. Comes with a version that is pre bundled with tomcat 1.5
. Un zip it
. Set java_home to your jdk 15
. Run the startup.bat in the bin directory
. There is no separate installation program that I could find out.
satya - Friday, October 06, 2006 4:28:53 PM
The initial url
http://localhost:8080
satya - Friday, October 06, 2006 4:30:13 PM
First userid/password
test@liferay.com/test
satya - Friday, October 06, 2006 7:35:42 PM
Understand liferay's extension enviornment
Understand liferay's extension enviornment
satya - Friday, October 06, 2006 7:36:13 PM
Understand ant
Understand ant
satya - Friday, October 06, 2006 7:36:36 PM
Understand the interaction between ant and eclipse
Understand the interaction between ant and eclipse
satya - Saturday, October 07, 2006 7:02:25 AM
Details of the jsr 168 spec
satya - Saturday, October 07, 2006 7:07:37 AM
Overview of jsr 168 specification
- JSR 168 - Build JSR 168-Compliant Portlets Now! - Sample Portlet Code - Related Content - Introductory pdf article on how to write jsr 168 portlets
satya - Saturday, October 07, 2006 8:00:13 AM
Understand pluto architecture...
Might be key to understanding portlet architecture. Especially how they are deployed etc.
satya - Saturday, October 07, 2006 8:02:56 AM
How are portlets deployed?
They seem to encourage deployment as war files. How are these wars different from servlet wars? Can you manually copy the war files? Can they share session?
satya - Saturday, October 07, 2006 9:35:10 AM
liferay wiki
Hoping I can find out what the architecture for groups is
satya - Saturday, October 07, 2006 10:20:18 AM
Are groups part of portlet spec?
Are groups part of portlet spec?
satya - Saturday, October 07, 2006 10:20:36 AM
What is the data model for Liferay groups?
What is the data model for Liferay groups?
satya - Saturday, October 07, 2006 12:33:15 PM
Search liferay discussion forums
satya - Saturday, October 07, 2006 12:41:07 PM
Data model for liferay
satya - Saturday, October 07, 2006 2:05:44 PM
How do I undeploy or uninstall a portlet war?
How do I undeploy or uninstall a portlet war?
satya - Saturday, October 07, 2006 2:12:09 PM
What is auto deploy scanner?
What is auto deploy scanner? What is the hot deploy directory?
satya - Sunday, October 08, 2006 9:09:01 AM
Can I add a portlet twice? if so how?
Can I add a portlet twice? if so how?
satya - Sunday, October 08, 2006 9:09:23 AM
Can preferences be automatically edited?
Can preferences be automatically edited?
satya - Sunday, October 08, 2006 9:15:42 AM
Do some research on portal-ext.properties
Do some research on portal-ext.properties
satya - Sunday, October 08, 2006 9:20:09 AM
Also have to figure out how the security works
Also have to figure out how the security works
satya - Sunday, October 08, 2006 10:29:25 AM
How can you isolate the portal for portlets completely?
How can you isolate the portal for portlets completely? Or how can you abstract the portal information into a java api and then provide an implementation for each portatl.
satya - Sunday, October 08, 2006 1:19:11 PM
How can I find the currently logged in user
satya - Sunday, October 08, 2006 1:28:22 PM
How does request/response objects differ on the jsp page?
When a request and response are transferred to the jsp page, how do they differ? What additional objects are there on the page?
satya - Sunday, October 08, 2006 3:49:36 PM
How to remove a portlet?
it seem to cache stuff.
satya - Monday, October 09, 2006 8:02:49 AM
Nature of a portlet session
public interface PortletSessionThe PortletSession interface provides a way to identify a user across more than one request and to store transient information about that user.
A PortletSession is created per user client per portlet application.
A portlet can bind an object attribute into a PortletSession by name. The PortletSession interface defines two scopes for storing objects:
APPLICATION_SCOPE PORTLET_SCOPE
All objects stored in the session using the APPLICATION_SCOPE must be available to all the portlets, servlets and JSPs that belongs to the same portlet application and that handles a request identified as being a part of the same session. Objects stored in the session using the PORTLET_SCOPE must be available to the portlet during requests for the same portlet window that the objects where stored from. Attributes stored in the PORTLET_SCOPE are not protected from other web components of the portlet application. They are just conveniently namespaced.
The portlet session is based on the HttpSession. Therefore all HttpSession listeners do apply to the portlet session and attributes set in the portlet session are visible in the HttpSession and vice versa.
Read more here
http://portals.apache.org/pluto/multiproject/portlet-api/apidocs/
satya - Friday, October 13, 2006 12:52:07 PM
Problem with portlet preferences (reloading of them especially)
Problem with portlet preferences (reloading of them especially)
satya - Friday, October 13, 2006 12:54:37 PM
Anothe interesting discussion on adding a portlet multiple times
http://www.liferay.com/web/guest/devzone/forums/message_boards/message/4628
satya - Friday, October 13, 2006 1:00:21 PM
liferay copies stuff from portlet.xml into a data base
This means the preferences are cached. You can change the portlet.xml. But to no avail.
Apparently you can delete the portlet preferences table and restart liferay to have the changes take affect.
Apparently you can not add multiple instances. A future version is expected to do this.
satya - Friday, October 13, 2006 1:06:27 PM
A note on undeploying portlets
satya - Friday, October 13, 2006 1:21:21 PM
Will reset work for resetting the preferences?
satya - Friday, October 13, 2006 1:25:01 PM
Viewing hypersonic database of liferay
satya - Friday, October 13, 2006 1:43:12 PM
What is the nature of hypesonic database?
Is it in memory?
satya - Friday, October 13, 2006 2:26:24 PM
How do you enable edit preferences?
How do you enable edit preferences?
satya - Wednesday, October 18, 2006 11:06:29 AM
Name conflicts in request parameters and attributes?
Name conflicts in request parameters and attributes?
satya - Thursday, October 19, 2006 11:33:19 AM
Namespace..will this work
URIs, HTML element name attributes, and JavaScript resources must be namespace-encoded. Since portlets can exist on a page, and it is possible that more than one portlet will produce content with likenamed elements, there is a risk of namespace collision between elements, causing functional problems the page. Use the portlet:namespace tag to encode such resources with the portlet instance name.
But what about url parameters into the portlet? Why is that not mentioned?
satya - Thursday, October 19, 2006 11:49:01 AM
More on namespace stuff...
The Java Portlet Specification introduces the term Portlet Window. It is defined as a means to include more than one portlet, maybe even the same, multiple times on a page. The window is the view into the portlet. More information on portal pages and portlet windows can be found in Section 2.2. Technically, the portlet windows allow us to scope all available data of a portlet and ultimately assign it to one specific window. This allows the user to put the same portlet more than once on her pages without the portlet window A overwriting the state of portlet window B. The data scoped by the portlet window are:
PortletSession Navigational state
You can find a more detailed discussion about the different portlet states and data in Section 2.4.1. In addition, a portlet can access a request scoping via the PortletResponse.getNamespace() method. This is supposed to be used from a portlet to guarantee that returned markup will be unique on a page. For example, you could access a namespace to prefix a JavaScript method, but if you have the same portlet twice on a page, JavaScript would generate a duplicate method name. For all cases, you can use the ExternalContext from JSF to get to the respective objects such as PortletSession or PortletResponse, which then in turn automatically scope your data. The following listing shows how this is achieved when you have a FacesContext at hand. If you do not have a faces context you can use the static getCurrentInstance() method to get a handle of it.
ExternalContext extCtx = facesContext.getExternalContext(); RenderRequest request = (RenderRequest)extCtx.getRequest(); RenderResponse response = (RenderResponse)extCtx.getResponse(); PortletSession session = Request.getPortletSession(); String prefix = response.getNamespace();
Please note, that there is a slight misalignment between the Java Portlet Specification and JSF in this regard. In a lot of cases JSF tags write JavaScript methods into the output stream but will not leverage the getNamespace() method in the portlet scenario. As a result a JSF portlet cannot be displayed more than once on a page. To overcome this problem, it might be possible to namespace the id attributes of all JSF tags that write JavaScript into the response stream. This is possible because JSF uses the id of the actual UI element to namespace the JavaScript method.
satya - Thursday, October 19, 2006 11:56:52 AM
See what this api says...
Only parameters targeted to the current portlet are accessible.
satya - Thursday, October 19, 2006 12:03:48 PM
PLT.11.1.1 Request Parameter s
If a portlet receives a request from a client request targeted to the portlet itself, the 10 parameters must be the string parameters encoded in the URL (added when creating the PortletURL) and the string parameters sent by the client to the portlet as part of the client request.xlviii The parameters the request object returns must be "x-www-formurlencoded" decoded.xlix
The portlet-container must not propagate parameters received in an action request to 15 subsequent render requests of the portlet.l If a portlet wants to do that, it can use render URLs or it must use the setRenderParameter or setRenderParameters methods of the ActionResponse object within the processAction call. If a portlet receives a render request that is the result of a client request targeted to another portlet in the portal page, the parameters must be the same parameters as of the 20 previous render request.li
If a portlet receives a render request following an action request as part of the same client request, the parameters received with render request must be the render parameters set during the action request.lii
Commonly, portals provide controls to change the portlet mode and the window state of 25 portlets. The URLs these controls use are generated by the portal. Client requests triggered by those URLs must be treated as render URLs and the existing render parameters must be preserved.liii
A portlet must not see any parameter targeted to other portlets.liv
See on page 44 of the spec
satya - Saturday, October 21, 2006 11:55:37 AM
Are the init parameters cached as well?
Are the init parameters cached as well?
satya - Saturday, October 21, 2006 12:30:43 PM
How to check liferay log files?
How to check liferay log files?
satya - Saturday, October 21, 2006 2:15:04 PM
How could I use portlet urls from plain html?
How could I use portlet urls from plain html?
satya - Sunday, October 22, 2006 7:49:45 AM
Are there any javascript routines that can construct these urls?
Are there any javascript routines that can construct these urls?
satya - Sunday, October 22, 2006 8:21:58 AM
Some more notes on render urls
satya - Sunday, October 22, 2006 8:23:17 AM
url parameters on a render url are prefixed or encoded for uniqueness
As can be seen from the above link the url parameters are uniquely encoded with the portlet instance id.
This answers the parameter question raised above.
satya - Sunday, October 22, 2006 9:09:00 AM
See how to get the user_info from portlet request
satya - Sunday, October 22, 2006 8:37:33 PM
what are liferay jar files to compile with?
what are liferay jar files to compile with?
satya - Monday, October 23, 2006 9:04:42 PM
Can a jar file say it depends on something else inside the jar file?
Can a jar file say it depends on something else inside the jar file?
satya - Monday, October 23, 2006 9:06:35 PM
Looks like as a result you will also need the commons lang.jar
Looks like as a result you will also need the commons lang.jar
satya - Monday, October 23, 2006 9:06:47 PM
What is the commons lang used for?
What is the commons lang used for?
satya - Wednesday, October 25, 2006 11:58:08 AM
The form needs to be a
The form needs to be a "post" to call actionURL
satya - Wednesday, October 25, 2006 11:59:09 AM
An ActionRequest could be a RenderRequest as well
An ActionRequest could be a RenderRequest as well. See if you are assuming that an "actionRequest" can not be a "renderRequest" underneath. More on this later.
satya - Monday, October 30, 2006 10:09:38 PM
Extending liferay tables
One of the most common needs of users of Liferay is to extend certain functionality for their needs. this article will cover extending the user table to accept their hometown newspaper. Clearly this is just an example, and could be changed to include the name of their spouse, dog, cat, or whatever is wanted.
satya - Monday, October 30, 2006 10:10:25 PM
Overview above
The idea here is to create a new table which has your custom field(s) for the user table. If you are adding hometown newspaper for example, you would create a new table in the Liferay database that has a unique id column, your hometown newspaper column, and a reference to the user that is associated with this data.
You can do this by running our service builder to create the extended user class, and then in the LocalServiceImpl file you would add the data you needed to the extra table.
satya - Thursday, November 02, 2006 6:42:00 AM
understand xdoclet technology
understand xdoclet technology
satya - Thursday, November 02, 2006 6:44:29 AM
Read the architecture and document their generated classes in your own terms
Read the architecture and document their generated classes in your own terms
satya - Thursday, November 02, 2006 6:50:08 AM
Installing liferay on mysql
satya - Friday, November 10, 2006 2:16:43 PM
why does this happen?
19:14:33,715 ERROR [velocity:143] Method processColumn threw exception for ref ence $processor in template com.liferay.portlet.layoutconfiguration.util.Runti PortletUtil at [15,65]