The PEAK Developers' Center   Diff for "IntroToPeak/ToDo" UserPreferences
 
HelpContents Search Diffs Info Edit Subscribe XML Print View Up
Ignore changes in the amount of whitespace

Differences between version dated 2003-12-11 20:35:30 and 2005-02-02 11:43:24 (spanning 11 versions)

Deletions are marked like this.
Additions are marked like this.

Misc. ideas/issues for the tutorial:
Misc. ideas/issues for the tutorial (authors' list):
 
 * Lesson 4
   * needs to mention readline/history in n2 (and n2's help looks maybe broken in a couple of areas, which I should bug Ty about)
   * more about n2's functions/abilities
   * Ty is n2 author
   * Use n2 \python mode to illustrate SQL calls from Python, so it's not new in the DM usage
   * URL is "scheme:body", body is not a "path"
   * URL schemes are effectively "private" (E.g.: "What kind of a URL is `sqlite:foo`? It doesn't work in my browser", etc.)
   * Use example.com instead of server.com
   * Connection isn't a config key/component key - the '''name''' is
   * Use `hello.db` instead of `test.db`
   * needs to mention readline/history in n2 (and n2's help looks maybe broken in a couple of areas, which I should bug Ty about) (RDM: done, but I may not have mentioned everything you wanted mentioned)
   * more about n2's functions/abilities (RDM: I added some more stuff, but not much)
   * URL is "scheme:body", body is not a "path" (RDM: fixed)
   * Connection isn't a config key/component key - the '''name''' is (RDM: reworded, but may still not be clear enough)
   * Use `hello.db` instead of `test.db` (RDM: I purposely used `test.db` rather than `hello.db` because it is supposed to be a ''test'' database, representing the "real" corporate database. But if you want to change it, I've no huge objection.)
   * More `LinkRef` explanation: when you can or can't use it
   * Put `global.ini` in `PEAK_CONFIG`, explain loading order again
   * First cut SQL usage is BROKEN; `forCmd` will load/save customer rather than group
     * i.e., won't work unless the `for` user is in both the SQL db and the text one
   * `text` should be called `message`, since `aGroup.text` doesn't make sense
   * `referenceType` is a typo
   * DM's and commands need to use `get()` instead of `__contains__`
   * DM's and commands need to use `get()` instead of `__contains__` (RDM: fixed)
 
 * Lesson 2
   * Recap is missing info about `storage.DMFor`
 
 * All the examples use `print`, but should use `print >>self.stdout,`
   * Should we fix this in the early lessons, so folks aren't misled about good practice?
   * Should we encapsulate the actual greeting code?
 * Need to expand on the topic of transaction aborts (esp.: when/when not to initiate one in your code)
 
 * Need an `IGreetingService` or some such, so we can demo the `[Component Factories]` configuration
   * This would then be usable by UI's like web, XMLRPC, etc.

    * Perhaps there's a less steep area we can find to introduce those concepts in first
    * 'peak.security' might also need a gentler introduction, so it's familiar by the time you get to `peak.web`
     * Maybe the socket "hello service" could grow a bit of a protocol with user/password, so we can show security there
 
 
Suggestions made by others:
 
 * Create a GUI interface to the corporate helloworld app, using something like QT or GTK
 * Demonstrate more aspects of peak.model by adding some more business logic to model.py (similar to the current greeting() method)
 * Make unittests an integral part of the tutorial. This should give new users an idea of how [http://www.artima.com/intv/testdriven.html test-first development] is done in practise.

PythonPowered
ShowText of this page
EditText of this page
FindPage by browsing, title search , text search or an index
Or try one of these actions: AttachFile, DeletePage, LikePages, LocalSiteMap, SpellCheck