I am pleased to announce the final release of
SmartPrintNG V 1.0.0
SmartPrintNG can convert almost any Plone content into different formats:
* PDF
* RTF
* ODT
* WML
* DOCX
In addition SmartPrintNG provides a configurable pre- and post-processing
pipline in order to give you full control over the conversion process.
SmartPrintNG comes with filters to remove images, remove links or generate
a link list at the end of the document, support for breaking a document
into pages (e.g. for presentation handouts) and much more.
To control the look & feel of the generated document you can configure
custom templates and custom style-sheets.
SmartPrintNG is highly customizable and configurable giving you ultimate
control over all aspects of the conversion process.
Requirements:
* Zope 2.10.4 (Plone 3.0), Zope 2.9.8 (Plone 2.5)
* Plone 3.0, Plone 2.5
* XFC converter (XMLMind)
* XINC converter (Lunasil)
* zopyx.convert V 1.0.0 for higher
* BeautifulSoup V 3.0.0 or higher
* Java 1.5 or higher
Project homepage and download:
http://smartprintng.zopyx.com
Andreas Jung
--
ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany
Web: www.zopyx.com - Email: info(a)zopyx.com - Phone +49 - 7071 - 793376
Registergericht: Amtsgericht Stuttgart, Handelsregister A 381535
Geschäftsführer/Gesellschafter: ZOPYX Limited, Birmingham, UK
------------------------------------------------------------------------
E-Publishing, Python, Zope & Plone development, Consulting
I'm glad to announce the recent release of Zwiki 0.60, breaking the
unusually long dry spell since 0.59 in 2007/04. Development has continued
at a steady pace, as you can see at the darcsweb link below; also the docs
continue to improve at zwiki.org and the issue tracker continues to grind
through the mass of issues.
Zope 2.10 and Plone 3 users will want to upgrade to this one. I am
tinkering with the development process to try and make us more efficient.
We have fun on this project and don't mind sharing it around, so more
contributors always welcome!
Best wishes,
-Simon
Links:
- http://zwiki.org - documentation, discussion, download, start here
- http://joyful.com/darcsweb/darcsweb.cgi?r=ZWiki;a=shortlog - commit
history
- http://zwiki.org/FreeHosting - free zwiki hosting
- http://joyful.com - related sites
Release notes:
Zwiki 0.60.0 2007/09/15
=======================
Fix TAL unicode errors with zope 2.10, Plone 3/CMF 2.1 compatibility,
quicker page rendering, permanent edit history, labelled bracket links,
better support for custom wiki templates, a tool for importing MoinMoin
wikis, many other improvements and code cleanups.
Upgrade notes
* Zope >=2.10 users should upgrade to this release to avoid TAL unicode
errors
* Plone 3/CMF 2.1 users should upgrade to this release
* Plone 2.x users will not be able to install this release in sites, see
#1322 below
* a wiki catalog is no longer optional, and will be added if missing
* skin customizers should note the wiki navigation links are now in the
wikipage template
Installing
* #1322: Plone 3 & CMF 2.1 compatibility. Warning, this version of Zwiki
uses GenericSetup and is not compatible with older versions of
Plone/CMF. This could be tackled in a future release if there is
demand. See the issue page for discussion and possible workarounds.
* tools/prepmoin.py, imports MoinMoin wiki data to a zwiki (M. Pedersen)
* #1217: fix setupDtmlPages error (Sascha Welter)
Configuring
* fixPageEncoding renamed to fixEncoding and fixed
* move wiki navigation links to wikipage template for easier customizing
* #1041, #1145: ensure a catalog and an outline cache are always present.
Browsing
* make the home link, wiki logo and index_html use the default page url
consistently
* hide the prefix in mailto: email hyperlinks
* change long-standing links order: contents before changes, help after
options
* #1348 - redirect to original page after useroptions We are always
calling FrontPage/useroptions to limit bot traffic. Now we are
carrying the redirectURL through the REQUEST, so we know where to
redirect in the end. (Sascha Welter)
* #1333: make literal/code style more precise to avoid styling difform
headings
* help page cleanup
* #1145: avoid the broken dtml-in sort option in SearchPage, also, to
avoid occasional search errors
* most access keys are always available, but disable the s subscribeform
key if mailout is not enabled, as an extra cue
* speed up pages by doing less work
* slight discussionUrl speedup, don't look for UserDiscussion page
* speed up hasIssues, which was taking half the 2.5s skin render time on
zwiki.org
Editing
* #1157: replace revertEdits[Everywhere]By with history-wiping expunge,
expungeEditsBy, expungeEditsEverywhereBy methods
* more robust history:
- allow partial history, revisions can safely be deleted
- use a btree folder for revisions if possible
- more zodb cache friendly
- richer history api
* new history and diff views. History should now be at least as
functional as before, and permanent
* simple permanent revisions model, use revisions folder instead of
recycle_bin
* stop discarding content outside of html body tags - they may be part
of the content
* #1370: allow arbitrary urls in bracket links
* optional link labels after | in bracket links
* #965: avoid infinite recursion error when a page is reparented to
itself
(Sascha Welter)
* #570 - Ensure valid id with file uploads. But meanwhile try to mess
with uploaded file's names as little as possible. We check first if
the name is acceptable to Zope, and only if it isn't we change
it. (Sascha Welter)
* #1085 - Comments are now properly formatted in HTML pagetype. Now
it's possible to use comments in HTML pagetype pages and have the
comments still properly formatted after page edits. Similar to #1079
and therefore again credits and thanks to Martijn Pieters. We are in
the same manner using preRenderMessages to add the comments. (Sascha
Welter)
* #1079 - Plaintext comments work now. Commenting on plaintext pages
would work until you edited the page itself, then the prerendering
method lost the comment rendering. Credits go to Martijn Peters for
this patch, a bit adapted to code that had moved on. I had to tweak
the output test, as the exact placement of blank lines at end of the
page content has changed minimally. (Sascha Welter)
* refuse any incoming text that's not ascii or utf-8, to avoid problems
later
* createform and create now look only at folder permissions, not the
current page, to be consistent with the page management form. The
'Zwiki: Add pages' permission is meaningful only on folders, and
ignored on pages.
* #512 - fix footnotes with "create page" links in RST (Sascha Welter)
* #1323: revert methods now obey the edits_need_username option
* clean up revertEditsBy, don't break with new pages
Mail
* #1256: handle mailins with encodings other than utf8
* don't log body of mail-ins by default
* #141 - Uploading a file causes an "edit" mailout now. (Sascha Welter)
* also allow a 'Secure Maildrop Host' for sending mail (Sascha Welter,
Encolpe Degoute)
Feeds
* no updates
Issue tracking
* yellow color to make open funded issues stand out
* IssueTracker cleanups
* #1334: make fuzzy urls work better with issue numbers
* use html instead of stx page type when installing issue tracker as
dtml pages, for a 4x speedup of the unit test on my system
General
* many code cleanups including imports, safe_hasattr, deprecation
warnings, pyflakes warnings, tests
* Replace hasattr() with safe_hasattr() everywhere. Problem with
hasattr() is that it masks exceptions, which is known to be
problematic. "Our" new safe_hasattr() is from
http://www.zope.org/Collectors/Zope/742 - with thanks and credits to
Dieter Maurer. (Sascha Welter)
* #1365 use talsafe() on newname in /editform to avoid
UnicodeDecodeError. This problem appeared in localized browsers only
for some reason, but the fix likely is necessary for 2.10 too. (Sascha
Welter)
* #1339 - fixing text encoding for editform.pt textarea. (Sascha Welter)
* #1330: a better fix for these unicode errors. Zope 2.10 expects TAL
data to be unicode, older zopes do not. This can lead to many obscure
unicode errors depending on your system locale, wiki content, cookies,
phase of the moon etc. This fix aims to make all the standard
templates robust against this. Wikis with old customized templates
will still be vulnerable to this problem after upgrading to zope 2.10,
until those templates are updated.
* partial workaround for #1330 UnicodeDecodeError
* Default wiki type is "basic" + added 'jpeg' fs templating. (Sascha
Welter)
* #1332 - fix for the fix + default wiki_type is "basic". We're now not
trying to grab the REQUEST from self any more -- just doesn't make
sense to me. Also we have now the default wiki_type as
"basic". (Sascha Welter)
* #1332 - make manage_addWiki more programmatic + test. We still
grabbed the REQUEST and thus got a redirect at the 2nd chance. Now
we're doing the same check as on the 1st test and also return the new
id if we don't redirect. Added a test too. (Sascha Welter)
* Recursively add files/folders on addWikiFromFs. This is used for
"nautica" style templates. It's now possible to use templates
e.g. from openwebdesign.org without having to "unroll" images into a
flat structure. Also we now can set document titles and parents from
the filesystem pages. (Sascha Welter)
* #1331, #1186 - last_edit_date / creation_date timestamps now in
ISO6801. We changed the timestamp format for last_edit_date and
creation_date to conform to ISO8601, in order to save time zone
information along with it. Special care is taken to upgrading old
timestamps in Zope's DateTime's ISO() format. (Sascha Welter)
* update stx code, may work better with zope 2.10
* revisionInfoFor -> revisionInfo
* inPlone method
Translations
* no updates
zopeproject makes it easy to get started with a web application based on
Zope eggs, zc.buildout and WSGI/Paste. If you're not familiar with this
world yet, zopeproject is your easy entry to it. If you are, zopeproject
will save you lots of typing up the boilerplate.
Why eggs?
---------
Because they are a great way to distribute Python software and declare
its dependencies. Zope 3.4 is completely distributed as individual eggs
and will from now on be developed as such.
What's zc.buildout?
-------------------
It's a tool for repeatable deployments that's configuration-file driven.
You tell it "install these eggs for me, create this script and let me
develop packages in this directory" and it will go ahead and do all
that. Over and over again, if necessary, and for everybody who wants the
same setup as you (which is great for teams).
What are WSGI and Paste?
------------------------
WSGI is a Python standard for web applications and web servers. It
defines how they communicate so that potentially any WSGI application
can run on any WSGI gateway (server). Zope has had support for WSGI for
a while now, but it has never really been exposed, even though it offers
great possibilities such as middlewares.
Paste is a collection of related to WSGI. One of its tools, PasteDeploy,
is of particular interest. It allows you to plug WSGI applications,
middlwares and gateways together using a simple configuration file.
zopeproject vs. instances
-------------------------
Apart from all the flashy technology that zopeproject brings us, it also
implies a big conceptual change in the way we develop web applications
with Zope.
In the world of regular instances, Zope is the server and the
application. Your code is just like a plug-in::
+------------+ +---------+
| Zope | runs |your code|
|server & app| ----> | (plugin)|
+------------+ +---------+
Even though we've been doing it for years ("Products" ring any bells?),
I think this is backwards and accounts for much of the irritation people
coming to Zope have.
With zopeproject's approach, *your code* is the application. The web
application, to be precise. And it *happens* to use Zope. As a library::
+------------+ +-------------+ +---------+
|WSGI gateway| serves | your code | uses | Zope |
| (server) | ------> |(application)| ----> |libraries|
+------------+ +-------------+ +---------+
Zope isn't the center of attention anymore, your application is. Even
better, you can choose how much of Zope you'd really like to use. You
may compare this approach to a GUI application that happens to use some
sort of GUI framework to get some widgets on the screen, but otherwise
it's just like any other, real application.
So how does it work?
--------------------
It's pretty easy. All you need to do is install zopeproject first. You
don't need to install Zope for this, zopeproject will do that for you
later. Note that you will have to have setuptools installed for this
to work (it provides the easy_install script)::
$ easy_install zopeproject
Depending on where and how you installed Python, you may have to prefix
this command with "sudo" to gain privileges for installing packages
globally.
Now you can create a new web application::
$ zopeproject WebApp
Much like with mkzopeinstance, you'll be asked a couple of questions.
The last question concerns the central download location for eggs (which
will include the Zope eggs). After the questions, zopeproject will
create a 'WebApp' directory with some initial directory structure, as
well as download and install the Zope eggs.
To start the application, go to the newly created directory and invoke
the server::
$ cd WebApp
$ bin/paster serve deploy.ini
You may also use the webapp-ctl script which works much like zopectl::
$ bin/webapp-ctl fg
You will then be able to go to http://localhost:8080 and see the default
Zope screen (The standard boilerplate simply uses the Zope 3 default,
after all. It is now up to you to change that.)
More information and feedback
-----------------------------
For more information, please refer to zopeproject's homepage on PyPI:
http://pypi.python.org/pypi/zopeproject
I'm very much interested in getting your feedback. Please direct
questions that are of public interest to the zope3-users(a)zope.org list.
Bugs may be reported in Launchpad: https://launchpad.net/zopeproject.
--
http://worldcookery.com -- Professional Zope documentation and training
________________________________________________________________________
ANNOUNCING
eGenix.com mxODBC Database Interface
eGenix.com mxODBC Zope Database Adapter
for 64-bit FreeBSD
This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-on-FreeBSD-amd64-GA.html
________________________________________________________________________
eGenix mxODBC Distribution
The eGenix mxODBC Distribution is a Python database interface add-on
distribution for our eGenix mx Base Distribution. It comes with mxODBC,
our universal ODBC database interface for Python.
Customers who have purchased licenses for other platforms and wish to
move their installation to FreeBSD 64-bit, can do so without having to
buy a new license. The licenses will continue to work on the 64-bit
platform.
Users of mxODBC 2.0 will have to purchase new licenses from our online
shop in order to upgrade to mxODBC 3.0.
You can request 30-day evaluation licenses on the product page.
Downloads
---------
Please visit the eGenix mxODBC Distribution page for downloads,
instructions on installation and documentation of the packages.
http://www.egenix.com/products/python/mxODBC/
Note that in order to use the eGenix mxODBC Distribution you need to
install the eGenix mx Base Distribution first.
________________________________________________________________________
eGenix mxODBC Zope DA
eGenix mxODBC Zope DA is our database interface for Zope and Plone. It
is based on the mxODBC interface.
Customers who have purchased licenses for other platforms and wish to
move their installation to FreeBSD 64-bit, can do so without having to
buy a new license. The licenses will continue to work on the 64-bit
platform.
You can request 30-day evaluation licenses on the product page.
Downloads
---------
Please visit the eGenix mxODBC Zope DA product page for downloads,
instructions on installation and documentation of the packages.
http://www.egenix.com/products/zope/mxODBCZopeDA/
________________________________________________________________________
More Information
For more information on our products, licensing and download
instructions, please write to sales(a)egenix.com.
Enjoy,
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Sep 12 2007)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2007-08-22: Released mxODBC 3.0.1 http://python.egenix.com/
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
I am pleased to announce a new major release of
SmartPrintNG V 0.2.0.
SmartPrintNG can convert almost any Plone content into different formats:
* PDF
* RTF
* ODT
* WML
* DOCX
In addition SmartPrintNG provides a configurable pre- and post-processing
pipline in order to give you full control over the conversion process.
SmartPrintNG comes with filters to remove images, remove links or generate
a link list at the end of the document, support for breaking a document
into pages (e.g. for presentation handouts) and much more.
To control the look & feel of the generated document you can configure
custom templates and custom style-sheets.
SmartPrintNG is highly customizable and configurable giving you ultimate
control over all aspects of the conversion process.
Changes in V 0.2.0:
- per-interface IHTMLExtractor support (backend and UI). Look at
the demo folder (plone_adapters.py)
- fixed JS racing condition in smartprint.js
- better error handling in case of a backend failure
- german translation
- the new ZCML directive smartprintng:resourceDirectory allows you to
register all templates (suffix .pt) and stylesheets (suffix .css) within
the given directory for one or more interfaces. See demo/configure.zcml
and the whole demo directory for examples.
- templates, stylesheets and FO related stylesheets completely
configurable on a per-interface basis
- moved default styles and default FO styles to 'resources' directory
- using the BeautifulSoup module for HTML manipulations
Requirements:
* Zope 2.10.4 (Plone 3.0), Zope 2.9.8 (Plone 2.5)
* Plone 3.0, Plone 2.5
* XFC converter (XMLMind)
* XINC converter (Lunasil)
* zopyx.convert V 0.4.7 for higher
* Java 1.5 or higher
Project homepage and download:
http://smartprintng.zopyx.com
Andreas Jung
--
ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany
Web: www.zopyx.com - Email: info(a)zopyx.com - Phone +49 - 7071 - 793376
Registergericht: Amtsgericht Stuttgart, Handelsregister A 381535
Geschäftsführer/Gesellschafter: ZOPYX Limited, Birmingham, UK
------------------------------------------------------------------------
E-Publishing, Python, Zope & Plone development, Consulting