[Checkins] SVN: Sandbox/nadako/zopesandbox/ Initial import.
Dan Korostelev
nadako at gmail.com
Sun Feb 1 18:28:49 EST 2009
Log message for revision 95949:
Initial import.
Changed:
_U Sandbox/nadako/zopesandbox/
A Sandbox/nadako/zopesandbox/bootstrap.py
A Sandbox/nadako/zopesandbox/buildout.cfg
A Sandbox/nadako/zopesandbox/setup.py
A Sandbox/nadako/zopesandbox/src/
A Sandbox/nadako/zopesandbox/src/zopesandbox/
A Sandbox/nadako/zopesandbox/src/zopesandbox/__init__.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/configure.zcml
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/README.txt
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/__init__.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/README.txt
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/__init__.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/configure.zcml
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/document.pt
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/tests.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/configure.zcml
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/document.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/ftesting.zcml
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/interfaces.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/testing.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/document/tests.py
A Sandbox/nadako/zopesandbox/src/zopesandbox/principals.zcml
A Sandbox/nadako/zopesandbox/src/zopesandbox/securitypolicy.zcml
A Sandbox/nadako/zopesandbox/var/
-=-
Property changes on: Sandbox/nadako/zopesandbox
___________________________________________________________________
Added: svn:ignore
+ bin
parts
.installed.cfg
.project
.pydevproject
Added: Sandbox/nadako/zopesandbox/bootstrap.py
===================================================================
--- Sandbox/nadako/zopesandbox/bootstrap.py (rev 0)
+++ Sandbox/nadako/zopesandbox/bootstrap.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id: bootstrap.py 73774 2007-03-27 15:11:34Z dobe $
+"""
+
+import os, shutil, sys, tempfile, urllib2
+
+tmpeggs = tempfile.mkdtemp()
+
+ez = {}
+exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+ ).read() in ez
+ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+import pkg_resources
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+if sys.platform == 'win32':
+ cmd = '"%s"' % cmd # work around spawn lamosity on windows
+
+ws = pkg_resources.working_set
+assert os.spawnle(
+ os.P_WAIT, sys.executable, sys.executable,
+ '-c', cmd, '-mqNxd', tmpeggs, 'zc.buildout',
+ dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout')
+import zc.buildout.buildout
+zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
+shutil.rmtree(tmpeggs)
Added: Sandbox/nadako/zopesandbox/buildout.cfg
===================================================================
--- Sandbox/nadako/zopesandbox/buildout.cfg (rev 0)
+++ Sandbox/nadako/zopesandbox/buildout.cfg 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,45 @@
+[buildout]
+extends = http://download.zope.org/zope3.4/3.4.0/versions.cfg
+versions = versions
+develop = .
+parts = application instance test python pydev
+
+[application]
+recipe = zc.zope3recipes:application
+eggs = zopesandbox
+site.zcml =
+ <include package="zopesandbox" />
+ <configure xmlns:mail="http://namespaces.zope.org/mail">
+ <mail:queuedDelivery
+ permission="zope.SendMail"
+ queuePath="${buildout:directory}/var/mail-queue"
+ mailer="smtp"
+ />
+ </configure>
+
+[instance]
+recipe = zc.zope3recipes:instance
+application = application
+zope.conf =
+ devmode on
+ <zodb>
+ <blobstorage>
+ blob-dir ${buildout:directory}/var/blobs
+ <filestorage>
+ path ${buildout:directory}/var/Data.fs
+ </filestorage>
+ </blobstorage>
+ </zodb>
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = zopesandbox
+
+[python]
+recipe = zc.recipe.egg
+eggs = zopesandbox
+interpreter = python
+
+[pydev]
+recipe = pb.recipes.pydev
+eggs = zopesandbox
Added: Sandbox/nadako/zopesandbox/setup.py
===================================================================
--- Sandbox/nadako/zopesandbox/setup.py (rev 0)
+++ Sandbox/nadako/zopesandbox/setup.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,21 @@
+from setuptools import setup, find_packages
+
+setup(
+ name='zopesandbox',
+ package_dir={'': 'src'},
+ packages=find_packages('src'),
+ include_package_data=True,
+ install_requires=[
+ 'zope.app.zcmlfiles',
+ 'zope.app.authentication',
+ 'zope.app.securitypolicy',
+ 'zope.app.catalog',
+ 'zope.app.twisted',
+ 'zope.app.undo',
+ 'zope.app.apidoc',
+ 'zope.app.homefolder',
+ 'zope.app.file',
+ 'zope.sendmail',
+ 'zope.viewlet',
+ ],
+)
Property changes on: Sandbox/nadako/zopesandbox/src
___________________________________________________________________
Added: svn:ignore
+ zopesandbox.egg-info
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/configure.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/configure.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/configure.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,56 @@
+<configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
+
+ <!-- Common includes -->
+ <include package="zope.app.zcmlfiles" />
+ <include package="zope.formlib" />
+
+ <!-- Pluggable authentication -->
+ <include package="zope.app.authentication" />
+ <include package="zope.session" />
+
+ <!-- Undo -->
+ <include package="zope.app.undo" />
+
+ <!-- Cataloging -->
+ <include package="zope.app.keyreference" />
+ <include package="zope.app.intid" />
+ <include package="zope.app.catalog" />
+
+ <!-- Web server -->
+ <include package="zope.app.twisted" />
+
+ <!-- Mail sending -->
+ <include package="zope.sendmail" file="meta.zcml" />
+ <include package="zope.sendmail" />
+
+ <!-- Content provider and viewlet mechanisms -->
+ <include package="zope.contentprovider" />
+ <include package="zope.viewlet" file="meta.zcml" />
+ <include package="zope.viewlet" />
+
+ <!-- Some content & user stuff -->
+ <include package="zope.app.file" />
+ <include package="zope.app.homefolder" />
+
+ <!-- APIDoc and online help -->
+ <include package="zope.app.tree" />
+ <include package="zope.app.renderer" />
+ <include package="zope.app.preference" file="meta.zcml" />
+ <include package="zope.app.preference" />
+ <include package="zope.app.onlinehelp" file="meta.zcml" />
+ <include package="zope.app.onlinehelp" />
+ <include package="zope.app.apidoc" file="meta.zcml" />
+ <include package="zope.app.apidoc" />
+
+ <!-- Granting views for zope.securitypolicy -->
+ <include package="zope.app.securitypolicy" />
+
+ <adapter factory="zope.app.security.LogoutSupported" />
+
+ <!-- Our own package -->
+ <include package=".document" />
+
+ <include file="securitypolicy.zcml" />
+ <include file="principals.zcml" />
+
+</configure>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/README.txt
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/README.txt (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/README.txt 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,29 @@
+=========
+Documents
+=========
+
+This package provides a simple implementation of document content
+type. Documents have title, short description and body text. The
+latter one can contain HTML tags to be rendered as is.
+
+ >>> from zopesandbox.document.interfaces import IDocument
+ >>> from zopesandbox.document.document import Document
+ >>> from zope.interface.verify import verifyObject
+
+ >>> doc = Document()
+ >>> verifyObject(IDocument, doc)
+ True
+
+ >>> doc.title = u'Main page'
+ >>> doc.description = u'This is the front page of our website'
+ >>> doc.body = u'<h2>Welcome</h2><p>You are visiting http://foo.com/</p>'
+
+Also, the document's title and description are its Dublin Core unqualified
+title and description at the same time.
+
+ >>> from zope.dublincore.interfaces import IDCDescriptiveProperties
+ >>> dc = IDCDescriptiveProperties(doc)
+ >>> dc.title
+ u'Main page'
+ >>> dc.description
+ u'This is the front page of our website'
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/README.txt
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/README.txt (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/README.txt 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,47 @@
+Here we test simple add/edit/view workflow just like the user does that.
+
+Let's create a test browser and load contents.html view for the root.
+
+ >>> from zope.testbrowser.testing import Browser
+ >>> browser = Browser()
+ >>> browser.handleErrors = False
+ >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+ >>> browser.open('http://localhost/@@contents.html')
+
+Let's locate and click the "Document" link on the add menu.
+
+ >>> browser.getLink('Document').click()
+
+We should get an adding form:
+
+ >>> browser.url
+ 'http://localhost/+/zopesandbox.Document='
+
+ >>> print browser.contents
+ <!DOCTYPE html PUBLIC...
+ ...<input...id="field.title" name="field.title".../>...
+ ...<textarea...id="field.description" name="field.description"...></textarea>...
+ ...<textarea...id="field.body" name="field.body"...></textarea>...
+
+Let's fill and click the "Add" button.
+
+ >>> browser.getControl('Title').value = u'Main page'
+ >>> browser.getControl('Description').value = u'This is a site root'
+ >>> browser.getControl('Body text').value = u'<h2>Welcome</h2>'
+ >>> browser.getControl(name='add_input_name').value = 'front-page'
+ >>> browser.getControl('Add').click()
+
+Now, our new document, named "front-page" is listed in contents.html.
+
+ >>> browser.url
+ 'http://localhost/@@contents.html'
+
+ >>> 'front-page' in browser.contents
+ True
+
+We get the edit form when clicking on the object's name:
+
+ >>> browser.getLink('front-page').click()
+ >>> browser.url
+ 'http://localhost/front-page/@@edit.html'
+
\ No newline at end of file
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/configure.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/configure.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/configure.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,35 @@
+<configure xmlns:browser="http://namespaces.zope.org/browser" i18n_domain="zope">
+
+ <browser:addMenuItem
+ title="Document"
+ class="..document.Document"
+ permission="zope.ManageContent"
+ view="zopesandbox.Document"
+ />
+
+ <browser:addform
+ name="zopesandbox.Document"
+ permission="zope.ManageContent"
+ schema="..interfaces.IDocument"
+ content_factory="..document.Document"
+ />
+
+ <browser:editform
+ for="..interfaces.IDocument"
+ name="edit.html"
+ permission="zope.ManageContent"
+ schema="..interfaces.IDocument"
+ menu="zmi_views"
+ title="Edit"
+ />
+
+ <browser:page
+ for="..interfaces.IDocument"
+ name="index.html"
+ permission="zope.View"
+ template="document.pt"
+ menu="zmi_views"
+ title="View"
+ />
+
+</configure>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/document.pt
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/document.pt (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/document.pt 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,19 @@
+<html metal:use-macro="context/@@standard_macros/view">
+<body>
+
+ <div metal:fill-slot="body">
+
+ <h1 tal:content="context/title">Document Title</h1>
+
+ <p tal:condition="context/description" tal:content="context/description">
+ Short description
+ </p>
+
+ <div tal:content="structure context/body">
+ Document body text
+ </div>
+
+ </div>
+
+</body>
+</html>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/tests.py
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/tests.py (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/browser/tests.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,12 @@
+import unittest
+from zope.testing import doctest
+from zope.app.testing.functional import FunctionalDocFileSuite
+
+from zopesandbox.document.testing import DocumentLayer
+
+def test_suite():
+ readme = FunctionalDocFileSuite('README.txt', optionflags=doctest.ELLIPSIS)
+ readme.layer = DocumentLayer
+ return unittest.TestSuite((
+ readme,
+ ))
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/configure.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/configure.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/configure.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,34 @@
+<configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
+
+ <interface
+ interface=".interfaces.IDocument"
+ type="zope.app.content.interfaces.IContentType"
+ />
+
+ <class class=".document.Document">
+ <require
+ permission="zope.View"
+ interface=".interfaces.IDocument"
+ />
+ <require
+ permission="zope.ManageContent"
+ set_schema=".interfaces.IDocument"
+ />
+ </class>
+
+ <!-- Custom Dublin Core adapter that reuses title and description -->
+ <class class=".document.DocumentDublinCore">
+ <require
+ like_class="zope.dublincore.annotatableadapter.ZDCAnnotatableAdapter"
+ />
+ </class>
+ <adapter
+ factory=".document.DocumentDublinCore"
+ for=".interfaces.IDocument"
+ provides="zope.dublincore.interfaces.IWriteZopeDublinCore"
+ trusted="True"
+ />
+
+ <include package=".browser" />
+
+</configure>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/document.py
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/document.py (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/document.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,20 @@
+from persistent import Persistent
+from zope.app.container.contained import Contained
+from zope.annotation.interfaces import IAttributeAnnotatable
+from zope.dublincore.annotatableadapter import partialAnnotatableAdapterFactory
+from zope.interface import implements
+from zope.schema.fieldproperty import FieldProperty
+
+from zopesandbox.document.interfaces import IDocument
+
+class Document(Contained, Persistent):
+
+ implements(IDocument, IAttributeAnnotatable)
+
+ title = FieldProperty(IDocument['title'])
+ description = FieldProperty(IDocument['description'])
+ body = FieldProperty(IDocument['body'])
+
+# Custom dublin core adapter that reuses title and description,
+# declared in the IDocument interface.
+DocumentDublinCore = partialAnnotatableAdapterFactory(('title', 'description'))
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/ftesting.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/ftesting.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/ftesting.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,36 @@
+<configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
+
+ <include package="zope.app.zcmlfiles" />
+ <include package="zope.formlib" />
+ <include package="zope.securitypolicy" file="meta.zcml" />
+ <include package="zope.app.securitypolicy" />
+ <include package="zope.app.authentication" />
+
+ <include package="zopesandbox.document" />
+
+ <securityPolicy component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
+
+ <role id="zope.Anonymous" title="Everybody" description="All users have this role implicitly" />
+ <role id="zope.Manager" title="Site Manager" />
+ <grantAll role="zope.Manager" />
+ <include package="zope.app.securitypolicy.tests" file="functional.zcml" />
+
+ <unauthenticatedGroup id="zope.Anybody" title="Unauthenticated Users" />
+
+ <principal
+ id="zope.mgr"
+ title="Manager"
+ login="mgr"
+ password="mgrpw"
+ />
+
+ <!-- Bootstrap principal used to make local grant to the principal above -->
+ <principal
+ id="zope.globalmgr"
+ title="Manager"
+ login="globalmgr"
+ password="globalmgrpw" />
+
+ <grant role="zope.Manager" principal="zope.globalmgr" />
+
+</configure>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/interfaces.py
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/interfaces.py (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/interfaces.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,8 @@
+from zope.interface import Interface
+from zope.schema import Text, TextLine
+
+class IDocument(Interface):
+
+ title = TextLine(title=u'Title', required=True)
+ description = Text(title=u'Description', required=False)
+ body = Text(title=u'Body text', required=False)
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/testing.py
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/testing.py (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/testing.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,18 @@
+import os
+
+from zope.app.testing import setup
+from zope.app.testing.functional import ZCMLLayer
+from zope.component import provideAdapter
+from zope.dublincore.interfaces import IWriteZopeDublinCore
+
+from zopesandbox.document.interfaces import IDocument
+from zopesandbox.document.document import DocumentDublinCore
+
+DocumentLayer = ZCMLLayer(os.path.join(os.path.dirname(__file__), 'ftesting.zcml'), __name__, 'DocumentLayer')
+
+def setUp(test):
+ setup.placefulSetUp()
+ provideAdapter(DocumentDublinCore, (IDocument,), IWriteZopeDublinCore)
+
+def tearDown(test):
+ setup.placefulTearDown()
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/document/tests.py
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/document/tests.py (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/document/tests.py 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,11 @@
+import unittest
+from zope.testing import doctest
+
+from zopesandbox.document import testing
+
+def test_suite():
+ return unittest.TestSuite((
+ doctest.DocFileSuite('README.txt',
+ setUp=testing.setUp,
+ tearDown=testing.tearDown),
+ ))
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/principals.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/principals.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/principals.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,15 @@
+<configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
+
+ <principal
+ id="zope.manager"
+ title="Manager"
+ login="admin"
+ password_manager="Plain Text"
+ password="admin"
+ />
+ <grant
+ role="zope.Manager"
+ principal="zope.manager"
+ />
+
+</configure>
Added: Sandbox/nadako/zopesandbox/src/zopesandbox/securitypolicy.zcml
===================================================================
--- Sandbox/nadako/zopesandbox/src/zopesandbox/securitypolicy.zcml (rev 0)
+++ Sandbox/nadako/zopesandbox/src/zopesandbox/securitypolicy.zcml 2009-02-01 23:28:49 UTC (rev 95949)
@@ -0,0 +1,53 @@
+<configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
+
+ <include package="zope.securitypolicy" file="meta.zcml" />
+ <include package="zope.securitypolicy" />
+
+ <securityPolicy component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+
+ <unauthenticatedGroup
+ id="zope.Anybody"
+ title="Unauthenticated Users"
+ />
+
+ <authenticatedGroup
+ id="zope.Authenticated"
+ title="Authenticated Users"
+ />
+
+ <everybodyGroup
+ id="zope.Everybody"
+ title="All Users"
+ />
+
+ <role
+ id="zope.Anonymous"
+ title="Everybody"
+ description="All users have this role implicitly"
+ />
+ <grant
+ permission="zope.View"
+ role="zope.Anonymous"
+ />
+ <grant
+ permission="zope.app.dublincore.view"
+ role="zope.Anonymous"
+ />
+
+ <role
+ id="zope.Manager"
+ title="Site Manager"
+ />
+ <grantAll role="zope.Manager" />
+
+ <role
+ id="zope.Member"
+ title="Site Member"
+ />
+
+</configure>
Property changes on: Sandbox/nadako/zopesandbox/var
___________________________________________________________________
Added: svn:ignore
+ *
More information about the Checkins
mailing list