Zope 3 browser resources can encompass images, stylesheets, views, viewlets, and portlets. Each one of these is managed in a similar fashion, via ZCML registrations.
Before we dive in, it's important to remember that any time you alter your ZCML, in order to see your changes you must restart Zope. In the beginning, as you get used to using ZCML, this can be a time-consuming process. Over the time, you will do fewer restarts, and the process will get faster.
It is also very important, when developing a filesystem product, to run Zope in the foreground by using
./bin/instance fg when you start your Zope, so that you can detect bugs in your ZCML code more easily, through traceback errors that may occur.