OldProposalsList
Here are the old manually-maintained Proposals and OlderProposals lists, now replaced by a dynamic Proposals list. This page is no longer updated, but the summaries and statuses here may be useful to incorporate into the proposal pages.
- Product configuration and testing
- API to support handling product configuration settings in tests.
- PageTemplateLookup
- Looking up and re-using page templates
- Packages should load configuration they depend upon
- This proposal outlines why not the functional test layer should load the configuration that the package depends on, but the package itself.
- Free views
- Separating views from component
- SatellitesAndLaunchpad
- Decide and set up structure how to use launchpad (bugs, blueprints, ...) with the satellite projects.
- ReusableActions
- Refactor zope.configuration to make actions better reusable.
- Eggification of Zope Packages
- A proposal to tack eggification of zope.* packages, which is already started.
- Loading Configuration from the zope.app Egg
- A proposed hack to allow us to package zope.app as an egg without breaking old configurations.
- ZCML Filtering Support
- Provide a way to exclude (rather than just override) configuration.
- Zope Configuration Processing and Side Effects
- Affirm and explain that processing during the first phase of configuration processing should avoid side effects other than import and should minimize processing.
- error reporting unification
- Unify the error logging to the SiteError? log with that in the error reporting utility. Right now both obey different rules on which errors to report.
- The browser:page compromise
- Compromise proposal regarding the simplification and de-magic-ification of 'browser:page'.
- Make zope.app smaller
- Move components and whole packages out of zope.app to reduce/eliminate Zope 2's and other products' dependency on zope.app.
- Use ConfigParser for High-Level Configuration
- Switch to using ConfigParser and INI-formatted files for high-level configuration.
- Reducing the amount of ZCML directives
- Get rid of 8 ZCML directives that can easily be replaced with a few more lines of Python code and other, more elementary ZCML directives.
- Enhance tracebacks in persistent logs
- Persistent logs should contain the extra information provided by Zope's special traceback formatter. Currently, the extra information is only available online.
- Make Zope fit for Common Critera
- A proposal that unifies all tasks that need to be done before Zope 3 can be certified for common criteria.
- Simplify skinning
- Simplify the skinning system by consolidating the layer and skin concepts into one.
- Reunite Zope 2 and Zope 3 in the source code repository
- A bold proposal on putting Zope 2 and Zope 3 in the same repository tree.
- User management API
- Proposal of a Basic API for a User (pricipal) management
- Basic Relation API
- Specification of a Basic API for a Relation Framework. (This is related to other proposals that propose semantically richer APIs?: AssociationService, RelationshipService, RelationManager)
- ZIP Import Support for Zope 3
- Support for using Zope packages from ZIP archives and Python Eggs.
- Better XML support for Page Templates
- Improvements to the XML support for PageTemplates?.
- Performance regression tool
- a set of tool extending the test framework to prevent performance regressions.
- Security Checkers Become Security Proxy Factories
- Change the way security factories are created to the use of checkers as proxy factories.
- Simplify macro registration
- Use a own ZCML directive for macro registration and get rid of the macro mapping class and it's lookup hook.
- Configurable Container Views
- Reimplement the container contents view in a more reusable manner.
- Nested menus
- Support a nested menu structure for ZMI
- Content Provider API for skins
- Implement API for lookup additional content.
- Publication Post-Processing
- Make the publication contract more explicit and allow for post processing to provide for things like standard look and feel and augmentation of pages with additional components.
- Resource Library
- An extention of resource directories that allows automatic inclusion of Javascript or CSS files in pages that require them.
- Fix zope.app.security._protections
- This module can cause functional tests to fail in surprising ways
- xpdlcore inclusion
- zope.wfmc should use xpdlcore as XPDL parser
- lxml dependency
- Zope3 should require lxml as a mandatory dependency.
- Running asynchronous code
- ...
- Cascading Style Sheet - Style Guide
- The CSS style guide for developers.
- IFile refactoring
- Constraints of field data in IFile? does'nt fit. The interface field Bytes ignores the possible FileChunk? as value we get on bigger files.
- More Cleanup of Widgets
- A brief proposal to cleanup some rough edges in the widgets framework.
- Interface Attribute Definition Adapters
- Use adapters to control definition of object attributes within interfaces.
- TALES path expression adapters
- Provide the ability to easily use adapters in TALES path expressions
- Partial Adapters
- Partial adapters allow multiple adapters to be used to perform a function, allowing contributions for independent interfaces.
- ProvideAuditlogFormat
- Decide for a logging format to use for common criteria audit log generation.
- Action Plans
- Provide a way to enforce integrity constraints in a modular way.
- No more schema binding
- Eliminate the field binding feature, using specialized adapters, when necessary to perform context-dependent validation and using multi-views for widgets.
- Cleanup of Schema and Widgets
- A list of somewhat related changes stemming from a recent brainstorming session.
- Extend Implements Concept and Fix Interface Method Names
- Extend the implements concept to all factories and fix some interface method names to be consistent with current jargon.
- SpringCleaningDay2004
- Improve documentation, commenting and cosmetics in Zope3 source code.
- Modules Are Global
- Make software installed in the database work sanely, and better mirror the Python model of importable modules.
- ZCMLEnhancements
- This proposal is more a list of tasks we have to make ZCML ready for Zope X3 1.0.
- MailFormatting
- Zope 3 mail service expects to get a preformatted RFC-822 message, this is a proposal for a higher-level API.
- CookiesAPI
- HTTP cookies API with quoting, access to the raw values, etc.
- SchemaAdapter
- A more object friendly spelling for schema functions.
- DocumentTemplateMarkupLanguage2
- This proposal covers the changes that should be made for DTML2, the DTML version that will make it into Zope 3.
- ZopeX3 Dogfood Server proposal (this doesn't really need its own page)
- We all like "eating our own dogfood". Gives us a sense of accomplishment. So, I propose that Zope Corp. maintains a public ZopeX3 server running and accessible by the developers - perhaps at http://www.zope3.org/ (domain already reserved) or something. This server would be updated daily from CVS assuming the unit tests are running (but they should always be). Perhaps it is too early to have this, but then again perhaps not.
- AssociationService (was RelationshipService (was RelationManager))
- A centralized location to manage associations between objects
- TaskSchedule
- Founding a standardized way to schedule tasks within Zope3.
- LifeCycleEvents
- ...
Allow contained non-utility Pluggable Authentication Utility plugins(IsImplementedProposal)
PAU plugins currently can only be registered utilities. Some really want to be specific to a given PAU.
Fire events when principals are added to and removed from group folders (IsImplementedProposal)
PAU group folders are currently silent when principals are added and removed. Events would be very helpful.
Define interface for getting full closure of a principals groups; implement in PAU (IsImplementedProposal)
Because groups can contain groups, a principal's effective group membership is a full closure based on the direct group membership. Make this calculated attribute defined and implement it in PAU.
Define interface for getting a group's members; implement in PAU (IsImplementedProposal)
The zope.security interfaces lets a member describe its groups, but not a group its members. Define this optional attribute and implement it in PAU.
Locale-specific Text Collation (sorting) (IsImplementedProposal)
Providing humane ordered display of text.
AccessControlProposal (IsExpiredProposal)
o Proposal for modifications and extensions to Zope 2's access control.
o Not really a proposal.
AdaptContentForViews (IsRetractedProposal)
o Problem solved in other way.
Adding name control (IsImplementedProposal)
- o Fix the way adding objects and add views collaborate to input object
names.
AdaptersForMenuItems (IsImplementedProposal)
- o Recast and implement menu items as adapters, thus allowing us to get
rid of yet-another service.
Aggregate Permissions and Principal Groups (IsImplementedProposal)
o Replace roles with aggregated permissions and add principal groups.
API doctool Generator (IsImplementedProposal)
o A utility that generates a static version of apidoc.
BetterInterfaceImplements (IsImplementedProposal)
o Remove the direct use of '__implements__' from regular source code.
Browser Object for Functional Tests (IsImplementedProposal)
- o Provide a programmatically controllable browser object for writing
functional tests ('zope.testbrowser').
CachingFramework (IsImplementedProposal)
o Initial thoughts about porting Zope 2 CacheManager? architecture to Zope 3.
Centralized Interface Repository (IsExpiredProposal)
o Provide a central location for the storing and accessing public interfaces.
- o Note: The functionality of this proposal is now well-implemented by the utility
registry, where all public (used) interfaces are registered. Searchig through registered interfaces is easy with apidoc.
Component Architecture Simplification (IsImplementedProposal)
- o Simplify the component architecture by collapsing many component
types and services into a few core types and services.
ConsistentUseOfSpacesAsDelimitersInZCMLAttributes (IsImplementedProposal)
ContainmentConstraints (IsImplementedProposal)
- o Provide a way to express constraints on the allowable items for
containers and for the allowable containers for items.
ContentManagementProjectsForZope3 (IsExpiredProposal)
- o How should we organize the effort to create content-management frameworks
for Zope 3.
- o Comment: With the creation of Z3/ECM the discussion about content management
has moved to this community and is not a core concern of Zope 3 anymore.
ContentSensitiveBrowserMenuConfigurationDirectives (IsImplementedProposal)
Database generations (IsImplementedProposal)
o A framework for orderly evolution of ZODB application/database schemas
Developer Mode (IsImplementedProposal)
o Allow to switch developer tools on and off.
DoNotUseHTTPBasicByDefault (IsRejectedProposal)
o This is a policy of authentication services.
FewerZCMLNamespaces (IsImplementedProposal - mostly)
- o We got rid of the security and zmi namespaces. We didn't get rid of the
browser namespace. See the comments for reasons why.
FileSystemSynchronizationProposal (IsImplementedProposal)
- o Allow lossless transfer of content (especially meta-content like software
and configuration data) between the object database and the file system.
FixedDefaultComponentLookup (IsImplementedProposal)
- o Don't try to infer the source of components from objects being
adapted. By default, components are looked up from a single service manager. The source can be set through an API call and defaults to the global service service. Zope will set the default source for component lookup to the site of the request.
Application code can override the default component source by providing a custom component lookup context.
FolderContainerServicesProposal (IsResolved)
- o This proposal is really more of a question that is answered in the
proposal comments.
FormulatorProposal (IsSupercededProposal)
o Discusses how Formulator can fit in and be a core component of Zope.
FunctionalTestingFramework (IsImplementedProposal)
o Higher-than-unittest level tests simulating the publishing process.
GroupClassRelatedDirectivesInClassDirective (IsImplementedProposal)
I18nFormatLocaleSupport (IsImplementedProposal)
o This proposal suggests an advanced Locale support in Zope 3 a la Java.
IDocumentProposal (IsExpiredProposal)
o Proposal for a generic, cross-representation Document component
Implement Views As Adapters (IsImplementedProposal)
- o Fold view (skinned adapter) lookup into the normal adapter system by
modeling skins and layers with interfaces.
InitialRDBIntegration (IsImplementedProposal)
- o This proposal describes some initial thought on a RDB implementation. This
proposal was created in preparation of the EuroPython? sprint.
InterfaceTests (IsAcceptedProposal)
o This needs to be turned into a section in the style guide.
InterfaceTypes (IsImplementedProposal)
- o Explains the goals of interface types, which allows us to specify content
types.
Introspector NG (IsImplementedProposal)
o A new implementation of the introspector with many new features.
Instance and Type based subscriptions (IsImplementedProposal)
- o Allow event subscriptions to object events for specific instances or
for instances of a given type.
KeepAllZope3InstallablesInLibPython (IsSupercededProposal)
o Make Zope3 distutils-able by keeping all installable software in lib/python.
Language Namespace (IsImplementedProposal)
- o Sometimes it would be useful to request pages in the language which
is different from the browser preferred language.
LayoutWidgetsProposal (IsImplementedProposal)
- o This proposal was written as response to the latest ZopeTop and
ZopeUI discussions in preparation of the Rotterdam sprint. This proposal aims at providing a feasible, realistic and implementable solution to the problem.
- o I think that this is implemented via the widget framework and via
the ability to register (sub-)views by interface.
Local Component Management Simplification (IsImplementedProposal)
- o Provide a much simpler and more uniform API for managing local
component registration.
LocationRelatedEvents (IsImplementedProposal)
- o What events should we generate whan we change object locations.
This propsal goes hand-in-hand with the ParentGeddon proposal.
MementoBagProposal (IsImplementedProposal)
o This was implemented with different jargon, "annotation", rather than "memento".
MergeProtectionAndComponentDefinitions (IsImplementedProposal)
MovingSCMToSubversion (IsImplementedProposal)
o Move source code management (SCM) from CVS to subversion.
NameExtensionViews (IsRejectedProposal)
- o Rejected. This proposal turned out to be rather unpopular.
The aspect having to do with selecting new object types based on file-name extension has been implemented in the file-representation framework and in the file-system syncronization framework.
NamesKeysAndIds (IsAcceptedProposal)
o This is now part of the style guide.
Namespace2SchemaRegistry for WebDAV?
- o A global registry that allows mapping an URI to a Schema (not to be
confused with XMLSchema, which is a completely different thing)
NamespacesInTemplates (IsImplementedProposal)
- o A way for templates to access APIs? and metadata with a concise, explicit
syntax
NoOwnershipRole (IsImplementedProposal ;-)
- o When discussing possible ways of supporting ownership in Zope 3,
Jim and Stephan noticed that we could totally live without it. The proposal demonstrates how.
[OnlineHelp]? (IsImplementedProposal)
- o Reimplements the Zope 2 Online Help in Zope 3 using the Component
Architecture.
ParentGeddon (IsImplementedProposal)
- o Switch from using context wrappers to keep track of object location
to using persistent parent references.
[Password Managers]? (IsImplementedProposal)
o We need standard way to implement password encoders/checkers.
PreCreationRehash (IsImplementedProposal)
o Change the create namespace to a creation view
PresentationTraversalComponents (IsImplementedProposal)
o a different way via views providing interfaces
RenameMoveCopy (IsImplementedProposal)
o Support renaming, moving and copying of objects
Rename the zope package (IsImplementedProposal)
o Rename "zope" package to "z" to avoid a name conflict with "Zope".
Replace setObject with __setitem__ (IsImplementedProposal)
- o Simplify the container framework by using __setitem__ and either
rejecting or using names given.
ResourceRefactoring (IsImplementedProposal)
- o Refactor resources to allow easy customization through resource containers
and persistent resources
SchemaProposal (IsImplementedProposal)
- o Add Schema (interfaces which can assert things about properties as well as
methods) to Zope 3 for great justice.
SecurityFramework (IsImplementedProposal)
o This has moved into design phase and is now pretty much implemented.
Simplify event system (IsImplementedProposal)
o Radically simplify the Zope 3 event system.
Simplify object lifecycle and location events (IsImplementedProposal)
o Simplify and fix the lifecycle- and location-related events.
Simplify undo model (IsImplementedProposal)
o Simplify and improve the undo functionality.
StandardAuthenticationService (IsExpiredProposal)
o Proposal to build a standard flexible authentication service for Zope 3.
- o Expired. Some of this has been implemented in the pluggable auth
service. It would be great to get an update of this proposal wrt the pluggable auth service.
Supporting constraint-maintaining subscriptions (IsSupercededProposal by ActionPlans)
The browser:tool directive (IsImplementedProposal)
- o Provide ZCML machinery to support the creation of screens
to manage tools.
TreeView (IsImplementedProposal)
- o Proposal for implementing tree representations of the object tree,
especially HTML.
o It is implemented in a different form by philiKON's static tree product.
TTWDevelopmentScopeForZopeX31.0 (IsExpiredProposal)
- o This proposal/document describes the scope of the TTW capabilities
for Zope X3 1.0.
- o Obsolete. We decided to be much more conservative for X3.0. We'll
revisit for X3.1.
Turning MessageIDs into rocks (IsImplementedProposal)
o Make 'MessageIDs?' immutable so that they are not security proxied.
UnicodeOrUTF8 (IsSupercededProposal)
o Unicode vs. UTF-8 as internal storage format for strings in Zope 3.
o This is superceded by UnicodeForText.
Unification of requests and security contexts through Use (IsImplementedProposal)
- o Provide an expanded model of how actors interact with Zope
applications and architecture to support that model.
ViewDirectoryHierarchyReorganization (IsImplementedProposal)
VirtualHosting (IsImplementedProposal)
- o Virtual hosting by magic URL rewriting using Apache with proxy_mod
RewriteRules as a front end.
WidgetsAndMultiwayAdapters (IsImplementedProposal)
o Refactor widgets machinery to take advantage of multi-way adapters.
WidgetsFormsSchemas (IsImplementedProposal)
- o A proposal to refactor some of the machinery associated with widgets, forms,
and schemas.
o Implemented (At least the parts agreed on).
XML-RPC Introspection (IsImplementedProposal)
Implement XML-RPC Introspection
Zope 3 Packaging Proposal This is an acepted and ongoing effort.
o (Pre-)proposal for packaging Zope 3 software
ZCMLBrowserViewDirectiveSimplification (IsImplementedProposal)
o Simplify view definition in ZCML (again ;).
Zope Configuration Egg Support (IsRetractedProposal)
Allow configuration files to be loaded from eggs and allow Python-based configuration to be loaded as egg entry points.
ZPTi18nAlternative (IsRejectedProposal)
o Alternative proposal to support internationalization in Page Templates
o This proposal was rejected in favor of ZPTInternationalizationSupport
ZPT Variable Namespaces (IsRejectedProposal)
o Provide the ability to qualify TAL-defined names with namespaces.
