yafowil.zope2 1.1
Zope2/ Plone Integration with YAFOWIL
License: Simplified BSD
Keywords: zope2 request response html input widgets

DEPRECATED
==========

Do **use yafowil.plone instead **.

Introduction
============

This is the **Zope2 integration** for `YAFOWIL
<http://pypi.python.org/pypi/yafowil>`_

Functionality
=============

Browser Resources
-----------------

Plugins may provide custom javascript, css, images (and so on). This package
registers the directory containing them as a resource-directory. Thus they can
be accessed from the webbrowser. The schema is
``+++resource++MODULENAME/filename.ext``. I.e. if ``yafowil.widget.autocomplete``
is available its javascript can be accessed with
``http://localhost:8080/Plone/++resource++yafowil.widget.autocomplete/widget.js``.

Integration with Plone and GenericSetup
---------------------------------------

There a profile ``YAFOWIL`` available registering all browser resources in css 
and javascript registries.

The resources are registred without any thridparty dependencies (i.e. dependend
javascript libraries).

Integration with Translation
----------------------------

The package adds an translation method for Zope2 i18n messages. Its added using
a global preprocessor


Request wrapper
---------------

This package registers a global preprocessor for YAFOWIL. It wraps the Zope2
request by an own request instance providing the behavior expected by YAFOWIL.
Spezial behaviors:

- File Uploads provided by Zope2 as ``ZPublisher.HTTPRequest.Fileupload``
  objects are turned into Dicts with the keys:

  file
      file-like object to read data from

  filename
      submitted name of the upload

  mimetype
      type of the upload

  headers
      all headers

  original
      keeps the original ``ZPublisher.HTTPRequest.Fileupload`` object

Source Code
===========

The sources are in a GIT DVCS with its main branches at
`github <http://github.com/bluedynamics/yafowil.zope2>`_.

We'd be happy to see many forks and pull-requests to make YAFOWIL even better.

Contributors
============

- Jens W. Klein <jens@bluedynamics.com> - maintainer

- Peter Holzer <hpeter@agitator.com>

- Benjamin Stefaner <bs@kleinundpartner.at>

History
=======

1.1
---

- depend on yafowil 1.3 in setup.py and bump version.
  [jensens, 2012-03-20]

1.0
---

- Resources are registered using the new plugin infrastructure.
  Theres now an import step for generic setup registering all javascripts and
  stylesheets provided by the plugins. They are registred without any 
  thirdparty dependencies. If a resource is already registered its registration 
  is skipped. Such its possible to register or overide the defaults using xml
  files.
  [jensens, 2012-02-01]

- automatic browserresources for plugins [jensens, 2012-02-16]

- depends on yafowil 1.3 plugin infrastucture [jensens, 2012-02-15]

- example form and senseful default-classes and plans for plone
  [hpeter, bennyboy, 2012-02-15]

1.0-beta
--------

- made it work [jensens, rnix, et al, 2010-12-27]


License
=======

Copyright (c) 2010, BlueDynamics Alliance, Austria
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this 
  list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this 
  list of conditions and the following disclaimer in the documentation and/or 
  other materials provided with the distribution.
* Neither the name of the BlueDynamics Alliance nor the names of its 
  contributors may be used to endorse or promote products derived from this 
  software without specific prior written permission.
      
THIS SOFTWARE IS PROVIDED BY BlueDynamics Alliance ``AS IS`` AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL BlueDynamics Alliance BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.