« Retour - Documentation Errata

Errata for the Liferay Portal 5.2 Systems Development

Liferay Book: Liferay Portal 5.2 Systems Development

Preface

in page 4,

Geronimo + T0omcat
should be
Geronimo + Tomcat

Introducing Liferay Portal Architecture and Framework #

Working with JSR-286 Portlets #

ServiceBuilder and Development Environments #

In page 66,

-Xms128m -Xmx1024m -XX:MaxPermSize=128m
should be
-Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT 
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false}}} (refer to http://issues.liferay.com/browse/LPS-4338 )

In page 71,

-Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT
should be
-Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT 
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false}}}

Page 75 says "copy build.${user.name}.properties to the ext project from the portal project". This sentence should be removed, since there is no need to copy build.${user.name}.properties to the ext project from the portal project. It works in Eclipse IDE, but it raises issue in NetBeans.

Page 80, "struts-config.xm" should be "struts-config.xml".

In page 90, "For example, if the plugin is a portlet called ipc-faqportlet, then the plugin context file must be called ipc-faq-portlet.xml," should be "For example, if the plugin is a portlet called ipc-faq-portlet, then the plugin context file must be called ipc-faq-portlet.xml in the folder $PLUGINS_SDK_HOME/portlets/ipc-faq-portlet/,"

Experiencing Struts Portlets #

In pages 95, 101 (and 138, 152, 232, 240, 249, 478), remove following lines

<resource-bundle>
com.liferay.portlet.StrutsResourceBundle </resource-bundle>}}}

When using downloading code, do the same.

The "com.liferay.portlet.StrutsResourceBundle" is no longer in use for portlets as plugins, although it is working fine for portlets in the Ext. Obviously, it does not cause any issues in 5.2; but it will throw exceptions in 5.3 or above.

In page 109,

ActionMapping mapping, ActionForm form, ortletConfig
should be
ActionMapping mapping, ActionForm form, PortletConfig

In page 114,

com.ext.portlet.reports.model.impl
com.ext.portlet.reports.service.base com.ext.portlet.reports.service.http}}} should be
com.ext.portlet.bookreports.model.impl
com.ext.portlet.bookreports.service.base com.ext.portlet.bookreports.service.http }}}

In page 115,

com.ext.portlet.reports.service.impl
com.ext.portlet.reports.service.persistence }}} should be
com.ext.portlet.bookreports.service.impl
com.ext.portlet.bookreports.service.persistence }}}

public static ReportsEntry addBook(ActionRequest req)
should be
public static BookReportsEntry addBook(ActionRequest req)

Page 122, the BookReportsEntry method is missing the “entryId” declaration.

Page 129, "com.ext.portlet.reports.model.ReportsEntry" should be "com.ext.portlet.bookreports.model.BookReportsEntry".

Page 131, “addEntryResources(ReportsEntry book” should be “addEntryResources(BookReportsEntry book".

Page 131, “ReportsEntry.class.getName()” should be “BookReportsEntry.class.getName()”.

Page 141, “portlonfig” should be “portletConfig”.

Page 145, "modifierUserId" is incorrectly typed as a String. It should be a long; and remove the line ‘<column name=”creator” type=”String” />’.

Page 160, "ExtEditLayoutAction.java" should be "ExtEditPagesAction.java".

Page 161, “0extLayout” should be “extLayout”.

Managing Pages #

Customizing the WYSIWYG Editor #

In page 181, "By the way, the default toolbar sets Default and Basic in the /fckconfig.js folder besides the fckconfig.jsp file."

should be

"By the way, the default toolbar sets Default and Basic in fckconfig.js file besides the fckconfig.jsp file."

In pages 181 and 182, "FCKeditor/" should be "fckeditor/";

In page 183, "FCKeditor.jsp" should be "fckconfig.jsp";

/ext/ext-web/docroot/html/js/editor/FCKeditor
should be
/ext/ext-web/docroot/html/js/editor/fckeditor

In page 186, it mentions the theme book-street-theme, but the code is available only in the chapter 9. It should add code about book-street-theme in chapter 6, too.

In page 197 the following line should be removed.

<link href="alternatives.css" type="text/css" rel="stylesheet" />

in page 222, it should add detailed information - how to install cms_sercies.war and bookpub.sql after the line "Note that the default database name is bookpub and the default account on this database is lportal/lportal. MySQL is the default database."

(for cms services)

download cms_services.war at http://liferay.cignex.com/palm_tree/book/
copy cms_sercies.war to the folder $TOMCAT_HOME/webapps

(for database)

download bookpub.sql at http://liferay.cignex.com/palm_tree/book/
mysql>create database bookpub;
mysql>grant all on bookpub.* to 'lportal'@'localhost' identified by 'lportal' with grant option;
mysql>grant all on bookpub.* to 'lportal'@'localhost.localdomain' identified by 'lportal' with grant option;
>mysql -u lportal -plportal -f bookpub <bookpub.sql

Customizing CMS and WCM #

Page 232, the following lines should be removed.

<supports>
<mime-type>application/vnd.wap.xhtml+xml</mime-type> </supports>}}}

