Hey everyone,
I am happy to let you know that the new edition of the guide has just been published in the documentation section of the site:
http://www.liferay.com/documentation/liferay-portal/6.0/developmentI am writing a blog entry to let the whole community know but I am letting you know first just in case you find any major issue. Note that the PDF has not been uploaded as I am writing this, but may be already there by the time you read it. Just make sure you double check if you download it (the easiest way is to check the description of changes in the preface).
I have tried my best to apply as much of the feedback that I have received as possible both in this thread and from internal reviewers within the company. Of course all typos have been fixed. Here are some specific comments:
Tomas Polesovsky:
I think it would be nice to write also something about Liferay Maven SDK as an alternative to Plugins SDK (maybe Mika could help?
Yeah, that's a good idea. I haven't had time to add that for this edition (I didn't want to delay it too much). But I have already emailed Thiago and Mika and we will be writing a new chapter for Maven for the next edition.
Tobias S. Käfer:
Tomas Polesovsky:
show Liferay sources organization and basic rules. I mean, every developer sooner or later gets to look into the sources and for a newbie it can be hard to find out the structure of the sources. I can image short paragraph describing directories within sources (portal-impl & portal-service), basic packages (portal & portlets) and what are main classes (MainServlet, ServicePreAction, LayoutAction ...).
I totally agree to this one.
I think it would also be good to explain the differences of portal-impl.jar and portal-service.jar: When they are available, which purposes they have and so on.
Yeah, that's a great idea. Thinking about it further my suggestion would be to create a new chapter called "Becoming an expert: learning how Liferay is built". This chapter will contain sections for:
- A description of Liferay's architecture
- A more detailed description of the libraries and frameworks used to build Liferay and why they have been chosen. Note that I have removed the section called "Core technologies" from the Introduction because I got feedback from two different people (Tobias and Daniel) that made me think that it was more confusing than helpful the way it was.
- A description of the structure of the code and its modules (portal-impl, portal-service, ...)
- A description of the conventions followed in the source code
- Details about how to become a contributor to the core
- More?
Tobias S. Käfer:
After all, the document is quite helpful, if you know what you want to do. I have seen a lot of forum posts like this "I have a big project to be handled, where should I start".
Maybe some of them are trying to get someone else to do the job, but others might be confused of the possibilites, a very recent example:
In the German forum category, there was someone trying to change the layout of the portlet area, by not using a custum layout, but by creating a custom theme.
So I think there should be a document or quide line for newbies, that help them to find the right tool for the right purpose.
This comment and a similar one from Daniel (a core engineer from our office in Madrid) made me think a lot. I think that the Developer's guide should be also for beginners. In fact it will probably be the first thing they read about development for Liferay (unless they go through training first) so it should guide them through the different options.
As a result of all this I decided to rewrite the Introduction from scratch to make sure we achieved that. I reused some of the text but wrote almost as much and restructured it. I hope that you like it. If you have comments that would make this introduction even more helpful to newbies please let me know.
Yousri BENDIABDALLAH:
I remark that it lacks a chapter on creating Layout, with an example
Yousri, I am not entirely sure what you mean by that. Do you mean how to create a new layout type? Or rather, how to create a new page programmatically?
That's it for now. I have uploaded a new
annotated PDF that highlights the changes to the version that James attached so that those of you who have reviewed it can see the result of your comments

Again, thanks a lot to everyone for your comments so far. Please keep them coming so that we know what is most important for you for the next edition.
Be kell jelentkezni ahhoz, hogy ez helytelenként legyen megjelölve.