<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>plone.reload</name>
<shortdesc>Configuration and code reload without Zope server restarts.</shortdesc>
<description>plone.reload
============

Overview
--------

Configuration and code reload without server restarts.

This code is heavily based on the Products.RefreshNG product found at
http://launchpad.net/refreshng.

The original xreload.py written by Guido van Rossum can be found at
http://svn.python.org/projects/sandbox/trunk/xreload/xreload.py

It has some enhancements, but those seem to break more code than do any good
in a Zope environment with patched in meta classes and monkey patches all over
the place.

Usage
-----

While being logged into the ZMI as a Manager user goto /@@reload on your
Zope application root via a browser. If your Zope is configured to listen on
port 8080 on localhost this is::

  http://localhost:8080/@@reload

If you get a `Resource not found` error, make sure you have loaded this
packages configure.zcml file and you really use the ZODB application root and
not a Plone site as the base url.

When you press the `Reload Code` button, all modules that have been changed
since the last time they were loaded are reloaded. You'll get a status message
telling you which modules have been reloaded.

To reload all ZCML without a restart, press the 'Reload Code and ZCML' button.

The action to perform is determined via a simple query string, so once you
did a 'Reload Code' once, you can simply reload the browser page to execute
the action once again.

Changelog
=========

0.9 (2008-07-23)
----------------

- Removed the manual cleanup approach for extra registries populated by ZCML
  parsing. Instead we use the registry of cleanup functions inside
  zope.testing.cleanup to automatically pick up all cleaning functions.
  [hannosch]

0.8 (2008-06-30)
----------------

- Wrap the setupFinalLogging method of the Zope2 starter objects to initialize
  our internal modified times registry once after Zope is finished loading.
  This is the closest I could find that resembles a `Zope is finished loading`
  event and should help to remove the double-reload behavior.
  [hannosch]

- Only expose the reload view in Zope 2 development mode.
  [hannosch]

- In case of errors during ZCML reload, restore the original global site
  manager state, instead of leaving it in a broken state. This allows you to
  fix and retry the ZCML reload as many times as you need.
  [hannosch]


0.7 (2008-06-17)
----------------

- Merged the two distinct views into one called @@reload. Added a somewhat
  nicer UI to it and explain some of the current limitations on that page.
  [hannosch]

- Refactored ZCML loading code a bit. Always do an automatic code reload
  before reloading ZCML.
  [hannosch]

- Removed all blacklisting code.
  [hannosch]


0.6 (2008-06-11)
----------------

- Disabled blacklist until it can be made configurable. The speedup is hardly
  noticeable anyway, and it can block too much (especially if plone.reload
  is being used in a lib/python style deployment rather than as an egg).
  [optilude]


0.5 (2008-05-24)
----------------

- Merged r20 from http://bazaar.launchpad.net/~refreshng-dev/refreshng/dev.
  This fixes https://bugs.launchpad.net/refreshng/+bug/175898.
  [hannosch]

- Removed various levels of caching which turned out to be premature and
  caused lots of modules not to be found.
  [hannosch]


0.4 (2008-03-01)
----------------

- Made the code reload available as its own @@code_reload view.
  [hannosch]

- Integrated xreload.py from RefreshNG and added a first working version of a
  general manual code reload feature.
  [hannosch]


0.3 (2008-02-21)
----------------

- Fixed caching issues by invalidating all ZODB caches. If you have local site
  managers spread across multiple FileStorages this might still not work as
  expected.
  [hannosch]

- Added cleanup for CMFCore and PAS.
  [hannosch]


0.2 (2008-01-25)
----------------

- Added compatibility with Zope 2.10 / Plone 3.0.
  [hannosch]


0.1 (2008-01-25)
----------------

- Initial implementation based heavily on Products.RefreshNG.
  [hannosch]

- Initial package structure.
  [zopeskel]</description>
<homepage rdf:resource="http://pypi.python.org/pypi/plone.reload" />
<maintainer><foaf:Person><foaf:name>Plone Foundation</foaf:name>
<foaf:mbox_sha1sum>7a7fecc394759b12e477801b9a3b3df2747d421c</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>0.9</revision></Version></release>
</Project></rdf:RDF>