collective.configviews
Manage configuration of browser views
Project Description
Introduction
This add-on does not provide new feature to Plone. It is intended to plone add-ons developers.
If you need to create a browser view with configuration this add-on will make your life easier.
Features:
- Configuration providers
- Configuration structure defined with zope.interface & zope.schema
- Store configuration with plone.app.registry
- Auto form to manage the configuration of the current view
Why doing this in an add-on
Because most of the time developers faced to this issue store data in the content type, or with annotation on context without trying to optimize, or without form, ...
How it works
This add-ons define two components:
- ConfigurableView
- Registry (IConfigurationStorage)
The main idea, is you just have to create an zope.interface to define settings schema and set this schema in the 'settings_schema' attributes of the view.
For example:
class IMyViewSettings(interface.Interface):
width = schema.ASCIILine(title=u"Width",
default='620')
height = schema.ASCIILine(title=u"Height",
default='620')
class MyView(ConfigurableBaseView):
settings_schema = IMyViewSettings
def width(self):
return self.settings.width
def height(self):
return self.settings.height
IConfigurationStorage
This component is responsible to return settings. It has been implemented as an adapter from your configurable view.
IConfigurableView
This component is implemented as a browserview. You have to inherits from this one to create your own browser view.
Common use case: use a javascript library for a view
Most of javascript libraries wait for a dict to load their configuration. You can achieve this in a very easy way. You just have to define a configuration schema and add the following snippet in your template to create a javascript variable with the configuration
<script type="text/javascript" tal:content="view/settings_javascripts"></script>
You can set the variable name throw the jsvarname attribute of your browserview.
You will find examples in the following addons:
- collective.galleria
- collective.galleriffic
- collective.googledocsviewer
Credits
Companies
Authors
- JeanMichel FRANCOIS aka toutpt <toutpt@gmail.com>
Contributors
- Radim Novotny aka naro
Changelog
2.0 (2012-01-30)
- Use collective.registry instead of provider/mutator [toutpt]
1.0b4 (2011-12-07)
- add new classifiers [toutpt]
- fix tests [toutpt]
- fix issue making edit configuration not working [naro]
1.0b3 (2011-08-01)
- Optimization of storage: defaults are now based on all provider except zope.app.annotation [toutpt]
- fix case where site.plone.app.registry are not set (value was set to None) [toutpt]
1.0b2 (2011-06-30)
- Fix config form (http://stackoverflow.com/q/6524304/622081)
1.0b1 (2011-06-08)
- Initial release
Current Release
collective.configviews 2.0
Released Jan 30, 2012 — tested with Plone 4.1, Plone 4
Use collective.registry instead of provider/mutator
More about this release…
-
Get
collective.configviews
for
all platforms
- collective.configviews-2.0.tar.gz
- If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.
All Releases
| Version | Released | Description | Compatibility | Licenses | Status |
|---|---|---|---|---|---|
| 2.0 | Jan 30, 2012 | Use collective.registry instead of provider/mutator More about this release… |
Plone 4.1
Plone 4
|
GPL | final |
| 1.0b4 | More about this release… | GPL | beta | ||
| 1.0b3 | More about this release… | GPL | beta | ||
| 1.0b2 | More about this release… | GPL | beta | ||
| 1.0b1 | first beta release More about this release… |
Plone 4
|
GPL | beta |


