[Zope3-checkins] SVN: Zope3/trunk/src/ Merge philikon-reduce-zcml
branch: Implementation of
Philipp von Weitershausen
philikon at philikon.de
Sun Mar 19 11:27:51 EST 2006
Log message for revision 66068:
Merge philikon-reduce-zcml branch: Implementation of
http://dev.zope.org/Zope3/ReducingTheAmountOfZCMLDirectives.
Changed:
U Zope3/trunk/src/buddydemo/configure.zcml
U Zope3/trunk/src/bugtracker/configure.zcml
U Zope3/trunk/src/bugtracker/vocabulary.py
U Zope3/trunk/src/z3checkins/configure.zcml
U Zope3/trunk/src/zope/app/apidoc/zcmlmodule/README.txt
U Zope3/trunk/src/zope/app/applicationcontrol/configure.zcml
U Zope3/trunk/src/zope/app/authentication/configure.zcml
U Zope3/trunk/src/zope/app/authentication/groupfolder.zcml
U Zope3/trunk/src/zope/app/authentication/password.py
U Zope3/trunk/src/zope/app/authentication/password.zcml
U Zope3/trunk/src/zope/app/authentication/principalfolder.zcml
U Zope3/trunk/src/zope/app/authentication/vocabulary.py
U Zope3/trunk/src/zope/app/broken/configure.zcml
U Zope3/trunk/src/zope/app/cache/caching.py
U Zope3/trunk/src/zope/app/cache/configure.zcml
U Zope3/trunk/src/zope/app/catalog/configure.zcml
U Zope3/trunk/src/zope/app/component/configure.zcml
U Zope3/trunk/src/zope/app/component/contentdirective.py
U Zope3/trunk/src/zope/app/component/meta.zcml
U Zope3/trunk/src/zope/app/component/metaconfigure.py
U Zope3/trunk/src/zope/app/component/metadirectives.py
U Zope3/trunk/src/zope/app/component/tests/test_contentdirective.py
U Zope3/trunk/src/zope/app/component/tests/test_directives.py
U Zope3/trunk/src/zope/app/component/vocabulary.py
U Zope3/trunk/src/zope/app/container/browser/ftests/configure.zcml
U Zope3/trunk/src/zope/app/container/configure.zcml
U Zope3/trunk/src/zope/app/content/__init__.py
U Zope3/trunk/src/zope/app/content/configure.zcml
U Zope3/trunk/src/zope/app/demo/hellopackage/configure.zcml
U Zope3/trunk/src/zope/app/demo/hellopackage/configure_bare.zcml
U Zope3/trunk/src/zope/app/demo/insensitivefolder/__init__.py
U Zope3/trunk/src/zope/app/demo/insensitivefolder/configure.zcml
U Zope3/trunk/src/zope/app/demo/itemvocabulary/configure.zcml
U Zope3/trunk/src/zope/app/demo/jobboard/configure.zcml
U Zope3/trunk/src/zope/app/demo/passwdauth/configure.zcml
U Zope3/trunk/src/zope/app/demo/widget/boolwidget.zcml
U Zope3/trunk/src/zope/app/demo/widget/configure.zcml
U Zope3/trunk/src/zope/app/demo/widget/intwidget.zcml
U Zope3/trunk/src/zope/app/demo/widget/textareawidget.zcml
U Zope3/trunk/src/zope/app/demo/widget/textwidget.zcml
U Zope3/trunk/src/zope/app/dtmlpage/configure.zcml
U Zope3/trunk/src/zope/app/error/__init__.py
U Zope3/trunk/src/zope/app/error/configure.zcml
U Zope3/trunk/src/zope/app/externaleditor/configure.zcml
U Zope3/trunk/src/zope/app/file/configure.zcml
U Zope3/trunk/src/zope/app/folder/configure.zcml
U Zope3/trunk/src/zope/app/http/configure.zcml
U Zope3/trunk/src/zope/app/i18n/configure.zcml
U Zope3/trunk/src/zope/app/i18n/locales.zcml
U Zope3/trunk/src/zope/app/i18nfile/configure.zcml
U Zope3/trunk/src/zope/app/interface/configure.zcml
U Zope3/trunk/src/zope/app/interface/vocabulary.py
U Zope3/trunk/src/zope/app/mail/configure.zcml
A Zope3/trunk/src/zope/app/mail/vocabulary.py
U Zope3/trunk/src/zope/app/meta.zcml
U Zope3/trunk/src/zope/app/onlinehelp/configure.zcml
U Zope3/trunk/src/zope/app/pagetemplate/configure.zcml
U Zope3/trunk/src/zope/app/pluggableauth/configure.zcml
U Zope3/trunk/src/zope/app/presentation/configure.zcml
U Zope3/trunk/src/zope/app/publisher/browser/configure.zcml
U Zope3/trunk/src/zope/app/publisher/browser/menumeta.py
U Zope3/trunk/src/zope/app/publisher/browser/meta.zcml
U Zope3/trunk/src/zope/app/publisher/browser/viewmeta.py
A Zope3/trunk/src/zope/app/publisher/browser/vocabulary.py
U Zope3/trunk/src/zope/app/publisher/http.zcml
U Zope3/trunk/src/zope/app/pythonpage/configure.zcml
U Zope3/trunk/src/zope/app/rdb/configure.zcml
U Zope3/trunk/src/zope/app/rdb/gadflyda.zcml
U Zope3/trunk/src/zope/app/renderer/configure.zcml
U Zope3/trunk/src/zope/app/renderer/meta.zcml
U Zope3/trunk/src/zope/app/renderer/metaconfigure.py
U Zope3/trunk/src/zope/app/renderer/plaintext.py
U Zope3/trunk/src/zope/app/renderer/rest.py
U Zope3/trunk/src/zope/app/renderer/stx.py
U Zope3/trunk/src/zope/app/renderer/vocabulary.py
UU Zope3/trunk/src/zope/app/schema/__init__.py
U Zope3/trunk/src/zope/app/schema/configure.zcml
U Zope3/trunk/src/zope/app/schema/fields.zcml
U Zope3/trunk/src/zope/app/schema/interfaces.py
U Zope3/trunk/src/zope/app/schema/meta.zcml
U Zope3/trunk/src/zope/app/schema/metaconfigure.py
U Zope3/trunk/src/zope/app/schema/metadirectives.py
U Zope3/trunk/src/zope/app/schema/tests/keywords_vocab.zcml
U Zope3/trunk/src/zope/app/schema/tests/simple_vocab.zcml
U Zope3/trunk/src/zope/app/schema/tests/test_directives.py
U Zope3/trunk/src/zope/app/schema/tests/test_fieldfactory.zcml
U Zope3/trunk/src/zope/app/schema/vocabulary.py
U Zope3/trunk/src/zope/app/schemacontent/configure.zcml
U Zope3/trunk/src/zope/app/security/_protections.zcml
U Zope3/trunk/src/zope/app/security/configure.zcml
U Zope3/trunk/src/zope/app/security/vocabulary.py
U Zope3/trunk/src/zope/app/securitypolicy/configure.zcml
U Zope3/trunk/src/zope/app/securitypolicy/vocabulary.py
U Zope3/trunk/src/zope/app/session/configure.zcml
D Zope3/trunk/src/zope/app/site/meta.zcml
D Zope3/trunk/src/zope/app/site/metaconfigure.py
U Zope3/trunk/src/zope/app/sqlscript/configure.zcml
U Zope3/trunk/src/zope/app/sqlscript/sqlscript.py
U Zope3/trunk/src/zope/app/undo/configure.zcml
U Zope3/trunk/src/zope/app/workflow/configure.zcml
U Zope3/trunk/src/zope/app/workflow/definition.py
U Zope3/trunk/src/zope/app/workflow/stateful/configure.zcml
U Zope3/trunk/src/zope/app/workflow/stateful/definition.py
U Zope3/trunk/src/zope/app/workflow/stateful/testobject.zcml
U Zope3/trunk/src/zope/app/zptpage/configure.zcml
A Zope3/trunk/src/zope/modulealias/README.txt
U Zope3/trunk/src/zope/modulealias/metaconfigure.py
U Zope3/trunk/src/zope/modulealias/tests/test_modulealias.py
U Zope3/trunk/src/zwiki/__init__.py
U Zope3/trunk/src/zwiki/configure.zcml
-=-
Modified: Zope3/trunk/src/buddydemo/configure.zcml
===================================================================
--- Zope3/trunk/src/buddydemo/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/buddydemo/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -7,14 +7,14 @@
<i18n:registerTranslations directory="locales" />
-<content class=".buddy.Buddy">
+<class class=".buddy.Buddy">
<implements
interface="zope.app.annotation.IAttributeAnnotatable" />
<require permission="zope.View"
interface=".interfaces.IBuddy" />
<require permission="zope.ManageContent"
set_schema=".interfaces.IBuddy" />
-</content>
+</class>
<browser:page
for=".interfaces.IBuddy"
@@ -48,9 +48,9 @@
view="AddBuddy.html"
/>
-<content class=".stubpostal.Info">
+<class class=".stubpostal.Info">
<allow interface=".interfaces.IPostalInfo" />
-</content>
+</class>
<utility
factory=".stubpostal.Lookup"
@@ -81,14 +81,14 @@
/>
</browser:pages>
-<content class=".buddy.BuddyFolder">
+<class class=".buddy.BuddyFolder">
<require permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer"
/>
<require permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer"
/>
-</content>
+</class>
<browser:addMenuItem
title="Buddy Folder"
Modified: Zope3/trunk/src/bugtracker/configure.zcml
===================================================================
--- Zope3/trunk/src/bugtracker/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/bugtracker/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -90,72 +90,77 @@
<!-- Setting up the vocabularies for the bug tracker -->
- <vocabulary
+ <utility
+ component=".vocabulary.StatusVocabulary"
name="Stati"
- factory=".vocabulary.StatusVocabulary" />
+ />
- <vocabulary
+ <utility
+ component=".vocabulary.ReleaseVocabulary"
name="Releases"
- factory=".vocabulary.ReleaseVocabulary" />
+ />
- <vocabulary
+ <utility
+ component=".vocabulary.PriorityVocabulary"
name="Priorities"
- factory=".vocabulary.PriorityVocabulary" />
+ />
- <vocabulary
+ <utility
+ component=".vocabulary.BugTypeVocabulary"
name="BugTypes"
- factory=".vocabulary.BugTypeVocabulary" />
+ />
- <vocabulary
+ <utility
+ component=".vocabulary.UserVocabulary"
name="Users"
- factory=".vocabulary.UserVocabulary" />
+ />
- <content class=".vocabulary.ManagableVocabulary">
+ <class class=".vocabulary.ManagableVocabulary">
<allow interface="zope.schema.interfaces.IVocabularyTokenized"/>
<allow attributes="default title"/>
<require
permission="bugtracker.ManageBugTracker"
attributes="add delete"
set_attributes="default"/>
- </content>
+ </class>
- <content class=".vocabulary.StatusVocabulary">
+ <class class=".vocabulary.StatusVocabulary">
<require like_class=".vocabulary.ManagableVocabulary"/>
- </content>
+ </class>
- <content class=".vocabulary.PriorityVocabulary">
+ <class class=".vocabulary.PriorityVocabulary">
<require like_class=".vocabulary.ManagableVocabulary"/>
- </content>
+ </class>
- <content class=".vocabulary.ReleaseVocabulary">
+ <class class=".vocabulary.ReleaseVocabulary">
<require like_class=".vocabulary.ManagableVocabulary"/>
- </content>
+ </class>
- <content class=".vocabulary.BugTypeVocabulary">
+ <class class=".vocabulary.BugTypeVocabulary">
<require like_class=".vocabulary.ManagableVocabulary"/>
- </content>
+ </class>
- <content class=".vocabulary.SimpleTerm">
+ <class class=".vocabulary.SimpleTerm">
<allow interface="zope.schema.interfaces.ITokenizedTerm"/>
<allow attributes="title"/>
- </content>
+ </class>
- <content class=".vocabulary.UserVocabulary">
+ <class class=".vocabulary.UserVocabulary">
<allow interface="zope.schema.interfaces.IVocabularyTokenized"/>
- </content>
+ </class>
- <content class=".vocabulary.UserTerm">
+ <class class=".vocabulary.UserTerm">
<allow
interface="zope.schema.interfaces.ITokenizedTerm"/>
<allow attributes="principal title"/>
- </content>
+ </class>
- <content class=".mail.MailSubscriptions">
+ <class class=".mail.MailSubscriptions">
<require
permission="bugtracker.EditBug"
attributes="addSubscriptions removeSubscriptions" />
<allow attributes="getSubscriptions" />
- </content>
+ </class>
<!-- Bug Tracker related configuration -->
@@ -164,7 +169,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".tracker.BugTracker">
+ <class class=".tracker.BugTracker">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -190,7 +195,7 @@
permission="zope.ManageContent"
set_schema=".interfaces.IBugTracker" />
- </content>
+ </class>
<adapter
for=".interfaces.IBugTracker"
@@ -234,7 +239,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".bug.Bug">
+ <class class=".bug.Bug">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"/>
@@ -260,14 +265,14 @@
permission="bugtracker.AddBug"
set_schema=".interfaces.IBug" />
- </content>
+ </class>
<adapter
factory=".bug.SearchableText"
provides=".interfaces.ISearchableText"
for=".interfaces.IBug" />
- <content class=".bug.BugDependencyAdapter">
+ <class class=".bug.BugDependencyAdapter">
<require
permission="bugtracker.ViewBug"
@@ -279,7 +284,7 @@
addDependents deleteDependents"
set_schema=".interfaces.IBugDependencies"/>
- </content>
+ </class>
<adapter
factory=".bug.BugDependencyAdapter"
@@ -296,15 +301,15 @@
<!-- File and Image Attachment related configuration -->
- <content class="zope.app.file.file.File">
+ <class class="zope.app.file.file.File">
<implements
interface="bugtracker.interfaces.IAttachment" />
- </content>
+ </class>
- <content class="zope.app.file.image.Image">
+ <class class="zope.app.file.image.Image">
<implements
interface="bugtracker.interfaces.IAttachment" />
- </content>
+ </class>
<!-- Comment related configuration -->
@@ -314,7 +319,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".comment.Comment">
+ <class class=".comment.Comment">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"/>
@@ -332,7 +337,7 @@
permission="bugtracker.AddComment"
set_schema=".interfaces.IComment" />
- </content>
+ </class>
<!-- XML-RPC presentation -->
Modified: Zope3/trunk/src/bugtracker/vocabulary.py
===================================================================
--- Zope3/trunk/src/bugtracker/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/bugtracker/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,13 +18,14 @@
from persistent import Persistent
from persistent.dict import PersistentDict
-from zope.interface import implements
+from zope.interface import implements, classProvides
from zope.schema.interfaces import ITokenizedTerm, ITitledTokenizedTerm
from zope.schema.interfaces import IVocabulary, IVocabularyTokenized
from zope.schema.vocabulary import getVocabularyRegistry
from zope.security.proxy import removeSecurityProxy
from zope.app import zapi
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.annotation.interfaces import IAnnotatable, IAnnotations
from bugtracker.interfaces import IManagableVocabulary, IBugTracker
@@ -131,8 +132,8 @@
class StatusVocabulary(ManagableVocabulary):
-
implements(IStatusVocabulary)
+ classProvides(IVocabularyFactory)
key = 'bugtracker.status.values'
interface = IBugTracker
@@ -141,8 +142,8 @@
class ReleaseVocabulary(ManagableVocabulary):
-
implements(IReleaseVocabulary)
+ classProvides(IVocabularyFactory)
key = 'bugtracker.release.values'
interface = IBugTracker
@@ -151,8 +152,8 @@
class PriorityVocabulary(ManagableVocabulary):
-
implements(IPriorityVocabulary)
+ classProvides(IVocabularyFactory)
key = 'bugtracker.priority.values'
interface = IBugTracker
@@ -161,8 +162,8 @@
class BugTypeVocabulary(ManagableVocabulary):
-
implements(IBugTypeVocabulary)
+ classProvides(IVocabularyFactory)
key = 'bugtracke.bugtype.values'
interface = IBugTracker
@@ -171,8 +172,8 @@
class UserTerm(Persistent):
-
implements(ITitledTokenizedTerm)
+ classProvides(IVocabularyFactory)
def __init__(self, principal):
# This is safe here, since we only read non-critical data
@@ -187,8 +188,8 @@
class UserVocabulary(object):
-
implements(IVocabulary, IVocabularyTokenized)
+ classProvides(IVocabularyFactory)
def __init__(self, context):
self.auth = zapi.principals()
Modified: Zope3/trunk/src/z3checkins/configure.zcml
===================================================================
--- Zope3/trunk/src/z3checkins/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/z3checkins/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,7 +5,7 @@
<!-- CheckinMessage content object -->
- <content class=".message.Message">
+ <class class=".message.Message">
<require permission="zope.View"
interface=".interfaces.IMessage" />
@@ -13,9 +13,9 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
- </content>
+ </class>
- <content class=".message.CheckinMessage">
+ <class class=".message.CheckinMessage">
<require permission="zope.View"
interface=".interfaces.ICheckinMessage" />
@@ -23,9 +23,9 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
- </content>
+ </class>
- <content class=".folder.CheckinFolder">
+ <class class=".folder.CheckinFolder">
<require permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
@@ -49,7 +49,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
- </content>
+ </class>
<!-- Utilities -->
Modified: Zope3/trunk/src/zope/app/apidoc/zcmlmodule/README.txt
===================================================================
--- Zope3/trunk/src/zope/app/apidoc/zcmlmodule/README.txt 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/apidoc/zcmlmodule/README.txt 2006-03-19 16:27:42 UTC (rev 66068)
@@ -86,7 +86,7 @@
>>> print '\n'.join([name for name, dir in ns.items()][:3])
addMenuItem
addform
- addview
+ containerViews
`quoteNS(ns)`
Modified: Zope3/trunk/src/zope/app/applicationcontrol/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/applicationcontrol/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/applicationcontrol/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -3,12 +3,12 @@
i18n_domain="zope"
>
- <content
+ <class
class=".applicationcontrol.ApplicationControl">
<require
permission="zope.ManageApplication"
interface=".interfaces.IApplicationControl"/>
- </content>
+ </class>
<adapter
for=".interfaces.IApplicationControl"
Modified: Zope3/trunk/src/zope/app/authentication/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/authentication/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -22,15 +22,15 @@
provides=".interfaces.IQueriableAuthenticator"
factory=".authentication.QuerySchemaSearchAdapter" />
- <vocabulary
- name="CredentialsPlugins"
- factory=".vocabulary.credentialsPlugins"
- />
+ <utility
+ component=".vocabulary.credentialsPlugins"
+ name="CredentialsPlugins"
+ />
- <vocabulary
- name="AuthenticatorPlugins"
- factory=".vocabulary.authenticatorPlugins"
- />
+ <utility
+ component=".vocabulary.authenticatorPlugins"
+ name="AuthenticatorPlugins"
+ />
<utility
name="No Challenge if Authenticated"
Modified: Zope3/trunk/src/zope/app/authentication/groupfolder.zcml
===================================================================
--- Zope3/trunk/src/zope/app/authentication/groupfolder.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/groupfolder.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,7 +5,7 @@
xmlns:i18n="http://namespaces.zope.org/i18n"
>
- <content class=".groupfolder.GroupInformation">
+ <class class=".groupfolder.GroupInformation">
<require
permission="zope.ManageServices"
interface=".groupfolder.IGroupInformation
@@ -15,16 +15,16 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
- <content class=".groupfolder.GroupFolder">
+ <class class=".groupfolder.GroupFolder">
<implements
interface=".groupfolder.IGroupFolder" />
<require
permission="zope.ManageServices"
interface="zope.app.container.interfaces.IContainer
zope.app.container.interfaces.INameChooser" />
- </content>
+ </class>
<adapter
provides="zope.app.container.interfaces.INameChooser"
Modified: Zope3/trunk/src/zope/app/authentication/password.py
===================================================================
--- Zope3/trunk/src/zope/app/authentication/password.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/password.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -19,7 +19,9 @@
import md5
import sha
-from zope.interface import implements
+from zope.interface import implements, classProvides
+from zope.app.schema.interfaces import IVocabularyFactory
+from zope.app.component.vocabulary import UtilityVocabulary
from zope.app.authentication.interfaces import IPasswordManager
@@ -102,3 +104,8 @@
("MD5", MD5PasswordManager()),
("SHA1", SHA1PasswordManager()),
]
+
+class PasswordManagerNamesVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IPasswordManager
+ nameOnly = True
Modified: Zope3/trunk/src/zope/app/authentication/password.zcml
===================================================================
--- Zope3/trunk/src/zope/app/authentication/password.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/password.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,11 +2,9 @@
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">
- <vocabulary
+ <utility
+ component=".password.PasswordManagerNamesVocabulary"
name="Password Manager Names"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.app.authentication.interfaces.IPasswordManager"
- nameOnly="True"
/>
<class class=".password.PlainTextPasswordManager">
Modified: Zope3/trunk/src/zope/app/authentication/principalfolder.zcml
===================================================================
--- Zope3/trunk/src/zope/app/authentication/principalfolder.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/principalfolder.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -4,13 +4,13 @@
i18n_domain="zope"
>
- <content class=".principalfolder.InternalPrincipal">
+ <class class=".principalfolder.InternalPrincipal">
<require
permission="zope.ManageServices"
interface=".principalfolder.IInternalPrincipal"
set_schema=".principalfolder.IInternalPrincipal"
/>
- </content>
+ </class>
<localUtility class=".principalfolder.PrincipalFolder">
Modified: Zope3/trunk/src/zope/app/authentication/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/authentication/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/authentication/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -26,6 +26,7 @@
import zope.app.dublincore.interfaces
from zope.app.component.interfaces import ILocalUtility
from zope.app.i18n import ZopeMessageFactory as _
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.authentication import interfaces
@@ -89,6 +90,10 @@
return _pluginVocabulary(
context, interfaces.IAuthenticatorPlugin, 'authenticatorPlugins')
+interface.alsoProvides(authenticatorPlugins, IVocabularyFactory)
+
def credentialsPlugins(context):
return _pluginVocabulary(
context, interfaces.ICredentialsPlugin, 'credentialsPlugins')
+
+interface.alsoProvides(credentialsPlugins, IVocabularyFactory)
Modified: Zope3/trunk/src/zope/app/broken/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/broken/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/broken/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,9 +1,9 @@
<configure xmlns="http://namespaces.zope.org/zope">
- <content class=".broken.Broken">
+ <class class=".broken.Broken">
<allow interface="zope.app.annotation.interfaces.IAnnotations" />
<allow attributes="__module__" />
- </content>
+ </class>
<subscriber
handler=".broken.installBroken"
Modified: Zope3/trunk/src/zope/app/cache/caching.py
===================================================================
--- Zope3/trunk/src/zope/app/cache/caching.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/cache/caching.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,9 +17,12 @@
"""
__docformat__ = 'restructuredtext'
+from zope.interface import classProvides
+from zope.component import ComponentLookupError
from zope.app import zapi
from zope.app.cache.interfaces import ICacheable, ICache
-from zope.component import ComponentLookupError
+from zope.app.component.vocabulary import UtilityVocabulary
+from zope.app.schema.interfaces import IVocabularyFactory
def getCacheForObject(obj):
"""Returns the cache associated with `obj` or ``None``."""
@@ -37,3 +40,8 @@
return zapi.getPath(obj)
except (ComponentLookupError, TypeError):
return None
+
+class CacheNamesVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = ICache
+ nameOnly = True
Modified: Zope3/trunk/src/zope/app/cache/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/cache/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/cache/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -23,13 +23,11 @@
/>
</localUtility>
- <vocabulary
+ <utility
+ component=".caching.CacheNamesVocabulary"
name="Cache Names"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.app.cache.interfaces.ICache"
- nameOnly="True" />
+ />
-
<!-- Include browser package -->
<include package=".browser" />
Modified: Zope3/trunk/src/zope/app/catalog/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/catalog/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/catalog/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -22,11 +22,11 @@
/>
</localUtility>
- <content class=".catalog.ResultSet">
+ <class class=".catalog.ResultSet">
<require
attributes="__iter__ __len__"
permission="zope.Public"/>
- </content>
+ </class>
<subscriber
handler=".catalog.indexAdded"
@@ -50,7 +50,7 @@
/>
- <content class=".field.FieldIndex">
+ <class class=".field.FieldIndex">
<require
permission="zope.ManageServices"
interface=".interfaces.IAttributeIndex
@@ -58,9 +58,9 @@
"
set_schema=".interfaces.IAttributeIndex"
/>
- </content>
+ </class>
- <content class=".text.TextIndex">
+ <class class=".text.TextIndex">
<require
permission="zope.ManageServices"
interface=".interfaces.IAttributeIndex
@@ -68,7 +68,7 @@
"
set_schema=".interfaces.IAttributeIndex"
/>
- </content>
+ </class>
<include package=".browser" />
Modified: Zope3/trunk/src/zope/app/component/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/component/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,7 +5,7 @@
<!-- Registration Framework -->
- <content class=".registration.RegistrationManager">
+ <class class=".registration.RegistrationManager">
<factory
id="zope.app.component.RegistrationManager"
title="Registration Manager" />
@@ -19,7 +19,7 @@
zope.app.container.interfaces.INameChooser"
attributes="addRegistration"
/>
- </content>
+ </class>
<!-- ++registrations++ namespace registrations -->
<view
@@ -77,7 +77,7 @@
<allow attributes="ISite" />
</module>
- <content class=".site.LocalSiteManager">
+ <class class=".site.LocalSiteManager">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
<require
@@ -87,27 +87,27 @@
permission="zope.ManageSite"
interface="zope.component.interfaces.ISiteManager
zope.app.container.interfaces.IWriteContainer" />
- </content>
+ </class>
<!-- TODO: We allow these attributes to be changed. We need some subscriber
that updated the registries once attributes change. -->
- <content class=".site.AdapterRegistration">
+ <class class=".site.AdapterRegistration">
<require
permission="zope.ManageSite"
interface=".interfaces.IAdapterRegistration"
set_schema=".interfaces.IAdapterRegistration"
/>
- </content>
+ </class>
- <content class=".site.UtilityRegistration">
+ <class class=".site.UtilityRegistration">
<require
permission="zope.ManageSite"
interface=".interfaces.IUtilityRegistration"
set_schema=".interfaces.IUtilityRegistration"
/>
- </content>
+ </class>
- <content class=".site.SiteManagementFolder">
+ <class class=".site.SiteManagementFolder">
<factory />
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
@@ -120,7 +120,7 @@
interface="zope.app.container.interfaces.IWriteContainer"
attributes="registrationManager"
/>
- </content>
+ </class>
<adapter
for="zope.component.interfaces.ISiteManager"
@@ -160,15 +160,15 @@
<!-- Vocabularies -->
- <vocabulary
+ <utility
+ component=".vocabulary.InterfacesVocabulary"
name="Interfaces"
- factory=".vocabulary.UtilityVocabulary"
- interface="zope.interface.interfaces.IInterface" />
+ />
- <vocabulary
- name="Utility Component Interfaces"
- factory=".vocabulary.UtilityComponentInterfacesVocabulary" />
+ <utility
+ component=".vocabulary.UtilityComponentInterfacesVocabulary"
+ provides="zope.app.schema.interfaces.IVocabularyFactory"
+ name="Utility Component Interfaces"
+ />
</configure>
-
-
Modified: Zope3/trunk/src/zope/app/component/contentdirective.py
===================================================================
--- Zope3/trunk/src/zope/app/component/contentdirective.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/contentdirective.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,4 +1,4 @@
-##############################################################################
+#############################################################################
#
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
@@ -17,8 +17,10 @@
"""
__docformat__ = 'restructuredtext'
+import warnings
from types import ModuleType
from persistent.interfaces import IPersistent
+from zope.component.interfaces import IFactory
from zope.component.factory import Factory
from zope.interface import classImplements
from zope.schema.interfaces import IField
@@ -31,7 +33,7 @@
from zope.app.security.protectclass import protectLikeUnto, protectName
from zope.app.security.protectclass import protectSetAttribute
-from metaconfigure import factory
+from zope.app.component.metaconfigure import utility
PublicPermission = 'zope.Public'
@@ -44,7 +46,7 @@
"""Security-protection-specific exceptions."""
pass
-class ContentDirective(object):
+class ClassDirective(object):
def __init__(self, _context, class_):
self.__id = dottedName(class_)
@@ -171,10 +173,20 @@
# note factories are all in one pile, utilities and content,
# so addable names must also act as if they were all in the
# same namespace, despite the utilities/content division
- factory(_context, factoryObj, id, title, description)
+ utility(_context, IFactory, factoryObj,
+ permission=PublicPermission, name=id)
+# BBB 2006/02/24, to be removed after 12 months
+class ContentDirective(ClassDirective):
-class LocalUtilityDirective(ContentDirective):
+ def __init__(self, _context, class_):
+ warnings.warn_explicit(
+ "The 'content' alias for the 'class' directive has been "
+ "deprecated and will be removed in Zope 3.5.\n",
+ DeprecationWarning, _context.info.file, _context.info.line)
+ super(ContentDirective, self).__init__(_context, class_)
+
+class LocalUtilityDirective(ClassDirective):
r"""localUtility directive handler.
Examples:
Modified: Zope3/trunk/src/zope/app/component/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/component/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -29,6 +29,7 @@
handler="zope.app.component.metaconfigure.utility"
/>
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
<meta:directive
name="factory"
schema=".metadirectives.IFactoryDirective"
@@ -63,7 +64,7 @@
<meta:complexDirective
name="class"
schema=".metadirectives.IClassDirective"
- handler=".contentdirective.ContentDirective"
+ handler=".contentdirective.ClassDirective"
>
<meta:subdirective
@@ -88,6 +89,7 @@
</meta:complexDirective>
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
<meta:complexDirective
name="content"
schema=".metadirectives.IClassDirective"
Modified: Zope3/trunk/src/zope/app/component/metaconfigure.py
===================================================================
--- Zope3/trunk/src/zope/app/component/metaconfigure.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/metaconfigure.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -267,7 +267,22 @@
args = (provides.__module__ + '.' + provides.getName(), provides)
)
+# BBB 2006/02/24, to be removed after 12 months
def factory(_context, component, id, title=None, description=None):
+ try:
+ dottedname = component.__module__ + "." + component.__name__
+ except AttributeError:
+ dottedname = '...'
+ warnings.warn_explicit(
+ "The 'factory' directive has been deprecated and will be "
+ "removed in Zope 3.5. Use the 'utility' directive instead:\n"
+ ' <utility\n'
+ ' provides="zope.component.interfaces.IFactory"\n'
+ ' component="%s"\n'
+ ' name="%s"\n'
+ ' />' % (dottedname, id),
+ DeprecationWarning, _context.info.file, _context.info.line)
+
if title is not None:
component.title = title
Modified: Zope3/trunk/src/zope/app/component/metadirectives.py
===================================================================
--- Zope3/trunk/src/zope/app/component/metadirectives.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/metadirectives.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -317,6 +317,7 @@
required=False,
)
+# BBB 2006/02/24, to be removed after 12 months
class IFactoryDirective(zope.interface.Interface):
"""Define a factory"""
Modified: Zope3/trunk/src/zope/app/component/tests/test_contentdirective.py
===================================================================
--- Zope3/trunk/src/zope/app/component/tests/test_contentdirective.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/tests/test_contentdirective.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -49,9 +49,9 @@
</configure>
""" % s)
-class TestContentDirective(PlacelessSetup, unittest.TestCase):
+class TestClassDirective(PlacelessSetup, unittest.TestCase):
def setUp(self):
- super(TestContentDirective, self).setUp()
+ super(TestClassDirective, self).setUp()
XMLConfig('meta.zcml', zope.app.component)()
XMLConfig('meta.zcml', zope.app.security)()
@@ -62,8 +62,8 @@
def testEmptyDirective(self):
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
-</content>
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
+</class>
""")
xmlconfig(f)
@@ -73,9 +73,9 @@
"zope.app.component.tests.exampleclass.IExample"), None)
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<implements interface="zope.app.component.tests.exampleclass.IExample" />
-</content>
+</class>
""")
xmlconfig(f)
self.failUnless(IExample.implementedBy(ExampleClass))
@@ -91,12 +91,12 @@
"zope.app.component.tests.exampleclass.IExample2"), None)
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<implements interface="
zope.app.component.tests.exampleclass.IExample
zope.app.component.tests.exampleclass.IExample2
" />
-</content>
+</class>
""")
xmlconfig(f)
self.failUnless(IExample.implementedBy(ExampleClass))
@@ -111,26 +111,26 @@
def testRequire(self):
f = configfile("""
<permission id="zope.View" title="Zope view permission" />
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<require permission="zope.View"
attributes="anAttribute anotherAttribute" />
-</content>
+</class>
""")
xmlconfig(f)
def testAllow(self):
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<allow attributes="anAttribute anotherAttribute" />
-</content>
+</class>
""")
xmlconfig(f)
def testMimic(self):
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<require like_class="zope.app.component.tests.exampleclass.ExampleClass" />
-</content>
+</class>
""")
xmlconfig(f)
@@ -145,13 +145,13 @@
f = configfile("""
<permission id="zope.Foo" title="Zope Foo Permission" />
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<factory
id="test.Example"
title="Example content"
description="Example description"
/>
-</content>
+</class>
""")
xmlconfig(f)
factory = zapi.getUtility(IFactory, 'test.Example')
@@ -162,12 +162,12 @@
f = configfile("""
<permission id="zope.Foo" title="Zope Foo Permission" />
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<factory
title="Example content"
description="Example description"
/>
-</content>
+</class>
""")
xmlconfig(f)
self.assertRaises(ComponentLookupError, zapi.getUtility, IFactory,
@@ -181,13 +181,13 @@
def testFactoryPublicPermission(self):
f = configfile("""
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<factory
id="test.Example"
title="Example content"
description="Example description"
/>
-</content>
+</class>
""")
xmlconfig(f)
factory = zapi.getUtility(IFactory, 'test.Example')
@@ -197,7 +197,7 @@
def test_suite():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
- suite.addTest(loader.loadTestsFromTestCase(TestContentDirective))
+ suite.addTest(loader.loadTestsFromTestCase(TestClassDirective))
suite.addTest(loader.loadTestsFromTestCase(TestFactorySubdirective))
return suite
Modified: Zope3/trunk/src/zope/app/component/tests/test_directives.py
===================================================================
--- Zope3/trunk/src/zope/app/component/tests/test_directives.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/tests/test_directives.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,6 +18,7 @@
import re
import unittest
import pprint
+import warnings
from cStringIO import StringIO
from zope.interface import Interface, implements
@@ -1366,8 +1367,11 @@
))
self.assertRaises(ValueError, xmlconfig, config, testing=1)
+ # BBB 2006/02/24, to be removed after 12 months
def testFactory(self):
-
+ def ignorewarning(message, category, filename, lineno, file=None):
+ pass
+ warnings.showwarning = ignorewarning
self.assertRaises(ComponentLookupError, zapi.createObject, 'foo')
xmlconfig(StringIO(template % (
@@ -1382,6 +1386,7 @@
from factory import X
self.assertEqual(zapi.createObject('foo.bar').__class__, X)
+ warnings.resetwarnings()
class ParticipationStub(object):
@@ -1407,13 +1412,13 @@
def testFactory(self):
f = configfile('''
<permission id="zope.Foo" title="Zope Foo Permission" />
-<content class="zope.app.component.tests.exampleclass.ExampleClass">
+<class class="zope.app.component.tests.exampleclass.ExampleClass">
<factory
id="test.Example"
title="Example content"
description="Example description"
/>
-</content>''')
+</class>''')
xmlconfig(f)
obj = createObject('test.Example')
self.failUnless(zapi.isinstance(obj, exampleclass.ExampleClass))
@@ -1481,11 +1486,11 @@
# inherently sets the instances as well as the class attributes.
def testSimpleMethodsPlural(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
attributes="m1 m3"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1))
self.assertDeclaration(declaration, m1P=P1, m3P=P1)
@@ -1503,11 +1508,11 @@
self.assertSetattrState(**state)
def test_set_attributes(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
set_attributes="m1 m3"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1))
apply_declaration(module.template_bracket % declaration)
checker = selectChecker(module.test_instance)
@@ -1519,11 +1524,11 @@
self.assertEqual(queryInterface(PREFIX+"S"), None)
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
set_schema="%s"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"S"))
apply_declaration(module.template_bracket % declaration)
@@ -1543,11 +1548,11 @@
self.assertEqual(queryInterface(PREFIX+"S"), None)
self.assertEqual(queryInterface(PREFIX+"S2"), None)
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
set_schema="%s %s"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"S", PREFIX+"S2"))
apply_declaration(module.template_bracket % declaration)
@@ -1569,11 +1574,11 @@
self.assertEqual(queryInterface(PREFIX+"I"), None)
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
interface="%s"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"I"))
# m1 and m2 are in the interface, so should be set, and m3 should not:
self.assertDeclaration(declaration, m1P=P1, m2P=P1)
@@ -1587,12 +1592,12 @@
self.assertEqual(queryInterface(PREFIX+"I3"), None)
self.assertEqual(queryInterface(PREFIX+"I4"), None)
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
interface=" %s
%s "/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"I3", PREFIX+"I4"))
self.assertDeclaration(declaration, m3P=P1, m2P=P1)
@@ -1606,10 +1611,10 @@
def testCompositeNoPerm(self):
# Establish rejection of declarations lacking a permission spec.
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
attributes="m1"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class"))
self.assertRaises(ZopeXMLConfigurationError,
self.assertDeclaration,
@@ -1618,46 +1623,46 @@
def testCompositeMethodsPluralElementPerm(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
attributes="m1 m3"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1))
self.assertDeclaration(declaration,
m1P=P1, m3P=P1)
def testCompositeInterfaceTopPerm(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
interface="%s"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"I"))
self.assertDeclaration(declaration,
m1P=P1, m2P=P1)
def testSubInterfaces(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
interface="%s"/>
- </content>'''
+ </class>'''
% (PREFIX+"test_class", P1, PREFIX+"I2"))
# m1 and m2 are in the interface, so should be set, and m3 should not:
self.assertDeclaration(declaration, m1P=P1, m2P=P1)
def testMimicOnly(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
attributes="m1 m2"/>
- </content>
- <content class="%s">
+ </class>
+ <class class="%s">
<require like_class="%s" />
- </content>
+ </class>
''' % (PREFIX+"test_base", P1,
PREFIX+"test_class", PREFIX+"test_base"))
# m1 and m2 are in the interface, so should be set, and m3 should not:
@@ -1666,17 +1671,17 @@
def testMimicAsDefault(self):
- declaration = ('''<content class="%s">
+ declaration = ('''<class class="%s">
<require
permission="%s"
attributes="m1 m2"/>
- </content>
- <content class="%s">
+ </class>
+ <class class="%s">
<require like_class="%s" />
<require
permission="%s"
attributes="m2 m3"/>
- </content>
+ </class>
''' % (PREFIX+"test_base", P1,
PREFIX+"test_class", PREFIX+"test_base", P2))
Modified: Zope3/trunk/src/zope/app/component/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/component/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/component/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -19,7 +19,7 @@
"""
__docformat__ = "reStructuredText"
-from zope.interface import implements, Interface
+from zope.interface import implements, classProvides, Interface
from zope.interface.interfaces import IInterface
from zope.interface.verify import verifyObject
from zope.schema.interfaces import IVocabulary, IVocabularyTokenized
@@ -27,9 +27,10 @@
from zope.app import zapi
from zope.app.i18n import ZopeMessageFactory as _
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.interface.vocabulary import ObjectInterfacesVocabulary
-from interfaces import IUtilityRegistration
+from zope.app.component.interfaces import IUtilityRegistration
class UtilityTerm(object):
@@ -93,7 +94,7 @@
We are now ready to create a vocabulary that we can use; in our case
everything is global, so the context is None.
- >>> vocab = UtilityVocabulary(None, IObject)
+ >>> vocab = UtilityVocabulary(None, interface=IObject)
>>> import pprint
>>> pprint.pprint(vocab._terms.items())
[(u'object1', <UtilityTerm object1, instance of Object>),
@@ -159,7 +160,8 @@
>>> ztapi.provideUtility(IInterface, IObject,
... 'zope.app.utility.vocabulary.IObject')
- >>> vocab = UtilityVocabulary(None, 'zope.app.utility.vocabulary.IObject')
+ >>> vocab = UtilityVocabulary(
+ ... None, interface='zope.app.utility.vocabulary.IObject')
>>> pprint.pprint(vocab._terms.items())
[(u'object1', <UtilityTerm object1, instance of Object>),
(u'object2', <UtilityTerm object2, instance of Object>),
@@ -170,26 +172,36 @@
case the UtilityTerm's value is not the utility itself but the name of the
utility.
- >>> vocab = UtilityVocabulary(None, IObject, nameOnly=True)
+ >>> vocab = UtilityVocabulary(None, interface=IObject, nameOnly=True)
>>> pprint.pprint([term.value for term in vocab])
[u'object1', u'object2', u'object3']
"""
-
implements(IVocabularyTokenized)
+ classProvides(IVocabularyFactory)
- def __init__(self, context, interface, nameOnly=False):
- if nameOnly is not False:
- nameOnly = True
- if isinstance(interface, (str, unicode)):
- interface = zapi.getUtility(IInterface, interface)
- self.interface = interface
- utils = zapi.getUtilitiesFor(interface, context)
- self._terms = dict([(name, UtilityTerm(nameOnly and name or util, name))
- for name, util in utils])
+ # override these in subclasses
+ interface = Interface
+ nameOnly = False
+ def __init__(self, context, **kw):
+ if kw:
+ # BBB 2006/02/24, to be removed after 12 months
+ # the 'interface' and 'nameOnly' parameters are supposed to be
+ # set as class-level attributes in custom subclasses now.
+ self.nameOnly = bool(kw.get('nameOnly', False))
+ interface = kw.get('interface', Interface)
+ if isinstance(interface, (str, unicode)):
+ interface = zapi.getUtility(IInterface, interface)
+ self.interface = interface
+
+ utils = zapi.getUtilitiesFor(self.interface, context)
+ self._terms = dict(
+ (name, UtilityTerm(self.nameOnly and name or util, name))
+ for name, util in utils)
+
def __contains__(self, value):
"""See zope.schema.interfaces.IBaseVocabulary"""
- return value in [term.value for term in self._terms.values()]
+ return value in (term.value for term in self._terms.values())
def getTerm(self, value):
"""See zope.schema.interfaces.IBaseVocabulary"""
@@ -217,8 +229,13 @@
"""See zope.schema.interfaces.IIterableVocabulary"""
return len(self._terms)
+class InterfacesVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IInterface
+
class UtilityComponentInterfacesVocabulary(ObjectInterfacesVocabulary):
+ classProvides(IVocabularyFactory)
def __init__(self, context):
if IUtilityRegistration.providedBy(context):
Modified: Zope3/trunk/src/zope/app/container/browser/ftests/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/container/browser/ftests/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/container/browser/ftests/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,12 +2,12 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">
- <content class=".test_contents.ReadOnlyContainer">
+ <class class=".test_contents.ReadOnlyContainer">
<require
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IReadContainer"
/>
- </content>
+ </class>
<browser:containerViews
for="zope.app.container.interfaces.IReadContainer"
Modified: Zope3/trunk/src/zope/app/container/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/container/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/container/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -63,8 +63,8 @@
factory=".contained.ContainerSublocations"
/>
- <content class=".constraints.ItemTypePrecondition">
+ <class class=".constraints.ItemTypePrecondition">
<allow interface=".constraints.IItemTypePrecondition" />
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/content/__init__.py
===================================================================
--- Zope3/trunk/src/zope/app/content/__init__.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/content/__init__.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -16,12 +16,17 @@
$Id$
"""
__docformat__ = 'restructuredtext'
+from zope.interface import classProvides
from zope.app.interface import queryType
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.content.interfaces import IContentType
+from zope.app.component.vocabulary import UtilityVocabulary
def queryContentType(object):
"""Returns the interface implemented by object which implements
`IContentType`."""
return queryType(object, IContentType)
-
+class ContentTypesVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IContentType
Modified: Zope3/trunk/src/zope/app/content/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/content/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/content/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,13 +2,12 @@
xmlns="http://namespaces.zope.org/zope">
<interface
- interface="zope.app.content.interfaces.IContentType" />
+ interface="zope.app.content.interfaces.IContentType"
+ />
- <vocabulary
+ <utility
+ component=".ContentTypesVocabulary"
name="Content Types"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.app.content.interfaces.IContentType" />
+ />
</configure>
-
-
Modified: Zope3/trunk/src/zope/app/demo/hellopackage/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/hellopackage/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/hellopackage/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -29,7 +29,7 @@
This is defined by HelloClass in hellomodule.
-->
-<content class=".hellomodule.HelloClass">
+<class class=".hellomodule.HelloClass">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
@@ -56,7 +56,7 @@
permission="zope.View"
attributes="getHello"
/>
-</content>
+</class>
<!--
Create a hello.html view for Hello object.
Modified: Zope3/trunk/src/zope/app/demo/hellopackage/configure_bare.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/hellopackage/configure_bare.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/hellopackage/configure_bare.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -6,7 +6,7 @@
i18n_domain="hellopackage"
>
-<content class=".hellomodule.HelloClass">
+<class class=".hellomodule.HelloClass">
<factory
id="hellopackage.Hello"
title="Hello world"
@@ -16,7 +16,7 @@
permission="zope.View"
attributes="getHello"
/>
-</content>
+</class>
<browser:page
name="hello.html"
Modified: Zope3/trunk/src/zope/app/demo/insensitivefolder/__init__.py
===================================================================
--- Zope3/trunk/src/zope/app/demo/insensitivefolder/__init__.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/insensitivefolder/__init__.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,21 +17,22 @@
"""
__docformat__ = 'restructuredtext'
+from zope.component import adapts
+from zope.component.interfaces import IFactory
+from zope.interface import implements, implementedBy
+from zope.interface import directlyProvides, directlyProvidedBy
+from zope.publisher.interfaces import NotFound
+
from zope.app import zapi
from zope.app.folder import Folder
from zope.app.folder.interfaces import IFolder
from zope.app.container.traversal import ContainerTraverser
from zope.app.container.interfaces import IReadContainer
-from zope.component.interfaces import IFactory
-from zope.interface import \
- implements, implementedBy, directlyProvides, directlyProvidedBy
-from zope.publisher.interfaces import NotFound
+from zope.app.i18n import ZopeMessageFactory as _
-
class CaseInsensitiveContainerTraverser(ContainerTraverser):
+ adapts(IReadContainer)
- __used_for__ = IReadContainer
-
def publishTraverse(self, request, name):
"""See zope.publisher.interfaces.browser.IBrowserPublisher"""
subob = self._guessTraverse(name)
@@ -63,8 +64,8 @@
"""A Factory that creates case-insensitive Folders."""
implements(IFactory)
- title = "Case-Insensitive Folder Factory"
- description = "A Factory that creates case-insensitive Folders."
+ title = _("Case insensitive Folder")
+ description = _("A simple case insensitive Folder.")
def __call__(self):
"""See zope.component.interfaces.IFactory
Modified: Zope3/trunk/src/zope/app/demo/insensitivefolder/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/insensitivefolder/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/insensitivefolder/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -22,9 +22,10 @@
/>
<!-- Case-insensitive Folder Registration -->
-<factory
- id="zope.CaseInsensitiveFolder"
+<utility
component=".caseInsensitiveFolderFactory"
+ name="zope.CaseInsensitiveFolder"
+ permission="zope.Public"
/>
<browser:addMenuItem
Modified: Zope3/trunk/src/zope/app/demo/itemvocabulary/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/itemvocabulary/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/itemvocabulary/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -7,19 +7,19 @@
name="Items"
factory=".ItemVocabulary" />
-<content class=".ItemVocabulary">
+<class class=".ItemVocabulary">
<allow interface="zope.schema.interfaces.IVocabulary"/>
<allow interface="zope.schema.interfaces.IVocabularyTokenized"/>
-</content>
+</class>
-<content class=".ItemTerm">
+<class class=".ItemTerm">
<allow interface="zope.schema.interfaces.ITokenizedTerm"/>
<allow attributes="title"/>
-</content>
+</class>
<!-- Sample Content Component and Views -->
-<content class=".browser.DefaultItemFolder">
+<class class=".browser.DefaultItemFolder">
<require like_class="zope.app.content.folder.Folder"/>
<require
@@ -29,7 +29,7 @@
<require
permission="zope.ManageContent"
set_schema=".browser.IDefaultItem" />
-</content>
+</class>
<browser:addMenuItem
class=".browser.DefaultItemFolder"
Modified: Zope3/trunk/src/zope/app/demo/jobboard/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/jobboard/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/jobboard/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,7 +5,7 @@
i18n_domain="jobboardi18n"
>
-<content class="zope.app.demo.jobboard.job.JobList">
+<class class="zope.app.demo.jobboard.job.JobList">
<implements interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
<factory
@@ -14,7 +14,7 @@
/>
<allow interface=".interfaces.IJobList" />
<implements interface="zope.app.container.interfaces.IItemContainer" />
-</content>
+</class>
<browser:addMenuItem
title="I18N Job Board"
@@ -23,9 +23,9 @@
permission="zope.ManageContent"
/>
-<content class=".job.Job">
+<class class=".job.Job">
<allow interface="zope.app.demo.jobboard.interfaces.IJob" />
-</content>
+</class>
<browser:page
name="index.html"
Modified: Zope3/trunk/src/zope/app/demo/passwdauth/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/passwdauth/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/passwdauth/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -3,7 +3,7 @@
xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="demo_passwdauth">
-<content class=".PasswdPrincipalSource">
+<class class=".PasswdPrincipalSource">
<factory
id="zope.app.principalsources.PasswdPrincipalSource"
permission="zope.ManageServices"/>
@@ -11,7 +11,7 @@
<require
permission="zope.ManageContent"
set_schema=".interfaces.IFileBasedPrincipalSource"/>
-</content>
+</class>
<browser:addform
schema=".interfaces.IFileBasedPrincipalSource"
Modified: Zope3/trunk/src/zope/app/demo/widget/boolwidget.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/widget/boolwidget.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/widget/boolwidget.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">
- <content class=".boolwidget.DemoBoolWidget">
+ <class class=".boolwidget.DemoBoolWidget">
<require permission="zope.View"
interface=".interfaces.IDemoBoolWidget"
@@ -12,6 +12,6 @@
set_schema=".interfaces.IDemoBoolWidget"
/>
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/demo/widget/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/widget/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/widget/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -4,7 +4,7 @@
xmlns:zcml="http://namespaces.zope.org/zcml"
i18n_domain="zope">
- <content class="zope.app.demo.widget.app.DemoWidgetContainer">
+ <class class="zope.app.demo.widget.app.DemoWidgetContainer">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -15,7 +15,7 @@
<require permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer" />
- </content>
+ </class>
<!-- demo widgets -->
<include file="boolwidget.zcml" />
Modified: Zope3/trunk/src/zope/app/demo/widget/intwidget.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/widget/intwidget.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/widget/intwidget.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">
- <content class=".intwidget.DemoIntWidget">
+ <class class=".intwidget.DemoIntWidget">
<require permission="zope.View"
interface=".interfaces.IDemoIntWidget"
@@ -12,6 +12,6 @@
set_schema=".interfaces.IDemoIntWidget"
/>
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/demo/widget/textareawidget.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/widget/textareawidget.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/widget/textareawidget.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">
- <content class=".textareawidget.DemoTextAreaWidget">
+ <class class=".textareawidget.DemoTextAreaWidget">
<require permission="zope.View"
interface=".interfaces.IDemoTextAreaWidget"
@@ -12,6 +12,6 @@
set_schema=".interfaces.IDemoTextAreaWidget"
/>
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/demo/widget/textwidget.zcml
===================================================================
--- Zope3/trunk/src/zope/app/demo/widget/textwidget.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/demo/widget/textwidget.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
i18n_domain="zope">
- <content class=".textwidget.DemoTextWidget">
+ <class class=".textwidget.DemoTextWidget">
<require permission="zope.View"
interface=".interfaces.IDemoTextWidget"
@@ -12,6 +12,6 @@
set_schema=".interfaces.IDemoTextWidget"
/>
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/dtmlpage/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/dtmlpage/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/dtmlpage/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -9,7 +9,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".dtmlpage.DTMLPage">
+ <class class=".dtmlpage.DTMLPage">
<factory
id="zope.app.DTMLPage"
title="DTML Page"
@@ -35,7 +35,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<adapter
for="zope.app.folder.interfaces.IFolder"
Modified: Zope3/trunk/src/zope/app/error/__init__.py
===================================================================
--- Zope3/trunk/src/zope/app/error/__init__.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/error/__init__.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,12 +1,29 @@
-# Make directory a package.
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Error logging utility
+$Id$
+"""
+from zope.app.error.error import RootErrorReportingUtility
+from zope.app.error.error import ErrorReportingUtility
+from zope.app.error.error import globalErrorReportingUtility
+
###############################################################################
# BBB: 12/14/2004
+import sys
+sys.modules['zope.app.errorservice'] = sys.modules[__name__]
-from error import RootErrorReportingUtility
-from error import ErrorReportingUtility
-from error import globalErrorReportingUtility
-
RootErrorReportingService = RootErrorReportingUtility
ErrorReportingService = ErrorReportingUtility
globalErrorReportingService = globalErrorReportingUtility
Modified: Zope3/trunk/src/zope/app/error/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/error/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/error/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,12 +1,6 @@
<configure
xmlns="http://namespaces.zope.org/zope">
- <!-- BBB: 12/15/2004 -->
- <modulealias
- module="zope.app.error"
- alias="zope.app.errorservice" />
-
-
<localUtility class=".error.ErrorReportingUtility">
<factory
id="zope.app.ErrorLogging"
@@ -21,7 +15,7 @@
/>
</localUtility>
- <content class=".error.RootErrorReportingUtility">
+ <class class=".error.RootErrorReportingUtility">
<require
permission="zope.Public"
interface=".interfaces.IErrorReportingUtility"
@@ -30,7 +24,7 @@
permission="zope.ManageServices"
interface=".interfaces.ILocalErrorReportingUtility"
/>
- </content>
+ </class>
<utility
provides=".interfaces.IErrorReportingUtility"
Modified: Zope3/trunk/src/zope/app/externaleditor/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/externaleditor/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/externaleditor/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -13,10 +13,10 @@
permission="zope.View"
/>
- <content class="zope.app.file.File">
+ <class class="zope.app.file.File">
<implements
interface="zope.app.externaleditor.interfaces.IExternallyEditable"
/>
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/file/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/file/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/file/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -24,7 +24,7 @@
<!-- content classes -->
- <content class=".file.File">
+ <class class=".file.File">
<factory
id="zope.app.content.File"
title="File"
@@ -44,9 +44,9 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
- <content class=".image.Image">
+ <class class=".image.Image">
<factory
id="zope.app.content.Image"
title="Image"
@@ -66,7 +66,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<adapter
factory=".image.ImageSized"
Modified: Zope3/trunk/src/zope/app/folder/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/folder/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/folder/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -8,7 +8,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".folder.Folder">
+ <class class=".folder.Folder">
<factory
id="zope.app.content.Folder"
title="Folder"
@@ -29,7 +29,7 @@
permission="zope.ManageContent"
interface="zope.app.container.interfaces.IWriteContainer"
/>
- </content>
+ </class>
<adapter
for=".interfaces.IFolder"
Modified: Zope3/trunk/src/zope/app/http/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/http/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/http/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,8 +1,8 @@
<configure xmlns="http://namespaces.zope.org/zope">
-<content class=".put.NullResource">
+<class class=".put.NullResource">
<allow interface="zope.app.http.interfaces.INullResource" />
-</content>
+</class>
<view
for="zope.app.container.interfaces.ISimpleReadContainer"
Modified: Zope3/trunk/src/zope/app/i18n/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/i18n/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/i18n/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -53,7 +53,7 @@
/>
<!-- Setup Message Catalogs -->
- <content class=".messagecatalog.MessageCatalog">
+ <class class=".messagecatalog.MessageCatalog">
<factory id="zope.app.MessageCatalog" />
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -62,7 +62,7 @@
interface="zope.i18n.interfaces.IMessageCatalog" />
<require permission="zope.ManageSite"
attributes="setMessage getMessageIds" />
- </content>
+ </class>
<!-- Setup Export and Import Filters -->
Modified: Zope3/trunk/src/zope/app/i18n/locales.zcml
===================================================================
--- Zope3/trunk/src/zope/app/i18n/locales.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/i18n/locales.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,57 +1,57 @@
<configure
xmlns="http://namespaces.zope.org/zope">
- <content class="zope.i18n.format.NumberFormat">
+ <class class="zope.i18n.format.NumberFormat">
<allow interface="zope.i18n.interfaces.INumberFormat" />
- </content>
+ </class>
- <content class="zope.i18n.format.DateTimeFormat">
+ <class class="zope.i18n.format.DateTimeFormat">
<allow interface="zope.i18n.interfaces.IDateTimeFormat" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleIdentity">
+ <class class="zope.i18n.locales.LocaleIdentity">
<allow interface="zope.i18n.interfaces.locales.ILocaleIdentity" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleVersion">
+ <class class="zope.i18n.locales.LocaleVersion">
<allow interface="zope.i18n.interfaces.locales.ILocaleVersion" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleDisplayNames">
+ <class class="zope.i18n.locales.LocaleDisplayNames">
<allow interface="zope.i18n.interfaces.locales.ILocaleDisplayNames" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleTimeZone">
+ <class class="zope.i18n.locales.LocaleTimeZone">
<allow interface="zope.i18n.interfaces.locales.ILocaleTimeZone" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleFormat">
+ <class class="zope.i18n.locales.LocaleFormat">
<allow interface="zope.i18n.interfaces.locales.ILocaleFormat" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleFormatLength">
+ <class class="zope.i18n.locales.LocaleFormatLength">
<allow interface="zope.i18n.interfaces.locales.ILocaleFormatLength" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleCalendar">
+ <class class="zope.i18n.locales.LocaleCalendar">
<allow interface="zope.i18n.interfaces.locales.ILocaleCalendar" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleDates">
+ <class class="zope.i18n.locales.LocaleDates">
<allow interface="zope.i18n.interfaces.locales.ILocaleDates" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleCurrency">
+ <class class="zope.i18n.locales.LocaleCurrency">
<allow interface="zope.i18n.interfaces.locales.ILocaleCurrency" />
- </content>
+ </class>
- <content class="zope.i18n.locales.LocaleNumbers">
+ <class class="zope.i18n.locales.LocaleNumbers">
<allow interface="zope.i18n.interfaces.locales.ILocaleNumbers" />
- </content>
+ </class>
- <content class="zope.i18n.locales.Locale">
+ <class class="zope.i18n.locales.Locale">
<allow interface="zope.i18n.interfaces.locales.ILocale" />
- </content>
+ </class>
</configure>
\ No newline at end of file
Modified: Zope3/trunk/src/zope/app/i18nfile/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/i18nfile/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/i18nfile/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,7 +18,7 @@
<!-- content classes -->
- <content class=".i18nfile.I18nFile">
+ <class class=".i18nfile.I18nFile">
<factory
id="zope.app.content.I18nFile"
title="I18n File"
@@ -43,9 +43,9 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
- <content class=".i18nimage.I18nImage">
+ <class class=".i18nimage.I18nImage">
<factory
id="zope.app.content.I18nImage"
title="I18n Image"
@@ -71,7 +71,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<!-- include browser package -->
Modified: Zope3/trunk/src/zope/app/interface/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/interface/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/interface/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,7 +1,8 @@
<configure xmlns="http://namespaces.zope.org/zope">
- <vocabulary
+ <utility
+ component=".vocabulary.ObjectInterfacesVocabulary"
name="Object Interfaces"
- factory=".vocabulary.ObjectInterfacesVocabulary" />
+ />
</configure>
Modified: Zope3/trunk/src/zope/app/interface/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/interface/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/interface/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,10 +17,11 @@
"""
__docformat__ = 'restructuredtext'
-from zope.interface import providedBy
+from zope.interface import classProvides, providedBy
from zope.security.proxy import removeSecurityProxy
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
from zope.app.component.interface import interfaceToName
+from zope.app.schema.interfaces import IVocabularyFactory
class ObjectInterfacesVocabulary(SimpleVocabulary):
@@ -50,6 +51,7 @@
'zope.app.interface.vocabulary.I3',
'zope.interface.Interface']
"""
+ classProvides(IVocabularyFactory)
def __init__(self, context):
# Remove the security proxy so the values from the vocabulary
Modified: Zope3/trunk/src/zope/app/mail/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/mail/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/mail/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -23,11 +23,9 @@
<interface interface="zope.app.mail.interfaces.IMailDelivery" />
- <vocabulary
+ <utility
+ component=".vocabulary.MailDeliveryNames"
name="Mail Delivery Names"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.app.mail.interfaces.IMailDelivery"
- nameOnly="True" />
+ />
-
</configure>
Copied: Zope3/trunk/src/zope/app/mail/vocabulary.py (from rev 66067, Zope3/branches/philikon-reduce-zcml/src/zope/app/mail/vocabulary.py)
Modified: Zope3/trunk/src/zope/app/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -13,8 +13,4 @@
<include package="zope.app.schema" file="meta.zcml" />
<include package="zope.app.container.browser" file="meta.zcml" />
-<!-- BBB: Goes away in 3.3 -->
-<include package="zope.app.site" file="meta.zcml" />
-
-
</configure>
Modified: Zope3/trunk/src/zope/app/onlinehelp/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/onlinehelp/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/onlinehelp/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -3,7 +3,7 @@
i18n_domain="zope"
>
- <content class=".onlinehelp.OnlineHelp">
+ <class class=".onlinehelp.OnlineHelp">
<require
permission="zope.View"
interface=".interfaces.ISourceTextOnlineHelpTopic"
@@ -12,34 +12,34 @@
permission="zope.View"
attributes="context"
/>
- </content>
+ </class>
<!-- this is the generic help topic implementation -->
- <content class=".onlinehelptopic.OnlineHelpTopic">
+ <class class=".onlinehelptopic.OnlineHelpTopic">
<require
permission="zope.View"
interface=".interfaces.ISourceTextOnlineHelpTopic"
/>
- </content>
+ </class>
<!-- explicit restructured help topic implementation -->
- <content class=".onlinehelptopic.RESTOnlineHelpTopic">
+ <class class=".onlinehelptopic.RESTOnlineHelpTopic">
<require
permission="zope.View"
interface=".interfaces.IRESTOnlineHelpTopic"
/>
- </content>
+ </class>
<!-- explicit structured help topic implementation -->
- <content class=".onlinehelptopic.STXOnlineHelpTopic">
+ <class class=".onlinehelptopic.STXOnlineHelpTopic">
<require
permission="zope.View"
interface=".interfaces.ISTXOnlineHelpTopic"
/>
- </content>
+ </class>
<!-- explicit page template help topic implementation -->
- <content class=".onlinehelptopic.ZPTOnlineHelpTopic">
+ <class class=".onlinehelptopic.ZPTOnlineHelpTopic">
<factory
id="onlinehelp.topic.zpt"
/>
@@ -47,14 +47,14 @@
permission="zope.View"
interface=".interfaces.IZPTOnlineHelpTopic"
/>
- </content>
+ </class>
- <content class=".onlinehelptopic.OnlineHelpResource">
+ <class class=".onlinehelptopic.OnlineHelpResource">
<require
permission="zope.View"
interface=".interfaces.IOnlineHelpResource"
/>
- </content>
+ </class>
<!-- Setup OnlineHelp Root as a Utility -->
<utility
Modified: Zope3/trunk/src/zope/app/pagetemplate/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/pagetemplate/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/pagetemplate/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,8 +1,8 @@
<configure xmlns="http://namespaces.zope.org/zope">
- <content class=".viewpagetemplatefile.BoundPageTemplate">
+ <class class=".viewpagetemplatefile.BoundPageTemplate">
<allow attributes="__call__ __str__ __name__" />
- </content>
+ </class>
<adapter
for="*"
@@ -17,9 +17,9 @@
factory=".urlquote.URLQuote"
name="url"/>
- <content class="zope.tales.tales.Iterator">
+ <class class="zope.tales.tales.Iterator">
<allow interface="zope.tales.interfaces.ITALESIterator" />
- </content>
+ </class>
<class class=".engine.ZopePathExpr">
<allow attributes="__call__" />
Modified: Zope3/trunk/src/zope/app/pluggableauth/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/pluggableauth/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/pluggableauth/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -32,7 +32,7 @@
handler=".PluggableAuthenticationAddSubscriber"
/>
- <content class=".BTreePrincipalSource">
+ <class class=".BTreePrincipalSource">
<factory
id="zope.app.principalsources.BTreePrincipalSource"
/>
@@ -47,9 +47,9 @@
<allow
interface=".interfaces.IPrincipalSource"
/>
- </content>
+ </class>
- <content class=".SimplePrincipal">
+ <class class=".SimplePrincipal">
<factory
id="zope.app.principals.SimplePrincipal"
/>
@@ -60,7 +60,7 @@
permission="zope.ManageSite"
set_schema=".interfaces.IUserSchemafied"
/>
- </content>
+ </class>
<browser:view
name="login"
Modified: Zope3/trunk/src/zope/app/presentation/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/presentation/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/presentation/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -4,13 +4,13 @@
i18n_domain="zope"
>
- <content class=".registration.PageRegistration">
+ <class class=".registration.PageRegistration">
<require
permission="zope.ManageSite"
interface=".interfaces.IPageRegistration"
set_schema=".interfaces.IPageRegistration"
/>
- </content>
+ </class>
<class class=".registration.Registered">
<allow attributes="registrations" />
@@ -37,7 +37,7 @@
<!-- Page Folder -->
- <content class=".pagefolder.PageFolder">
+ <class class=".pagefolder.PageFolder">
<factory
id="zope.app.presentation.pagefolder.PageFolder"
title="View Folder"
@@ -56,7 +56,7 @@
set_schema=".interfaces.IPageFolderInfo"
attributes="registrationManager applyDefaults"
/>
- </content>
+ </class>
<adapter
for=".interfaces.IPageFolder"
@@ -87,7 +87,7 @@
<!-- Page Templates -->
- <content class=".zpt.ZPTTemplate">
+ <class class=".zpt.ZPTTemplate">
<factory
title="ZPT Template"
description="Persistent View Page Template"
@@ -104,7 +104,7 @@
interface=".interfaces.IZPTTemplate"
set_schema=".interfaces.IZPTTemplate"
/>
- </content>
+ </class>
<adapter
for=".interfaces.IZPTTemplate"
Modified: Zope3/trunk/src/zope/app/publisher/browser/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/browser/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -8,10 +8,9 @@
<interface
interface="zope.publisher.interfaces.browser.IBrowserSkinType" />
-<vocabulary
+<utility
name="Browser Skins"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.publisher.interfaces.browser.IBrowserSkinType"
+ component=".vocabulary.BrowserSkinsVocabulary"
/>
<!-- BBB 2006/02/18, to be removed after 12 months -->
@@ -21,49 +20,49 @@
bbb_aware="true"
/>
-<content class="zope.publisher.browser.BrowserRequest">
+<class class="zope.publisher.browser.BrowserRequest">
<allow
interface="zope.publisher.interfaces.browser.IBrowserApplicationRequest"
attributes="response locale __str__"
/>
<allow
interface="zope.component.interfaces.IPresentationRequest" />
-</content>
+</class>
-<content class="zope.publisher.browser.TestRequest">
+<class class="zope.publisher.browser.TestRequest">
<allow
interface="zope.publisher.interfaces.browser.IBrowserApplicationRequest"
attributes="response"
/>
<allow
interface="zope.component.interfaces.IPresentationRequest" />
-</content>
+</class>
-<content class="zope.publisher.browser.BrowserResponse">
+<class class="zope.publisher.browser.BrowserResponse">
<allow
interface="zope.publisher.interfaces.http.IHTTPResponse"
/>
-</content>
+</class>
-<content class="zope.app.publisher.browser.fileresource.FileResource">
+<class class="zope.app.publisher.browser.fileresource.FileResource">
<allow interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
<allow attributes="GET HEAD __call__" />
-</content>
+</class>
-<content class="zope.app.publisher.browser.i18nfileresource.I18nFileResource">
+<class class="zope.app.publisher.browser.i18nfileresource.I18nFileResource">
<allow interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
<allow attributes="GET HEAD __call__" />
-</content>
+</class>
-<content class=".pagetemplateresource.PageTemplateResource">
+<class class=".pagetemplateresource.PageTemplateResource">
<allow interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
<allow attributes="__call__" />
-</content>
+</class>
-<content class=".directoryresource.DirectoryResource">
+<class class=".directoryresource.DirectoryResource">
<allow interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
<allow attributes="get __getitem__" />
-</content>
+</class>
<browser:page
name=""
Modified: Zope3/trunk/src/zope/app/publisher/browser/menumeta.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/menumeta.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/browser/menumeta.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -34,7 +34,7 @@
from zope.publisher.interfaces.browser import IBrowserRequest
from zope.app.container.interfaces import IAdding
-from zope.app.component.contentdirective import ContentDirective
+from zope.app.component.contentdirective import ClassDirective
from zope.app.publisher.interfaces.browser import AddMenu
@@ -255,7 +255,7 @@
"A permission must be specified when a class is used")
factory = "BrowserAdd%s__%s.%s" % (
forname, class_.__module__, class_.__name__)
- ContentDirective(_context, class_).factory(_context, id=factory)
+ ClassDirective(_context, class_).factory(_context, id=factory)
extra = {'factory': factory}
Modified: Zope3/trunk/src/zope/app/publisher/browser/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/browser/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -69,24 +69,6 @@
</meta:complexDirective>
- <meta:complexDirective
- name="addview"
- schema=".metadirectives.IViewDirective"
- handler=".viewmeta.addview"
- >
-
- <meta:subdirective
- name="page"
- schema=".metadirectives.IViewPageSubdirective"
- />
-
- <meta:subdirective
- name="defaultPage"
- schema=".metadirectives.IViewDefaultPageSubdirective"
- />
-
- </meta:complexDirective>
-
<meta:directive
name="defaultView"
schema=".metadirectives.IDefaultViewDirective"
Modified: Zope3/trunk/src/zope/app/publisher/browser/viewmeta.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/viewmeta.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/browser/viewmeta.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -356,19 +356,6 @@
_context.info),
)
-def addview(_context, name, permission,
- layer=IDefaultBrowserLayer, class_=None,
- allowed_interface=None, allowed_attributes=None,
- menu=None, title=None
- ):
- return view(_context, name,
- 'zope.app.container.interfaces.IAdding',
- permission,
- layer, class_,
- allowed_interface, allowed_attributes,
- menu, title
- )
-
# transient _handle_menu registry
_registeredMenus = {}
Added: Zope3/trunk/src/zope/app/publisher/browser/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/browser/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -0,0 +1,25 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Browser vocabularies
+
+$Id$
+"""
+from zope.interface import classProvides
+from zope.publisher.interfaces.browser import IBrowserSkinType
+from zope.app.component.vocabulary import UtilityVocabulary
+from zope.app.schema.interfaces import IVocabularyFactory
+
+class BrowserSkinsVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IBrowserSkinType
Property changes on: Zope3/trunk/src/zope/app/publisher/browser/vocabulary.py
___________________________________________________________________
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Modified: Zope3/trunk/src/zope/app/publisher/http.zcml
===================================================================
--- Zope3/trunk/src/zope/app/publisher/http.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/publisher/http.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,17 +2,17 @@
xmlns="http://namespaces.zope.org/zope"
package="zope.publisher.http">
- <content class="zope.publisher.http.HTTPRequest">
+ <class class="zope.publisher.http.HTTPRequest">
<require
permission="zope.View"
interface="zope.publisher.interfaces.http.IHTTPApplicationRequest"/>
- </content>
+ </class>
- <content class="zope.publisher.http.URLGetter">
+ <class class="zope.publisher.http.URLGetter">
<require
permission="zope.View"
attributes="get __getitem__ __str__" />
- </content>
+ </class>
<class class="zope.publisher.http.DirectResult">
<allow interface="zope.publisher.http.IResult" />
Modified: Zope3/trunk/src/zope/app/pythonpage/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/pythonpage/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/pythonpage/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -8,7 +8,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".PythonPage">
+ <class class=".PythonPage">
<factory
id="zope.app.pythonpage.PythonPage"
title="Python Page"
@@ -25,7 +25,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<!-- browser directives -->
Modified: Zope3/trunk/src/zope/app/rdb/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/rdb/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/rdb/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -8,26 +8,26 @@
title="[zope.app.rdb.Use] Use Database Connections"
/>
- <content class="zope.app.rdb.ZopeConnection">
+ <class class="zope.app.rdb.ZopeConnection">
<require
permission="zope.ManageContent"
interface="zope.app.rdb.interfaces.IZopeConnection"
/>
- </content>
+ </class>
- <content class="zope.app.rdb.ZopeCursor">
+ <class class="zope.app.rdb.ZopeCursor">
<require
permission="zope.ManageContent"
interface="zope.app.rdb.interfaces.IZopeCursor"
/>
- </content>
+ </class>
- <content class="zope.app.rdb.Row">
+ <class class="zope.app.rdb.Row">
<require
permission="zope.ManageContent"
attributes="__getattr__"
/>
- </content>
+ </class>
<localUtility class="zope.app.rdb.ZopeDatabaseAdapter">
@@ -37,7 +37,7 @@
</localUtility>
- <content class="zope.app.rdb.ResultSet">
+ <class class="zope.app.rdb.ResultSet">
<!-- require zope.View for all list methods -->
<require
permission="zope.View"
@@ -50,7 +50,7 @@
permission="zope.View"
attributes="columns"
/>
- </content>
+ </class>
<include file="gadflyda.zcml" />
Modified: Zope3/trunk/src/zope/app/rdb/gadflyda.zcml
===================================================================
--- Zope3/trunk/src/zope/app/rdb/gadflyda.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/rdb/gadflyda.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,6 +1,6 @@
<configure xmlns="http://namespaces.zope.org/zope">
- <content class="zope.app.rdb.gadflyda.GadflyAdapter">
+ <class class="zope.app.rdb.gadflyda.GadflyAdapter">
<factory
title="Gadfly Database Adapter" />
<require
@@ -9,16 +9,16 @@
<require
permission="zope.ManageServices"
interface="zope.app.rdb.interfaces.IZopeDatabaseAdapterManagement" />
- </content>
+ </class>
- <content class="zope.app.rdb.gadflyda.GadflyAdapterCursor">
+ <class class="zope.app.rdb.gadflyda.GadflyAdapterCursor">
<allow
interface="zope.app.rdb.interfaces.IZopeCursor" />
- </content>
+ </class>
- <content class="zope.app.rdb.gadflyda.GadflyAdapterConnection">
+ <class class="zope.app.rdb.gadflyda.GadflyAdapterConnection">
<allow
interface="zope.app.rdb.interfaces.IZopeConnection" />
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/renderer/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/renderer/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,17 +5,18 @@
<!-- Source Type Vocabulary Setup -->
- <vocabulary
+ <utility
+ component=".vocabulary.SourceTypeVocabulary"
+ provides="zope.app.schema.interfaces.IVocabularyFactory"
name="SourceTypes"
- factory=".vocabulary.SourceTypeVocabulary" />
+ />
<!-- Plain Text Support -->
- <factory
+ <utility
component=".plaintext.PlainTextSourceFactory"
- id="zope.source.plaintext"
- title="Plain Text"
- description="Plain Text Source" />
+ name="zope.source.plaintext"
+ />
<browser:view
name=""
@@ -25,11 +26,10 @@
<!-- STX support -->
- <factory
+ <utility
component=".stx.StructuredTextSourceFactory"
- id="zope.source.stx"
- title="Structured Text (STX)"
- description="Structured Text (STX) Source" />
+ name="zope.source.stx"
+ />
<browser:view
name=""
@@ -39,11 +39,10 @@
<!-- ReST support -->
- <factory
+ <utility
component=".rest.ReStructuredTextSourceFactory"
- id="zope.source.rest"
- title="ReStructured Text (ReST)"
- description="ReStructured Text (ReST) Source" />
+ name="zope.source.rest"
+ />
<browser:view
name=""
Modified: Zope3/trunk/src/zope/app/renderer/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/renderer/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,6 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:meta="http://namespaces.zope.org/meta">
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
<meta:directive
namespace="http://namespaces.zope.org/renderer"
name="renderer"
Modified: Zope3/trunk/src/zope/app/renderer/metaconfigure.py
===================================================================
--- Zope3/trunk/src/zope/app/renderer/metaconfigure.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/metaconfigure.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -15,6 +15,9 @@
$Id$
"""
+# BBB 2006/02/24, to be removed after 12 months
+
+import warnings
from zope.app import zapi
from zope.app.component.metaconfigure import handler
from zope.configuration.fields import GlobalInterface, GlobalObject
@@ -43,6 +46,22 @@
# TODO: Does not seem to be tested
def renderer(_context, sourceType, for_, factory):
+ def dottify(obj):
+ try:
+ return obj.__module__ + '.' + obj.__name__
+ except AttributeError:
+ return '...'
+ warnings.warn_explicit(
+ "The 'renderer' directive has been deprecated and will be "
+ "removed in Zope 3.5. Use the 'view' directive instead:\n"
+ ' <browser:view\n'
+ ' name=""\n'
+ ' for="%s"\n'
+ ' class="%s"\n'
+ ' permission="zope.Public"\n'
+ ' />' % (dottify(sourceType), dottify(factory)),
+ DeprecationWarning, _context.info.file, _context.info.line)
+
_context.action(
discriminator = ('view', sourceType, u'', for_, 'default'),
callable = handler,
Modified: Zope3/trunk/src/zope/app/renderer/plaintext.py
===================================================================
--- Zope3/trunk/src/zope/app/renderer/plaintext.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/plaintext.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -16,18 +16,19 @@
$Id$
"""
from zope.interface import implements
+
from zope.app.publisher.browser import BrowserView
-
+from zope.app.i18n import ZopeMessageFactory as _
from zope.app.renderer.interfaces import ISource, IHTMLRenderer
from zope.app.renderer import SourceFactory
-
class IPlainTextSource(ISource):
"""Marker interface for a plain text source. Note that an implementation
of this interface should always derive from unicode or behave like a
unicode class."""
-PlainTextSourceFactory = SourceFactory(IPlainTextSource)
+PlainTextSourceFactory = SourceFactory(
+ IPlainTextSource, _("Plain Text"), _("Plain Text Source"))
class PlainTextToHTMLRenderer(BrowserView):
Modified: Zope3/trunk/src/zope/app/renderer/rest.py
===================================================================
--- Zope3/trunk/src/zope/app/renderer/rest.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/rest.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -22,6 +22,7 @@
from zope.interface import implements
from zope.app.publisher.browser import BrowserView
+from zope.app.i18n import ZopeMessageFactory as _
from zope.app.renderer.interfaces import ISource, IHTMLRenderer
from zope.app.renderer import SourceFactory
@@ -32,7 +33,9 @@
behave like a unicode class."""
-ReStructuredTextSourceFactory = SourceFactory(IReStructuredTextSource)
+ReStructuredTextSourceFactory = SourceFactory(
+ IReStructuredTextSource, _("ReStructured Text (ReST)"),
+ _("ReStructured Text (ReST) Source"))
class ZopeTranslator(HTMLTranslator):
Modified: Zope3/trunk/src/zope/app/renderer/stx.py
===================================================================
--- Zope3/trunk/src/zope/app/renderer/stx.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/stx.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,10 +18,11 @@
import re
from zope.interface import implements
-from zope.app.publisher.browser import BrowserView
from zope.structuredtext.document import Document
from zope.structuredtext.html import HTML
+from zope.app.publisher.browser import BrowserView
+from zope.app.i18n import ZopeMessageFactory as _
from zope.app.renderer.interfaces import ISource, IHTMLRenderer
from zope.app.renderer import SourceFactory
@@ -31,7 +32,9 @@
implementation of this interface should always derive from unicode or
behave like a unicode class."""
-StructuredTextSourceFactory = SourceFactory(IStructuredTextSource)
+StructuredTextSourceFactory = SourceFactory(
+ IStructuredTextSource, _("Structured Text (STX)"),
+ _("Structured Text (STX) Source"))
class StructuredTextToHTMLRenderer(BrowserView):
Modified: Zope3/trunk/src/zope/app/renderer/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/renderer/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/renderer/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -15,12 +15,16 @@
$Id$
"""
+from zope.interface import alsoProvides
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
from zope.app import zapi
from zope.app.renderer.interfaces import ISource
+from zope.app.schema.interfaces import IVocabularyFactory
def SourceTypeVocabulary(context):
return SimpleVocabulary(
[SimpleTerm(name, title=factory.title) for name, factory in
zapi.getFactoriesFor(ISource)])
+
+alsoProvides(SourceTypeVocabulary, IVocabularyFactory)
Modified: Zope3/trunk/src/zope/app/schema/__init__.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/__init__.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/__init__.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1 +1,20 @@
-# Make this a Python package.
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Schemas
+
+$Id$
+"""
+# we want to hook-up our own vocabulary registry; importing the module
+# is enough for that
+import zope.app.schema.vocabulary
Property changes on: Zope3/trunk/src/zope/app/schema/__init__.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: Zope3/trunk/src/zope/app/schema/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,12 +17,12 @@
</localUtility>
- <content class=".schema.SchemaRegistration">
+ <class class=".schema.SchemaRegistration">
<require
permission="zope.ManageServices"
interface="zope.app.component.interfaces.IUtilityRegistration"
set_schema="zope.app.component.interfaces.IUtilityRegistration" />
- </content>
+ </class>
<include file="fields.zcml" />
<include package=".browser" />
Modified: Zope3/trunk/src/zope/app/schema/fields.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/fields.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/fields.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,6 +1,6 @@
<configure xmlns="http://namespaces.zope.org/zope">
- <content class="zope.schema.Field">
+ <class class="zope.schema.Field">
<factory
id="zope.schema.Field"
@@ -31,9 +31,9 @@
set_schema="zope.schema.interfaces.IField"
/>
- </content>
+ </class>
- <content class="zope.schema.Container">
+ <class class="zope.schema.Container">
<factory
id="zope.schema.Container"
@@ -42,9 +42,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Iterable">
+ <class class="zope.schema.Iterable">
<factory
id="zope.schema.Iterable"
@@ -53,9 +53,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Orderable">
+ <class class="zope.schema.Orderable">
<factory
id="zope.schema.Orderable"
@@ -68,9 +68,9 @@
set_schema="zope.schema.interfaces.IMinMax"
/>
- </content>
+ </class>
- <content class="zope.schema.MinMaxLen">
+ <class class="zope.schema.MinMaxLen">
<factory
id="zope.schema.MinMaxLen"
@@ -83,9 +83,9 @@
set_schema="zope.schema.interfaces.IMinMaxLen"
/>
- </content>
+ </class>
- <content class="zope.schema.Bytes">
+ <class class="zope.schema.Bytes">
<factory
id="zope.schema.Bytes"
@@ -95,9 +95,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.BytesLine">
+ <class class="zope.schema.BytesLine">
<factory
id="zope.schema.BytesLine"
@@ -107,9 +107,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Text">
+ <class class="zope.schema.Text">
<factory
id="zope.schema.Text"
@@ -121,9 +121,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.TextLine">
+ <class class="zope.schema.TextLine">
<factory
id="zope.schema.TextLine"
@@ -133,9 +133,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Bool">
+ <class class="zope.schema.Bool">
<factory
id="zope.schema.Bool"
@@ -144,9 +144,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Int">
+ <class class="zope.schema.Int">
<factory
id="zope.schema.Int"
@@ -156,9 +156,9 @@
<require like_class="zope.schema.Orderable" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Float">
+ <class class="zope.schema.Float">
<factory
id="zope.schema.Float"
@@ -168,9 +168,9 @@
<require like_class="zope.schema.Orderable" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Tuple">
+ <class class="zope.schema.Tuple">
<factory
id="zope.schema.Tuple"
@@ -179,9 +179,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.List">
+ <class class="zope.schema.List">
<factory
id="zope.schema.List"
@@ -190,9 +190,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Set">
+ <class class="zope.schema.Set">
<factory
id="zope.schema.Set"
@@ -201,9 +201,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Password">
+ <class class="zope.schema.Password">
<factory
id="zope.schema.Password"
@@ -213,9 +213,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Dict">
+ <class class="zope.schema.Dict">
<factory
id="zope.schema.Dict"
@@ -225,9 +225,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Datetime">
+ <class class="zope.schema.Datetime">
<factory
id="zope.schema.Datetime"
@@ -237,9 +237,9 @@
<require like_class="zope.schema.Orderable" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.SourceText">
+ <class class="zope.schema.SourceText">
<factory
id="zope.schema.SourceText"
@@ -249,9 +249,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Object">
+ <class class="zope.schema.Object">
<factory
id="zope.schema.Object"
@@ -262,9 +262,9 @@
permission="zope.ManageContent"
interface="zope.schema.interfaces.IObject" />
- </content>
+ </class>
- <content class="zope.schema.URI">
+ <class class="zope.schema.URI">
<factory
id="zope.schema.URI"
@@ -274,9 +274,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.Id">
+ <class class="zope.schema.Id">
<factory
id="zope.schema.Id"
@@ -286,9 +286,9 @@
<require like_class="zope.schema.MinMaxLen" />
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.InterfaceField">
+ <class class="zope.schema.InterfaceField">
<factory
id="zope.schema.InterfaceField"
@@ -297,14 +297,14 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.vocabulary.SimpleTerm">
+ <class class="zope.schema.vocabulary.SimpleTerm">
<allow interface="zope.schema.interfaces.ITitledTokenizedTerm" />
- </content>
+ </class>
- <content class="zope.schema.vocabulary.SimpleVocabulary">
+ <class class="zope.schema.vocabulary.SimpleVocabulary">
<allow interface="zope.schema.interfaces.IVocabularyTokenized" />
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/schema/interfaces.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/interfaces.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/interfaces.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -19,6 +19,13 @@
from zope.interface.interfaces import IInterface
from zope.app.container.interfaces import IAdding
+class IVocabularyFactory(Interface):
+ """Can create vocabularies."""
+
+ def __call__(self, context):
+ """The context provides a location that the vocabulary can make use
+ of."""
+
class ISchemaUtility(Interface):
pass
Modified: Zope3/trunk/src/zope/app/schema/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,6 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:meta="http://namespaces.zope.org/meta">
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
<meta:directive
namespace="http://namespaces.zope.org/zope"
name="vocabulary"
Modified: Zope3/trunk/src/zope/app/schema/metaconfigure.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/metaconfigure.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/metaconfigure.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -15,8 +15,9 @@
$Id$
"""
+import warnings
from zope.interface import directlyProvides
-from vocabulary import IVocabularyFactory
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.component.metaconfigure import utility
class FactoryKeywordPasser(object):
@@ -30,9 +31,23 @@
return self.factory(object, **self.kwargs)
+# BBB 2006/02/24, to be removed after 12 months
def vocabulary(_context, name, factory, **kw):
+ try:
+ dottedname = factory.__module__ + "." + factory.__name__
+ except AttributeError:
+ dottedname = '...'
+ warnings.warn_explicit(
+ "The 'vocabulary' directive has been deprecated and will be "
+ "removed in Zope 3.5. Use the 'utility' directive instead to "
+ "register the class as a named utility:\n"
+ ' <utility\n'
+ ' provides="zope.app.schema.interfaces.IVocabularyFactory"\n'
+ ' component="%s"\n'
+ ' name="%s"\n'
+ ' />' % (dottedname, name),
+ DeprecationWarning, _context.info.file, _context.info.line)
if kw:
factory = FactoryKeywordPasser(factory, kw)
directlyProvides(factory, IVocabularyFactory)
utility(_context, IVocabularyFactory, factory, name=name)
-
Modified: Zope3/trunk/src/zope/app/schema/metadirectives.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/metadirectives.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/metadirectives.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -19,6 +19,7 @@
from zope.interface import Interface
from zope.schema import TextLine
+# BBB 2006/02/24, to be removed after 12 months
class IVocabularyDirective(Interface):
'''Define a named vocabulary.
Modified: Zope3/trunk/src/zope/app/schema/tests/keywords_vocab.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/tests/keywords_vocab.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/tests/keywords_vocab.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,5 +1,7 @@
<configure xmlns="http://namespaces.zope.org/zope">
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
+
<include package="zope.app.schema" file="meta.zcml"/>
<vocabulary
Modified: Zope3/trunk/src/zope/app/schema/tests/simple_vocab.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/tests/simple_vocab.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/tests/simple_vocab.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,5 +1,7 @@
<configure xmlns="http://namespaces.zope.org/zope">
+ <!-- BBB 2006/02/24, to be removed after 12 months -->
+
<include package="zope.app.schema" file="meta.zcml"/>
<vocabulary
Modified: Zope3/trunk/src/zope/app/schema/tests/test_directives.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/tests/test_directives.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/tests/test_directives.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -15,7 +15,10 @@
$Id$
"""
+# BBB 2006/02/24, to be removed after 12 months
+
import unittest
+import warnings
from zope.app.testing.placelesssetup import PlacelessSetup
from zope.configuration import xmlconfig
@@ -35,6 +38,16 @@
extra_keywords = {"filter": "my-filter",
"another": "keyword"}
+ def setUp(self):
+ super(DirectivesTest, self).setUp()
+ def ignorewarning(message, category, filename, lineno, file=None):
+ pass
+ warnings.showwarning = ignorewarning
+
+ def tearDown(self):
+ super(DirectivesTest, self).tearDown()
+ warnings.resetwarnings()
+
def check_vocabulary_get(self, kw={}):
context = object()
registry = ZopeVocabularyRegistry()
Modified: Zope3/trunk/src/zope/app/schema/tests/test_fieldfactory.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schema/tests/test_fieldfactory.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/tests/test_fieldfactory.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -7,7 +7,7 @@
<include package="zope.app.security" file="meta.zcml" />
<include package="zope.app.security" file="configure.zcml" />
- <content class="zope.schema.Field">
+ <class class="zope.schema.Field">
<factory
title="Basic Field"
@@ -31,9 +31,9 @@
interface="zope.schema.interfaces.IField"
/>
- </content>
+ </class>
- <content class="zope.schema.Text">
+ <class class="zope.schema.Text">
<factory
title="Text Field"
@@ -41,9 +41,9 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
- <content class="zope.schema.TextLine">
+ <class class="zope.schema.TextLine">
<factory
title="Text Line Field"
@@ -51,6 +51,6 @@
<require like_class="zope.schema.Field" />
- </content>
+ </class>
</configure>
\ No newline at end of file
Modified: Zope3/trunk/src/zope/app/schema/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/schema/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schema/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -20,16 +20,8 @@
from zope.schema.interfaces import IVocabularyRegistry
from zope.schema import vocabulary
from zope.testing import cleanup
+from zope.app.schema.interfaces import IVocabularyFactory
-
-class IVocabularyFactory(Interface):
- """Can create vocabularies."""
-
- def __call__(self, context):
- """The context provides a location that the vocabulary can make use
- of."""
-
-
class ZopeVocabularyRegistry(object):
"""IVocabularyRegistry that supports global and local utilities."""
Modified: Zope3/trunk/src/zope/app/schemacontent/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/schemacontent/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/schemacontent/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -19,20 +19,20 @@
</localUtility>
- <content class=".content.ContentComponentDefinitionRegistration">
+ <class class=".content.ContentComponentDefinitionRegistration">
<require
permission="zope.ManageServices"
interface="zope.app.component.interfaces.IUtilityRegistration"
set_schema="zope.app.component.interfaces.IUtilityRegistration"
/>
- </content>
+ </class>
<!-- Content Component Instance -->
- <content class=".content.ContentComponentInstance">
+ <class class=".content.ContentComponentInstance">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
- </content>
+ </class>
<include package=".browser" />
Modified: Zope3/trunk/src/zope/app/security/_protections.zcml
===================================================================
--- Zope3/trunk/src/zope/app/security/_protections.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/security/_protections.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -5,120 +5,120 @@
<!-- ===================================================================== -->
-<content class="BTrees.IIBTree.IIBTree">
+<class class="BTrees.IIBTree.IIBTree">
<allow attributes="__str__ __contains__ __getitem__ __iter__ __len__
byValue get has_key items iteritems iterkeys
itervalues keys maxKey minKey values" />
-</content>
-<content class="BTrees.IIBTree.IIBucket">
+</class>
+<class class="BTrees.IIBTree.IIBucket">
<allow attributes="__contains__ __getitem__ __iter__ __len__ __str__
byValue get has_key items iteritems iterkeys
itervalues keys maxKeyminKey values" />
-</content>
-<content class="BTrees.IIBTree.IISet">
+</class>
+<class class="BTrees.IIBTree.IISet">
<allow attributes="__contains__ __iter__ __len__ __str__ has_key insert
keys maxKey minKey" />
-</content>
-<content class="BTrees.IIBTree.IITreeIterator">
+</class>
+<class class="BTrees.IIBTree.IITreeIterator">
<allow attributes="__iter__ __str__ __getitem__ __len__
__contains__ next" />
-</content>
+</class>
<!-- ===================================================================== -->
-<content class="BTrees.IOBTree.IOBTree">
+<class class="BTrees.IOBTree.IOBTree">
<allow attributes="__str__ __contains__ __getitem__ __iter__ __len__
byValue get has_key items iteritems iterkeys
itervalues keys maxKey minKey values" />
-</content>
-<content class="BTrees.IOBTree.IOBucket">
+</class>
+<class class="BTrees.IOBTree.IOBucket">
<allow attributes="__contains__ __getitem__ __iter__ __len__ __str__
byValue get has_key items iteritems iterkeys
itervalues keys maxKeyminKey values" />
-</content>
-<content class="BTrees.IOBTree.IOSet">
+</class>
+<class class="BTrees.IOBTree.IOSet">
<allow attributes="__contains__ __iter__ __len__ __str__ has_key insert
keys maxKey minKey" />
-</content>
-<content class="BTrees.IOBTree.IOTreeIterator">
+</class>
+<class class="BTrees.IOBTree.IOTreeIterator">
<allow attributes="__iter__ __str__ __getitem__ __len__
__contains__ next" />
-</content>
+</class>
<!-- ===================================================================== -->
-<content class="BTrees.OIBTree.OIBTree">
+<class class="BTrees.OIBTree.OIBTree">
<allow attributes="__str__ __contains__ __getitem__ __iter__ __len__
byValue get has_key items iteritems iterkeys
itervalues keys maxKey minKey values" />
-</content>
-<content class="BTrees.OIBTree.OIBucket">
+</class>
+<class class="BTrees.OIBTree.OIBucket">
<allow attributes="__contains__ __getitem__ __iter__ __len__ __str__
byValue get has_key items iteritems iterkeys
itervalues keys maxKeyminKey values" />
-</content>
-<content class="BTrees.OIBTree.OISet">
+</class>
+<class class="BTrees.OIBTree.OISet">
<allow attributes="__contains__ __iter__ __len__ __str__ has_key insert
keys maxKey minKey" />
-</content>
-<content class="BTrees.OIBTree.OITreeIterator">
+</class>
+<class class="BTrees.OIBTree.OITreeIterator">
<allow attributes="__iter__ __str__ __getitem__ __len__
__contains__ next" />
-</content>
+</class>
<!-- ===================================================================== -->
-<content class="BTrees.OOBTree.OOBTree">
+<class class="BTrees.OOBTree.OOBTree">
<allow attributes="__str__ __contains__ __getitem__ __iter__ __len__
byValue get has_key items iteritems iterkeys
itervalues keys maxKey minKey values" />
-</content>
-<content class="BTrees.OOBTree.OOBucket">
+</class>
+<class class="BTrees.OOBTree.OOBucket">
<allow attributes="__contains__ __getitem__ __iter__ __len__ __str__
byValue get has_key items iteritems iterkeys
itervalues keys maxKeyminKey values" />
-</content>
-<content class="BTrees.OOBTree.OOSet">
+</class>
+<class class="BTrees.OOBTree.OOSet">
<allow attributes="__contains__ __iter__ __len__ __str__ has_key insert
keys maxKey minKey" />
-</content>
-<content class="BTrees.OOBTree.OOTreeIterator">
+</class>
+<class class="BTrees.OOBTree.OOTreeIterator">
<allow attributes="__iter__ __str__ __getitem__ __len__
__contains__ next" />
-</content>
+</class>
<!-- ===================================================================== -->
-<content class="BTrees.IFBTree.IFBTree">
+<class class="BTrees.IFBTree.IFBTree">
<allow attributes="__str__ __contains__ __getitem__ __iter__ __len__
byValue get has_key items iteritems iterkeys
itervalues keys maxKey minKey values" />
-</content>
-<content class="BTrees.IFBTree.IFBucket">
+</class>
+<class class="BTrees.IFBTree.IFBucket">
<allow attributes="__contains__ __getitem__ __iter__ __len__ __str__
byValue get has_key items iteritems iterkeys
itervalues keys maxKeyminKey values" />
-</content>
-<content class="BTrees.IFBTree.IFSet">
+</class>
+<class class="BTrees.IFBTree.IFSet">
<allow attributes="__contains__ __iter__ __len__ __str__ has_key insert
keys maxKey minKey" />
-</content>
-<content class="BTrees.IFBTree.IFTreeIterator">
+</class>
+<class class="BTrees.IFBTree.IFTreeIterator">
<allow attributes="__iter__ __str__ __getitem__ __len__
__contains__ next" />
-</content>
+</class>
<!-- ===================================================================== -->
-<content class="persistent.list.PersistentList">
+<class class="persistent.list.PersistentList">
<allow attributes="__getitem__ __getslice__ __len__ __iter__
__contains__ index count" />
-</content>
-<content class="persistent.dict.PersistentDict">
+</class>
+<class class="persistent.dict.PersistentDict">
<allow attributes="__getitem__ __len__ __iter__ get has_key
__copy__ keys values items iterkeys iteritems
itervalues __contains__" />
-</content>
+</class>
<!-- ===================================================================== -->
Modified: Zope3/trunk/src/zope/app/security/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/security/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/security/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -10,14 +10,15 @@
Public resources are always accessible."
/>
- <vocabulary
+ <utility
+ component=".vocabulary.PermissionsVocabulary"
name="Permissions"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.security.interfaces.IPermission" />
+ />
- <vocabulary
+ <utility
+ component=".vocabulary.PermissionIdsVocabulary"
name="Permission Ids"
- factory=".vocabulary.PermissionIdsVocabulary" />
+ />
<include file="globalmodules.zcml" />
<include file="_protections.zcml" />
@@ -51,18 +52,18 @@
handler=".permission.unsetIdOnDeactivation"
/>
- <content class=".permission.Permission">
+ <class class=".permission.Permission">
<allow interface=".interfaces.IPermission" />
- </content>
+ </class>
- <content class=".principalregistry.Principal">
+ <class class=".principalregistry.Principal">
<allow interface=".interfaces.IPrincipal" />
- </content>
+ </class>
- <content class=".settings.PermissionSetting">
+ <class class=".settings.PermissionSetting">
<require permission="zope.Public"
attributes="getName getDescription __str__" />
- </content>
+ </class>
<adapter factory=".NoLogout" />
Modified: Zope3/trunk/src/zope/app/security/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/security/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/security/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,26 +17,31 @@
$Id$
"""
+import warnings
import zope.deprecation
from zope.security.checker import CheckerPublic
from zope.app import zapi
-from zope.interface import implements
+from zope.interface import implements, classProvides
from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
from zope.schema.interfaces import ISourceQueriables
-from zope.app.security.interfaces import IPermission, IAuthentication
+from zope.security.interfaces import IPermission
+from zope.app.security.interfaces import IAuthentication
from zope.app.security.interfaces import PrincipalLookupError
+from zope.app.security.interfaces import IPrincipalSource
from zope.app.component import queryNextUtility
+from zope.app.component.vocabulary import UtilityVocabulary
+from zope.app.schema.interfaces import IVocabularyFactory
# BBB Backward Compatibility
zope.deprecation.__show__.off()
from zope.exceptions import NotFoundError
zope.deprecation.__show__.on()
-import warnings
+class PermissionsVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IPermission
-from interfaces import IPrincipalSource
-
class PermissionIdsVocabulary(SimpleVocabulary):
"""A vocabular of permission IDs.
@@ -97,6 +102,8 @@
>>> tearDown()
"""
+ classProvides(IVocabularyFactory)
+
def __init__(self, context):
terms = []
permissions = zapi.getUtilitiesFor(IPermission, context)
Modified: Zope3/trunk/src/zope/app/securitypolicy/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/securitypolicy/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/securitypolicy/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -83,9 +83,10 @@
<!-- Vocabularies -->
- <vocabulary
+ <utility
+ component=".vocabulary.RoleIdsVocabulary"
name="Role Ids"
- factory=".vocabulary.RoleIdsVocabulary" />
+ />
<!-- Registering documentation with API doc -->
<configure
@@ -102,5 +103,4 @@
</configure>
-
</configure>
Modified: Zope3/trunk/src/zope/app/securitypolicy/vocabulary.py
===================================================================
--- Zope3/trunk/src/zope/app/securitypolicy/vocabulary.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/securitypolicy/vocabulary.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,9 +17,10 @@
$Id$
"""
-from zope.interface import implements
+from zope.interface import implements, classProvides
+from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
from zope.app import zapi
-from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.securitypolicy.interfaces import IRole
from zope.app.securitypolicy.interfaces import IGrantVocabulary
@@ -57,6 +58,7 @@
>>> tearDown()
"""
+ classProvides(IVocabularyFactory)
def __init__(self, context):
terms = []
@@ -68,7 +70,5 @@
class GrantVocabulary(SimpleVocabulary):
"""A vocabular for getting the RadioWidget via the Choice field."""
-
+ classProvides(IVocabularyFactory)
implements(IGrantVocabulary)
-
-
Modified: Zope3/trunk/src/zope/app/session/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/session/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/session/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -26,45 +26,45 @@
permission="zope.Public"
/>
- <content class=".session.Session">
+ <class class=".session.Session">
<allow interface=".interfaces.ISession" />
<implements interface="zope.app.traversing.interfaces.IPathAdapter" />
- </content>
+ </class>
- <content class=".http.CookieClientIdManager">
+ <class class=".http.CookieClientIdManager">
<require
interface=".http.ICookieClientIdManager"
permission="zope.Public" />
<require
set_schema=".http.ICookieClientIdManager"
permission="zope.ManageServices" />
- </content>
+ </class>
- <content class=".session.PersistentSessionDataContainer">
+ <class class=".session.PersistentSessionDataContainer">
<require
interface=".interfaces.ISessionDataContainer"
permission="zope.Public" />
<require
set_schema=".interfaces.ISessionDataContainer"
permission="zope.ManageServices" />
- </content>
+ </class>
- <content class=".session.RAMSessionDataContainer">
+ <class class=".session.RAMSessionDataContainer">
<require
interface=".interfaces.ISessionDataContainer"
permission="zope.Public" />
<require
set_schema=".interfaces.ISessionDataContainer"
permission="zope.ManageServices" />
- </content>
+ </class>
- <content class=".session.SessionData">
+ <class class=".session.SessionData">
<allow interface=".interfaces.ISessionData" />
- </content>
+ </class>
- <content class=".session.SessionPkgData">
+ <class class=".session.SessionPkgData">
<allow interface=".interfaces.ISessionPkgData" />
- </content>
+ </class>
<subscriber
for="zope.app.appsetup.IDatabaseOpenedEvent"
Deleted: Zope3/trunk/src/zope/app/site/meta.zcml
===================================================================
--- Zope3/trunk/src/zope/app/site/meta.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/site/meta.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,36 +0,0 @@
-<configure
- xmlns:meta="http://namespaces.zope.org/meta">
-
- <meta:directives namespace="http://namespaces.zope.org/zope">
-
- <meta:complexDirective
- name="localService"
- schema="zope.app.component.metadirectives.IClassDirective"
- handler=".metaconfigure.LocalServiceDirective"
- >
-
- <meta:subdirective
- name="implements"
- schema="zope.app.component.metadirectives.IImplementsSubdirective"
- />
-
- <meta:subdirective
- name="require"
- schema="zope.app.component.metadirectives.IRequireSubdirective"
- />
-
- <meta:subdirective
- name="allow"
- schema="zope.app.component.metadirectives.IAllowSubdirective"
- />
-
- <meta:subdirective
- name="factory"
- schema="zope.app.component.metadirectives.IFactorySubdirective"
- />
-
- </meta:complexDirective>
-
- </meta:directives>
-
-</configure>
Deleted: Zope3/trunk/src/zope/app/site/metaconfigure.py
===================================================================
--- Zope3/trunk/src/zope/app/site/metaconfigure.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/site/metaconfigure.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -1,37 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2004 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Local Service Directive
-
-$Id$
-"""
-__docformat__ = "reStructuredText"
-import zope.deprecation
-from zope.interface import classImplements
-from zope.app.component.contentdirective import ContentDirective
-
-zope.deprecation.__show__.off()
-from zope.app.site.interfaces import ISimpleService
-zope.deprecation.__show__.on()
-
-class LocalServiceDirective(ContentDirective):
-
- def __init__(self, _context, class_):
- if not ISimpleService.implementedBy(class_):
- classImplements(class_, ISimpleService)
- super(LocalServiceDirective, self).__init__(_context, class_)
-
-zope.deprecation.deprecated(
- 'LocalServiceDirective',
- 'The concept of services has been removed. Use utilities instead. '
- 'The reference will be gone in Zope 3.3.')
Modified: Zope3/trunk/src/zope/app/sqlscript/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/sqlscript/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/sqlscript/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -3,11 +3,10 @@
i18n_domain="zope"
>
- <vocabulary
+ <utility
+ component=".sqlscript.ConnectionNamesVocabulary"
name="Connection Names"
- factory="zope.app.component.vocabulary.UtilityVocabulary"
- interface="zope.app.rdb.interfaces.IZopeDatabaseAdapter"
- nameOnly="True" />
+ />
<permission
id="zope.AddSQLScripts"
@@ -19,7 +18,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".sqlscript.SQLScript">
+ <class class=".sqlscript.SQLScript">
<factory
id="zope.app.content.SQLScript"
title="SQL Script"
@@ -33,23 +32,23 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<!-- Arguments Directives -->
- <content class=".sqlscript.Arguments">
+ <class class=".sqlscript.Arguments">
<require
permission="zope.ManageContent"
interface="zope.interface.common.mapping.IEnumerableMapping"
/>
- </content>
+ </class>
<!-- SQL DTML Directives -->
- <content class=".dtml.SQLDTML">
+ <class class=".dtml.SQLDTML">
<require
permission="zope.ManageContent"
attributes="__call__" />
- </content>
+ </class>
<!-- include browser package -->
Modified: Zope3/trunk/src/zope/app/sqlscript/sqlscript.py
===================================================================
--- Zope3/trunk/src/zope/app/sqlscript/sqlscript.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/sqlscript/sqlscript.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -21,12 +21,14 @@
from persistent import Persistent
from persistent.dict import PersistentDict
-from zope.interface import implements
+from zope.interface import implements, classProvides
from zope.interface.common.mapping import IEnumerableMapping
from zope.app import zapi
from zope.app.rdb import queryForResults
from zope.app.container.contained import Contained
+from zope.app.schema.interfaces import IVocabularyFactory
+from zope.app.component.vocabulary import UtilityVocabulary
from zope.app.cache.caching import getCacheForObject, getLocationForCache
from zope.app.rdb.interfaces import IZopeDatabaseAdapter
@@ -203,3 +205,8 @@
return parseArguments(text[length:], result)
+
+class ConnectionNamesVocabulary(UtilityVocabulary):
+ classProvides(IVocabularyFactory)
+ interface = IZopeDatabaseAdapter
+ nameOnly = True
Modified: Zope3/trunk/src/zope/app/undo/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/undo/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/undo/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -25,7 +25,7 @@
/>
- <content class="zope.app.undo.ZODBUndoManager">
+ <class class="zope.app.undo.ZODBUndoManager">
<require
permission="zope.UndoOwnTransactions"
interface="zope.app.undo.interfaces.IPrincipalUndo"
@@ -34,7 +34,7 @@
permission="zope.UndoAllTransactions"
interface="zope.app.undo.interfaces.IUndo"
/>
- </content>
+ </class>
<!-- Browser directives -->
Modified: Zope3/trunk/src/zope/app/workflow/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/workflow/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/workflow/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -39,23 +39,23 @@
<!-- Process Definition Name Vocabualry -->
- <vocabulary
- name="ProcessDefinitions"
- factory=".definition.ProcessDefinitionVocabulary"
- />
+ <utility
+ component=".definition.ProcessDefinitionVocabulary"
+ name="ProcessDefinitions"
+ />
- <content class=".definition.ProcessDefinitionVocabulary">
+ <class class=".definition.ProcessDefinitionVocabulary">
<allow interface="zope.schema.interfaces.IVocabularyTokenized"/>
- </content>
+ </class>
- <content class=".definition.ProcessDefinitionTerm">
+ <class class=".definition.ProcessDefinitionTerm">
<allow interface="zope.schema.interfaces.ITokenizedTerm"/>
- </content>
+ </class>
<!-- Process Instance Container -->
- <content
+ <class
class="zope.app.workflow.definition.ProcessDefinitionElementContainer">
<implements
@@ -71,7 +71,7 @@
permission="zope.workflow.ManageProcessDefinitions"
interface="zope.app.container.interfaces.IWriteContainer"
/>
- </content>
+ </class>
<adapter
factory="zope.app.workflow.instance.ProcessInstanceContainerAdapter"
Modified: Zope3/trunk/src/zope/app/workflow/definition.py
===================================================================
--- Zope3/trunk/src/zope/app/workflow/definition.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/workflow/definition.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,13 +18,14 @@
from persistent import Persistent
from persistent.dict import PersistentDict
-from zope.interface import implements
+from zope.interface import implements, classProvides
from zope.schema.interfaces import ITokenizedTerm
from zope.schema.interfaces import IVocabularyTokenized
from zope.app import zapi
from zope.app.container.contained import Contained, setitem, uncontained
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.workflow.interfaces import IProcessDefinitionElementContainer
from zope.app.workflow.interfaces import IProcessDefinition
@@ -107,6 +108,7 @@
class ProcessDefinitionVocabulary(object):
"""Vocabulary providing available process definition names."""
implements(IVocabularyTokenized)
+ classProvides(IVocabularyFactory)
def __init__(self, context):
self.sm = zapi.getSiteManager(context)
Modified: Zope3/trunk/src/zope/app/workflow/stateful/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/workflow/stateful/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/workflow/stateful/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -2,7 +2,7 @@
<!-- Stateful ProcessDefintion -->
-<content
+<class
class=".definition.StatefulProcessDefinition">
<factory
id="zope.app.workflow.StatefulProcessDefinition"
@@ -22,12 +22,12 @@
permission="zope.workflow.ManageProcessDefinitions"
interface="zope.app.container.interfaces.IReadContainer"
/>
-</content>
+</class>
<!-- States Container -->
-<content class=".definition.StatesContainer">
+<class class=".definition.StatesContainer">
<factory
id="zope.app.workflow.StatefulStatesContainer"
/>
@@ -38,11 +38,11 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
-</content>
+</class>
<!-- State -->
-<content class=".definition.State">
+<class class=".definition.State">
<factory
id="zope.app.workflow.StatefulState"
/>
@@ -54,15 +54,16 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
-</content>
+</class>
-<vocabulary
+<utility
+ component=".definition.StateNamesVocabulary"
name="Workflow State Names"
- factory=".definition.StateNamesVocabulary" />
+ />
<!-- Transitions Container -->
-<content class=".definition.TransitionsContainer">
+<class class=".definition.TransitionsContainer">
<factory
id="zope.app.workflow.StatefulTransitionsContainer"
/>
@@ -73,11 +74,11 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
-</content>
+</class>
<!-- Transition -->
-<content class=".definition.Transition">
+<class class=".definition.Transition">
<factory
id="zope.app.workflow.StatefulTransition"
/>
@@ -89,11 +90,11 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
-</content>
+</class>
<!-- ContentWorkflowsManager -->
-<content
+<class
class=".contentworkflow.ContentWorkflowsManager">
<factory
id="zope.app.workflow.ContentWorkflowsManager"
@@ -111,7 +112,7 @@
interface=".interfaces.IContentWorkflowsManager"
attributes="cpRegistry"
/>
-</content>
+</class>
<class class=".instance.StatefulProcessInstance">
<require
Modified: Zope3/trunk/src/zope/app/workflow/stateful/definition.py
===================================================================
--- Zope3/trunk/src/zope/app/workflow/stateful/definition.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/workflow/stateful/definition.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -18,7 +18,7 @@
from persistent import Persistent
from persistent.dict import PersistentDict
-from zope.interface import implements
+from zope.interface import implements, classProvides
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
from zope.security.checker import CheckerPublic
@@ -26,6 +26,7 @@
from zope.app.container.contained import Contained, containedEvent
from zope.event import notify
from zope.app.event.objectevent import ObjectEvent, modified
+from zope.app.schema.interfaces import IVocabularyFactory
from zope.app.workflow.definition import ProcessDefinition
from zope.app.workflow.definition import ProcessDefinitionElementContainer
from zope.app.workflow.stateful.interfaces import IStatefulProcessDefinition
@@ -53,6 +54,7 @@
class StateNamesVocabulary(SimpleVocabulary):
"""Vocabulary providing the names of states in a local process definition.
"""
+ classProvides(IVocabularyFactory)
def __init__(self, context):
terms = [SimpleTerm(name) for name in self._getStateNames(context)]
@@ -102,8 +104,8 @@
class StatefulProcessDefinition(ProcessDefinition):
"""Stateful workflow process definition."""
-
implements(IStatefulProcessDefinition, IReadContainer)
+ classProvides(IVocabularyFactory)
def __init__(self):
super(StatefulProcessDefinition, self).__init__()
Modified: Zope3/trunk/src/zope/app/workflow/stateful/testobject.zcml
===================================================================
--- Zope3/trunk/src/zope/app/workflow/stateful/testobject.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/workflow/stateful/testobject.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -3,7 +3,7 @@
<interface interface=".testobject.IWorkflowData"/>
- <content class=".testobject.TestObject">
+ <class class=".testobject.TestObject">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"/>
@@ -21,6 +21,6 @@
interface=".testobject.ITestObject"
set_schema=".testobject.ITestObject" />
- </content>
+ </class>
</configure>
Modified: Zope3/trunk/src/zope/app/zptpage/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/zptpage/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/app/zptpage/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -8,7 +8,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".zptpage.ZPTPage">
+ <class class=".zptpage.ZPTPage">
<factory
id="zope.app.content.ZPTPage"
title="ZPT Page"
@@ -30,7 +30,7 @@
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable"
/>
- </content>
+ </class>
<adapter
for="zope.app.folder.interfaces.IFolder"
Copied: Zope3/trunk/src/zope/modulealias/README.txt (from rev 66067, Zope3/branches/philikon-reduce-zcml/src/zope/modulealias/README.txt)
Modified: Zope3/trunk/src/zope/modulealias/metaconfigure.py
===================================================================
--- Zope3/trunk/src/zope/modulealias/metaconfigure.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/modulealias/metaconfigure.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -25,11 +25,16 @@
__docformat__ = 'restructuredtext'
import sys
import types
+import warnings
class ModuleAliasException(Exception):
pass
def define_module_alias(_context, module, alias):
+ warnings.warn_explicit(
+ "The 'modulealais' directive has been deprecated and will be "
+ "removed in Zope 3.5. Manipulate sys.modules manually instead.",
+ DeprecationWarning, _context.info.file, _context.info.line)
_context.action(
discriminator = None,
callable = alias_module,
@@ -49,4 +54,3 @@
'"alias" module %s already exists in sys.modules' % alias)
sys.modules[alias] = module_ob
-
Modified: Zope3/trunk/src/zope/modulealias/tests/test_modulealias.py
===================================================================
--- Zope3/trunk/src/zope/modulealias/tests/test_modulealias.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zope/modulealias/tests/test_modulealias.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,6 +17,7 @@
"""
import unittest
import sys
+import warnings
from zope.configuration import xmlconfig
from zope.configuration.config import ConfigurationContext
# math is imported as an example module to test with
@@ -37,15 +38,22 @@
class Test(unittest.TestCase):
+
def setUp(self):
self.keys = sys.modules.keys()
+ def ignorewarning(message, category, filename, lineno, file=None):
+ pass
+ warnings.showwarning = ignorewarning
+
def tearDown(self):
keys = sys.modules.keys()
for key in keys:
if key not in self.keys:
del sys.modules[key]
-
+
+ warnings.resetwarnings()
+
def test_definemodulealias(self):
context = ConfigurationContext()
from zope.modulealias.metaconfigure import alias_module
Modified: Zope3/trunk/src/zwiki/__init__.py
===================================================================
--- Zope3/trunk/src/zwiki/__init__.py 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zwiki/__init__.py 2006-03-19 16:27:42 UTC (rev 66068)
@@ -17,3 +17,7 @@
"""
from zope.i18nmessageid import MessageFactory
ZWikiMessageFactory = MessageFactory("zwiki")
+
+# BBB
+import sys
+sys.modules['zope.app.wiki'] = sys.modules[__name__]
Modified: Zope3/trunk/src/zwiki/configure.zcml
===================================================================
--- Zope3/trunk/src/zwiki/configure.zcml 2006-03-19 10:54:17 UTC (rev 66067)
+++ Zope3/trunk/src/zwiki/configure.zcml 2006-03-19 16:27:42 UTC (rev 66068)
@@ -7,9 +7,6 @@
i18n_domain="zwiki"
>
- <!-- Backward compatibility -->
- <modulealias module="zwiki" alias="zope.app.wiki" />
-
<!-- Security definitions -->
<role
@@ -89,7 +86,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".wiki.Wiki">
+ <class class=".wiki.Wiki">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -115,7 +112,7 @@
permission="zwiki.AddWikiPage"
interface="zope.app.container.interfaces.IWriteContainer"/>
- </content>
+ </class>
<!-- Mail Subscriptions support -->
<adapter
@@ -144,7 +141,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".wikipage.WikiPage">
+ <class class=".wikipage.WikiPage">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -161,7 +158,7 @@
permission="zwiki.AddWikiPage"
set_schema=".interfaces.IWikiPage" />
- </content>
+ </class>
<adapter
factory=".wikipage.WikiPageHierarchyAdapter"
@@ -189,7 +186,7 @@
type="zope.app.content.interfaces.IContentType"
/>
- <content class=".comment.Comment">
+ <class class=".comment.Comment">
<implements
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
@@ -205,7 +202,7 @@
permission="zwiki.CommentWikiPage"
set_schema=".interfaces.IComment" />
- </content>
+ </class>
<adapter
for=".interfaces.IComment"
More information about the Zope3-Checkins
mailing list