Liferay in Action

Liferay in Action

Ever since I first started working for Liferay, I had always planned to release two books: the Liferay Portal Administrator's Guide, and the Liferay Portal Developer's Guide. They were designed to be companion books: one (the Administrator's Guide) would help users get started with Liferay by showing how to install, configure, and use Liferay out of the box. The other (the Developer's Guide) would help developers to use Liferay as a platform to build web sites. I was successful in completing three editions of one of these books: the Administrator's Guide. The other one, though, has been a bit more elusive. If you've read the Administrator's Guide, you've probably even seen the Developer's Guide mentioned in the text. And on more than one occasion, I've had to answer the question, "Where is the Developer's Guide?" 

 
For lots of different reasons, work began on the Developer's Guide, and then it stalled, and then it began again. Part of it is me: I find it a lot easier to write about functionality that the engineers implement than to write my own code and then explain it. Last year, though, I was doing pretty well with it and had hoped to release a "preview" or "rough" version for 5.2. 
 
But now something really exciting has happened. Liferay has partnered with Manning Publications to release Liferay in Action, the official guide to Liferay Portal development! This is a book for Liferay developers which focuses on creating applications and web sites on the Liferay Portal platform, and it fills the same need (and then some) that the Liferay Developer's Guide would have filled. 
 
This book covers portal development on Liferay 6. Though it is still a work in progress, you can get it right now, thanks to Manning's Early Access Program (MEAP). I have been working really hard on it for the past few months, with the desire to deliver the best possible product to Liferay developers who have been waiting so long. If you want the book early or if you feel like you want to help, you can get involved with the book right away by taking advantage of the Early Access Program. You then get the chapters as I deliver them, and can give me feedback on what works and what doesn't. If you want to get involved, head over here: 
 
 
I just want to thank all of you who have been so patient in waiting for this--we've seen your forum posts and are doing the best we can to help. I'm very thankful for Manning and their early access program which allows us to get material to you faster while it's still being produced. My blog has been rather scarce of late, but now that I can finally annouce this, I hope to keep it up to date as a journal of sorts of my progress. So even if you don't want to get involved in the MEAP right away, hopefully I'll be able to give you a bird's eye view of what's going on. 
Blogs
Can I point out that this is the height of irony since version 6, which will create significant changes, will be released soon? It's awesome that you've written it, but now we're going to send you back to your dungeon to crank out all the updates for 6 emoticon

Someone get me that box of twinkies... We need to keep him well fed so that he'll keep working...
Great news.
I hope you will describe all the "little" things like e.g. how to create an indexer, how to get multi-lingual properties in themes/ jsps/ js, how to use AJAX/ alloy-ui/ jsf...
If only some of these topics are covered this is a long-time needed must-have.
Richard,
I think the book is great and am trying to use your examples to get initial familiarization with Liferay development. However I cannot get some things to work within the IDE - chapter 10 edit_category.jsp import statements for instance dont resolve properly

Also in that example are you really using Exapndo services to hold the data (in expando-tables or is it being stored in your own table. I am having problems understanding the expando tags in the jsp's to pass new properties (for Calendar events). The service builder created new table for my data not expando so hoping I can pass regular properties across? If not where can I get info on Exapando tags

Do you have a release date for the next chapter(s)?
Hi Richard - me again.

i just tried to copy the chapter 10 examples to run on 6.0.4 (there is bug in 6.0.5 I want fixed before I move to that).
The service builder builds a completely different set of interfaces so your custom code will never compile.

Have you revisited the code with the newer releases?

I am also puzzled why you use ExpandoAttributes as I can see regular fields using serviceContext.getAttributes(). I cant get Expando to work and again am puzzled about some of the code you have in th e jsp's to try to support it (portlet:namespaces in field names for instance).

Cant wait for the next MEAP release
Dave
Got my copy 2 weeks ago. It's been a great help with a project I'm working on.

Great work!
There are only three usable Liferay related books out there... Liferay in Action, Portlets in Action and the official manual. Thanks!

Will LF in Action cover LF 6.1 as well?