Infrastructure
==============

[x] Figure out a way to inject information that is available only very late in
    the request (e.g. headers, status, Diazo information)

[ ] Test coverage
    
    [ ] interactive.py
    [ ] context.py
    [ ] global.py
    [ ] published.py
    [ ] request.py
    [ ] response.py
    [ ] theme.py
    [ ] user.py
    [ ] versions.py
    [ ] workflow.py
    [ ] delayedwrite.py

Debug panels
============

Request
-------

    [x] Headers
    [x] Variables in the request
    [x] Cookies
    [x] Request method
    [x] Path
    [x] URL
    [x] Virtual URL

Response
--------

    [x] Status
    [x] Headers
    [x] plone.app.caching rules

Global
------

    [x] Zope debug mode
    [x] Zope settings?
    [x] Zope version
    [x] ZODB connection

Theme
-----

    [x] Enabled browser layers
    [x] Skin
    [x] CSS composition
    [x] JS composition

User
----
    
    [x] User
    [x] Local roles
    [x] Global roles

Packages
--------

    [x] Package versions

Published object
----------------

    [x] Name
    [x] Path
    [x] Page template
    [ ] z3c.jbot name

Context
-------

    [x] Physical path
    [x] Absolute URL
    [x] Module
    [x] Class
    [x] portal_type

    [x] FTI title
    [x] Actions
    [x] Views
    [x] Method aliases

    [x] Marker interfaces
    [x] Provided interfaces

    [x] Methods
    [x] Variables

Interactive
-----------

    [x] Interactive interpreter
    [x] TALES tester

Workflow
--------

    [x] State(s)
    [x] Workflow name(s)
    [x] Permission matrix

Logging
-------

    [ ] Error log

Performance
-----------

    [ ] Profiling

Diazo
-----

    [ ] Enabled theme name
    [ ] Rules file
    [ ] Rules that have been executed
    [ ] Rules that have not been executed
