By default when you start Plone you start it in a production mode.
Plone is faster
Plone does not reload changed files from the disk
Because of above optimizations the development against a production mode is not feasible. Instead you need to start Plone in debug mode (also known as development mode) if you are doing any site development.
In debug mode
If Plone start-up fails, the Python traceback of the error is printed in the terminal
All logs and debug messages are printed in the terminal; Zope process does not detach from the terminal
Plone is slower
Plone does not reload .py or .zcml files in the debug mode by default.
Reloading Python code¶
Reloading Python code automatically can be enabled with sauna.reload add-on.
Possible things to debug and force refresh of static assets
Check HTML <head> links and the actual file contents
Go to portal_css, press Save to force CSS rebundling
Make sure you are not using plone.app.caching and doing caching forever
Use hard browser refresh to override local cache
Starting Plone in debug mode on Microsoft Windows¶
This document explains how to start and run the latest Plone (Plone 4.1.4) on Windows 7. This document explains post-installer steps on how to start and enter into a Plone site. Installation
This quick start has been tested on Windows 7. Installation remains the same on older versions of Windows through WinXP.
Run installer from Plone.org download page
The Plone buildout directory will be installed in C:\Plone41
The installer will launch your Plone instance when it finishes. To connect, direct your browser to: http://localhost:8080
In the buildout bin directory you’ll find the executable files to control Plone instance.
Starting and Stopping Plone¶
If your Plone instance is shutdown you can start and control it from the command prompt.
To control Plone you need to execute your command prompt as an administrator.
In the command prompt enter the following command to access your buildout directory (the varies according to Plone version):
To start Plone in debug mode type:
You can interrupt the instance by pressing CTRL-C. This will also take down the Zope application server and your Plone site.
When you launch Plone in debug or daemon mode it will take a few moments to launch. If you are in debug mode, Plone will be ready serve pages when the following line is displayed in your command prompt:
INFO Zope Ready to handle requests
When the instance is running and listing to port 8080, point your browser to address on your local computer:
The Plone welcome screen will load and you can create your first Plone site directly by clicking the Create a new Plone Site button.
A form will load asking for the Path Identifier (aka the site id) and Title for a new Plone site. It will also allow you to select the main site language, and select any add-on products you wish to install with the site.
These entries can all be modified once the site is created. Changing the site id is possible, but not recommended.
To create your site, fill in this form and click the Create Plone Site button. Plone will then create and load your site.
The url of your local Plone instance will end with the site id you set when setting up your site. If the site id were Plone then the resultant URL is: http://localhost:8080/Plone.
Congratulations! You should be now logged in as an admin to your new Plone instance and you’ll see the front page of Plone.
Starting Plone in debug mode on UNIX¶
Single instance installation (“zope”)¶
Enter to your installation folder using
cd command (depends on where you have installed Plone):
cd ~/Plone/zintance # Default local user installation location
For root installation the default location is
Type in command:
Press CTRL+C to stop.
Clustered installation (“zeo”)¶
If you have ZEO cluster mode installation you can start individual processes in debug mode:
cd ~/Plone/zeocluster bin/zeoserver fg & # Start ZODB database server bin/client1 fg & # Start ZEO front end client 1 (usually port 8080) # bin/client2 fg # For debugging issues it is often enough to start client1
Determining programmatically whether Zope is in debug mode¶
Zope2’s shared global data Globals, keeps track on whether Zope2 is started in debug mode or not.:
import Globals if Globals.DevelopmentMode: # Zope is in debug mode