[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