Page 233,

<configuration-action-class>
com.portlet.journalcontent.action.ConfigurationActionImpl </configuration-action-class>}}}

should be

<configuration-action-class>
com.liferay.portlet.journalcontent.action.ConfigurationActionImpl </configuration-action-class>}}}

Page 242, the following line should be removed.

GroupLocalServiceUtil.getGroup(groupId);

Page 243, following lines

if(type == null || type.length() == 0){ 
	type = (String) renderRequest.getAttribute("articleType");
}

should be

<%
if(type == null || type.length() == 0){ 
	type = (String) renderRequest.getAttribute("articleType");
}
%>

The download code is correct.

On page 254:

viewFullContentURL.setParameter("urlTitle", articleDisplay.getArticleId());

should be:

viewFullContentURL.setParameter("urlTitle", articleDisplay.getUrlTitle());

In page 253, why do we add this as a comment? it is going to make the form "Add Asset ..." invisible, according to the requirements mentioned in this chapter. You may need this form for your requirements - just uncomment the form.

Page 254, "bstract.jsp" should be "abstract.jsp".

Page 256 , “Create a package named com.ext.portal.service.impl in the /ext/extimpl/ src folder; create a class ExtVelocityToolServiceImpl, and then add service methods implementation as follows:”

should be

“Create a package named com.ext.portal.service.impl in the /ext/extimpl/ src folder; create a class ExtVelocityToolServiceImpl, which implements ExtVelocityToolService, and then add service methods implementation as follows:”

The downloading code is correct like:

