close


Errata for Professional Plone Development print this errata


page 0 130 02 May 08
However, like the login-related templates alrealdy mentioned,.... 'alrealdy' is wrongly spelled. It should be 'already'
 
page 0 Code bundle 21 Oct 09
Filename optilux-tetstdata.sql is misspelled. It should be optilux-testdata.sql.
 
page 10 Typo 02 May 08
Currently he works is an independent consultant, specializing in Zope and Plone. 'is' should be replaced by 'as' as follows: Currently he works as an independent consultant, specializing in Zope and Plone.
 
page 17 Code 03 Apr 09
Missing apostrophe (') on line 3 at the end of the define procedure.
 
page 23 Typo 02 May 08
Multiplicity between Staff-Cinema should be *->*, not 1->n
 
page 28 Technical 06 Apr 09
You should not be root when running paster if you don't intend to be root when running Zope, and if you are running Zope as root, you need to set an effective-user.
 
page 28 Code 06 Apr 09
# python ez_setup.py $ easy_install ZopeSkel should read: # python ez_setup.py # easy_install ZopeSkel
 
page 58 Typo 10 Feb 09
Third paragraph: "An install.py script may contain[...]" should read "An Install.py script may contain[...]"
 
page 63 Typo 25 Oct 07
In the second paragraph a URL is cited (/some-folder/some-content/@@list-contents), but the following text has a typo: If the some-context object... The correct text would be: If the some-content object...
 
page 63 Typo 03 Apr 09
First line of second paragraph the URL should read like /some-folder/some-context/[...] as opposed to /some-folder/some-content/[...] as some-context is referred to later on
 
page 66 Broken Code 25 Oct 07
In code example in class declaration TestDocuments in method definition testSetTitle in line: self.assertEquals("New title", self.folder.d1.Title() assertEquals method called without close parenthesis. The correct code is: self.assertEquals("New title", self.folder.d1.Title())
 
page 67 Code 03 Apr 09
value = getattr(self, '_val', None) should be: old_val = getattr(self, '_val', None)
 
page 71 Code Format 16 Oct 07
In "Creating an Extension Profile" the 4th line of code should be bold since it is a change (addition) to the boilerplate code. The code will not run without this addition. xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
 
page 72 Code 06 Apr 09
In addition to making the "tests" directory, creating the "tests/__init__.py" file to make it a module, the existing "tests.py" file should be removed. Full sequence: $ cd src/optilux.policy/optilux/policy $ mkdir tests $ touch tests/__init__.py $ rm tests.py
 
page 85 Typo 03 Apr 09
2nd bullet point: In the line "Quite a few permissions that normally apply to logged in uses are given to this role, ....", "uses" should be "users".
 
page 98 Code 06 Apr 09
The code snippet def test_role_added(self): self.failUnless("StaffMember", self.portal.validRoles()) should be: def test_role_added(self): self.failUnless("StaffMember" in self.portal.validRoles())
 
page 98 Code 06 Apr 09
The test condition: self.failUnless('StaffMember', self.portal.validRoles()) should instead be written: self.failUnless('StaffMember' in self.portal.validRoles()) The same error is in the sample code for chapter 6, and is located on line 20 of optilux.policy.tests.test_setup.py
 
page 99 Typo 03 Apr 09
In the first line: test_view_permisison... should be test_view_permission...
 
page 99 Code 21 Oct 09
In first line, letters are transposed. def test_view_permisison_for_staffmember(self): should be def test_view_permission_for_staffmember(self):
 
page 106 Technical 20 Oct 09
Lines in TestSetup class code should be boldfaces, since they are insertion by the user.
 
page 107 Technical 20 Oct 09
Lines 7, 9, 11 of base.py code should be commented. Right lines will be: # normally # Explicitly. This # enough
 
page 110 Code 10 Feb 09
Code formatting: renameRichDocument(portal) disableDocument(portal) should be bold faced.
 
page 113 Code 10 Feb 09
Code for base.py should use the same functions as in previos listings: ztc.installPackage instead of ztc.installProduct with package option
 
page 113 Code 03 Apr 09
ztc.installProduct('optilux.policy', package=True) ztc.installProduct('optilux.theme', package=True) should read: ztc.installPackage('optilux.policy') ztc.installPackage('optilux.theme')
 
page 114 Typo 06 Apr 09
In the first bullet, 'profile.zcml' should be 'profiles.zcml' (plural).
 
page 128 Typo 02 May 08
In the second bullet '/@manage-viewlets' should be '/@@manage-viewlets'
 
page 128 Typo 03 Apr 09
In the last paragraph, first parenthetical statement, there is an "@" missing. Should read: ...URL as/@@manage-viewlets).
 
page 144 Typo 20 Oct 09
In second paragraph AFTER the NOTES block, the attribute isPrinicipiaFolderis should be isPrincipiaFolderish.
 
page 176 Typo 25 Oct 07
Second sentence in first paragraph in 8 section (Views and Other Presentation Components) contains word 'outlned' instead of outlined.
 
page 184 Code 03 Apr 09
middle of page, last sentence of paragraph under last code example: ".. event.event will be the same." should be ".. event.object will be the same."
 
page 188 Typo 03 Apr 09
Last sentence on the page should read: When we connect cinemas and films to the external database system that manages film showings and custom bookings, these will act as keys in its tables. "that" is missing in this sentence
 
page 194 Technical 06 Apr 09
the url for the archetypes reference manual should be: http://plone.org/documentation/manual/archetypes-developer-manual
 
page 195 Typo 03 Apr 09
first paragraph, first sentence: "..all importable form..." should be "... all importable from..."
 
page 202 Broken Code 25 Oct 07
For this errata, please refer to the Free Online Edition page of this book here: http://professional-plone-book.packtpub.com/latest-updates.htm
 
page 204 Broken Code 25 Oct 07
In 'Field and Object Validation' section third paragraph's second sentence: 'It is not very hard to register your own generic validators - see Products.ATContentTypes.validators for several examples ...' path to 'validators' module is good for importing but actually validators code lives in 'Products.ATContentTypes.lib.validators'. The correct line should be: - see Products.ATContentTypes.lib.validators
 
page 224 Typo 03 Apr 09
At the end of the first paragraph, the file is not "workflow.xml" but "workflows.xml".
 
page 229 Broken Code 30 Oct 07
Third piece of code first line: >>> from Products.PloneTestCase.setup import portal_owner from word 'from' should begin second line of session.
 
page 242 Typo 25 Oct 07
Typo in third paragraph first sentence: 'The code in activityreport.py is similar to thaat of the other views in the browser sub-package:...'. Mistake in word 'thaat', double 'a'.
 
page 258 Typo 03 Apr 09
In the last paragraph, it's written: plone_form_scipts instead of plone_form_scripts. 'r' is missing.
 
page 350 Typo 03 Apr 09
First, notice that that this buildout configuration extends the default configuration, which means that buildout will treat values in that file.... "notice that that this" should be "notice that this"