[Checkins] SVN: zope.app.fssync/trunk/ Added the zsync client,
a README.txt, and a demo app.
Uwe Oestermeier
u.oestermeier at iwm-kmrc.de
Wed Sep 19 10:20:03 EDT 2007
Log message for revision 79749:
Added the zsync client, a README.txt, and a demo app.
Changed:
A zope.app.fssync/trunk/README.txt
U zope.app.fssync/trunk/buildout.cfg
U zope.app.fssync/trunk/setup.py
A zope.app.fssync/trunk/src/zope/app/fssync/application.zcml
-=-
Added: zope.app.fssync/trunk/README.txt
===================================================================
--- zope.app.fssync/trunk/README.txt (rev 0)
+++ zope.app.fssync/trunk/README.txt 2007-09-19 14:20:02 UTC (rev 79749)
@@ -0,0 +1,56 @@
+******
+FSSync
+******
+
+.. contents::
+
+The FSSync project (zope.app.fssync) provides support for filesystem
+synchronization of Zope3 content that resides in a ZODB. This package defines
+a Web-based API with basic support for some standard zope.app content
+types and the standard security policy.
+
+This project is build on top of the more general zope.fssync package which
+provides object serialization and deserialization tools. If you need a pure
+Python API which is independent of the ZODB and the Zope3 security machinery you
+should look at zope.fssync.
+
+FSSync includes a command line client that resembles svn or cvs. Type
+
+ bin/zsync help
+
+for available commands and further information. If you want to see the zsync
+client in action you can run the demo application
+
+ bin/demo -fg
+
+Add a 'demo' folder and some files within this folder via the ZMI. After that
+run
+
+ bin/zsync checkout http://zsync:zsync@localhost:8080/demo ./parts/checkout
+
+Edit a file in the checkout directory and run
+
+ bin/zsync commit ./parts/checkout
+
+The modified file should now be available on the server.
+
+
+Extending zsync
+---------------
+
+The zsync script is generated by the following part of the buildout.cfg::
+
+ [zsync]
+ recipe = zc.recipe.egg
+ eggs = zope.app.fssync
+ entry-points = zsync=zope.app.fssync.main:main
+
+If you want to use zope.app.fssync in your own application you propably have
+to define application specific serializers and deserializers. See
+
+ zope/app/fssync/fssync.txt
+
+for further documentation. You probably also need your own zsync script with
+additional dependencies. Simply add the necessary eggs to the corresponding
+buildout snippet of your project.
+
Modified: zope.app.fssync/trunk/buildout.cfg
===================================================================
--- zope.app.fssync/trunk/buildout.cfg 2007-09-19 13:26:54 UTC (rev 79748)
+++ zope.app.fssync/trunk/buildout.cfg 2007-09-19 14:20:02 UTC (rev 79749)
@@ -1,10 +1,29 @@
[buildout]
develop = .
-parts = test
+parts = demo test zsync
-find-links = http://download.zope.org/distribution/
+[zope3]
+location = .
+[demo]
+recipe = zc.zope3recipes:instance
+application = zsync-demo-app
+zope.conf = ${database:zconfig}
+
[test]
recipe = zc.recipe.testrunner
eggs = zope.app.fssync
defaults = ['--tests-pattern', '^f?tests$', '-v']
+
+[zsync-demo-app]
+recipe = zc.zope3recipes:app
+site.zcml = <include package="zope.app.fssync" file="application.zcml"/>
+eggs = zope.app.fssync [app]
+
+[zsync]
+recipe = zc.recipe.egg
+eggs = zope.app.fssync
+entry-points = zsync=zope.app.fssync.main:main
+
+[database]
+recipe = zc.recipe.filestorage
Modified: zope.app.fssync/trunk/setup.py
===================================================================
--- zope.app.fssync/trunk/setup.py 2007-09-19 13:26:54 UTC (rev 79748)
+++ zope.app.fssync/trunk/setup.py 2007-09-19 14:20:02 UTC (rev 79749)
@@ -3,38 +3,53 @@
from setuptools import setup, find_packages, Extension
setup(name='zope.app.fssync',
- version = '3.4.0b1',
- url='http://svn.zope.org/zope.app.fssync',
- license='ZPL 2.1',
- description='Zope app fssync',
- author='Zope Corporation and Contributors',
- author_email='zope3-dev at zope.org',
- long_description="Filesystem synchronization for Zope 3 Applications.",
-
- packages=find_packages('src'),
- package_dir = {'': 'src'},
-
- namespace_packages=['zope',],
- tests_require = ['zope.testing'],
- install_requires=['setuptools',
- 'zope.dublincore',
- 'zope.fssync',
- 'zope.interface',
- 'zope.proxy',
- 'zope.testbrowser',
- 'zope.traversing',
- 'zope.xmlpickle',
- 'zope.app.catalog',
- 'zope.app.component',
- 'zope.app.dtmlpage',
- 'zope.app.file',
- 'zope.app.folder',
- 'zope.app.module',
- 'zope.app.securitypolicy',
- 'zope.app.zcmlfiles',
- 'zope.app.zptpage'
- ],
- include_package_data = True,
-
- zip_safe = False,
- )
+ version = '3.4.0b1',
+ url='http://svn.zope.org/zope.app.fssync',
+ license='ZPL 2.1',
+ description='Zope app fssync',
+ author='Zope Corporation and Contributors',
+ author_email='zope3-dev at zope.org',
+ long_description="Filesystem synchronization for Zope 3 Applications.",
+
+ packages=find_packages('src'),
+ package_dir = {'': 'src'},
+
+ namespace_packages=['zope',],
+ tests_require = ['zope.testing'],
+ extras_require = dict(
+ app = ['zope.app.appsetup',
+ 'zope.app.authentication',
+ 'zope.app.component',
+ 'zope.app.container',
+ 'zope.app.error',
+ 'zope.app.form',
+ 'zope.app.publisher',
+ 'zope.app.publication',
+ 'zope.app.security',
+ 'zope.app.securitypolicy',
+ 'zope.app.twisted',
+ 'zope.app.wsgi',
+ ]
+ ),
+ install_requires=['setuptools',
+ 'zope.dublincore',
+ 'zope.fssync',
+ 'zope.interface',
+ 'zope.proxy',
+ 'zope.testbrowser',
+ 'zope.traversing',
+ 'zope.xmlpickle',
+ 'zope.app.catalog',
+ 'zope.app.component',
+ 'zope.app.dtmlpage',
+ 'zope.app.file',
+ 'zope.app.folder',
+ 'zope.app.module',
+ 'zope.app.securitypolicy',
+ 'zope.app.zcmlfiles',
+ 'zope.app.zptpage'
+ ],
+ include_package_data = True,
+
+ zip_safe = False,
+ )
Added: zope.app.fssync/trunk/src/zope/app/fssync/application.zcml
===================================================================
--- zope.app.fssync/trunk/src/zope/app/fssync/application.zcml (rev 0)
+++ zope.app.fssync/trunk/src/zope/app/fssync/application.zcml 2007-09-19 14:20:02 UTC (rev 79749)
@@ -0,0 +1,72 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ i18n_domain="zope"
+ package="zope.app.fssync"
+ >
+
+ <!-- This file is the equivalent of site.zcml and it is -->
+ <!-- used for the demo setup -->
+
+ <include package="zope.app.securitypolicy" file="meta.zcml" />
+
+ <include package="zope.app.zcmlfiles" />
+ <include package="zope.app.authentication" />
+ <include package="zope.app.securitypolicy" />
+
+ <include package="zope.app.twisted" />
+ <include package="zope.app.wsgi" />
+
+ <include package="zope.app.file"/>
+ <include package="zope.app.folder"/>
+ <include package="zope.app.fssync.file"/>
+ <include package="zope.app.fssync.folder"/>
+ <include package="zope.app.fssync.dublincore"/>
+ <include package="zope.app.fssync"/>
+
+ <securityPolicy
+ component="zope.app.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
+
+ <role id="zope.Anonymous" title="Everybody"
+ description="All users have this role implicitly" />
+ <role id="zope.Manager" title="Site Manager" />
+ <role id="zope.Member" title="Member" />
+
+
+ <!-- Permissions for the readonly example in security.txt -->
+
+ <permission id="zope.fssync.Serialize" title="Access to serializers" />
+ <permission id="zope.fssync.Deserialize" title="Access to deserializers" />
+
+ <class class="zope.app.fssync.file.adapter.FileSynchronizer">
+
+ <require
+ permission="zope.fssync.Deserialize"
+ interface="zope.fssync.interfaces.IFileDeserializer" />
+
+ </class>
+
+
+ <!-- Replace the following directive if you don't want public access -->
+ <grant permission="zope.View"
+ role="zope.Anonymous" />
+ <grant permission="zope.app.dublincore.view"
+ role="zope.Anonymous" />
+
+ <grantAll role="zope.Manager" />
+
+ <!-- Principals -->
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User" />
+
+ <!-- Principal for demo -->
+ <principal
+ id="zope.zsync"
+ title="Manager"
+ login="zsync"
+ password="zsync" />
+
+ <grant role="zope.Manager" principal="zope.zsync" />
+
+</configure>
More information about the Checkins
mailing list