public class ExtVelocityToolServiceImpl implements ExtVelocityToolService { ...

Page 263,

public List<TagsAsset> getRelatedArticles(String companyId, String
groupId, String articleId, int limit){
return _extVelocityToolService.getRelatedArticles(companyId,
groupId, articleId, limit);}

should be

Public List<JournalArticle> getRecentArticles(String companyId, String
groupId, String articleId, int limit){
return _extVelocityToolService.getRelatedArticles(companyId,
groupId, articleId, limit);} 

Building a Personalized Community #

In page 312, "Create an XML file service.xml in the package com.ext.portlet.comment and open it." should be "Create an XML file service.xml in the package com.ext.portlet.user and open it."

Developing Layout Templates and Themes #

Building My Social Office #

In pages 377 and 378,

/ext/ext-impl/docroot/html/
should be
/ext/ext-web/docroot/html/
and
/portal/portal-impl/docroot/html/
should be
/portal/portal-web/docroot/html/

In page 388,

"%><p><%= subc1 %></p><p><%= subc3 %></p><p><%= subc3 %></p><%"
should be
"%><p><%= subc1 %></p><p><%= subc2 %></p><p><%= subc3 %></p><%".

The code attached is correct.

In page 390,

"The code above shows registration of the book-street-theme theme"

should be

"The code above shows registration of the so-theme theme"

In page 412, a set of .portal.jsp files cannot be generated in runtime properly. The so-portlet throws exceptions.

<liferay-util:include page="/html/portlet/calendar/
view_event.portal.jsp" />

The same issue exists in the downloading code. This issue will get fixed shortly.

Finally updates of so-portlet and so-theme are available (for 5.2.x) at

http://liferay.cignex.com/palm_tree/book/so-portlet.war

http://liferay.cignex.com/palm_tree/book/so-theme.war

Or use Liferay-portal 5.2.3 plus SO portlet and SO theme from http://liferay.cignex.com/palm_tree/book/liferay-portal-5.2.3-so.zip

Note that the port: 9090; account: admin/admin

Staging and Publishing #

Using Common API #

In pages 476,

/portal/portal-web/docroot/html/portal/enterprise_admin
should be
/portal/portal-web/docroot/html/portlet/enterprise_admin

Additional links:

[Full Integration - Liferay, Alfresco, SSO and LDAP]

[Integrate Solr with Liferay portal]

[Errata for the Liferay Portal 6 Enterprise Intranets]

Moyenne (0 Voter)
L'estimation moyenne est de 0.0 étoiles sur 5.
Commentaires
Réponses Auteur Données
I have to give you major props for writing... Mickey Fox 13 août 2009 06:59
Hi Jonas, there is an issue on page 243 code is... Daniel M Scott 19 août 2009 07:08
Thank you, Daniel. You are right. Just updated... Jonas Yuan 20 août 2009 15:46
On page 253 you advise to add this line as a... Daniel M Scott 24 août 2009 03:05
Thank you, Daniel. The code exists in... Jonas Yuan 26 août 2009 06:18
Where should I post issues related to build... John Joseph Ryan 21 septembre 2009 17:06
Hi John, thank you. You can post the issue at... Jonas Yuan 22 septembre 2009 11:50
at page 109 it is written "ActionMapping... ilke Muhtaroglu 3 novembre 2009 23:05
at Page 115 at section "Creating methods to add... ilke Muhtaroglu 3 novembre 2009 23:05
Thank you, Ilke. Just added this in the Book... Jonas Yuan 9 novembre 2009 17:38
Hello Jonas, there is a typo on page 233.... Nischala Kale 7 janvier 2010 13:13
Thank you, Nischala. Just added this in the... Jonas Yuan 7 janvier 2010 15:55
According to your book Liferay 5.2 development... Hermann yao 12 février 2010 07:53
Hi Hermann, thank you. Could you please list... Jonas Yuan 13 février 2010 08:08
It is in Chapter 4. Precisely in the part... Hermann yao 16 février 2010 02:24
I wanted to say thank you very much instead of... Hermann yao 19 février 2010 03:45
Thank you, Hermann. This is interesting. I... Jonas Yuan 23 février 2010 07:31
Not sure if anyone is answering this still. But... William B 21 juillet 2010 06:16
page 379, in Liferay 5.2.3 the first line of... jm mayer 28 juillet 2010 07:48
Hi Jonas, On page 254: ... Diego Ballve 5 août 2010 05:06
one more, errata on errata: on page 263 ... Diego Ballve 5 août 2010 05:42
Thanks, Diego. Jonas Yuan 21 décembre 2010 08:08

I have to give you major props for writing these books for such a dynamic and evolving project. In fact, I am quite amazed at the brevity of the errata sheet.

Technical writing is difficult enough to begin with. Good Job!

Kudos Jonas.
Publié le 13/08/09 06:59.
Hi Jonas, there is an issue on page 243 code is written as:

<%@ include file="/html/portlet/journal_articles/init.jsp" %>
if(type == null || type.length() == 0){
type = (String) renderRequest.getAttribute("articleType");
}

However i believe it should be:
<%@ include file="/html/portlet/journal_articles/init.jsp" %>
<% if(type == null || type.length() == 0){
type = (String) renderRequest.getAttribute("articleType");
}%>

Otherwise the if statment appears as text in the top of the ext web content list.
Publié le 19/08/09 07:08.
Thank you, Daniel. You are right. Just updated the same in book wiki page.
Publié le 20/08/09 15:46 en réponse à Daniel M Scott.
On page 253 you advise to add this line as a commnet
<!-- <%@ include file="/html/portlet/ext/asset_publisher/add_asset.jspf" %> -->

However this file doesnt exist in the ext asset_publisher structure so the page isnt found and throws an error in the code when watching via tomcat, why do we add this as a comment? and can you let me know how to fix the issue.
Publié le 24/08/09 03:05.
Thank you, Daniel. The code exists in downloaded code.

Why do we add this as a comment? it wants to make the "Add Asset ..." invisible, according the requirements mentioned in this chapter. You may need this form for your requirements - just uncomment the form.
Publié le 26/08/09 06:18 en réponse à Daniel M Scott.
Where should I post issues related to build errors of the code that comes with the book.
My issue is related to user permissions.
Publié le 21/09/09 17:06.
Hi John, thank you. You can post the issue at blogs: http://www.liferay.com/web/jonas.yuan/blog/-/blogs/liferay-book%3A-liferay-porta­l-5-2-systems-development, or in forums; I will follow up your post. Please inform me your posts :-).
Publié le 22/09/09 11:50 en réponse à John Joseph Ryan.
at page 109 it is written "ActionMapping mapping, ActionForm form, ortletConfig" "ortletConfig" should be "PortletConfig" ;)
Publié le 03/11/09 23:05.
at Page 115 at section "Creating methods to add and retrieve records" the method addBook is expected to return ReportsEntry but it returns BookReportsEntry ! the method signature should be corrected to according to the returned type BookReportsEntry !! Otherwise the Type ReportsEntry is from other reports portlet Project !
Publié le 03/11/09 23:05.
Thank you, Ilke. Just added this in the Book errata page.
Publié le 09/11/09 17:38 en réponse à ilke Muhtaroglu.
Hello Jonas, there is a typo on page 233.
<configuration-action-class> should be
com.liferay.portlet.journalcontent.action.ConfigurationActionImpl

