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.
