Implementations and means for configuration of Zope 3-style views and resources.
This package is at present not reusable without depending on a large chunk of the Zope Toolkit and its assumptions. It is maintained by the Zope Toolkit project.
This package used to provide browser page, resource and menu classes for use with zope.publisher object publishing framework, as well as some other useful utilities and adapters, but most of things was factored out to separate packages, leaving here only backward-compatibility imports.
However, some potentially useful things are still contained in this package:
- “date” field converter for zope.publisher’s BrowserRequest field converter mechanism.
- “Browser Skins” vocabulary (a vocabulary for IBrowserSkinType utilities)
- ManagementViewSelector (a browser view that redirects to a first available management view)
- XML-RPC view and method publishing mechanism along with xmlrpc:view ZCML directive.
- Remove a testing dependency on zope.app.securitypolicy.
- Fix tests using a newer zope.publisher that requires zope.login.
- Fix test dependency on zope.container, now we depend on zope.container >= 3.9.
Refactor package, spliting it to several new packages:
- zope.browserresource - the resources mechanism was moved here, see its CHANGES.txt for more information about changes during move.
- zope.ptresource - the page template resource was moved into another package so zope.browserresource doesn’t depend on any templating system. See zope.ptresource’s CHANGES.txt for more information.
- zope.browsermenu - the menu mechanism was moved here completely.
- zope.browserpage - the browser:page directive and friends were moved here. Also, these directives don’t depend hardly on menu system anymore, so they simply ignore the “menu” argument when zope.browsermenu is not available.
Backward-compatibility imports are provided, so there should not be much impact for those who uses old imports.
The CacheableBrowserLanguages and ModifiableBrowserLanguages adapters were moved into zope.publisher package, as well as browser:defaultSkin and browser:defaultView ZCML directives and ZCML class configuration for zope.publisher classes.
ZCML registrations of IXMLRPCPublisher adapters for zope.container were moved into zope.container for now.
- Added dependency on zope.app.pagetemplate, it is used by zope.app.publisher.browser.viewmeta.
- Bugfix: Fix IAbsoluteURL for IResource configuration. The latest release was moving the url generation for resources to an adapter which was a good idea. But the adapter was configured for IDefaultBrowserLayer. This means every existing project which dosen’t use IDefaultBrowserLayer will get a wrong IAbsoluteURL adapter and is loosing the @@ part in the resource url.
- Remove test dependency on zope.app.pagetemplate.
- Calling a resource to get its URL now uses IAbsoluteURL.
- Updated to use zope.pagetemplate.engine module (requires versino 3.5.0 or later), instead of zope.app.pagetemplate precursor.
- Replaced zope.deprecation dependency with BBB imports
- There is no direct dependency on zope.app.component anymore (even in the tests).
- Moved the publicationtraverse module to zope.traversing, removing the zope.app.publisher -> zope.app.publication dependency (which was a cycle).
- Moved the DefaultViewName API from zope.app.publisher.browser to zope.publisher.defaultview, making it accessible to other packages that need it.
- Use zope.componentvocabulary instead of zope.app.component (except for tests and IBasicViewInformation).
- Use zope.browser for IAdding interface (instead of zope.app.container)
- Update references to zope.app.component.tests.views to point to the new locations in zope.component.testfiles.views.
- Register IModifiableUserPreferredLanguages adapter in the ZCML configuration of zope.app.publisher.browser package. This was previously done by zope.app.i18n.
- Remove deprecated code.
- Adapt to removal of deprecated interfaces from zope.component.interfaces. The IResource is now moved to zope.app.publisher.interfaces. The IView and IDefaultViewName is now in zope.publisher.interfaces. The IPresentation interface was removed completely.
- Use zope.container instead of zope.app.container.
- Use zope.site.folder instead of zope.app.folder.
- Finally removed <browser:skin> and <browser:layer> that were marked as deprecated in 2006/02.
- Added possibility to specify custom item class in menuItem, subMenuItem and addMenuItem directives using the item_class argument (LP #291865).
- Menu items registered with <browser:page/> were not re-registered after the first functional test layer ran. In any subsequent functional test layer the items where not availabe (introduced in 3.5.0a3).
- Added a hook to specify a different BaseURL for resources. This makes sense if you want to put resources on a Content Delivery Network. All you need to do is to register an named Adapter ‘resource’ that implements IAbsoluteURL.
- Removed usage of deprecated LayerField from zope.app.component.back35.
- Refactored code to provide more hooks when deriving code from this pacakge.
- A resource’s URL creation is now in its own method.
- The resource class of factories can be overwritten.
- The cache timeout value can now be set as a class or instance attribute.
- Backed out the changes for the controversial XML-RPC skin support.
- make it possible to override menus: this was not possible because new interfaces where created any time a menu with the same name was created.
- Resolve ZopeSecurityPolicy deprecation warning.
- <browser:defaultView> now accepts classes as well as interfaces.
- Added a layer attribute to xmlrpc:view. This works just like layers for browser:view etc. but uses the IXMLRPCSkinType.