« Torna a 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]

0 Allegati
62779 Visualizzazioni
Media (0 Voti)
La media del punteggio è 0.0 stelle su 5.
Commenti
Commenti Autore Data
I have to give you major props for writing... Mickey Fox 13 agosto 2009 6.59
Hi Jonas, there is an issue on page 243 code is... Daniel M Scott 19 agosto 2009 7.08
Thank you, Daniel. You are right. Just updated... Jonas Yuan 20 agosto 2009 15.46
On page 253 you advise to add this line as a... Daniel M Scott 24 agosto 2009 3.05
Thank you, Daniel. The code exists in... Jonas Yuan 26 agosto 2009 6.18
Where should I post issues related to build... John Joseph Ryan 21 settembre 2009 17.06
Hi John, thank you. You can post the issue at... Jonas Yuan 22 settembre 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 gennaio 2010 13.13
Thank you, Nischala. Just added this in the... Jonas Yuan 7 gennaio 2010 15.55
According to your book Liferay 5.2 development... Hermann yao 12 febbraio 2010 7.53
Hi Hermann, thank you. Could you please list... Jonas Yuan 13 febbraio 2010 8.08
It is in Chapter 4. Precisely in the part... Hermann yao 16 febbraio 2010 2.24
I wanted to say thank you very much instead of... Hermann yao 19 febbraio 2010 3.45
Thank you, Hermann. This is interesting. I... Jonas Yuan 23 febbraio 2010 7.31
Not sure if anyone is answering this still. But... William B 21 luglio 2010 6.16
page 379, in Liferay 5.2.3 the first line of... jm mayer 28 luglio 2010 7.48
Hi Jonas, On page 254: ... Diego Ballve 5 agosto 2010 5.06
one more, errata on errata: on page 263 ... Diego Ballve 5 agosto 2010 5.42
Thanks, Diego. Jonas Yuan 21 dicembre 2010 8.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.
Inviato il 13/08/09 6.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.
Inviato il 19/08/09 7.08.
Thank you, Daniel. You are right. Just updated the same in book wiki page.
Inviato il 20/08/09 15.46 in risposta a 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.
Inviato il 24/08/09 3.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.
Inviato il 26/08/09 6.18 in risposta a 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.
Inviato il 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 :-).
Inviato il 22/09/09 11.50 in risposta a John Joseph Ryan.
at page 109 it is written "ActionMapping mapping, ActionForm form, ortletConfig" "ortletConfig" should be "PortletConfig" ;)
Inviato il 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 !
Inviato il 03/11/09 23.05.
Thank you, Ilke. Just added this in the Book errata page.
Inviato il 09/11/09 17.38 in risposta a 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
Inviato il 07/01/10 13.13.
Thank you, Nischala. Just added this in the Book errata page.
Inviato il 07/01/10 15.55 in risposta a 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
Inviato il 12/02/10 7.53 in risposta a 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.
Inviato il 13/02/10 8.08 in risposta a 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
Inviato il 16/02/10 2.24 in risposta a Jonas Yuan.
I wanted to say thank you very much instead of think vey much. My mother tongue is French
Inviato il 19/02/10 3.45 in risposta a Hermann yao.
Thank you, Hermann. This is interesting. I should update the same same in the book Wiki page.
Inviato il 23/02/10 7.31 in risposta a 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...
Inviato il 21/07/10 6.16 in risposta a 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.
Inviato il 28/07/10 7.48.
Hi Jonas,

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

br, Diego
Inviato il 05/08/10 5.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.
Inviato il 05/08/10 5.42 in risposta a Diego Ballve.
Inviato il 21/12/10 8.08 in risposta a Diego Ballve.