The book is missing the 'liferay' part in the package declaration.

Thanks
Nischala
Publié le 07/01/10 13:13.
Thank you, Nischala. Just added this in the Book errata page.
Publié le 07/01/10 15:55 en réponse à Nischala Kale.
According to your book Liferay 5.2 development system in Chapter 4. The tutorial explains that any user can not add book above button to add book is not visible at the Home of Portal. But, when he seized the title and he valid entry with the key. The recording is actually registered. how I can fix this bug?
Thank you
Publié le 12/02/10 07:53 en réponse à Jonas Yuan.
Hi Hermann, thank you. Could you please list the page numbers? Thus make sure that we are in the same page. Thanks, Jonas.
Publié le 13/02/10 08:08 en réponse à Hermann yao.
It is in Chapter 4. Precisely in the part dealing with permissions (beginning page 126 to page 131). Also, in the erratum you say " in pages 95, 101 (and 138, 152, 232, 240, 249, 478), remove following lines : <resource-bundle>
com.liferay.portlet.StrutsResourceBundle
</resource-bundle> without problem. This is not true in my case. When I remove these lines from my portlet-ext.xml. The portlet titles of all concerned become null in the frontend. Think very much. i would like to became Jedi here. lol
Publié le 16/02/10 02:24 en réponse à Jonas Yuan.
I wanted to say thank you very much instead of think vey much. My mother tongue is French
Publié le 19/02/10 03:45 en réponse à Hermann yao.
Thank you, Hermann. This is interesting. I should update the same same in the book Wiki page.
Publié le 23/02/10 07:31 en réponse à Hermann yao.
Not sure if anyone is answering this still.
But on page 115 (chap4), advanced struts portlet, the query to create the table doesn't contain the "UserName" column... but it's refered to in all the other files...
Publié le 21/07/10 06:16 en réponse à Jonas Yuan.
page 379, in Liferay 5.2.3 the first line of the sample code doesn't work as the method getManageableOrganizations is no longer a method.
Publié le 28/07/10 07:48.
Hi Jonas,

On page 254:
viewFullContentURL.setParameter("urlTitle", articleDisplay.getArticleId());
should be:
viewFullContentURL.setParameter("urlTitle", articleDisplay.getUrlTitle());

br, Diego
Publié le 05/08/10 05:06.
one more, errata on errata: on page 263
public List<TagsAsset> getRelatedArticles(...)
Do not change it. Method signature is correct even though method name is missleading. VM template expects TagAsset.
Publié le 05/08/10 05:42 en réponse à Diego Ballve.
Publié le 21/12/10 08:08 en réponse à Diego Ballve.