February 18 Zope News
Zope News for February 18, 2002 by Casey Duncan, Martijn Faassen, and Chris McDonough
Welcome to the February 2002 edition of the Zope News! In this issue: Zope3 Sprints and the International Python Conference Report.
And now for something completely different...
Python 10 Report
I for one had a great time at the Python conference. It was so great to meet up with the people I hang out with in the Zope community and talk face to face with them. Now I know they aren't just bots hanging out on the #zope IRC channel 8^).
I think the main concern I heard from several people was that they thought that the Python conference had become too grandiose and would like to see a return to simpler (and cheaper) events. I can see their point, but I do think it is nice to have such a high-profile event to promote the use of Python and Zope and make it look like the "big deal" that we all think it is.
Day One, Tutorials
The first day was for tutorials, and I arrived bright and early to deliver the Zope talk. We had a pretty full house, and many people had good questions about the system. One realization I came upon was that there is really no need for me to teach DTML anymore in the tutorial. I also would like to give a second "intermediate" tutorial about using Python in Zope since there never seems to be time for it in just one 4 hour session. Something to think about for the open source conference in July.
Several of the attendees were high school students who are apparently using Zope in their computer science studies. That really impressed me. I hope they all stick with it and continue to use open source tools and be part of this great community.
In the afternoon I stuck my head in a couple of other tutorials. One on building GUIs in Python using a variety of different libraries for comparison and also the end of Jim's component architecture tutorial, which I had already lived a few days earlier at the Zope3 sprint.
Day Two
On Tuesday, Andrew Koenig gave his keynote comparing several very different languages including APL, Snobol, ML and Fortran to Python. In his talk he highlighted the strengths and weaknesses of each language in a given problem domain and how Python transcends many of the limitations of these languages. He also told us a bit about his cats, one of which is named "snobol" because like the language he is a "good string manipulator". I thought he was a very good speaker, who was able to tell us something about Python, even though may of us may know more about it than he currently does!
Following the keynote, the Zope track continued with Tony Byrne's comparison of content-management systems. This was followed by a very impressive demo of a Zope based content-management system now in use by NATO at installations all over the world. A very cool Zope testimonial! From what I hear though, there is little chance of a ZWarGames product resulting from it, dang!
In the afternoon, Paul Everitt gave his "state of the Zope nation" talk which consisted of a bunch of questions about Zope2, Zope3 and whatever Zopes might be in between. Jim Fulton followed with his talk about Zope3 and what it is all about (synopsis: it rocks!). To elaborate a bit, there is some very innovative stuff going on in Zope right now, and if you have any inclination to contribute, now is a great time because the system is still being defined (IOW you can't really break anything!). If you don't feel confident enough to contribute code, contribute ideas, documentation or even graphics talent to the new Zope3 ZMI!
Day Three
Wednesday kicked off with Stephan Richter, arguably the best dressed person in the Zope community, showing off how to internationalize and localize Zope applications using ZBabel. He also showed us DBObjects which looks like a trick way to integrate relational data into Zope. Another cool application he showed was ZQuest, an automated tool for teachers to use to give tests. All-in-all some very good work!
Following that I gave a short talk on some new templating ideas I have been thinking about (basically server-side css) and Kapil Thangavelu talked about his ideas for an event channel system for Zope.
Andy McKay of Zopezen fame told us about ZSyncher a way to automate the tedious task of pushing code into production, and David Hancock gave us some insights into designing high-availability Zope applications from his own experience with an airline messaging system he built using Zope.
The closing keynote was given by Tim Berners-Lee, who without surprise is out to "Webize" everything in sight. He had some very interesting ideas about using URIs as unique global identifiers for Python packages. From a package managment perspective it made a lot of sense. He also would like to see a new "graph" data structure become native in Python. From what I could understand (Tim is a bit of a fast speaker), this would allow you to directly represent RDF style statements in Python so that you could easily generate descriptive data maps. It will be interesting to see if any of these ideas come to fruition in the Python language. I'm a tad bit skeptical, but one never knows.
Links, Links, Links
Here are some additional post-conference resources for your browsing pleasure:
Zope Track Presentation Materials
http://www.zope.org/Resources/IPC10/presentations
Conference Photo Album
http://www.zope.org/Members/Caseman/Photos/Python10
Slides from Andrew Koenig's Keynote: "Notes from a polyglot outsider"
http://www.research.att.com/~ark/talks/Python10.pdf
Slides from Tim Berners-Lee Keynote: "Webizing Python"
http://www.w3.org/2002/Talks/0206-python/slide1-0.html
Slides from Guido's Dev Day Keynote:
http://www.python.org/doc/essays/ppt/python10/py10keynote.pdf
Adam Kendall gets excited about Zope3
http://www.zopelabs.com/mak/1012945631
Howard Butler's weblog with IPC commentary
Andy McKay's IPC coverage on zopezen.org
- http://www.zopezen.org/Members/zopista/1012948857
- http://www.zopezen.org/Members/zopista/1013007080
- http://www.zopezen.org/Members/zopista/1013032877
- http://www.zopezen.org/Members/zopista/1013019204
Student video: "Introducing Python"
http://www.ibiblio.org/obp/pyBiblio/pythonvideo.php
{ CD }
Zope3 Sprints
I had the privilege of attending the Zope 3 sprints both before and after the Python conference, January 31st and February 8th. A sprint is an extreme programming (XP) term for an intense hacking session where a small group of programmers pair off and attack small tasks to push the code forward, and also learn the system. Tres Seaver gets the credit for pushing this idea as a way to inject some healthy community involvement in the development of Zope3.
There had already been one sprint on January 16 to begin coding internationalization support for Zope 3, but from what I heard it was more of a "summit" than a sprint. It does seem like there is a big push to get Zope international aware and I am pretty optimistic that this will happen for Zope 3.
The Jan 31st sprint was attended by Steve Alexander, Fred Drake, Jim Fulton, Shane Hathaway, Amos Lattier and Kapil Thangavelu. It started a bit slowly, as Jim went through the tutorial, but I felt very satisfied with the work I did pairing briefly with Shane and then with Steve. We made some improvements to several parts of the component architecture and the Zope3 configuration language (zcml). Kapil and I sparred over the virtues of vim vs. emacs (vim 6.0 rocks, get your own show Kapil!), and he and Jim did some heavy debugging in the bowels of Zope and Python.
By the third day I was pretty spent, but I felt very good about what I had learned and accomplished. I also got really revved about the Zope3 architecture which is a refreshing change from my daily Zope2 dealings. There's something so liberating (and a little scary) about being able to start from a clean sheet. You quickly realize how much there is to a system like Zope.
After the conference there was what can only be characterized as a "mega-sprint" extravaganza. Jim and Paul seemed a little panicked when they realized the sheer number of people that had signed up during the conference. Jim took a group of new sprinters upstairs and Tres babysat us downstairs. There was a constant flow of coffee, bagels, donuts and cvs commits. A couple of the commits were a tad bit premature, so ummm, the state of the code was a bit squirrelly from time to time. None-the-less I think a good bit of forward progress was made, and many new Zope3 converts were created! (Note to future sprinters: make sure to write the unit tests and make them "pass" before committing)
I had a blast pairing with Steve Spicklemire and Anthony Baxter who's vi skills I cannot begin to match (or Unix skills for that matter). Four teams attacked symmetric aspects of the hugely cool and featureful Zope3 security system, and much new infrastructure was built. There were a few pieces left to be picked up after the crew left, but hey, what's a few spilled bits among friends?
There are more sprints schedules including one in England on Feb 21 to begin building the next-gen ZCatalog and another in April in conjunction with Beehive's Zope BBQ in Berlin. I certainly hope to attend more sprints and get to hang out with more of the Zope community's best-and-brightest. My experience so far has definitely been incredibly positive and it makes me feel much more in touch with the community as a whole. I think Zope Corp. deserves a big "thank you" for their efforts in coordinating and facilitating the sprints.
Sponsoring a sprint is a great way to get directly involved with the building of Zope3, not to mention face time and free training and consulting from the best in the Zope biz (the ZC'ers aren't too shabby either 8^). Contact Paul Everitt ([email protected]) for details on how your company can host a Zope3 sprint.
Zope3 Sprint Page
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SprintSchedule
Summary and discussion of i18n sprint:
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/UnicodeOrUTF8
Sprint Photo Album
http://www.zope.org/Members/Caseman/Photos
{ CD }
EuroZope
EuroPython Conference
The European Python and Zope Conference for 2002 is scheduled to take place June 26-28 in Charleroi, Belgium (near Brussels). This will be the first major event in Europe dedicated to Python and its applications. Since both Python and Zope are seeing wide use throughout Europe, members of the community felt the time was right to organize a major gathering. Guido van Rossum, will deliver a keynote address at the conference.
The EuroPython conference will include a track for Zope to run in parallel with other Python applications. There will also be a meeting of the EuroZope Association, which is dedicated to the promotion and support of Zope in Europe.
The conference organizers are welcoming community participation with the event. Go to the conference Web site and join the mailing list to find out how you can contribute.
Conference home page:
EuroPython mailing list:
http://mail.python.org/mailman/listinfo/europython
Join The EuroZope Association
To show your support and commitment to Zope's success in Europe, you can now join the EuroZope Association:
http://www.eurozope.de/EuroDe/Members
Joining EuroZope will help the organization fulfil its role as a Zope advocate and provide resources for organizing Zope related events in Europe.
{ CD / MF }
Zope.org Almanac
The Zope.org almanac provides links to Zope.org-user-contributed news items, new and modified Zope related software, and various "how-to" documents.
News Items
Zope 2.5.0 final released
http://www.zope.org/Products/Zope/2.5.0/zope_250_release
Zope 2.4.4 beta 1 available
http://www.zope.org/Products/Zope/2.4.4b1/zope_244b1_announce
Zope Training in 2002: NY, DC, Paris, Cologne and Berlin (Beehive)
http://www.zope.org/Members/beehive/beehiveZopeTrainingQ12002.html
Various Z{P}UG meetings and announcements
TCPZPUG - http://www.zope.org/Members/tczpug/tczpug_20020115
LAZUG - http://www.zope.org/Members/k_vertigo/News/lazug_meeting_jan_16
ZPUG-DC - http://www.zope.org/Members/chrisa/lessThanOne and http://www.zope.org/Members/chrisa/imemeZPugDC
OzZope - http://www.zope.org/Members/dlutzy/ozzope-meeting04
Bay Area ZUG - http://www.zope.org/Members/cchoi/bazug_list
Vancouver PZUG - http://www.zope.org/Members/andym/VanPyZ_Announcement
Zope Support in Quanta Gold
http://www.zope.org/Members/elloyd/quanta_announce1
FreeZope (Free Non-Commercial Zope Hosting)
http://www.zope.org/Members/bas/freezope.org
An easier way to write products
http://www.zope.org/Members/maxm/news/easyProducts
ZOQL Method 0.4.0 development preview
http://zope.org/Members/srichter/Products/ZOQLMethod/0.4.0dev
iNTERNET EXPO 2002 in Zurich
http://www.zope.org/Members/goeldi/iex2002
Zope Online Documentation Tool released
http://www.zope.org/Members/srichter/zdpNews/ZOD0.3.1
Zope/Python in Healthcare List Opens
"http://www.zope.org/Members/ivaldes1/Zope_Python%20in%20healthcare%20list": http://www.zope.org/Members/ivaldes1/Zope_Python%20in%20healthcare%20list
mxDateTime product version 0.3.0 released
http://www.zope.org/Members/nuxeo/news/mxDateTime03
DocumentLibrary Moves to SourceForge
http://www.zope.org/Members/Caseman/DocumentLibrary_SF
New Link for Zope Membership Component
http://www.zope.org/Members/tjreo/zmc_newlink
FunctionalTests 0.1 Released
http://www.zope.org/Members/tseaver/FunctionalTests/announce-0.1
MetaPublisher 1.2.8 released.
http://www.zope.org/Members/beehive/MetaPublisher1dot2dot7.html
zope-forum.org now archives the Zope mailinglist
http://www.zope.org/Members/JensM/ZopeForum
my-zope.org: rate/comment products/howtos
http://www.zope.org/Members/kedai/my-zope
IEXPO2002 Zope and CMF on two boots
http://www.zope.org/Members/robertr/IEXPO
IE Booster: additional context menu entries for Internet Explorer
http://www.zope.org/Members/paessler/ie-booster
ImportNTGroups 1.0 released
"http://www.zope.org/Members/igorleturia/ImportNTGroups%201.0%20released": http://www.zope.org/Members/igorleturia/ImportNTGroups%201.0%20released
Version 1.1.0 of ZCGI is now available.
http://www.zope.org/Members/haqa/ZCGI/ZCGI-1.1.0
Codeit launches ZopeBible.com
http://www.zope.org/Members/webmaven/NewsItems/zopebible_annce
IPC 10 is being Blogged
http://www.zope.org/Members/webmaven/NewsItems/ipc10blog
ZMailIn 1.0.1 Now Available
http://www.zope.org/Members/NIP/ZMailIn/1_0_1
Andrew Kuchling wins Frank Willison award
http://www.zope.org/Members/webmaven/NewsItems/willison_award_1
First Release of ManageInZODB
http://www.zope.org/Members/mithro/ManageInZODB/FirstRelease
Introduction of free software into the German parliament (Bundestag).
http://www.zope.org/Members/aldemir/Linux
First release of Emil_Email_Client
http://www.zope.org/Members/andorsch/Emil_Email_Client/emil_release0.1
Localizer mailing list
http://www.zope.org/Members/nuxeo/news/LocalizerMailingList
NuxWidgets released
http://www.zope.org/Members/nuxeo/news/NuxWidgets01
Zope Book for Zope 2.5 Released
http://www.zope.org/Members/Amos/ZopeBook25
Zope/Python Developer Wanted, Washington, DC
http://www.zope.org/Members/Caseman/nlada-position
How Tos
Pack the database with Xron
http://www.zope.org/Members/hobu/xron_pack_database
Howto use install.sh for lazy Zope / CMF installation
http://www.zope.org/Members/acki/lazyInstall/usage-0.0.4
Quickie Apache + Zope setup using VHM
http://www.zope.org/Members/Jace/apache-vhm
C�mo Crear un Producto
http://www.zope.org/Members/rociana/misHowTo/crearUnProducto
How to use Oracle LOBS/BLOBS/CLOBS
http://www.zope.org/Members/peterb/oracle_lobs
Generating unique id's on windows
http://www.zope.org/Members/andym/GUID
Configuring Squid as an Accelerator for Zope
http://www.zope.org/Members/htrd/howto/squid
An easier way to write products
http://www.zope.org/Members/maxm/HowTo/easyProduct
how to accellerate virtual host zope with squid
http://www.zope.org/Members/bowerymarc/squid-zserver-virtual
HowTo: Make a self-installing Win32 Zope site for distribution
http://www.zope.org/Members/NIP/CustomWin32Installer
Zope and Python on Mac OS X v. 10.1.x
http://www.zope.org/Members/jens/docs/zope_osx
My NFGnav-based Sitemap
http://www.zope.org/Members/mwr/NFGnav_Sitemap
How to add a folder
http://www.zope.org/Members/callas/addfolder_html
Strip HTML-tags
http://www.zope.org/Members/mnemonic/engl/python/striphtml
Apache-DSO-Fastcgi-Zope-ZEO installation
"http://www.zope.org/Members/gking/ZEO%20install%20on%20openBSD": http://www.zope.org/Members/gking/ZEO%20install%20on%20openBSD
Compiling ZMySQLDA for Zope 2.4 on win32 with MSVC
"http://www.zope.org/Members/isalsberg/MySQLDA/Compiling_ZMySQLDA_%20win32": http://www.zope.org/Members/isalsberg/MySQLDA/Compiling_ZMySQLDA_%20win32
Tips
Get size of an uploaded file
http://www.zope.org/Members/drewp/uploadedFileSize
Software Products
CMF Web Agent
http://www.zope.org/Members/hellmann/CMFWebAgent
Microsoft Passport Interface
http://www.zope.org/Members/andym/Passport
Computer Documentation Product
http://www.zope.org/Members/cmoerz/ComputerDoku
ZSession Product
http://www.zope.org/Members/ghale/ZSession
DTML Calendar Tag
http://www.zope.org/Members/teyc/CalendarTag
SmartSections - HTML Pages for everyone
http://www.zope.org/Members/srichter/Products/SmartSections
A modification of ZSyncer: sends and receives objects through the net, with xml-rpc and SSL XML-RPC. Requires ZSyncer and m2Crypto
http://www.zope.org/Members/jmunoz/ZSyncerMuteSSL
Updates Workflows from Openflow 0.4 to Openflow 0.5
http://www.zope.org/Members/jmunoz/OpenflowUpdater
mxm Relation product
http://www.zope.org/Members/maxm/productList/mxmRelations
ZDataQueryKit - Query Databases Without Programming
http://www.zope.org/Members/haqa/ZDataQueryKit
RDFGrabber: Grab and parse RDF file
http://www.zope.org/Members/EIONET/RDFGrabber
Korean capable Splitter
http://www.zope.org/Members/plusaqua/HAMSplitter
External File
http://www.zope.org/Members/arielpartners/ExternalFile
LDAPUserManager
http://www.zope.org/Members/jens/LDAPUserManager
LDAPLoginAdapter
http://www.zope.org/Members/jens/LDAPLoginAdapter
plone skin
http://www.zope.org/Members/runyaga/CMFPloneSkin
dtml-forest is a variant of dtml-tree with better state handling
http://www.zope.org/Members/anlei/dtml-forest
ReplaceSupport
http://www.zope.org/Members/shh/ReplaceSupport
Portail Pour Tous (Portal For All)
http://www.zope.org/Members/dgeorgieff/popoto
Tutorial
http://www.zope.org/Members/gmarques/Estudo/Tutorial
Photo and Photo Folder
http://www.zope.org/Members/rbickers/Photo
UNIX Zope security patches
http://www.zope.org/Members/zigg/UnixSecurityPatch
Localized DateTime class
http://www.zope.org/Members/spinwing/localized_DateTime
LUF Content Management System
http://www.zope.org/Members/regebro/luf_cms
Formulator
http://www.zope.org/Members/faassen/Formulator
ImportNTGroups
http://www.zope.org/Members/igorleturia/ImportNTGroups
CMF tools for XUF
http://www.zope.org/Members/NIP/XUFTools
ZSyncer
http://www.zope.org/Members/andym/ZSyncer
Lazy Zope / CMF installer
http://www.zope.org/Members/acki/lazyInstall
Rewriter
http://www.zope.org/Members/andym/Rewriter
Weblog and Filesystem File/Img content objs for Zope CMF
http://www.zope.org/Members/jeffsasmor/CMFOptions
Kube for Zope Page Templates
http://www.zope.org/Members/ike/Kube/Kube1.0
CMF-based MailMessage and MailFolder objects
http://www.zope.org/Members/natsukashi/Products/CMFMail
CMF-based Address Book
http://www.zope.org/Members/natsukashi/Products/CMFUsrManOrg
Splitter for Japanese text
http://www.zope.org/Members/natsukashi/Products/JCodeSplitter
ZEO ClientStorage
http://www.zope.org/Members/natsukashi/Products/MountedStorage
Zope's ZPublisher Client meets Python's CGIHTTPServer!!
http://www.zope.org/Members/natsukashi/Products/ZPublisherClientMonkeyPatch
Easy Publisher
http://www.zope.org/Members/regebro/easypublisher
SqSQL
http://www.zope.org/Members/dlpierson/SqSQL_0-1-0
The Z Content Management Interface by X3ng
http://www.zope.org/Members/sidnei/ZCoMIX
Zope CGI
http://www.zope.org/Members/haqa/ZCGI
ZMailIn
http://www.zope.org/Members/NIP/ZMailIn
CSplitter
http://www.zope.org/Members/tcchou/CSplitter
Call Profiler - profile your Zope website
http://www.zope.org/Members/richard/CallProfiler
PyscoPG Postgres Database Adapter
http://www.zope.org/Members/fog/psycopg
ManageInZODB
http://www.zope.org/Members/mithro/ManageInZODB
Standalone ZODB Product
http://www.zope.org/Products/StandaloneZODB
Monitor recent Zope log activity
http://www.zope.org/Members/howardhansen/logwatch
Localizer Internationalization Product
http://www.zope.org/Members/nuxeo/Products/Localizer
MailBoxer
http://www.zope.org/Members/mjablonski/MailBoxer
StarRave
http://www.zope.org/Members/element/StarRave
My Media Manager
http://www.zope.org/Members/gittew/MyMediaManager
SQL Forms
http://www.zope.org/Members/Ioan/SQLForms
Emil_Email_Client
http://www.zope.org/Members/andorsch/Emil_Email_Client
FakeFolder and FakeOrderedFolder
http://www.zope.org/Members/poster/Fakers
Virtual Host Folder
http://www.zope.org/Members/poster/VHF
CMF Virtual Host
http://www.zope.org/Members/poster/CMFVirtualHostTool
RDFSummary - display RSS files
http://www.zope.org/Members/EIONET/RDFSummary
{ CM }
Zope Maillist Summary for January 5 - February 18
The Zope maillist summary features and comments upon selected threads from the [email protected] maillist.
Static fail-over
Terry Hancock asks how he can create a setup that fails over to static content if Zope cannot be reached. The conversation bends towards Zope load balancing and failover solutions in general and as such covers Toby Dickenson's interesting ICP patch for Zope that lets it act as a Squid peer. http://lists.zope.org/pipermail/zope/2002-January/107298.html
q: How should I get a guaranteed unique id in Zope?
Joe Block asks how to get a guaranteed unique id in Zope using Postgres and as a result folks offer and absorb Zen about the way that Zope handles transactions. http://lists.zope.org/pipermail/zope/2002-January/106915.html
Zope & OpenOffice
Dirk Datzert wants to use OpenOffice programmatically from Zope to generate charts and graphs. It turns out to be not so easy, but he gets several alternate suggestions. http://lists.zope.org/pipermail/zope/2002-January/107602.html
ANNOUNCE: An easier way to write products
MaxM announces his "easyProduct" product, which presents Zope users with an easier way to produce Zope products (http://www.zope.org/Members/maxm/HowTo/easyProduct), and gets many accolades. http://lists.zope.org/pipermail/zope/2002-January/106646.html
memory leak in a very simple product. Way?
Christoph Wierling writes some code that seems to leak memory and asks the list why. It turns into a discussion of persistence and object references. http://lists.zope.org/pipermail/zope/2002-January/106957.html
Zope and R
Ragnar Beer asks if anyone has come up with a way to use "R" (www.r-project.org) statistical analysis package from Zope to generate graphs. A. J. Rossini appears to have thought deeply about it and a discussion ensues. Reportlab and GDChart are also discussed as potential graphing solutions. http://lists.zope.org/pipermail/zope/2002-February/108319.html
Globals disappearing in extmethod?
Joseph Knapka finds out that the files in which External Methods are defined are not actually "modules" in the Python sense. http://lists.zope.org/pipermail/zope/2002-February/108303.html
- 5 upgrade, Sessions - too clever for myself
Brad Clements upgrades his Zope 2.5 beta release to 2.5.0 final and comes across difficulties in using sessioning which are ultimately solved. http://lists.zope.org/pipermail/zope/2002-February/108905.html
{ CM }