[z3-checkins] r23359 - in z3/zopeweb/trunk/content: . presentation
d2m at codespeak.net
d2m at codespeak.net
Wed Feb 15 15:02:26 CET 2006
Author: d2m
Date: Wed Feb 15 15:02:15 2006
New Revision: 23359
Added:
z3/zopeweb/trunk/content/presentation/
z3/zopeweb/trunk/content/presentation/five_tutorial_ploneconf2005-s5.txt
z3/zopeweb/trunk/content/presentation/state_of_zope3_neckarsprint-s5.txt
Modified:
z3/zopeweb/trunk/content/presentations.txt
Log:
add presentation folder for S5 presentations
add 2 sample presentations
adjusted links in presentations.txt
Added: z3/zopeweb/trunk/content/presentation/five_tutorial_ploneconf2005-s5.txt
==============================================================================
--- (empty file)
+++ z3/zopeweb/trunk/content/presentation/five_tutorial_ploneconf2005-s5.txt Wed Feb 15 15:02:15 2006
@@ -0,0 +1,248 @@
+Five
+====
+
+ :Title: Five Tutorial
+ :Author: Philipp von Weitershausen
+ :Location: PloneConference 2005 Vienna
+
+
+Before we start: Preparation
+-----------------------------
+
+If you want to actively follow the tutorial, please
+
+* create a Zope 2.8.1 instance
+
+* install the Plone 2.1 bundle
+
+* bug in ATContentTypes: replace
+ ``ATContentTypes/content/newsitem.py``
+
+* on slow machines: get rid of PloneTranslations,
+ PlaclessTranslationService, kupu
+
+* create a Plone Site and create some News Items
+
+You can find everything (incl. Zope and Plone) at
+``http://philikon.de/files/ploneconf/``
+
+
+Hi there, I am...
+-----------------
+
+* philiKON on IRC
+
+* a Physics student at Dresden University of Technology
+
+* the author of Springer-Verlag book "Web Component Development with Zope 3"
+
+
+You...
+------
+
+* are a Zope 2 developer
+
+* don't know Zope 3 or just very little
+
+* want to try Five because you know it's where Zope 2, CMF, Plone,
+ etc. are headed towards
+
+
+Our goals are...
+----------------
+
+* to familiarize ourselves with some Zope 3 idioms
+
+* to see how they are applied in a grown Zope 2 environment
+
+* to experience the iterative development process style of Zope 3
+
+* to maybe later pad it out with our own components
+
+
+If you have questions...
+------------------------
+
+* ask your neighbour
+
+* raise your hand
+
+* write them down
+
+* cheat by looking at the solution
+
+
+1. Interfaces...
+----------------
+
+* play a key role in Zope 3
+
+* are the keys by which things are looked up in Zope 3
+
+ - in Zope 2, most keys are strings, e.g. ``meta_type``,
+ ``portal_type``, ``getToolByName``
+
+* start using Zope 3 interface now
+
+ - try to avoid the Z2 -> Z3 bridge
+
+ - if you still need the Zope 2 interface around, bridge Z3 -> Z2.
+
+* internalize the difference between *implement* and *provide*
+
+
+1. Schemas...
+-------------
+
+* are interfaces!
+
+* define a data model, not necessarily a browser form
+
+* are very Pythonic because of attribute definitions
+
+* too bad Archetypes invented its own schema engine
+
+* step 5 of the tutorial (if we have time)
+
+
+1. A simple interface
+---------------------
+
+1. Create a product ``FiveFeeds``. Don't forget the ``__init__.py``.
+
+2. Let's create ``IPortalContent`` in ``interfaces.py``.
+
+
+2. ZCML
+-------
+
+* Zope 2 code is sprinkled with software policy, setup, hookings,
+ configuration
+
+* Having this separate from the app code helps the reuse
+
+* Zope 3 uses an XML dialect for that: ZCML
+
+
+2. ZCML (II)
+------------
+
+* Convention: The main config file of a package is called
+ ``configure.zcml``.
+
+* Let's make CMF and Archetypes base classes implement the interface
+ we just created
+
+* Note: All directives from the ``five`` namespace are Five-specific
+ and usually exist to make Zope 2 behave the way Zope 3 wants it to
+
+
+3. A simple browser page
+------------------------
+
+* What next?
+
+* Five is great about extending an existing components, so let's do
+ that
+
+* Plone/CMF only has RSS feeds
+
+* Task: Add an Atom feed
+
+
+3. A simple browser page (II)
+-----------------------------
+
+1. Download ``step2/atom.pt`` and drop it into the ``FiveFeeds``
+ product.
+
+2. Hook it up with ZCML
+
+3. Restart Zope and try it out
+
+
+4. Enhancing a browser page
+---------------------------
+
+* CMF has policies implemented in the ``portal_syndication`` tool
+
+* Let's add some logic to the template
+
+* Logic doesn't belong in ZPT, though
+
+* Let's add a supplementary view class
+
+
+4. Supplementary view class
+---------------------------
+
+1. Let's create a ``browser.py`` module
+
+2. Let's implement a ``SyndicationView`` view class
+
+3. Let's hook it up as a supplementary class for the template
+
+
+5. Folding out app logic
+------------------------
+
+* The ``atom.xml`` view (template + class) depends on the CMF
+
+* Creating a feed isn't CMF-specific
+
+* Let's make the view independent of the CMF: fold out CMF logic
+
+
+5. Adapters
+-----------
+
+* Adapters mediate between an abstract API and concrete objects
+
+* Abstract API: Syndication (``syndicationAllowed``,
+ ``syndicatableContent``, etc.)
+
+* Concrete objects: CMF content
+
+* Code can depend on abstract API, adapter will do the rest
+
+
+5. Adapters (II)
+----------------
+
+1. Let's create an ``ISyndicationPolicy`` interface
+
+2. Let's take CMF-specific code out of the view class
+
+3. Let's create an adpater that adapts CMF portal content to
+ ``ISyndicationPolicy``
+
+4. Let's hook it up
+
+
+What you can do at home
+-----------------------
+
+* Add arbitrary syndication protocols, e.g. RSS 0.9, 1.0, 2.0 (all you
+ need to do is to write the template and hook it up via ZCML)
+
+* Think of different syndication policies
+
+* Use template + class for non-Plone systems using a different adapter
+
+
+More info
+---------
+
+* ``#z3-base`` (irc.freenode.net)
+
+* ``z3-five at codespeak.net``
+
+* might turn this tutorial into prose
+
+* Buy my book :)
+
+
+Thank you
+---------
+
+Thank you!
Added: z3/zopeweb/trunk/content/presentation/state_of_zope3_neckarsprint-s5.txt
==============================================================================
--- (empty file)
+++ z3/zopeweb/trunk/content/presentation/state_of_zope3_neckarsprint-s5.txt Wed Feb 15 15:02:15 2006
@@ -0,0 +1,300 @@
+State of Zope 3
+===============
+
+Stephan Richter
+
+Neckar Sprint
+
+Tübingen, October 6, 2005
+
+*License:* http://creativecommons.org/licenses/by/2.5/
+
+
+The last 12 months
+------------------
+
+- Zope 2.8
+- Zope X3 3.0
+- Lots of new Zope 3 applications
+
+ + Tiks + Life Site
+ + Bebop
+ + SchoolBell/SchoolTool
+ + Launchpad
+ + Custom Projects (ZC, Dylan R., ...)
+ + Five Projects (i.e. TextIndexNG, Silva)
+
+
+Zope 3 applications
+-------------------
+
+- Work on Zope 3 itself slowed as people
+ began working on applications
+- Many interesting Zope 3 applications
+ emerging
+- Contributions reflecting application
+ experience.
+
+**Zope 3 Development is driven by
+application development now!**
+
+
+Zope 3.1
+--------
+
+- Dropped the X; we believe the code is not
+ experimental anymore
+- Major cleanups (more on next slides...)
+- Many new features based on applications
+- Too many goodies to mention ...(for an
+ overview see the release notes)
+- Too to long
+
+
+Component Arch. Simplifications
+-------------------------------
+
+- Merged services and utilities
+- Generalized implements to factories
+- Provided adaptation declarations
+- declaration decorators
+- Major cleanup of local registration
+- Simpler declaration API (mainly for tests and
+ non-Zope applications).
+
+
+Security
+--------
+
+- Groups
+- Pluggable authentication
+- canAccess/canWrite helper functions
+- New Granting UI with advanced search
+- Simpler alternative security policy
+ (ZC plan to release it later this year)
+
+
+ZCML Simplification
+-------------------
+
+- Leverage declarations in Python
+- Greater use of adapter directive (as
+ alternative to view/page etc.; zc.formlib)
+- Conditional processing using features or
+ modules as criteria
+
+
+API Doc
+-------
+
+- Fantastic tool for seeing how things fit
+ together
+- Handy ZCML reference
+- Committed to introspection API that can be
+ used by other applications
+- Many usability improvements
+- Need a static version (3.2)
+
+*Possible Sprint Task!*
+
+
+Cataloging
+----------
+
+- int ids (utility)
+- Basic catalog
+- TextIndex NG
+- Martijn's query work
+
+
+Deprecation
+-----------
+
+- Began putting new deprecation policy into
+ practice
+- Many APIs to aid generation of warnings
+ (zope.deprecation)
+- Need more feedback earlier! People need to
+ come out of the closet!
+
+
+++debug++
+---------
+
+- source See where things came from
+- tal leave tal attributes in output
+- error Get error tracebacks
+
+
+Other
+-----
+
+- Sessions
+- Preferences
+- zopectl debug
+- sources
+- better containment constraints but still not
+ good enough
+- Better date formatting; support for timezones
+- Better build system that supports 3rd party
+ packaging
+
+
+Time based releases
+-------------------
+
+- Starting with Zope 2.9,Zope 3.2,ZODB 3.6
+- Every 6 months,June and December
+- Starting December 2005
+- Feature freeze November 1!
+- Zope 2.9 to include Zope 3.2
+- Python 2.4 required in Dec 2005 releases
+- Maybe simpler naming scheme in future
+
+
+Zope 3.2
+--------
+
+Many new features!
+
+Whatever is ready!
+
+
+New server architecture
+-----------------------
+
+- WSGI (better method)
+- Twisted integration
+- Better streaming (via publisher results)
+- Beginning to get out of the server business
+- Implement HTTP sub-protocol selection
+ using component architecture (?)
+
+*Possible Sprint Task!*
+
+
+Publisher
+---------
+
+- Iteration rather than write method
+- Greater use of events in publication (?)
+- Post-processing May allow better
+ separation of concerns for page production
+ (?)
+
+
+Better XML integration
+----------------------
+
+- I want at least ubiquitous XSLT and XPATH
+- Want lxml if the requirement is not too
+ burdensome
+
+
+Testing
+-------
+
+- Great progress with Selenium
+
+ + Zope 2 projects led the way!
+- Selenium integration in Zope 3 (?)
+- New test runner
+
+ + Layers provide better test separation
+ + Better foundation for future testing features
+- Test Browser
+- Test Recorder (not in core)
+
+
+UI definition from ZCML to Python
+---------------------------------
+
+- ZCML is a good configuration language It
+ is not a good definition language
+- formlib provides far more Pythonic and
+ flexible forms
+- zope.formlib.page suggests defining
+ pages in Python too
+
+
+Other
+-----
+
+- Blobs (?)
+- External Editor (Kupu)
+- Finish WebDAV (? Please!)
+- Messages
+- Better widget APIs (in progress)
+
+*Possible Sprint Task!(WebDAV)*
+
+
+Looking forward
+---------------
+
+- Zope 2 to Zope 3 transition
+
+ + Maybe someday, Zope 2 and Zope 3 will only be
+ different configurations
+- Better page composition
+- Content Management
+- Better definition of core
+
+
+Better page composition
+-----------------------
+
+- METAL page macros haven't worked well
+- Non-template-based page composition
+ (ala CPS skins)?
+- Pipelines? (or similar schemes)
+- Viewlets/resource library
+- AJAX?
+- Push models
+
+
+Better definition of core
+---------------------------
+
+- Zope 3 is mature enough to define core and
+ non-core
+- Bobo versus the object file system
+
+**Zope 3 suffers an dent ty crisis!**
+
+
+Content management
+------------------
+
+- Zope 3 provides an opportunity for greater
+ collaboration
+- Z3ECM
+- Tiks
+- Goldegg
+
+
+Through-the-web development
+---------------------------
+
+- Still needed (IMO)
+- Scripting
+- Prototyping
+
+ + Fast turn around
+ + Conversion to packages
+
+
+Possible Sprint Task Summary
+----------------------------
+
+- Static API doc
+- Twisted Integration
+- HTTP sub-protocol via CA
+- Finish WebDAV
+- Implement Object Introspector
+- Implement Developer Mode
+- Container views reimplementation
+- Password Managers
+- zope3.org collaboration Web site
+
+
Modified: z3/zopeweb/trunk/content/presentations.txt
==============================================================================
--- z3/zopeweb/trunk/content/presentations.txt (original)
+++ z3/zopeweb/trunk/content/presentations.txt Wed Feb 15 15:02:15 2006
@@ -13,6 +13,6 @@
*more to come...*
-.. _`State of Zope3`: /presentation/state_of_zope3_neckarsprint-s5.html
-.. _`Five Tutorial`: /presentation/five_tutorial_ploneconf2005-s5.html
+.. _`State of Zope3`: presentation/state_of_zope3_neckarsprint-s5.html
+.. _`Five Tutorial`: presentation/five_tutorial_ploneconf2005-s5.html
More information about the z3-checkins
mailing list