skip to navigation
skip to content

ztfy.webapp 1.1.5

ZTFY web application template

ZTFY.webapp

Introduction

ZTFY.webapp is mainly based on BlueBream concepts and packages, but introduces a few changes and a set of new functionalities ; it’s main goal is to provide a Paster template to create a new ZTFY.blog based web site in just a few seconds.

More informations about ZTFY packages can be found on ZTFY home page.

The “webapp” is nothing more than a “configuration container”, which references and configures all packages needed to handle a web site ; it doesn’t provide any real functionality in itself, except those required to handle the web server in itself.

BlueBream – formerly known as Zope 3 – is a web framework written in the Python programming language.

BlueBream is free/open source software, owned by the Zope Foundation, licensed under the Zope Public License (BSD like, GPL compatible license).

Features

Here are the features distinguishing BlueBream from other Python web frameworks:

  • BlueBream is built on top of the Zope Toolkit (ZTK), which has many years of experience proving it meets the demanding requirements for stable, scalable software.
  • BlueBream uses the powerful and familiar Buildout building system written in Python.
  • BlueBream employs the Zope Object Database ZODB, a transactional object database, providing extremely powerful and easy to use persistence.
  • BlueBream registers components with Zope Component Markup Language (ZCML), an XML based configuration language, providing limitless flexibility.
  • BlueBream features the Zope Component Architecture (ZCA) which implements Separation of concerns to create highly cohesive reusable components (zope.component).
  • BlueBream implements the WSGI specification (Web Server Gateway Interface) with the help of PasteDeploy.
  • BlueBream includes a number of well tested components to implement common activities. A few of these are:

On top of this, ZTFY provides a few set of additional packages, which allows you to manage a full web site in just a few minutes, including :

  • a complete content management interface (based on z3c.form)
  • an alternate ZMI
  • a structured web site, containing sections and articles, blog(s), topics…
  • images galleries
  • and many more little features, described on ZTFY home page.

You will also find on this web page all informations required to know how to create and setup a new web site using these packages.

Three simple skins are provided in the default setup, and a “nearly ready to use” configuration file for Apache2 mod_wsgi module is also provided.

Installation

If you have installed setuptools or distribute an easy_install command will be available. Then, you can install ZTFY.webapp using easy_install command like this:

$ easy_install ztfy.webapp

Internet access to PyPI is required to perform installation of ZTFY.webapp.

The ZTFY.webapp distribution provides a quick project creation tool based on PasteScript templates. Once ZTFY.webapp is installed, run paster command to create the project directory structure. The create sub-command provided by paster will show a wizard to create the project directory structure.

$ paster create -t ztfy.webapp

This will bring a wizard asking details about your new project. If you provide a package name and version number, you will get a working application which can be modified further. The project name will be used as the egg name. You can also change the values provided later.

The project name can be given as a command line argument:

$ paster create -t ztfy.webapp sampleproject

If you provide an option from the command line, it will not be prompted by the wizard. The other variables are given below, you can give the values from the command line, if required:

  • interpreter – Name of the custom Python interpreter
  • release – The version of ZTFY.webapp
  • version – The version of your project (eg:- 0.1)
  • description – One-line description of the package
  • long_description – Multi-line description (in reStructuredText)
  • keywords – Space-separated keywords/tags
  • author – Author name
  • author_email – Author email
  • url – URL of the homepage
  • license_name – License name

If you are in a hurry, you can simply press Enter/Return key and change the values later. But it would be a good idea, if you provide a good name for your project.

Usage

The generated package is bundled with Buildout configuration and the Buildout bootstrap script (bootstrap.py). First you need to bootstrap the buildout itself:

$ cd sampleproject
$ python bootstrap.py

The bootstrap script will install the zc.buildout and distribute packages. Also, it will create the basic directory structure. Next step is building the application. To build the application, run the buildout:

$ ./bin/buidout

The buildout script will download all dependencies and setup the environment to run your application.

The most common thing you need while developing an application is running the server. ZTFY.webapp uses the paster command provided by PasteScript to run the WSGI server. To run the server, you can pass the PasteDeploy configuration file as the argument to serve sub-command as given here:

$ ./bin/paster serve debug.ini

Once you run the server, you can access it here: http://localhost:8080/ . The port number (8080) can be changed from the PasteDeploy configuration file (debug.ini).

The second most common thing must be running the test cases. ZTFY.webapp creates a testrunner using the zc.recipe.testrunner Buildout recipe. You can see a test command inside the bin directory. To run test cases, just run this command:

$ ./bin/test

Sometimes you may want to get the debug shell. ZTFY.webapp provides a Python prompt with your application object. You can invoke the debug shell like this:

$ ./bin/paster shell debug.ini

More about the test runner and debug shell will be explained in the BlueBream Manual. You can continue reading about BlueBream from the documentation site.

Resources

Changelog

1.1.5 (2013-09-23)

  • added ZTFY.base and ZODBBrowser in default project dependencies and configuration

1.1.4 (2013-06-14)

  • activate Fanstatic “bottom” option for resources, as all ZTFY packages are now compatible with it
  • remove several packages (ztfy.gallery, ztfy.hplskin and ztfy.alchemy) from standard configuration, as they are not required in most default environments

1.1.3 (2012-04-17)

  • moved main configuration file (configure.zcml) from src/webapp/ directory to etc/
  • register “overrides.zcml” from ztfy.skin package instead of ztfy.blog
  • removed ztfy.jqueryui ZCML files include

1.1.2 (2012-03-12)

  • added gzip filter in deploy.ini pipeline (Fanstatic configuration is not compatible with Apache’s mod_deflate for static resources)
  • added conditional Apache’s mod_upload_progress configuration
  • added mod_wsgi comments in generated README.txt
  • modified Apache’s mod_ssl configuration
  • changed application factory to force ++vh++ namespace in HTTPS
  • disabled site packages and picked versions in generated buildout

1.1.1 (2011-12-24)

  • changed WSGIScriptAlias path in Apache mod_wsgi configuration

1.1.0 (2011-12-18)

  • initial release (based on BlueBream)
 
File Type Py Version Uploaded on Size
ztfy.webapp-1.1.5-py2.7.egg (md5) Python Egg 2.7 2013-09-23 40KB
ztfy.webapp-1.1.5.tar.gz (md5) Source 2013-09-23 25KB