TITLE OF PAPER: Nevow: A Web Application Construction Kit URL OF PRESENTATION: http://nevow.com/Nevow2004.pdf PRESENTED BY: Donovan Preston REPRESENTING: divmod.org CONFERENCE: PyCON 2004 DATE: 20040324 LOCATION: _venue_and_room_in_venue_ -------------------------------------------------------------------------- REAL-TIME NOTES / ANNOTATIONS OF THE PAPER: {If you've contributed, add your name, e-mail & URL at the bottom} Why Nevow? Take advantage of twisted web server Dislike code in HTML Tools for working with HTML fragments w/o inventing a new language. Inspirations: Woven XMLC (Enhydra) Uninspirations: W3C DOM Talk organized as a tutorial Demo using simple group calendar /scheduling application Every URL on the site maps to a Python object Template driven HTML generation. Template directives cause execution of Python code. Patterns are nodes in the HTML template that you can clone Context stack used to keep track of rendering state. Due to async single process webserver (twistedweb) - a convenient way to pass content back an forth between pages. Directives are just tags. a bunch of slides describing API/code From here on, notes are conceptual comments -- look at the presentation for gory details. The approach is similar to XMLC, with some clever use of Python in the code that gets called by the directives. Python methods work by updating the Nevow "DOM" which turns into HTML output. stan: The Nevow lightweight Python DOM. Very nice and similar to the Groovy MarkupBuilder, at least in syntax. Very natural to Python programmers -- highly pythonic API. A good example of how to make something Pythonic. -------------------------------------------------------------------------- QUOTES: "Its ironic that I reinvented the wheel so I wouldn't have to re-invent the wheel" -------------------------------------------------------------------------- REFERENCES: {as documents / sites are referenced add them below} Nevow: http://nevow.com -------------------------------------------------------------------------- CONTRIBUTORS: {add your name, e-mail address and URL below} Ted Leung, twl@osafoundation.org, http://www.sauria.com/blog -------------------------------------------------------------------------- E-MAIL BOUNCEBACK: {add your e-mail address separated by commas } -------------------------------------------------------------------------- NOTES ON / KEY TO THIS TEMPLATE: A headline (like a field in a database) will be CAPITALISED This differentiates from the text that follows A variable that you can change will be surrounded by _underscores_ Spaces in variables are also replaced with under_scores This allows people to select the whole variable with a simple double-click A tool-tip is lower case and surrounded by {curly brackets / parentheses} These supply helpful contextual information. -------------------------------------------------------------------------- Copyright shared between all the participants unless otherwise stated...