Errata for web2py 2nd edition book
web2py Enterprise Web Framework
This page will hold the errata for the 2009 edition. Here is a suggested layout for this page:
Chapter
- Section / Page: NN / Paragraph: MM
book: foo cannot be used.
suggested correction: "continued use of foo may result in performance degradation."
1 Introduction
- Pg2 / Para 3
book: versions 2.4,2.5 and 2.6 although
correction: 2.4 needs hashlib, by default web2py does not run? Also note pypy 1.0 (which conforms to Cpython 2.4)fails since it also needs hashlib
- Pg2: / Para 5 Discussion about licensing:
book: web2py is open source and released under the GPL2.0 license, but web2py developed applications are not subject to any license constraint.
correction: But doesn't GPL2 have own linking rules? which cannot be overridden by this statement? I know this statement wants to assure users of BSD like freedom, but still....
- Pg2: / Para 5 Discussion about licensing:
they will require web2py to run. The web2py license includes an exception that allows web developers to ship their products with original pre-compiled web2py binaries, without the accompanying source code.
Are these kinds of exceptions acceptable to FSF?
- Pg2: / Para 6
- Statement about backwards compatibility: is it not too dangerous to commit to 1.0? We may need to move on and drop some of the older cruft?
- Pg3: Better wording suggested
book: To some this may appear as magic, but it should not.
correction: Replace "but it should not" with "but it is not"
- ** Pg11: 1.5 Typo**
book: Based Access Control API allow developers to restcrict access to any
Typo: restrict
- ** Pg12 1.6 Rewording suggestion**
book: web2py is distributed in source code and binary form for Microsoft Windows and for Mac OS X.
Reword to - web2py is distributed in source code form for all supported platforms and in binary form for Microsoft Windows and for Mac OS X.
- Pg13 Image:
Handlers image
correction: GAE handler not shown in the image
- Pg14:
book: Applications developed with web2py, as long as they do not include web2py source code, are not considered derivative works. This means they are not bound by the GPLv2 license, and you can distribute the applications you developed under any license you choose, including a closed-source and/or commercial license.
correction: So does this mean, if I distribute in source form, is GPL2 applied to my app? It is quite confusing.
Pg13,14 License and License exception
suggestion: Move to a separate section After the book content as is common practice
Pg15 1.9 Acknowledgments
Move to a separate section before the book content starts as is common practice
- Pg17 1.10 Typo
book: URL mapping, request, response, sessions, cacheint, CRON, interna-
*Typo: caching *
- Pg17 1.10 Typo
book: Chapter 12 contains a variety of other recipes to solve specific tasks, inlcuding upgrades, gecoding, pagination, Twitter API, and more.
Typos: including, geocoding
2 The Python Language
- Section 2.2 / Pg22, Reword suggestion:
book: On Apple OS X, enter the following command type in a Terminal window
correction: Remove the word "type". On Apple OS X, enter the following command in a Terminal window
- Section 2.10 / Pg32 Reword suggestion:
book: Here is a list of built-in Python exceptions + HTTP (defined by web2py)
correction: Re-bracket for clarity as follows - Here is a list of built-in Python exceptions (Note: The branch "+HTTP" in the following diagram is defined by web2py and is not part of Python)
- 2.12 / Pg34 Example code for class Mylist(object)
book: a[1] = 7
correction: b[1]=7 otherwise python reports a a[1]=7 NameError
3 Overview
- 3.6 / Page 59 / Wrong line number referenced
book: Line 18 indicates ...
correction: Line 21 indicates ...
- 3.7 / Page 70 / Line 4 of Example Code
book: form = crud.create(db.image, next=URL(r=request, args=image.id),
correction: form = crud.create(db.comment, next=URL(r=request, args=image.id),
- Section 3.9 / Page 72 / typo in code
- book: line 8: if auth.is_logged_in():
- line 9: user_id = auth.user .id # Note: incorrect extra space between user and .id
- correction:
- line 9: user_id = auth.user.id
- Section 3.9 / Page 75 / Wrong line numbers referenced
book: "Some magic happens in line 59."
correction: Some magic happens in line 61.
book: The 'target' tag is a DIV define in line 75.
correction: The 'target' tag is a DIV define in line 62.
4 The Core
- Section 4.2 / Page 98 / Line 7 / Typo
book: Speces are replaced by
correction: Spaces are replaced by
I (DenesL) can't find the next 4, maybe under 4.20? but they seem correct.
- 4.18 / Page: 111 / Bullet: 3
- can call each other's actions
- 4.18 / Page: 111 / Bullet: 4
- can access each other's files
- 4.18 / Page: 111 / Bullet: 5
- can call each other's modules
- 4.18 / Page: 111 / Bullet: 6
- can import each other's modules
5 The Views
- Section 5.2 / Page 132 / Typo
- layout information (5mm) is shown twice
- Section 5.2 / Page 132 / Serious Problem
- The example shows the helper 'I' which is not in the list and not available from gluon/html.py in version 1.67.1
6 The Database Abstraction Layer
- 6.2 / Page: 136 / Bullet: Oracle
- Connection example should be:
- 'oracle://username/password@test'
- 6.3 / Page: 142 / executesql
- Name "Massimo" is misspelled in executesql example
- 6.3 / Page 143 / Distributed Transaction
- First sentence: two phase-commit is misspelled
- 6.4 / Page 155 / field types table
- It is missing the "text" type field
- 6.8 / Page 172 / 3rd code box
- db.import_to_csv_file(form.vars.data.file,unique=False)
- should be
- db.import_from_csv_file(form.vars.data.file)
- only db[table].import_from_csv_file takes the unique argument, not the import of the entire DB.
7 Forms and Validators
8 Access Control
9 Services
10 Ajax Recipes
11 Deployment Recipes
11.2 / Page 287 / Apache wsgi configuration file missing
Book is fine but the file is not found in the script directory of current web2py versions, (checked OS X and source versions).
12 Other Recipes
References
Index
- Many of the page numbers are off by one.
Documents (0)
click to toggleComments (1)
click to togglePost a comment:
3.2 / Page 47 / Wrong number of categories