2008
|
| 2008/04/16 |
Product configuration and testing -
status: IsImplementedProposal, IsImplemented
:Status: IsImplementedProposal, IsImplemented
:Author: FredDrake
The product configuration functions in ``zope.app.appsetup.product`` do not lend themselves to allowing a test to modify a portion of the configuration from within a larger test fixture and then restore the modified portions of the environment.
**Note:**
This proposal represents a band-aid to deal with some of the heinous testing pain
engendered by the existing API; it isn't a next-generation API. Something based ...
|
| 2008/04/10 |
Session Credentials API Enhancements -
status: IsDraftProposal
=
Session Credentials API Enhancements
=
:Status: IsDraftProposal
:Author: Kevin Gill
Motivation(s)
=
Require an API for logging in a user automatically. The mailing list
identified a number of other related requirements. Some items were added
or expanded due to usefulness in Zope2.
1. Support remote IP restricted logins
2. Support domain specific logins
3. Encrypt Password
4. Application overriding ...
|
| 2008/03/22 |
PageTemplateLookup -
status: Unknown
Looking up and re-using page templates
-
In ``z3c.form.form.BaseForm`` page templates are looked up using the ``zope.pagetemplate.interface.IPageTemplate`` interface::
def render(self):
'''See interfaces.IForm'''
# render content template
if self.template is None:
template = zope.component.getMultiAdapter((self, self.request),
IPageTemplate)
return template(self)
return self.template()
...
|
2007
|
| 2007/11/09 |
Packages should load configuration they depend upon -
5 comments, status: Unknown
:Author: Philipp von Weitershausen
:Version: 1.0
:Last Changed: 2007-11-09
Summary and current situation
-
When we "exploded" Zope into individual eggs, we introduced explicit
package dependencies in ``setup.py``. This allows us to install a
package indepedently and still ensure that its dependencies are
installed as well.
Packages not only depend on other Python packages because they want to
import their components, however. They often also depend on those
...
|
| 2007/09/24 |
PackageDependenciesTool -
8 comments, status: Unknown
Problem
-
Now that Zope 3 is split into small interdependent packages, it's sometimes hard to see why one package (directly or indirectly) depends on another.
Proposal
Create a tool that can inspect any package for its complete dependency tree and creates a graph for it. This graph could be in plain text or be visualized using tools like graphviz.
This is one of the topics for the FoliageSprint.
Implementation Notes
The right way to extract package ...
|
| 2007/09/23 |
Free views -
status: Unknown
Summary
=
Separating views from component
Problem
=
Views or let's say browser pages and it's derivates are based on a specific
layout pattern. The default views are using macros and slots. This is not
allways what we like to use.
This proposal describes a way to make the usage of such built in views optional.
This allows us to load eggs including views but not to configure them. Another
option whould be to split views out of a package and support them in different
packages....
|
| 2007/07/12 |
SatellitesAndLaunchpad -
1 comment, status: Unknown
Problem
=
The launchpad infrastructure, as we use it, seems unsuitable to
manage the on-going development of our satellite projects.
We use launchpad bugs and launchpad blue prints. Both are assigned
to a single project "Zope 3" within the "Zope.org" project group.
Assigning bugs and proposals to the "Zope 3" project doesn't make
sense any more because the release-cycles became independent.
Proposal
I propose that we create individual projects in launchpad for
the various ...
|
| 2007/07/10 |
ReusableActions -
status: Unknown
=
Make zope.configuration actions re-usable
=
:Author: Christian Theune
Motivation
Allow reuse of configuration actions by other configuration mechanisms than
ZCML (e.g. grok/martian).
Problem
=
zope.configuration allows the registration of actions and is able to determine
conflicts and defer carrying out the actions after validating the set of
actions.
Actions are registered using a ...
|
2006
|
| 2006/10/24 |
Eggification of Zope Packages -
1 comment, status: IsImplementedProposal
:Title: Eggification of zope.* packages
:Version: 5
:Last-Modified: 28-March-2007
:Author: Baiju M
:Status: IsImplementedProposal
:Created: 24-October-2006
Problem
-
Many zope.* packages are already eggified before this proposal. There are some
packages remaining. This proposal is to track eggification of packages under
``zope`` and ``zope.app`` namespace which are distributed with Zope 3.
This proposal also track zc.buildout support for zope.* packages.
Proposal
The ...
|
| 2006/10/22 |
ZCML Filtering Support -
3 comments, status: IsDraftProposal
Status: IsDraftProposal
Author
JimFulton
Problem
Currently, the Zope configuration system allows configurations to be
overridden, but not disabled. The only way to disable configuration
is to avoid loading it.
Eggs, the emerging Python packaging system, is of increasing
importance for Python and Zope development. It is likely that Zope
development and distributions will leverage eggs. One of the things
that make eggs attractive is their ability to represent
...
|
| 2006/10/22 |
Loading Configuration from the zope.app Egg -
status: Unknown
Author
JimFulton
Status
IsProposal
Problem
We wish to distribute the Python packages now contained in the
zope.app package in separate eggs. The existing zope.app package
could be factored in a number of ways. The actual factoring
is outside the scope of this proposal.
Previously, our plan was to move move many of these packages out of
zope.app. Based on experience over the past few months, especially
the reaction to our initial moves, I now think that this would be
...
|
| 2006/10/22 |
Zope Configuration Egg Support -
2 comments, status: IsRetractedProposal in favor of ZIPImportSupportForZope3
Status: IsRetractedProposal in favor of ZIPImportSupportForZope3
Author
JimFulton
Problem
We are making increasing use of Python eggs for Zope development.
We need to be able to load ZCML from eggs.
Proposal
I propose to add an egg attribute to the ZCML include directive.
The egg attribute would function like the package attribute. A file
attribute can be used to name a file within the egg and will default
to configure.zcml. It would be illegal to use the egg and ...
|
| 2006/10/21 |
Zope Configuration Processing and Side Effects -
1 comment, status: IsInformational
Status: IsInformational
Author
JimFulton
Problem
The Zope Configuration system uses a three-step processing model:
1. Collect Actions and Meta Configuration
In the first phase, some sort of configuration language is used to
compute configuration actions or to customize the configuration
system (meta configuration). Currently, an XML-based language is
used. (A simpler text-based language was used initially.)
A configuration context is used in the first ...
|
| 2006/08/24 |
error reporting unification -
1 comment, status: Unknown
It is easy to make the assumption that any error that shows up in the error reporting utility in the ZMI is also copied to the SiteError log (typically STDOUT in a standard Zope 3 configuration), and vice versa. This assumption is true in Zope 2, where in the error_log object you can actually request the error to be logged to the shell as well.
It however does not appear to be the case in the error handling logic in Zope 3. Instead, all errors appear to be logged to the error reporting utility,...
|
| 2006/04/20 |
The browser:page compromise -
status: Unknown
Author:
Philipp von Weitershausen, philikon@philikon.de
Status:
IsProposal
Version:
3
Date:
2006-04-22
Original:$URL: http://codespeak.net/svn/user/philikon/BrowserPageCompromise.txt $
Current situation and problem
The browser:page directive does a lot. It can either take a class
or a template or both to make a browser page. In either case it will
create a new class that has the necessary interfaces and methods
inplace. When using just a class, it can take an attribute other than
...
|
| 2006/03/29 |
Make zope.app smaller -
status: IsProposal
or
PackageGeddon Directors Cut
Author:Philipp von Weitershausen, philikon@philikon.de
Status:IsProposal
Version:2
Date:$Date: 2006-04-07 17:54:00 +0200 (Fri, 07 Apr 2006) $
Original:$URL: http://codespeak.net/svn/user/philikon/MakeZopeAppSmaller.txt $
Current situation
zope.app contains roughly 90 subpackages. Only a fraction of them are
essential to the Zope 3 application server which is what zope.app is
supposed to contain. Many packages can be and are reused in other
...
|
| 2006/03/04 |
Use ConfigParser for High-Level Configuration -
status: IsProposal
Status: IsProposal
Author
JimFulton
Background
We have support for high-level and low-level configuration.
Low-level configuration is used by developers to configure how
components are wired together. We currently use ZCML for this.
ZCML has it's strengths and weaknesses. It (actually, it's
use in Zope 3) is continuously being simplified. ZCML is *not* the
topic of this proposal and I would greatly appreciate it if
discussion of this proposal did not include a discussion ...
|
| 2006/02/13 |
One namespace for ZCML -
status: Unknown
Author:
Philipp von Weitershausen, philikon@philikon.de
Status:
IsReplaced
Date:
2006-02-13 20:58:40 +0800 (Mon, 13 Feb 2006)
Original:$URL: http://codespeak.net/svn/user/philikon/OneNamespaceForZCML.txt $
Current status
In ZCML, a directive can be associated with a certain XML namespace.
Usually, directives of the same concern are associated with the same
namespace. Only three very general directives are available in all
namespaces (configure, include, includeOverrides). In
Zope 3.2/...
|
| 2006/02/13 |
Reducing the amount of ZCML directives -
status: Unknown
Author:
Philipp von Weitershausen, philikon@philikon.de
Status:
IsProposal
Version:
3
Date:
2006-03-19
Original:$URL: http://codespeak.net/svn/user/philikon/ReducingTheAmountOfZCMLDirectives.txt $
Current status
We have roughly 80 ZCML directives in Zope 3.2. Two of them,
adapter and utility, can be considered elementary. Another
two not so elementary but still commonly used directives are view
and browser:page. Many of the other ZCML directives perform
simple tasks revolving around ...
|
| 2006/02/02 |
Local Component Management Simplification -
status: Unknown
Author
JimFulton
Status
IsImplementedProposal
Problem
Zope 3's component architecture has become simpler over time.
We now recognize a small number of core component types:
- Utilities
- Adapters
- Subscribers (and handlers)
For global components, we provide relatively clean !APIs for
registering components::
|
| 2006/01/20 |
ZConfig and other formats for ZCML -
status: Unknown
Author
JimFulton
Status
IsRetractedProposal
Problem
As a format, ZConfig has been very popular. It is less
intimidating that ZCML. It is also very useful to be able to easily
specify alternate high-level configuration files via a command-line
option ('-C') and to be able to override individual options using
the '-X' command line option.
Unfortunately, it's far too difficult to add new configuration
options to ZConfig. It's also inconvenient to access the data.
...
|
| 2006/01/18 |
Enhance tracebacks in persistent logs -
1 comment, status: Unknown
Author
Shane Hathaway, shane@hathawaymix.org
Status
IsImplemented (expect it in Zope 3.3)
Problem
When an exception occurs in Zope 3, valuable information about the
exception is available through __traceback_info__ and
__traceback_supplement__ variables on the stack. The information is
especially useful for debugging page templates. While the online
exception reporter uses a special traceback formatter to display the
extra information online, the on-disk log currently does not ...
|
| 2006/01/18 |
Define interface for getting full closure of a principals groups; implement in PAU -
status: Unknown
"This proposal was originally made on the Zope3-dev mailing list":http://mail.zope.org/pipermail/zope3-dev/2006-January/017416.html
Status:
IsImplemented rev 41374
Author:
Gary Poster
Primary problem:
We frequently want to know the full closure of group membership. The groups attribute of zope.security.interfaces.IGroupAwarePrincipal is a list of groups to which the principal directly belongs. The full closureincluding the groups to which the principal's groups belong, for ...
|
| 2006/01/18 |
Define interface for getting a group's members; implement in PAU -
status: Unknown
"This proposal was originally made on the Zope3-dev mailing list":http://mail.zope.org/pipermail/zope3-dev/2006-January/017419.html
Status:
IsImplemented rev 41374
Author:
Gary Poster
Problem:
We need to be able to iterate over the members of a group, given a group id. With the interfaces in zope.security, the only way to do this is to iterate over all principals known to the system, check their `groups` attribute, and if the group id is in the list then include it. This is ...
|
| 2006/01/18 |
Fire events when principals are added to and removed from group folders -
status: Unknown
"This proposal was originally made on the Zope3-dev mailing list":http://mail.zope.org/pipermail/zope3-dev/2006-January/017415.html
Status:
IsImplemented rev 41374
Author:
Gary Poster
Problem:
We want to perform actions when a user is added to a group, and possibly when a user is removed from a group. There is no hook point for this currently in the zope.app.authentication code.
Solution:
Fire events in the zope.app.authentication code when principals are added and removed from ...
|
| 2006/01/18 |
Allow contained non-utility Pluggable Authentication Utility plugins -
status: Unknown
"This proposal was originally made on the Zope3-dev list.":http://mail.zope.org/pipermail/zope3-dev/2006-January/017435.html
Status:
IsImplemented rev 41374
Author:
Gary Poster
Background:
The pluggable authentication utility (hereafter called PAU; found in zope.app.authentication) allows two kinds of plugins, credential plugins and authenticator plugins. The PAU currently keeps track of the names that it should use for these two types of plugins, and then looks up utility ...
|
2005
|
| 2005/12/12 |
Make Zope fit for Common Critera -
status: Unknown
Status
Abandoned (The CC project was cancelled in May 2008)
Author
Christian Theune
Problem/Proposal
Zope 3 is sponsored a common criteria certification. To be certified we
will have to add some security related functionality and I propose to add
this functionality as listed in the next section.
Proposed Solution
According to our specification document we wanted and need to support several functions.
Provide optional CC compliance mode
To allow users ...
|
| 2005/12/09 |
Locale-specific Text Collation -
status: IsImplementedProposal
Status: IsImplementedProposal
Author
JimFulton and Jacob Holm
Problem
When presenting users with ordered text (e.g. sorted lists of options),
simply sorting Unicode strings doesn't provide an ordering that
users in a given locale will find useful. Various languages have
text sorting conventions that don't agree with the ordering of
Unicode code points. (This is even true for English. Generally,
users prefer to see text sorted without regard to case.)
Proposal
I propose ...
|
| 2005/12/07 |
Simplify skinning -
1 comment, status: Unknown
Author
Philipp von Weitershausen, philikon@philikon.de
Status
IsProposal
Version
4
Original
http://codespeak.net/svn/user/philikon/SimplifySkinning.txt
Current situation
Being inspired by the CMF, Zope 3 has a system for customizing browser
views by overriding existing ones. This system is based on two
concepts:
|
| 2005/11/23 |
Reunite Zope 2 and Zope 3 in the source code repository -
status: Unknown
Author
Philipp von Weitershausen, philikon@philikon.de
Status
IsProposal
Original
http://codespeak.net/svn/user/philikon/ReuniteZope2AndZope3.txt
Current situation
Zope 2 lives at 'svn://svn.zope.org/repos/main/Zope'. Zope 3
lives at 'svn://svn.zope.org/repos/main/Zope3'. Right now, Zope 2
includes nearly everything from the Zope 3 repository, even though
it doesn't use everything (but most of it) in a distribution.
Both Zope 2 and Zope 3 also use the following extra ...
|
| 2005/11/18 |
User management API -
3 comments, status: Unknown
User management API
Status
IsDraftProposal
Author
Adam Groszer (adamg(at)fw.hu)
Problem/Proposal
Nowadays every site requires a kind of user management. Z3 already has to infrastructure for that by pluggableauth, principalfolder, groupfolder, principalannotation.
Goals
Piece of cake user management from code.
Proposed Solution
|
| 2005/11/16 |
Basic Relation API -
status: Unknown
Specification of a Basic API for a Relation Framework
(this is related to other proposals:
AssociationService, RelationshipService, RelationManager
that propose semantically richer APIs)
Status
IsProposal
Author
Helmut Merz (helmutm@cy55.de)
Problem/Proposal
In object-oriented programming you usually don't care explicitly about
relations: you just assign an object to an attribute of another object
and you have created a relation beween these two objects.
...
|
| 2005/11/14 |
ZIP Import Support for Zope 3 -
status: Unknown
ZIP Import Support for Zope 3
Status
IsDraftProposal
Author
FredDrake
Problem
Zope application code typically uses many non-code files stored as
data within a package. This files commonly include configuration
data (ZCML), page templates, and resources.
Making this work for packages in ZIP archives requires cooperation
between the Zope application server and packages in the ZIP
archive. The ZIP archive alone is not able to take care of the
...
|
| 2005/10/13 |
Better XML support for Page Templates -
2 comments, status: Unknown
Status
IsProposal
Problem
A number of issues regarding the handling of filesystem-based Page
Templates have turned up over the past couple of years. In
particular:
1. Specifying XML-mode parsing by requiring an XML declaration at
the top of the file creates problems:
- Templates that are used to produce fragments of XHTML are
required to include the XML declaration, and will generate the
declaration on output, but the declaration cannot ...
|
| 2005/10/13 |
Performance regression tool -
status: Unknown
Performance regression test tool
Status
IsProposal
Authors
Tarek Ziadé (tziade_at_nuxeo.com), [StephanRichter]
Problem/Proposal
Implement performance regression testing tools in zope testing framework.
Goals
The goal of this proposal is to enhance the test framework by
giving to the test developer the ability to mark some tests
that are hot spots, for a maximum execution time.
By doing it, it protects performance regressions when code is added:
...
|
| 2005/10/06 |
Security Checkers Become Security Proxy Factories -
status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
The process for creating security proxies is a bit
inflexible. Currently, the process for creating a security is:
- Select a checker
- Call zope.security.proxy.Proxy, passing the object and the
checker.
Sometimes, we want to change the way this works:
- We want "untrusted adapters". Untrusted adapters have the property
that, when you proxy them, you rebind them to security proxied
objects.
- In Zope 2, we'd like ...
|
| 2005/10/05 |
Simplify macro registration -
status: Unknown
Provide ZCML directive for macro registration instead a python class
and smplify the lookup via a 'macros:' TALES expression and
a 'IMacros' adapter.
Status
IsProposal
Author
Roger Ineichen (dev@projekt01.ch)
Problem/Proposal
Right now we define the macros in ZPT like this::
and use the macro like this::
This is really weird because there is no relation in the naming.
The relation is done in a python class e.g. ...
|
| 2005/10/03 |
XML-RPC Introspection -
3 comments, status: Unknown
XML-RPC Introspection
Status
IsProposal
Author
Tarek Ziadé (tziade@nuxeo.com)
Problem/Proposal
Implement a XML-RPC Introspection mechanism into Z3.
A few words on XML-RPC introspection:
Introspection give to XML-RPC what SOAP already has gathered in WSDL Dictionnaries:
- a list of all methods available on the server (i.e. on the given view)
- for each method, a short documentation (i.e. the docstring)
|
| 2005/09/28 |
Configurable Container Views -
1 comment, status: Unknown
Configurable Container Views
Status
IsProposal
Authors
Stefan Martin (s.martin@iwm-kmrc.de),
Uwe Oestermeier (u.oestermeier@iwm-kmrc.de)
Problem/Proposal
Currently the standard container view in
zope.app.container.browser (contents.pt /contents.py)
is too limited in it's usability for the user and reusability for the
programmer:
- All columns and commands are hard coded.
- The find function is very simple (only for ids) and the view ...
|
| 2005/09/27 |
Xapian text indexer -
2 comments, status: Unknown
Xapian-based TextIndexer
Status
IsProposal
Author
Tarek Ziadé (tziade@nuxeo.com)
Problem/Proposal
Implement a text indexer based on Xapian (http://www.xapian.org), for the same
reasons Stephan Richter mentioned here:
[LuceneTextIndex]
Xapian is written in C++ and is very fast. It's instantly usable from Python (SWIG),
easier to build and use than PyLucene.
FYI, very interesting link on indexer comparison:
http://...
|
| 2005/09/25 |
Nested menus -
status: Unknown
Nested menus for zmi_actions
Status
IsProposal
Author
Roger Ineichen (dev@projekt01.ch)
Problem/Proposal
Implement nested menus for skins
Goals
Since menu items can be nested and contain sub menu items, we should provide a default registration for such a nested menu hirarchie.
This means it should be possible to use a component where is able to render this nested menu hirarchie.
|
| 2005/09/24 |
Content Provider API for skins -
status: Unknown
Content Provider API for skins
Status
IsProposal
Author
Roger Ineichen (dev@projekt01.ch)
Problem/Proposal
Implement API for lookup additional content.
Goals
First, I try to explain this idea wihtout to use pagelets, viewlets or portlets, but this concept describes something like a manager for this kind of implementation.
Additional content means content where will be included in a page template wihtout to define the content in the page template directly.
|
| 2005/09/15 |
Publication Post-Processing -
status: Unknown
Note that this is a brainstorming document, not a proposal.
Problem
Informal Publishing API
The original Zope publisher was designed to make writing simple CGI
programs fairly transparent:
- Translate a URL path to a series of object-access operations,
starting from a root object that was, originally, a published
module.
- Call the object resulting from path traversal. Perform
method/function introspection to determine argument signatures and
pass ...
|
| 2005/08/29 |
Resource Library -
status: Unknown
Resource Library
Status
IsProposal
Author
Benji York (benji@zope.com)
Problem/Proposal
When using components that are rendered to HTML it is often neccesary to also include special Javascript (JS) or CSS files for them to work correctly. For example, if you create a date/time widget using a third party Javascript library you will need the libraries JS and CSS files included on any page that uses that widget.
Goals
Eliminate the need for the user of an HTML ...
|
| 2005/08/10 |
API doctool Generator -
1 comment, status: Unknown
API doctool Generator
Status
IsImplementedProposal
Author
StephanRichter
Problem
Several people have indicated to me that they would like to have the API
docs that come with Zope 3 available, even if Zope 3 itself cannot start
up. This mainly addresses the use case that you want to look up
documentation when you did something wrong.
Goals
Implement the tools to build a static version of the API docs.
Proposed Solution
|
| 2005/08/08 |
Fix zope.app.security._protections -
status: Unknown
Fix zope.app.security._protections
Status
IsProposal
Author
GaryPoster
Problem
zope/app/security/_protections.py is the place in which zope.app makes
some fundamental security declarations: MessageIDs should not get security
proxies (a known security hole); Messages should not get security proxies
(just fine, and the intended solution to the aforementioned security
hole); and the __name__ and __parent__ attributes should be available by
default.
...
|
| 2005/08/04 |
Introspector NG -
status: Unknown
Introspector NG
Status
IsImplementedProposal
Author
StephanRichter
Problem/Proposal
Early on in the development of Zope 3, we implemented an introspector view
for any object that would tell us something about it. Unfortunately, the
code was unmaintained and when apidoc came around it was totally
useless. So currently it only shows the directly provided interfaces of
the object and the class that forwards the user to apidoc.
This is a sad state, since ...
|
| 2005/08/04 |
Developer Mode -
status: Unknown
Developer Mode
Status
IsImplementedProposal
Author
StephanRichter
Problem
Currently developer-related features, such as the introspector and apidoc,
are always turned on, unless someone deletes the correct files from the
'package-includes/' directory.
Goals
I would like to implement a developer's mode, which can be turned on/off
inside the Zope configuration file ('zope.conf'). Developer-related
features are only loaded and available when the ...
|
| 2005/08/04 |
xpdlcore inclusion -
status: Unknown
zope.wfmc should use xpdlcore as XPDL parser
Status
IsProposal
Author
Julien Anguenot
Problem/Proposal
zope.wfmc should us and require xpdlcore as XPDL core parser.
xpdlcore lives currently within the Z3/ECM repository
(http://svn.nuxeo.org/trac/pub/browser/z3lab/xpdlcore/trunk/)
Goals
zope.wfmc.xpdl parser currently uses SAX. It makes this parser
really hard to read, maintain and enhance. xpdlcore uses lxml as
XML parser. See lxml dependency ...
|
| 2005/08/04 |
lxml dependency -
9 comments, status: Unknown
lxml dependency
Status
IsProposal
Author
Julien Anguenot
Problem/Proposal
Zope3 should require lxml as a mandatory dependency.
More info about lxml can be found at http://codespeak.net/lxml/
Goals
Having XML related Python code within Zope3 that will
o be more "Pythonic" than SAX based API,
|
| 2005/08/01 |
Migration to Python 2.4 -
4 comments, status: Unknown
Migration to Python 2.4
Status
IsImplementedProposal
Author
StephanRichter
Problem/Proposal
We want to require Python 2.4 for Zope 3.
Thus, the next release Zope 3.2 would require Python 2.4.
Discussion
Python 2.4 has been out for quite some time now. In Zope 3 we are already
supporting Python 2.4 but do not require it. And this is okay for the Zope
3.1 release. But we should rethink this decision for Zope 3.2. Python 2.3
is no longer a ...
|
| 2005/04/01 |
Running asynchronous code -
1 comment, status: Unknown
Running asynchronous code
Status
IsProposal
Author
Tarek Ziadé - tziade@nuxeo.com
Problem/Proposal
A web application has to deal sometimes with third party pieces of softwares, like an IMAP or SMTP server,
a FTP Server or some other things on the system.
Calling theses third party actors in Zope 3 is always done within a process of rendering a page.
Sometimes, part of the process can be done without having to wait for these actors to finish their ...
|
| 2005/02/11 |
Cascading Style Sheet - Style Guide -
status: Unknown
Cascading Style Sheet - Style Guide
Status
IsProposal
Author
Roger Ineichen
Problem/Proposal
First, it's important to understand what's the target of this style guide.
Zope3 has a form machinery and uses widgets for rendering fields to HTML.
The fields are defined in a interface. A object instance provides this
interface and has to define attributes/properties for the interface fields.
We have different directive for register pages, add and edit ...
|
| 2005/01/20 |
IFile refactoring -
1 comment, status: Unknown
IFile refactoring
Status
IsDraft
Author
Roger Ineichen
Problem/Proposal
Constraints of field data in IFile does'nt fit. The interface field Bytes
ignores the possible FileChunk as value we get on bigger files.
We allready added a branch called for the refactoring. The branch is
called jhauser-filefieldwidget.
Goals
- Fix constraints in data schema field (Bytes), we could have FileChunk
objects as values.
- Handle fileupload via ...
|
2004
|
| 2004/09/27 |
More Cleanup of Widgets -
status: Unknown
More Cleanup of Widgets
Status
IsProposal
Authors
Garrett Smith, Marius Gedminas
Problems
1. IInputWidget's validate and hasValidInput methods aren't used
(WHUI).
2. SimpleBrowserWidget's getInputValue potentially changes the
internal state of the widget (by setting _error), which is bad -
it's implicit/unexpected behavior that has already caused problems
for some of us.
3. IWidget's 'error' method reflects some old thinking on how
...
|
| 2004/09/10 |
Turning MessageIDs into rocks -
1 comment, status: Unknown
Status:
IsImplementedProposal
Author
PhilippVonWeitershausen
Status quo
'MessageIDs' are implemented as a subclass of 'unicode'. They are
typically instanciated using 'MessageIDFactory'.
For example::
>>> from zope.i18nmessageid import MessageIDFactory
>>> _ = MessageIDFactory("futurama")
>>> robot = _(u"robot-message", u"${name} is a robot.")
The default value as well as the mapping for variable
interpolation are introspectable::
>>> robot
u'robot-...
|
| 2004/07/22 |
Aggregate Permissions and Principal Groups -
2 comments, status: IsImplementedProposal
Status: IsImplementedProposal
Author
JimFulton
Problem
For a long time, we've struggled with the definition of
permissions. We sometimes need fine-grained permissions
(e.g. "Manage Foo", "Add Foo", "Manage Bar", "Add Bar", ...), but
fine-grained permissions tend to yield permission systems that are
unmanageable.
It seems desirable to aggregate permissions, allowing people to use
the aggregate permissions, rather than individual permissions. To
some degree, that's what ...
|
| 2004/06/15 |
Implement Views As Adapters -
1 comment, status: IsImplementedProposal
Implement views as adapters
Status: IsImplementedProposal
Author
JimFulton
Problem
Zope 3 has a presentation approach based on "views". Views are just
"skinned" adapters. Skins provide a way to offer several variations
on a user interface. A skin consists of some number (usually 2) of
layers. There is a default layer and and one or more customization
layers that override selected components, such as standard look at
feel, from the default layer.
To support skins, we've ...
|
| 2004/06/14 |
Interface Attribute Definition Adapters -
status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
Zope interfaces are object specifications. They specify the
external behavior of objects that provide them. Specifications
include formal information, including:
- Attribute specifications
- Invariants
Specifications are also provided informally as text in doc strings
included within interfaces.
Attribute specifications are provided using
'zope.interface.Attribute' objects.
There is an ad-hoc tool for verifying ...
|
| 2004/06/14 |
Specification Unification -
status: IsDraftProposal
Status: IsDraftProposal
Author
JimFulton
Problem
Zope interfaces are object specifications. They specify the
external behavior of objects that provide them. Specifications
include formal information, including:
- Attribute specifications
- Invariants
Specifications are also provided informally as text in docstrings
included within interfaces.
Attribute specifications are provided using
'zope.interface.Attribute' objects.
There is an ad-hoc tool for verifying ...
|
| 2004/05/19 |
ZPT Variable Namespaces -
status: IsRejectedProposal
Status: IsRejectedProposal
Author
JimFulton
Problem
ZPT provides an explicit mechanism for managing variable names in
templates using a flat namespace names.
Sometimes, we need more control over names. For example, a macro
might want to define names that can be used by callers of a macro to
customize a macro's behavior. In TALESAdapters, we'd like to be able to
use an 'adapters' namespace to be able to hold adapter definitions.
Proposal
Add the ability to qualify names ...
|
| 2004/05/19 |
TALES path expression adapters -
status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
See NamespacesInTemplates.
This proposal is based on an email thread:
http://mail.zope.org/pipermail/zope3-dev/2003-February/005626.html
The gist of the problem is:
o Content objects don't provide any standard API.
o In general, interesting standard APIs are provided by adapters in
Zope 3.
|
| 2004/05/18 |
ProvideAuditlogFormat -
status: IsProposal
Status: IsProposal
Author
Christian Theune
Problem
Zope 3 needs to provide an audit log generation facility that will log
security related data for later analysis. Therefore we must agree on a format
to follow. The automated analysis of this format will be handled in a
proposal for a corresponding tool.
I just started a preliminary test to implement this and searched the web for
a while to determine some standard formats and audit analyzing tools that
would fit our ...
|
| 2004/05/13 |
Action Plans -
status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
See SupportingConstraintMaintainingSubscriptions.
The solution described in
SupportingConstraintMaintainingSubscriptions has a flaw.
It supports only one level of issue checking. An event is
tentatively published. Subscribers can raise resolvable issues.
Unfortunately, the resolution of the original issues may raise
additional issues.
As an example, suppose we have a system for managing information
about music. We have ...
|
| 2004/04/17 |
Database generations -
5 comments, status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
A database reflects an application schema. In a relational
database, this is reflected directly in a table structure. In a
ZODB-based database, the schema is reflected in the structures of
the saved pickles.
Over time, an application's schema will change to reflect evolving
requirements and design decisions. As the application evolves,
its schema may become inconsistent with the schema stored in the
database. In the case of ...
|
| 2004/04/16 |
Rename the zope package -
status: IsImplementedProposal
Status: IsImplementedProposal
Author
JimFulton
Problem
Zope 2 has a package named "Zope". Zope 3 has a package named "zope".
Starting with Zope 2.8, parts of Zope 3 will be included in Zope 2.
As things stand, this will require having both "Zope" and "zope" packages.
Python can handle this fine, however, it will require putting the packages
in separate directories (for Windows and Mac OS).
Having two packages with the same name, differing only by case has
a number of ...
|
| 2004/04/08 |
Simplify event system -
1 comment, status: IsProposal
Status: IsProposal
Author
JimFulton
Problem
Zope 3's event system is rather complicated:
- All event objects are required to implement IEvent (or an
interface that extends IEvent)
- All subscribers are required to implement ISubscriber. This
makes it impossible to use functions as subscribers directly.
- We have local and global event-publication and
event-subscription services. The event-subscription services
provide some functionality that we don't use (...
|
| 2004/04/07 |
No more schema binding -
2 comments, status: IsProposal
No more schema field binding
Status: IsProposal
Author
JimFulton
Problem
There is a "feature" of schema fields that I really don't want to
keep. This feature is called "binding". A field can be "bound"
to an object. This creates a new field instance, which is a clone of
the original, that has a `context` attribute which is some object.
The object *may*, for example, be an object that has an attribute that
is specified by the field.
Why do we ...
|
| 2004/04/05 |
Adding name control -
status: IsProposal
Adding name control
Status: IsProposal
Author
JimFulton
Problem
Adding objects and add views collaborate to provide a UI for
adding objects to containers::
- -
| | > | | > | |
| Container |> | | > |
-
The adding object represents the interests of the container:
- It figures out ...
|
| 2004/03/22 |
Cleanup of Schema and Widgets -
3 comments, status: Unknown
Cleanup of Misc Schema and Widget Issues
Status
IsProposal
Author
Garrett Smith
Background
Back in late February, I met with Jim, Gary Poster, and Fred Drake to
discuss the state of "widgets" machinery. We had an excellent brain
storming sessions, the notes of which are reflected in this proposal.
Goals
Continued improvement of the widgets machinery.
Proposed Solution
|
| 2004/03/21 |
Supporting constraint-maintaining subscriptions -
status: IsReplaced by ActionPlans
Supporting constraint-maintaining subscriptions
Status: IsReplaced by ActionPlans
Author
JimFulton
Problem
Anthony Baxter wrote::
At the moment if you try to delete a registered service or utility,
you get a system error. The traceback shows a dependency error on
the registration object. This could be handled by one of two ways:
before deleting, auto-delete the registration(s)
or
make the delete code catch the ...
|
| 2004/03/20 |
Instance and Type based subscriptions -
status: IsProposal
Instance- and type-based subscriptions
Status: IsProposal
Author
JimFulton
Problem
Sometimes, we want to subscribe to events *only* for specific
objects or for specific types of objects. For example, we
currently have notification interfaces, IAddNotifiable and
IRemoveNotifiable that we call when objects are added or
removed. These are used to implement class-specific notification
policies. These are currently provided via methods on the objects
we ...
|
| 2004/03/18 |
Simplify undo model -
status: Unknown
Simplify undo model
Author
PhilippVonWeitershausen
Status
IsImplementedProposal
Abstract
This document proposes a simpler *Undo Transaction* model and UI
for Zope3.
Status quo
Zope 2's *Undo* tab shows transactions that a user may undo in
that particular location. A user may undo the changes done by
users from the same user folder or from a user folder in a
subfolder of the user folder the undoing user is in. That policy
is complicated and ...
|
| 2004/03/02 |
Extend Implements Concept and Fix Interface Method Names -
1 comment, status: IsProposal
Interface jargon and method renaming
Status: IsProposal
Author
JimFulton
Problem
We now have some standard jargon:
- Objects *provide* interfaces. If an object *provides* an interface,
then the interface specifies (some) usage of the object.
- Classes *implement* interfaces. They are used to create objects that
provide the interfaces that the classes implement. Instances of a
class provide the interfaces implemented by the class.
Objects ...
|
| 2004/03/01 |
WidgetsAndMultiwayAdapters -
status: Unknown
Widgets and Multi-way Adapters
Status
IsProposal
Author
Garrett Smith
Problems
Currently widget names, "edit" and "display" are used to identify
widget behavior. The names serve as implicit interfaces. This
was done because, until recently, views, such as widgets, could
not be registered and looked up according to the interface they
provide. With recent changes to adapter and view support, it is
now possible to register and look up views based on ...
|
| 2004/02/26 |
SpringCleaningDay2004 -
status: Unknown
Spring Cleaning Day 2004
Authors
StephanRichter, PhilippVonWeitershausen
Status
IsDraft
Problem
Some parts of the Zope3 source code are poorly documented and/or
in bad cosmetic shape. Having well documented code that is easy to
read and follows a common set of conventions is essential for the
maintainability of a large project like Zope3.
Current identified defects
- Many Headers and module doc strings do not conform to the
[Coding Style] guide.
...
|
| 2004/02/15 |
Zope 3 Packaging Proposal -
status: Unknown
Packaging of Zope 3 file-system-based software
Status
IsPreProposal
Author
JimFulton
Problem
An important feature of Zope 3 is that it provides a highly
flexible and modular architecture for creating applications. It
is hoped that Zope components will be arranged in a variety of
ways to meet various application needs. (Certainly, at least one
configuration will be an web application server recognizable as
Zope. :)
To support this flexibility, ...
|
| 2004/02/11 |
PackageGeddon -
3 comments, status: Unknown
PackageGeddon
Author
Philipp von Weitershausen (philiKON)
Status
IsProposal
Problem
'zope.app' contains much functionality, too much really. It
contains many things that are going to be customized by
applications later, like the browser skins and the content
components.
We have decided that the place for everything that is
a) optional in some sense or
b) going to be customized once or more
is 'zope.products'.
|
| 2004/02/09 |
The browser:tool directive -
status: Unknown
The '' directive
Status
Author
JimFulton, AnthonyBaxter
Background
Starting at the "second OzZope sprint",
http://www.ozzope.org/2ndsprint/2ndOzSprintWiki, the
site-management user interface is evolving to become more task
oriented. There are three broad tasks that site managers will be
able to perform:
- Management of tools
Tools unify services and utilities, along the lines of CMF tools.
They are purely a UI concept. There are no "tool" ...
|
| 2004/01/15 |
Unification of requests and security contexts through Use -
6 comments, status: IsResolved
Unification of requests and security contexts: Use
Status: IsResolved
Authors
Steve Alexander and JimFulton
Introduction
The Zope 3 security enforcement system mediates access to object
names (attribute and operation names). It assures that principals
in the current 'context' have the permission required for the
access.
What is the 'context'? It is an object that represents an interaction
of external actors with the system. It's interesting to note ...
|
| 2004/01/09 |
AdaptersForMenuItems -
1 comment, status: IsImplementedProposal
Redo browser menus using adapters
Status: IsImplementedProposal
Author
JimFulton
Background
We need a way to manage data for user-interface (e.g. browser)
menus. A menu is a collection of menu items. Menu items
have names and are looked up by menu name and by the object a menu
is defined for. Menu items have data used for menu display and
for menu item selection, including:
- title
- filter
- permission
Some menus (e.g. add menus) need ...
|
2003
NB 2003/08/03 dates are not accurate.
|
| 2003/12/22 |
Partial Adapters -
1 comment, status: IsProposal
Partial Adapters
Status: IsProposal
Author
JimFulton
Problem
Normally, we adapt to a single component. We pick the most
specific adapter applicable to a given object.
A disadvantage of using a single component is that it is hard to
take multiple object interfaces into account.
Consider the following example. We need to find the objects for
an object such that the __parent__ of the found objects is the
starting objects. We'll call this interface !...
|
| 2003/11/04 |
AssociationService -
4 comments, status: Unknown
Association Service
Status
IsProposal
Author
Roché Compaan
Preamble
I do not think that coding relationships between objects is
particular to the ZODB. It is a common pattern when working in an
object oriented language and it is useful no matter what storage you
use.
We use the term association instead of relation or relationship
because:
- The proposed implementation is based on associations in
...
|
| 2003/10/13 |
Modules Are Global -
status: IsProposal
Semantics of Persistent Modules
Status: IsProposal
Authors
Fred Drake and JimFulton
Problem
Module scope
Persistent modules live in the Zope database. There are two
high-level goals for persistent modules:
- Have semantics as similar to ordinary Python modules as
possible.
- Support customization. The idea here is that it should be
possible to have a site-specific version of a module.
Consider the following example:
...
|
| 2003/09/22 |
Component Architecture Simplification -
1 comment, status: IsProposal
Component Architecture Simplification
Status: IsProposal
Author
JimFulton
Problems
Too many services
When the component architecture was first fleshed out, we
identified a number of different kinds of components:
Services Services provide very basic application support.
Applications depend deeply on services. If a service is missing
or broken, the application will fail. Services implement defined
interfaces. Local services ...
|
| 2003/09/16 |
Simplify Implementing Containers -
status: IsProposal
Simplify implementing containers
Status: IsProposal
Author
JimFulton
Problems
Creating container content objects is harder that it should be.
To create a container, you need to:
- Implement IContainer. This is easy, or, at least
straightforward.
- Reuse the contents view.
This is pretty easy, but it requires copying and pasting
ZCML::
|
| 2003/09/16 |
ContainmentConstraints -
status: IsProposal
Containment constraints
Status: IsProposal
Author
JimFulton
Problem
We often want to create containers that can only hold specific kinds
of objects. We also often want to constrain the container that an
object can be contained in. For example, site management folders
can only contain IRegisterable objects. Similarly, IRegisterable
objects can only be contained in IRegistrationManagerContainers.
Proposal
Constraining the types of objects ...
|
| 2003/09/10 |
Simplify object lifecycle and location events -
status: IsFlawedProposal
Simplify object lifecycle and location events
Status: IsFlawedProposal
Author
JimFulton
Problem
We now have a fairly complicated framework for handling lifecycle events
and location changes that doesn't really work very well. We have:
'IObjectCreatedEvent' Signal that an object was created
'IObjectAddedEvent' Signal that an object was added
'IObjectRemovedEvent' Signal that an object was removed
'IObjectMovedEvent' An object was moved. ...
|
| 2003/09/06 |
Replace setObject with __setitem__ -
1 comment, status: IsProposal
Replace setObject with __setitem__
Status: IsProposal
Author
JimFulton
Problem
In the Zope 3 container framework, container objects are defined
by the 'IContainer' interface. 'IContainer' is substantially a
mapping interface, with one exception. Items are added to
containers with a 'setObject' method, rather than via a set-item
operation::
def setObject(name, object):
"""Add the given object to the container under the given name.
...
|
| 2003/08/29 |
TTWDevelopmentScopeForZopeX31.0 -
status: Unknown
Through-The-Web Development Scope for Zope X3 1.0
Status
IsProposal
Author
StephanRichter, JimFulton
Problem/Proposal
Supporting everything that is available in Zope 3 for TTW development is a
massive task. Therefore it is very important to keep the overview and not
try to do too much at once. This proposal/information sheet is intended to
provide an overview of the TTW development features that will be available
for Zope X3 1.0 and afterwards.
...
|
| 2003/08/29 |
NoOwnershipRole -
status: Unknown
No Ownership Role
Status
IsProposal
Author
StephanRichter, JimFulton
Problem/Proposal
In Zope 2 a user receives the owner role (locally) for each object s/he
creates. This model has been somewhat successfull, but the use cases are
not that clear anymore. Furthermore, having a role like this does not
really fit into the Zope 3 security model, since we would like a user to
have only one role at a time.
A role is like a job description, or a use-case ...
|
| 2003/08/29 |
ZCMLEnhancements -
1 comment, status: Unknown
Preventing and Disabling in ZCML and More
Status
IsProposal
Author
StephanRichter, JimFulton
Problem/Proposal
ZCML has a good set of features and is easily extendable thanks to the
latest ZCMLgeddon. However, a couple of features are still missing that
need to be addressed before the first major release.
Proposed Solution
Disable configuration directive
We don't always want all of Zope 3's functionality to be available. This
is especially ...
|
| 2003/08/29 |
InterfaceTypes -
status: Unknown
Interface Types (supercedes ContentType)
Status
IsProposal
Author
StephanRichter, JimFulton
Problem/Proposal
In general, the problem is a generalization to the one stated in
ContentType.
Goals
We would like to provide a way to categorize interfaces, so that:
- We can can simplify selection and browsing of interfaces, and
- objects maybe categorized through the interface they implement.
|
| 2003/08/26 |
ResourceRefactoring -
1 comment, status: Unknown
Resource Refactoring
Status
IsDraft
Author
Philipp von Weitershausen
Objective
Resources are currently very messily implemented. Also, I feel
that a few features that could ease the use of resources are
missing. See below for details.
Refactor resource components
- Resources shall be inpersistent content objects implementing the
'IResource' interface (they currently have no interface). This is
what 'IResource' would look like::
class ...
|
| 2003/08/13 |
LocationRelatedEvents -
status: IsWorkInProgress
Location-related events
Status: IsWorkInProgress
Author
JimFulton
Problem
Location is an important property of Zope objects. The
ParentGeddon proposal clarifies the role of location in Zope in a
number of ways by:
- Defining location as a hierarchy, so that an object can have
only one location, and
- Defining location to be more than containment. The containment
relation is a subset of the location relation.
The ParentGeddon proposal also ...
|
| 2003/08/12 |
ParentGeddon -
1 comment, status: IsImplementedProposal
Using parent references rather than context wrappers to location
Status: IsImplementedProposal
Author
JimFulton
Problem
Zope organizes objects into a hierarchy based on containment.
Zope uses this organization to share information among objects,
including:
- Software and configuration settings
- Security statements
The sharing of information in a containment-based hierarchy
mirrors the sharing of information on class hierarchies (directed
...
|
| 2003/08/12 |
FixedDefaultComponentLookup -
status: IsProposal
Fixed Default Component Lookup
Status: IsProposal
Author
JimFulton
Problem
As things stand now, component lookup is based on location. For
example, suppose we have two sites, S1 and S11. S11 is a subsite of
S1, which is a subsite of the root folder, which is also typically a
site. Now, suppose we have object O in site S11. If we look up an
adapter for O:
a = getAdapter(O, !IFoo)
we'll look for an adapter factory in S11, then in S1, then in the ...
|
| 2003/08/03 |
AddMenuProposalAndEndOfZmiNamespace -
status: IsImplemented
Add menu proposal (and death to zmi namespace)
Status: IsImplemented
Author
JimFulton
Problem
Currently, in Zope 3, to have particular types of content included
in the list of content types that can be added to a container,
it's necessary to include a zmi:factory directive in the content
directive::
The zmi:factory directive does two things:
|
| 2003/08/03 |
AdvancedObjectHub -
status: Unknown
Advanced Object Hub use-cases
Status
IsProposal
(Actually, "is gathering requirements" would be better.)
Author
Steve Alexander
Problem/Proposal
This proposal is currently a place to collect non-trivial use-cases for
the object hub and event service. This will help us to extend and improve
the object hub beyond the simple "one hub and event service in the root"
arrangement.
Initially, we should describe use-cases related to using the object hub,
...
|
| 2003/08/03 |
BetterInterfaceImplements -
status: Unknown
Improving the way interface implementation is declared
Status
IsImplementedProposal
Author
Steve Alexander and JimFulton
Problem
Currently, interfaces implemented by an object are declared by
assigning an '__implements__' attribute. The value assigned can
be an interface, a tuple of interfaces, or a nested tree of tuples
and interfaces.
1. While there is a way of making interface declarations for built-in types
such as 'str', 'int', 'list', it ...
|
| 2003/08/03 |
CachingFramework -
status: IsImplementedProposal
Caching Framework
Status: IsImplementedProposal
Author
MariusGedminas
Problem
There is a need for some kind of generic caching framework in Zope3.
The "original Zope2 proposal
docs":http://dev.zope.org/Wikis/DevSite/Projects/CacheManager/FrontPage are
still relevant.
Proposed Solution
This is an attempt to "translate" Zope2 cache managers to Zope3. The
framework would consist of the following parts:
- A caching service that manages Zope2-style ...
|
| 2003/08/03 |
ContentManagementProjectsForZope3 -
status: IsExpiredProposal
Content-Management in Zope 3
Status: IsExpiredProposal
Author
Paul Everitt and JimFulton
Background
From the point of view of Zope Corporation and many in the Zope
community: "Zope is a platform for content management". It is an
application server designed to support content-management
applications, and a content-management framework that provides
content-management-specific components. The content-management
framework (CMF) was separate from Zope 2. ...
|
| 2003/08/03 |
ContentSensitiveBrowserMenuConfigurationDirectives -
status: IsImplementedProposal
Content-sensitive Browser Menu Configuration Directives
Status: IsImplementedProposal
Author
JimFulton
Problem
Applications often need various context-sensitive menus, where a
common "context" is content type.
Examples of content-sensitive menus that are likely to be used
include:
- Menus for providing alternate views of objects (e.g. Zope 2
"tabs")
- Menus for actions that can be performed on objects.
- Menus of objects that can be ...
|
| 2003/08/03 |
ContentType -
status: Unknown
What is a Content Type, and how do we support it in Zope 3?
Status
IsSupercededProposal (unfinished)
Authora
Steve Alexander, JimFulton
Problem
The component architecture is, by its nature, difficult to understand.
This is because it is abstract, and reflects the many different roles
an object can play in a system. You might say that it is N-dimensional.
For example, a folder object can be seen as
* A Folder
* A place to put a service-manager
...
|
| 2003/08/03 |
CookiesAPI -
1 comment, status: Unknown
A PROPOSAL FOR THE COOKIES API
Author
Albertas Agejevas
Status
IsProposal
Problem
The API for HTTP cookies in Zope 3 is quite low level.
'IHTTPApplicationRequest.getCookies()' returns a mapping of cookie
names to values. 'IHTTPApplicationResponse.setCookie()' has
optional arguments which allow for setting cookie value and metadata.
The problems with the current scheme are the following:
- there is no value quoting mechanism. This includes
...
|
| 2003/08/03 |
InitialRDBIntegration -
status: Unknown
Relational Database integration for Zope
Status
IsImplementedProposal - Note that the RDBConnectionService and SQLMethod was
implemented a bit different than described in here. However, the RDB EuroPython Sprint
team did a fantastic job with the implementation. We now have a working Psycopg and
Gadfly database adapter. See also the CachingFramework for details on how
caches were implemented for SQLMethods later.
Author
StephanRichter
Problem
Well, ...
|
| 2003/08/03 |
InterfaceTests -
status: Unknown
New Coding Style: Writing abstract Interface test classes
Status
IsAcceptedProposal
Author
Stephan Richter
Problem
While Jim explained to me the concept of writing tests against interfaces
instead of implemntation back in March, I think I just understood this
concept well this weekend and I think it is most valuable.
The problem is that if you test against implemntations you have to write
the same tests for every implemntation of a certain interface. ...
|
| 2003/08/03 |
LifeCycleEvents -
status: Unknown
LifeCycleEvents for Zope3 Events System
Status
IsWorkInProgress
Author
Ulrich Eck
Problem/Proposal
Currently there is no way for compontents to get notified on
Server startup and shutdown.
A general way to inform compontents would be sending LifeCycleEvents
(ZopeStartupEvent, ZopeShutdownEvent) after the Server is inititalized
and before the Server is shutdown. Any component could subscribe to
LifeCycleEvents and do small initialization/cleanup work ...
|
| 2003/08/03 |
MailFormatting -
2 comments, status: Unknown
Mail formatting in Zope 3
Author
MariusGedminas
Status
IsDraft
Problem
Zope 3 mail framework lets you send out emails, but you have to format
them yourself according to RFC-2822 and related RFCs. It is not very
simple because you have to take many things into account:
- encoding Unicode into some 8 bit charset
- escaping 8 bit chars in the headers with RFC-2047
- formatting MIME attachments (base64, quoted printable)
|
| 2003/08/03 |
MovingSCMToSubversion -
2 comments, status: Done
Moving source code management (SCM) to subversion
Authors
PhilippVonWeitershausen
JimFulton
Status
IsProposal
Problems with CVS
All the problems described below are CVS problems, not Zope3
problems.
- CVS does not version control directories. The effect of this
is that file and directory creation, rename, move and deletion
aren't handled properly. This is especially problematic for the
Zope project, in which code is frequently ...
|
| 2003/08/03 |
Namespace2SchemaRegistry -
status: Unknown
Namespace2Schema Registry
Status
IsImplementedProposal
Author
Sidnei da Silva
Problem/Proposal
WebDAV properties are usually (always?) bound to a namespace. The
default namespace is 'DAV', but custom namespaces can also exist
depending on the application.
Goals
What were trying to propose here is to make a Global Registry, so
that the namespaces are discoverable, and you can associate a URI
to an Interface for querying later.
Proposed Solution
|
| 2003/08/03 |
NamespacesInTemplates -
1 comment, status: Unknown
NamespacesInTemplates proposal
Status
IsImplementedProposal
Author
Shane Hathaway
Problem/Proposal
Page templates need a better way to access the components and metadata
available from Zope.
In Zope 2, page templates take advantage of implicit acquisition to find
components and read data. Implicit acquisition works well, but it hurts
reusability by making it difficult to discover what contracts the
templates rely upon.
Zope 3 abandons implicit ...
|
| 2003/08/03 |
PublisherAndPublicationCleanup -
status: IsAcceptedProposal
Publisher and Publication Cleanup
Status: IsAcceptedProposal
Author
StephanRichter
Problem
As mentioned in my recent checkin messages, I think the current
Publisher/Publicaion code is in a horrbile state. During the last
refactoring, the following things creeped in.
- Modules and other code snippets are unused. For example there is no
use for AttributePublisher anymore, sinc ealll this code has been
refactored. Furthermore I found traversal ...
|
| 2003/08/03 |
QueryObjectService -
2 comments, status: Unknown
Query Object Service
Status
IsProposal
Contact
"Gary Poster":gary@zope.com
Preface
Inspiration for the following proposal came from (my
understanding of :-) some of Steve Alexander's ideas, as well as
Casey and Shane's "query object
proposal":http://dev.zope.org/Wikis/DevSite/Proposals/QueryObject
. It also attempts to integrate ideas from my
RelationshipService proposal.
Problem and Goals
Zope 3 indexes as currently built (the ...
|
| 2003/08/03 |
QueryService -
status: Unknown
Query Service
Note
This proposal is not yet finished. It is being written as part of an
ongoing prototype by Gary Poster and Steve Alexander
Status
IsProposal
Author
Steve Alexander
Problem
There is a common pattern of asking a question, and getting an answer.
Zope 3 has Services for this pattern at a framework level, and Utilities for
this at an application level. The Query Service enables this same
pattern at a content-management level.
...
|
| 2003/08/03 |
TaskSchedule -
1 comment, status: Unknown
Proposal for a Task Schedule
Status
IsWorkInProgress
Author
Ulrich Eck (ueck@net-labs.de)
Problem/Proposal
In many cases it is necessary to decouple the Execution of Tasks
from the actual Request. Examples cases are: Delayed Cataloging of
Contentobjects or "fair" execution of Activity-Based WorkflowProcesses.
Goals
A generic Framework for Scheduling Task should be available for Developers.
By defining or combining different Implementations of Clock/...
|
| 2003/08/03 |
ViewDirectoryHierarchyReorganization -
status: Unknown
Reorganize Zope 3 Views Directory Hierarchy
Status
IsImplementedProposal
Problem/Situation
Currently view code is scattered through the Zope 3 hierarchy;
mostly in Zope.App.OFS, but views can also be found in various
other packages in Zope.App, such as Zope.App.Forms and
Zope.App.Security.
The views are bundled along with packages they are related to. In
case of a 'content type' such as ZPTPage, the views are in its
'Views' subdirectory. This ...
|
| 2003/08/03 |
VirtualHosting -
status: Unknown
VirtualHosting
Status
IsImplementedProposal
Author
Sidnei da Silva, Marius Gedminas
Problem/Proposal
As soon as people start putting Zope 3 in production, there will be a need for
virtual hosting on Zope 3. There are several use cases of Virtual Hosting:
- Hosting various Zope servers being proxied by Apache
- Various sites inside the same Zope server, proxied by Apache
- Having a Zope server appear as a part of a site being served from Apache,
...
|
| 2003/08/03 |
VocabularyFields -
status: Unknown
Vocabulary Fields (IsImplemented)
Author
Fred Drake
Note
*doc/schema/vocabularies.txt* in the Zope 3 sources is the canonical
location for overview documentation on vocabularies; that file may
be more up-to-date than these wiki pages.
See Also
VocabularyFieldsChat, in which Fred and Gary answer questions about
vocabulary fields.
VocabularyRegistry, which describes the thinking behind the vocabulary
registry: why it exists, and how to configure it in Zope....
|
| 2003/08/03 |
ZCMLBrowserViewDirectiveSimplification -
status: Unknown
ZCML Browser View Directive Simplification
Status
IsImplementedProposal
Problem
Defining browser views in ZCML is still more complicated than it
should be. There are a number of reasons for this:
- The 'browser:view' directive has too many features and
variations. The same directive is used to create:
o Named views without pages. Typically, this is done with a simple
template.
o Unnamed views with pages.
o Named views with pages.
...
|
| 2003/08/03 |
ZCMLHelpViaMetaConfiguration -
status: IsImplementedProposal
Making Managing ZCML Help Easier
Status: IsImplementedProposal
Author
rdmurray
Problem
A while back Steve Alexander put together some preliminary
documentation on zcml by filling out a hierarchy of files
that could serve as the target of the 'http://namespaces.zope.org'
XML namespace identifier. This documentation has not been
modified when the zcml directive definitions and implementations
have been modified.
Proposed Solution
...
|
| 2003/08/03 |
ZopeLibPackage -
status: Unknown
Status
IsRejectedProposal
Contact
Shane Hathaway
The Problem
The function of the "Zope" package is not obvious to developers first looking at the Zope 3 sources. Several intelligent people have asked why it is there. It serves an important purpose (it is a namespace for independent libraries needed by the Zope application), but its name does not convey that meaning.
Proposal
The name "ZopeLib" expresses the intent that the package contain libraries. I propose the "Zope" ...
|
| 2003/08/03 |
WidgetsFormsSchemas -
status: Unknown
Widgets, Forms, and Schemas
This proposal seeks to clarify the mechanisms whereby schema-based objects
are created, viewed, and edited using HTML bases forms and to propose some
specific changes.
This proposal is organized in five sections:
- Background
- Definitions
- Overview of Browser Forms
- Widgets and Missing Values
- Proposed Changes
- Issues
Background
|
| 2003/08/03 |
TreeView -
status: Unknown
Visual Tree Representation of the Object Tree
Status
IsProposal
Author
StephanRichter
Problem
Since we do not want to mandate the use of DTML anymore and we all agree
that the old TreeView implementation in Zope 1 was horrible, I would like
to rewrite this code from scratch using the Zope 3 component
architecture. This proposal is written based on a discussion Steve and I
had on IRC.
Solution
There are really two tasks (interfaces) that come ...
|
| 2003/08/03 |
SchemaAdapter -
status: Unknown
A new spelling for Schema Functions
Status
IsProposal
Author
R David Murray
Problem
The schema package extends the interface package, but does so
in such a way as to allow any interface to become a schema
simply by including schema-defined data elements into the
interface definition. To provide schema-specific methods, the
schema package defines functions that take a schema as their
argument.
The (small) problem is that using module level ...
|
| 2003/08/03 |
RenameMoveCopy -
status: Unknown
Rename Move and Copy
Status
IsImplementedProposal
Author
Steve Alexander
(with help from Sidnei da Silva)
Problem
Zope 3 needs to support three kinds of cut/copy/paste behaviour.
* Renaming an object to a different name in the same container.
* Moving an object from one place to another.
|
| 2003/08/03 |
RelationshipService -
status: Unknown
Status
IsWorkInProgress
Preamble
This is a second draft of the RelationManager. Please see history there. I
am in the middle of writing this now so will flesh out the various sections
(Problem, Risks, etc.) gradually here: initially, this is just a place to dump
interfaces. For now, please look at the older draft for some of these bits.
I'm trying to incorporate the wisdom,
experience and desires of others, particularly in this case maxm, Sean Upton,
and (in absentia,...
|
| 2003/08/03 |
RelationManager -
status: Unknown
Relation Manager
This is an old draft.
I have moved work to RelationshipService, but the comments by others below
are still very pertinent.
Problem:
Sometimes I want to have my cake and eat it too: an object database with some
extra, basic relational database trappings.
While one object can keep track of another in Zope with a path or now with an
Object Hub Id, if you need a relationship betwen two objects you need to store
it in both objects. This is fragile. Moreover, ...
|
| 2003/08/03 |
LayoutWidgetsProposal -
status: Unknown
Layout Widget Service - Reusing GUI-Components
Status
IsProposal
Author
StephanRichter
Problem/Proposal
While the Zope 2 ZMI was very handy and easy to use, it was impossible to
reuse its components for other purposes or even change the ZMI to be more
end-user friendly. This was due to the fact that the layout and components
used to make up the frontend were in no way flexible enough to be reused
in pieces.
In Zope 3 we want to learn from these ...
|
| 2003/08/03 |
KeepAllZope3InstallablesInLibPython -
status: Unknown
Keep all Zope3 installables in lib/python
Status
IsSupercededProposal - This issue was really solved by the inclusion of ZConfig.
Author
MattBehrens
Definitions
Installables Packages, modules, extension modules, data files, and any other part of Zope3 that is not written to during normal Zope3 operation, is strictly necessary for Zope3 operation and not merely installation, and is part of the Zope3 "core" (i.e. not addon products). It should be possible to install all ...
|
| 2003/08/03 |
FileSystemSynchronizationProposal -
status: IsProposal (much is now implemented; see status below)
File-System Synchronization
Status: IsProposal (much is now implemented; see status below)
Author
JimFulton
Problem
Zope 2 has two different development models: through-the-web (TTW),
and file-system (FS). Each has its advantages and disadvantages.
TTW development is convenient. Code can be developed from anywhere
with just a web browser or an FTP or !WebDAV client. It isn't
necessary to restart Zope to see the effect of changes. Software
changes are ...
|
| 2003/08/03 |
FewerZCMLNamespaces -
status: IsImplementedProposal
Fewer ZCML Namespaces
Status: IsImplementedProposal
Author: Guido van Rossum
Even the simplest ZCML files must include four different namespaces.
I'm all for namespaces to allow extensibility and to allow independent
developers to control their own namespaces. But in this case it seems
that the designers of ZCML were a little too namespace happy.
I propose that all the common directives get moved into the default
namespace. This would mean that the security, zmi and browser
namespaces ...
|
| 2003/08/03 |
FunctionalTestingFramework -
status: Unknown
Functional testing framework for Zope3
Status
IsImplementedProposal
Author
MariusGedminas
Problem
Not everything can be tested with automated unit tests. Unit tests test
pieces of code in isolation, but do not test that those pieces can actually
work together. Functional testing is currently done by hand (or not done
at all).
Goals
There should be a framework for automated functional tests. It should be
similair to the current unit testing ...
|
| 2003/08/03 |
DocumentTemplateMarkupLanguage2 -
2 comments, status: IsProposal
Document Template Language v2.0 (DTML2)
Status: IsProposal
AUTHOR
StephanRichter
PROBLEM
During the EuroPython Sprint in late June, we noticed that DTML is
still a useful language and can nicely coexist with Page
Templates. However, the current implementation of DTML is Zope 2
centric and does not fit into the design of the Zope 3
framework. This proposal is intended to attack the current
weaknesses and propose a solution that is worthy to exist in ...
|
| 2003/08/03 |
DirectoryHierarchyReorganization -
status: Unknown
This is a proposal for a restructuring of the Zope 3 directory hierarchy
Status
IsImplementedProposal
Author
Martijn Faassen
Goals
* move to lower case for package/module names. This makes it hard to confuse
module names with class names.
* make import statements less verbose. This is done by making the hierarchy
shallower and the package/module names shorter.
Directory structure guidelines:
* All interfaces in a (sub)package will be in the '...
|
| 2003/08/03 |
DependencyFramework -
status: Unknown
Dependency Framework
Status
IsImplementedProposal
Author
JimFulton
Problem
Objects sometimes depend on other objects without the cooperation
of the objects being depended upon. For example, service
directives depend on services. It is important to avoid deleting
services if there are dependent service directives. We want to
avoid adding dependency checks to every service implementation,
Proposal
A generic dependecy framework is proposed. ...
|
| 2003/08/03 |
AdaptContentForViews -
status: IsRejectedProposal
Status: IsRejectedProposal
See the alternative solution described in the comments.
Author
"Steve Alexander":mailto:steve@cat-box.net
Introduction
I propose an extension to the adapter and view services to facilitate
automatically adapting certain content objects when discovering
views.
This is important where the interface a view depends on is
one step removed (by adaption) from the content object.
I describe the specific case of the memento-bag pattern, and
how ...
|
| 2003/08/03 |
ClassBasedPermissionRequirementsForComponents -
status: IsRejectedProposal
Component-based versus Class-based permission requirements
Status: IsRejectedProposal
Author
JimFulton
Problem
We're moving toward component-based configuration, where most
configuration directives are about components and each component has a
single directive, with subdirective, that expresses configuration
decisions, at least within a configuration file. (Other configuration
files can have directives about a component that override
configuration.)
...
|
| 2003/08/03 |
DoNotUseHTTPBasicByDefault -
status: IsRejectedProposal, this is a policy of the AuthenticationService.
Status: IsRejectedProposal, this is a policy of the AuthenticationService.
Abstract
HTTP Basic Auth has issues, so it shouldn't be the default fallback for authentication.
Problem
When "RFC 2617":ftp://ftp.isi.edu/in-notes/rfc2617.txt was introduced, obsoleting "RFC 1945":ftp://ftp.isi.edu/in-notes/rfc1945.txt, it added the following paragraph (section 2)::
A client SHOULD assume that all paths at or deeper than the depth of
the last symbolic element in the path field of the ...
|
| 2003/08/03 |
EventChannelProposal -
status: Unknown
EventChannelProposal (IsImplementedProposal)
Author
Tres Seaver, mailto:tseaver@zope.com
Status
Draft
Overview
Component-based architectures manage much of a system's complexity
via the relationships between cooperating components. In many cases,
these relationships involve propagating notifications of various
types of events to interested collaborators. As the number of
collaborating components increases, the burden on each participant
increases ...
|
| 2003/08/03 |
FactoryFromClassChanges -
status: IsImplementedProposal (and superceded by
Status: IsImplementedProposal (and superceded by
AddMenuProposalAndEndOfZmiNamespace ;)
Author
"Gary Poster":mailto:garyposter@earthlink.net
Introduction
This proposal was first made on the Zope3-dev list, as recorded
"here":http://lists.zope.org/pipermail/zope3-dev/2002-April/001529.html
As such, it is a catch-all proposal of various changes.
This proposal now reflects the changes as per Jim's first comments below.
Please see History for earlier versions.
Problem
...
|
| 2003/08/03 |
IDocumentProposal -
status: Unknown
IDocument and IDocumentJargon components
IsProposal, IsWorkInProgress
Abstract
This is a proposal to address the requirements of a flexible,
generic Document component for Zope3, raised in the "Axe DTML
Document":http://lists.zope.org/pipermail/zope3-dev/2001-December/thread.html#303 thread in the Zope3-Dev mailing list.
All proposed names are, of course, subject to discussion.
Problem
A lot of data in a Zope site is too complex for an opaque blob
(such as the current "File" ...
|
| 2003/08/03 |
ImplementsInZCML -
status: IsImplementedProposal
Implements ZCML directive
Status: IsImplementedProposal
Author
JimFulton
Problem
It is common to need to make interface assertions about classes
without modifying the class source. There are two common reasons for
this:
- The class was provided by are third party who doesn't use
interfaces. Any source modifications would have to made over
and over again for each new source release.
- A marker (or near-marker) interface is being used to ...
|
| 2003/08/03 |
MementoBagProposal -
status: Unknown
MementoBagProposal (IsImplementedProposal)
Author
Tres Seaver, mailto:tseaver@zope.com
Status
Draft
Overview
Application components may often need to store additional data
about content objects, beyond what the objects themselves are
responsible for managing. For example, a content management
application may need to keep track of one or more of the following
for a given document:
- discussion threads about the document
- user ...
|
| 2003/08/03 |
MergeProtectionAndComponentDefinitions -
status: IsImplementedProposal
Merge protection and component definitions
Status: IsImplementedProposal
Author: JimFulton
Problem
To provide a component in Zope 3, two configuration steps are
usually needed. A 'protectClass' directive is needed to define
how implementation names are protected by permissions and a
component registration directive is needed to define how the
component is used::
The information in these directives is largely duplicated.
Proposed change
...
|
| 2003/08/03 |
MinimalDefaultViewDirectives -
status: IsProposal
Minimal 'defaultView' directives
Status: IsProposal
Author
JimFulton
Problem
The 'defaultView' ZCML directives ('browser:defaultView' and
'defaultView') can be used *both* to define a view component and
designate it as the default. It is clearer to separate view
definition from identification of the default view name. This is
currently possible. The 'defaultView' directives can be used
without 'factory' attributes. Supporting the dual capabilities of
...
|
| 2003/08/03 |
NameExtensionViews -
status: Unknown
File extension to view translation
Problem
Zope is an object management system. Objects have classes that
identify what they are. It isn't necessary to embed type information
in object names. Furthermore, because Zope is scripted with Python,
file-extensions in object names are extremely inconvenient.
Many systems that Zope interacts with, however, are not object
oriented. These systems depend on file-name extensions to determine
file types. Zope has been ...
|
| 2003/08/03 |
PathNamespaceQualificationSyntax -
status: IsImplementedProposal
Path Namespace Qualification Syntax
Status: IsImplementedProposal
Author
JimFulton
Problem
Zope 3 separates the URL namespace into several separate
namespaces, such as:
- Content
- Views
- Creators
and others.
A syntax is needed for indicating these namespaces in paths,
especially URL paths.
This syntax has a number of requirements:
|
| 2003/08/03 |
PreCreationRehash -
status: Unknown
contact
"Gary Poster":mailto:garyposter@earthlink.net
purpose/problem
As discussed in PathNamespaceQualificationSyntax
, it would be more visually and logically consistent and also arguably more
flexible to use a container view to implement pre-creation views, rather
than the separate "create" namespace I introduced a few months back.
The creation namespace currently simply publishes Addables. Creation views
are then views of Addables, with marker interfaces to ...
|
| 2003/08/03 |
PresentationTraversalComponents -
status: IsProposal
Presentation Traversal Components
Status: IsProposal
Author
JimFulton
Problem
An important aspect of presenting applications (e.g. web
interfaces, GUI, FTP, etc.) is locating objects. In Zope, objects
are located using paths. The inerpretation of a path is dependent
on the presentation types. Web presentations have different paths
than FTP presentations, for example.
Currently, we have a notion of traversal "views" that are
registered with the ...
|
| 2003/08/03 |
UnicodeOrUTF8 -
status: Unknown
Unicode vs. UTF-8 as internal storage format for strings in Zope 3
Author
"Andreas Jung":mailto:andreas@zope.com
Status
This document is *not a proposal* but the summary of a discussion
during the Zope Internationalization sprint on Jan 17 2002.
Participants: Stefan Richter, Jim Fulton, Juan David Ibanez Palomar,
Andreas Jung
This wiki page intents to collect input from the community to make
a final decision based on the results of this discussion.
Discussion
We ...
|
| 2003/08/03 |
ViewInterfaceAndSimplification -
status: IsImplementedProposal
Simplified View Interface
Status: IsImplementedProposal
Author
JimFulton
Problem
View are currently required to provide a getContext method,
although, this isn't specified in an interface.
The getContext method is needed so that view templates can bind
the context to a top-level variable. It is a bit cumbersome to
have to provide the getContext method rather than simply use an
attribute. Given the new security model that makes it as easy to
allow ...
|
| 2003/08/03 |
ViewMethodsAsViews -
status: IsImplementedProposal
View Methods as Views
Status: IsImplementedProposal
Author: JimFulton
Problem
As things stand, views introduce an extra step in URLs:
..../aContact/edit/index.html
When view pages need to reference pages in other views, they need
to use '..', as in: '../edit/index.html', which is deeply
offensive to some people. :)
Possible solution
There should be an explicit way to promote view component methods to
views. I suggest extending the zcml view directive'...
|
| 2003/08/03 |
ZPTInternationalizationSupport -
status: IsImplementedProposal
Status: IsImplementedProposal
This document is a proposal to extend Zope Page Templates to provide
internationalization support. Note that statements of fact below
should be read as proposals.
A new XML namespace named 'i18n' will be added. Attributes in this
namespace modify the behavior of the TAL interpreter. This document
describes these attributes and the effect they have on TAL. For
examples, refer to ZPTInternationalizationExamples.
The 'i18n' namespace URI and recommended prefix ...
|
| 2003/08/03 |
ZPTi18nAlternative -
status: Unknown
This is a proposal to extend Zope Page Templates to provide message
translation support.
The idea is to add a new expression type to TALES, named 'gettext'.
This proposal is inspired by the product CMFLocalizer, developed by
Kim Nokolay, thanks Kim!
Syntax
Gettext expression syntax::
gettext_expression ::= [ before | after ] expression
Description
The purpose of the new expression type is to translate the value of
an attribute, the tag content or the TALES expression it ...
|
| 2003/08/03 |
WikiReorg -
status: Unknown
Zope 3 Table of Contents (Wiki Reorganization) proposal
Problem
We want to encourage rapid collaborative development of Zope 3.
It's not enough to write code. We need documentation of:
- Proposed behavior
- Agreed-on behavior that needs to be implemented
- Implemented behavior
- Architectural/design decisions
We need documentation in both expository and reference forms.
We need to make it easy for people to find information and to
figure out where ...
|
| 2003/08/03 |
Use303RedirectsByDefault -
status: IsProposal
Use 303 Redirects instead of 302 redirects by default
Status: IsProposal
Author
Steve Alexander
Problem
See this page:
http://ppewww.ph.gla.ac.uk/~flavell/www/post-redirect.html
See also:
http://www.w3.org/Protocols/rfc2616/rfc2616.html
Basically, Zope should not send a 302 redirect in response to a POST
request.
Proposal
Instead, be default we can send a 303 redirect, which browsers should
implement by presenting a GET request to the ...
|
| 2003/08/03 |
UnicodeForText -
status: Unknown
Unicode for text proposal
Status
IsImplementedProposal
Author
JimFulton
Problem
Zope 3 will support internationalization (i18n). To do this, it
needs a way of representing *text* characters that can't be
represented as single-byte characters.
*text* is defined as data that are used for human discourse or
applications of same (e.g. cataloging). Things that are text
include document content, user interface prompts, content names,
ids, and so on....
|
| 2003/08/03 |
TwoArgumentViewConstructors -
status: IsImplementedProposal
Two-Argument View Constructors
Status: IsImplementedProposal
Author
JimFulton
Problem
Views provide an interface between a user (represented by a
request) and an object. To get a view, both an object and a
request must be provided.
The constructor for views now takes a context object. The request
is provides in method arguments or via an optional setViewRequest
method.
Proposal
It would be simpler, cleaner, and more in keeping with the Zen of
...
|
| 2003/08/03 |
TranslationServiceInterface -
status: IsImplementedProposal
Translation Service Interface
Status: IsImplementedProposal
Author
JimFulton
Problem
Application code needs an API for performing text translation for
:internationalization. It is also important in a large framework
like Zope, to allow for multiple translations to be used and
shared. It's also important to allow translations provided with
products to be overridable.
There are many possible implementations of such an API, including
implementations ...
|
| 2003/08/03 |
StandardAuthenticationService -
1 comment, status: Unknown
Contact
Matt Behrens matt@zigg.com
Summary
This proposal is to create a standard implementation of IAuthenticationService for Zope3 that will permit site administrators to assemble pieces of authentication schemes into a scheme that meets their needs.
You call this a proposal?
Okay, so this isn't really a proposal, yet, but I think we need to collect use cases. When settled, we can refactor it into a proposal.
Please add your own use cases to this proposal. I will not be ...
|
| 2003/08/03 |
RemoveGetView -
status: IsImplementedProposal
Remove getView and getDefaultViewName (and getResource)
Status: IsImplementedProposal
Author
JimFulton
Problem
A view provides a connection between a user, represented by a request, and
an object. It doesn't make sense to get a view outside the context of
a request, and getRequestView has largely replaced getView and
getRequestDefaultView has largely replaced getDefaultView.
Proposal
I propose to simply remove getView, getDefaultViewName, and
...
|
| 2003/08/03 |
ReplaceProtectWithAllow -
status: IsImplementedProposal, in a slightly different form.
Replace Protect with Allow
Status: IsImplementedProposal, in a slightly different form.
Author: rdmurray
Problem
By default, everything is protected from access. When a permission is assigned,
controlled access is allowed. It is true that logically we are specifying the
exact protection applied to the object, so using the word "protect" to describe
the application of the permission is logically descriptive. However, in terms
of English semantics, a newcommer to ...
|
| 2003/08/03 |
SecurityPackageReorg -
status: IsImplementedProposal
Security Package Reorganization
Status: IsImplementedProposal
Author
CaseyDuncan
Problem
As Zope 3 has evolved, the number of modules in 'Zope/App/Security' has
grown. In this same package, there are modules devoted to two separate
tasks: granting permissions and enforcing the security policy.
This is a little like putting the executive and legislative branch in the
same room in the same building. The result is a confusing combination of
...
|
| 2003/08/03 |
SimpleViewCreationInZCML -
status: IsImplementedProposal
Simple View Creation in ZCML
Status: IsImplementedProposal
Author
JimFulton
Problem
The 'Zope.App.PageTemplate' package provides a SimpleViewClass
facility for creating simple view classes from Python::
from Zope.App.PageTemplate import SimpleViewClass
from Zope.App.OFS.ApplicationControl.IApplicationControl \
import IApplicationControl
ApplicationControlView = SimpleViewClass(
'index.pt', used_for=IApplicationControl)
This ...
|
| 2003/08/03 |
SchemaProposal -
status: Unknown
Zope 3 Schemas
Status
IsImplementedProposal
Author
Martijn Faassen
Sub-Sections
o [Zope3SchemasIntroduction]
o [Zope3SchemasUseCases]
|
| 2003/08/03 |
ResourcesProposal -
status: IsImplementedProposal
Status: IsImplementedProposal
Authors
- "Stephan Richter":mailto:srichter@cbu.edu
- JimFulton
Introduction
The idea of resources is nothing new for Zope 3. It just has not be
implemented yet. Resources are presentation components that are
context-independent. This is especially important for images, style
sheets and other text files that are used to build a Zope Management
interface, which is now called ZopeTop.
Problem
First, I think it will be good to have two types of ...
|
| 2003/08/03 |
RenameAllowToRequire -
status: IsImplementedProposal, but in a different form.
Rename security:allow directive to security:require
Status: IsImplementedProposal, but in a different form.
Author: Guido van Rossum
The allow directive has always felt weird to me.
I believe I figured out the reason.
While intellectually I understand that the "allow"
directive comes from the fairly standard pair of security directive
(allow, deny), intuitively the "allow" has always felt strange,
perhaps because in regular (English) usage, allowing usually has an
association of "...
|
| 2003/08/03 |
NamedBrowserViewsAndPages -
status: IsImplementedProposal
Named browser views and pages
Status: IsImplementedProposal
Author
JimFulton
Problem
The 'browser:view' directive now allows pages to be defined. These
pages are effectively views on the view context (content). They
can be accessed without traversing views, which is desireable in
most cases. It's currently possible to define a veiw name as well
as view pages, but defining both doesn't make much sense.
Occasionally, one wants to traverse views so that ...
|
| 2003/08/03 |
MergeSecurityIntoZopeNamespace -
status: IsProposal
Merge security zcml directives into the zope namespace
Status: IsProposal
Author
Steve Alexander
Problem
Security is intrinsic to the component architecture as used in Zope 3.
Definition of and use of components depends on defining things about
security. However, because these security declarations are in their
own 'security' namespace, zcml directives are more verbose than they
need to be.
Proposal
Merge all of the directives currently in the ...
|
| 2003/08/03 |
IContainerPythonification -
status: IsImplementedProposal
'IContainer' Pythonification
Status: IsImplementedProposal
Author
JimFulton
Problem
The current 'IContainer' interface is defined as::
class IReadContainer(Interface):
"""Readable content containers
For all methods that return a sequence of values, the return
value is guaranteed to support the read-only semantics of a
Python sequence (indexing, slicing, len). The return value is
not, however, required to ...
|
| 2003/08/03 |
I18nFormatLocaleSupport -
status: Unknown
!I18n - Advanced Format and Locale Support
Status
IsImplementedProposal
Author
StephanRichter
Problem
Now we have almost a nice working message translation system for
Zope 3. However, this is not enough. We also need a nice system to
localize money, dates and many other formats based not only on language,
but also on region/country.
Proposed Solution
Java has a really nice solution for this using a Format object and
Locales, so that you ...
|
| 2003/08/03 |
FormulatorProposal -
status: Unknown
Formulator Proposal
Status
IsSupercededProposal - Eventually Formulator was split up in the SchemaProposal
and Forms as views for these Schemas.
Authors
MartjinFaassen, JimFulton and StephanRichter
Proposal/Thoughts
This page deals with the p |