[Zope-dev] Success at porting ZTK to Python 3!

Albertas Agejevas alga at pov.lt
Mon Apr 8 14:36:17 UTC 2013


Subject: Success at porting ZTK app to Python 3!

Hi all,

I'm glad to announce that we at CipherHealth have recently ported a
full-fledged ZTK application to Python 3!


What is cipher.uibuilder?
~~~~~~~~~~~~~~~~~~~~~~~~~

UI Builder is the infrastructural part of our major product.  It is a
library for building multi-tenant systems for business applications
that involve import, processing and export of some data.  UI Builder
allows the admin to set up various user-facing views for the data,
including tables, forms, charts, etc.

Each tenant (site) has a separate configuration that is editable TTW
and is stored using the ZODB and ConfigParser files on disk.  The
configuration files then can be loaded into a site.  This allows us to
version configurations and move them between environments.

UI Builder also provides facilities for scheduled tasks and background
execution of long-running jobs using celery.

UI Builder uses z3c.form, z3c.table, as well as zope.publisher and
friends.

We have put together a simple demo application that exercises most
UI Builder features.


Status of the Python 3 port
~~~~~~~~~~~~~~~~~~~~~~~~~~~

We have the demo application successfully running on Python 3.3.  In
order to do that we have to rely on a number of alpha packages
and several unreleased versions in py3 branches of dependencies.
There still are several open issues, such as absence of xlwt-based
Excel output and the issue of ZODB data backwards compatibility.

In order to get zope.testbrowser-based tests to work on Python 3, we
chose to migrate to WebTest as the back end instead of mechanize, as
mechanize proved to be too hard to port to Python 3.  The new version
of zope.testbrowser is highly compatible with the previous one,
verified on test suites of several major applications which used
zope.testbrowser.


Trying it out
~~~~~~~~~~~~~

If you're interested, you can check out the py3 branch of
cipher.uibuilderdemo.  Follow the instructions in the README.txt:

https://github.com/CipherHealth/cipher.uibuilderdemo/tree/py3


Albertas


More information about the Zope-Dev mailing list