Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.


ztfy.blog is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)

What is ztfy.blog ?

ztfy.blog is a set of modules which allows easy management of a simple web site based on Zope3 application server.

It's main goal is to be simple to use and manage.

So it's far from being a "features full" environment, but available features currently include:
  • a simple management interface
  • sites, organized with sections and internal blogs
  • topics, made of custom elements (text or HTML paragraphs, resources and links)
  • a default front-office skin.

All these elements can be extended by registering a simple set of interfaces and adapters, to create a complete web site matching your own needs.

A few list of extensions is available in several packages, like ztfy.gallery which provides basic management of images galleries in a custom skin, or ztfy.hplskin which provides another skin.

How to use ztfy.blog ?

ztfy.blog usage is described via doctests in ztfy/blog/doctests/README.txt


  • added missing property in default skin's site presentation class
  • added checks in database upgrade code
  • use correct widgets prefix in resources add forms
  • remove security proxy on back-office interface adapter
  • move several skin-related interfaces and classes to ZTFY.skin
  • use fancybox plug-in data API from ZTFY.skin
  • reorganized resources to facilitate custom skins not reusing ZTFY.blog CSS
  • imports cleanup
  • use ZTFY.skin data API
  • make package resources compatible with Fanstatic "bottom" option
  • removed "$.browser" check which is deprecated in JQuery 1.7
  • use last roles edit form from ztfy.security
  • added custom ZODBBrowser state loader for ordered container
  • changed style of container batch links
  • use generic marker interface and ++back++ namespace to identify contents with custom back-office properties
  • updated locales
  • removed useless title on category add form
  • added site's back-office custom logo
  • removed useless title on dialog add forms
  • use "getContentName()" function from ZTFY.utils package when creating new resources or links
  • small CSS updates in default skin to match new ZTFY skin
  • added legend on site's tree view
  • changed "++static++" namespace traverser layer
  • changed package source layout
  • implement ztfy.security ILocalRoleManager interface
  • remove default JPEG format when creating or using thumbnails
  • changed batch size to 10000 items in site tree view
  • large refactoring due to integration of generic features (forms, javascript...) into ztfy.skin package
  • added a global 'operators' groups, which has the "ztfy.ViewManagementScreens" permission; any principal receiving an administrator or contributor role will automatically be included in this group.
  • define default BaseEditForm buttons
  • changed permissions on login viewlet
  • minor CSS updates
  • small back-office CSS update
  • added new back-office presentation properties to add custom CSS, banner and favorites icon
  • changed dialogs overlay mask color and opacity
  • changed default dialogs container width
  • added BaseDisplayForm and BaseDialogDisplayForm classes
  • added alternate title on illustrations and updated templates to improve XHTML standard compliance
  • added HTTP-equiv meta header class and interface
  • removed zope.proxy package dependency
  • improved back-office batching
  • remove closed dialog's overlays from HTML source code
  • updated back-office styles
  • use jQuery's multi-select plug-in for internal reference's widget (with the help of a new XML-RPC search view)
  • remove form's error status automatically only if it's not an error status
  • added "CALLBACK" output mode in javascript forms to be able to call a custom callback
  • added "getOuput()" method in add and edit forms to get a custom AJAX output in derived forms
  • added progress bar in forms managing file uploads ; this code is based on Apache2 upload progress module but forms still function correctly if module is not enabled
  • small javascript updates
  • use absolute URL on workflow forms redirections
  • added display of Google +1 button in presentation settings and templates
  • added display of Facebook 'Like' button in presentation settings and templates
  • add "managers" group on automatic database upgrade
  • added "devmode" ZCML condition on manager grants
  • corrected automatic database upgrade code (again, sorry...!)
  • corrected automatic database upgrade code
  • added RSS feeds
  • added roles management dialogs
  • added interfaces and adapters to handle HTML metas
  • added extension in displays URLs
  • changed necessary permission from ztfy.ManageContent to ztfy.ViewManagementScreens to get access to many management dialogs
  • correct dependencies in default skin resources
  • updated database automatic upgrade code
  • add check for II18n adapter in banner viewlet
  • added CSS class for Disqus threads list elements
  • and a few other little enhancements...
  • changed TopicResourcesView to correctly display only selected resources
  • check for I18n adapter result in TitleColumn.renderCell
  • migrated resources management from zc.resourcelibrary to fanstatic
  • switch to ZTK-1.1.2
  • fixed JavaScript typo
  • new ISiteManagerTreeViewContent interface to handle presentation of site's tree view contents
  • changed breadcrumbs handling to correctly get IBreadcrumbInfo multi-adapter
  • changed TitleColumn.renderCell to correctly check title's URL
  • changed permission required to display "management" link
  • added better checking of II18n adapter in several contexts
  • added 'ztfy.ViewManagementScreens' permission
  • added "container_interface" attribute on OrderedContainerBaseView for use in "updateOrder" method
  • added JavaScript resource for function common to front-office and back-office
  • removed many "zope.app" packages dependencies
  • removed ztfy.blog.crontab module, which was moved to ztfy.scheduler package to remove a cyclic dependency
  • switch "getPrincipal()" function from "ztfy.utils" to "ztfy.security" package
  • changed pagination behavior
  • added pagination on category index page
  • added Google site verification code
  • changed behavior of categories 'getVisibleTopics()' method to also get topics matching sub-categories of the given category
  • corrected timezone in sitemap lastmod attribute
  • modified $.ZBlog.form.edit function to add a custom callback
  • corrected handling of topics 'commentable' property which was ignored
  • added IContainerSitemapInfo interface and adapters to handle sitemaps correctly...
  • added sitemaps XML views (see "sitemaps.org" for details)
  • added workaround to display new sites properties without OID
  • moved Google Analytics integration page in default layout
  • update database upgrade code used when creating a site manager
  • integration of Google Analytics and AdSense services
  • modified topic comments template to correctly handle presentation settings
  • small templates modifications for better XHTML compliance
  • added '++presentation++' namespace traverser
  • changed 'title' index default options
  • added interfaces, base classes and adapters to handle presentation correctly inside custom skins
  • added 'skin:' and 'site:' TALES path adapter
  • added warning message when displaying a category without any topic
  • changed topics ordering in topics containers views
  • changed fields list of 'title' text index
  • added missing "content_type" property on sections and topics
  • added 'content_type' index
  • few code cleanup (unused imports...)
  • some bugs corrected
  • resources cleanup and minimization
  • light changes in paragraphs templates
  • Added MANIFEST.in file to handle source package without missing files
  • Initial release

Subscribe to package updates

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.