Introduction
============

The icons.css view currently runs on every request and depending on the
status of the user delivers different results rather than just one of two
sets - with action icons enabled; with them disabled. Apart from straight
performance issues this also means caching may fail.

Possible improvements
---------------------

* icon discovery independent of user status

* local serialisation of the two sets using either an adapter or,
preferably a local utility

* sprites

Independent icon discovery
--------------------------

An adapter for ActionsTool to provide listUnfilteredActions()

Local serialisation
-------------------

Any form of serialisation probably needs to be triggered by
IActionInfoModified() events.

Sprites
-------

Conversion of icons to sprite sets would significantly improve load times
with action icons enabled as it would reduce the number of requests
significantly. However, there is currently no easy integration of sprites
with ActionInfo items. Implementing sprite management might be useful but is
possibly out of scope for CMFDefault. A demonstration using a proxy which can
work with icon expression objects and prepared sprite sets

Integration
-----------

The icons.css is currently only used by main_template to render user actions.
It is difficult to add support for it elsewhere such as folder views without
adding Zope 3 style skins.
