I would like to thank all team members at Liferay; especially Raymond Auge, Brian Chan, Jorge Ferrer, Michael Young, Bryan Cheung, Jerry Niu, Ed Shin, Craig Kaneko, Brian Kim, Bruno Farache, Thiago Moreira, Amos Fong, Scott Lee, David Truong, Alexander Chow, Mika Koivisto, Julio Camarero, Douglas Wong, Ryan Park, Eric Min, John Langkusch, Marco Abamonga, Ryan Park, Eric Min, John Langkusch, Marco Abamonga, Michael Han, Samuel Kong, Nate Cavanaugh, Arcko Duan, Richard Sezov, Joshua Asbury, Shuyang Zhou, Michael Saechang, Juan Fernández, James Falkner, Olaf Kock, Zsolt Berentey, Dennis Ju, Sergio Gonzalez, Zsolt Balogh, Jonathan Mak, Eduardo Lundgren, Iliyan Peychev, Bruno Basto, Jonathan Lee, Aaron Delani, and Angelo Jefferson of Liferay for providing all the support and valuable information. Much thanks to all my friends in the Liferay community.
I sincerely thank and appreciate Sarah Cullington and Hyacintha D'Souza, Acquisition Editor and Lead Technical Editor respectively at Packt Publishing for criticizing and fixing my writing style. Thanks to Joel Goveya, Sakina Kaydawala, Azharuddin Sheikh, Ankita Shashi, Manasi Poonthottam, and the entire team at Packt Publishing; it is really joyful to work with them.
Last but not least, I would like to thank my parents and my wife, Linda, for their love, understanding, and encouragement. My special thanks to my wonderful and understanding kid, Josua.