Skip to main content
File added late

1 file was added to this release more than 14 days after its initial publication. Inspect the release files before installing.

File Synchronization for Zope3

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 start

Open http://localhost:8080/manage in your browser and login with zsync as your username and password. Add a demo folder with some files via the ZMI. After that run the command line client for an initial checkout:

bin/zsync checkout http://zsync:zsync@localhost:8080/demo ./parts/checkout

Edit one of the files in the checkout directory and commit the changes:

bin/zsync commit ./parts/checkout

The modified file should now be available on the server.

SSH

Zsync now supports communication over ssh in addition to http. ssh urls look like:

zsync+ssh://user:passwd@host:port/path

The zsync protocol is the same as over HTTP, it simply is sent via ssh.

On the server side, the ssh server can check public keys to enforce security (though the demo server doesn’t bother), and is responsible for passing the zsync request to zope and returning the response over ssh.

There is an example ssh server in src/zope/app/fssync/demo_server.py To use it, first make sure that zope is running. Then start the server:

sudo bin/demo-ssh-server

This starts a demo ssh server on port 2200. The server must be run as root in order to read the ssh host keys.

In another terminal use the zsync client to connect to it:

bin/zsync co zsync+ssh://zsync:zsync@localhost:2200/demo parts/co2

This checks out the demo folder into the parts/co2 folder.

You should be able to work in the check out normally. Zsync will use ssh to communicate, but will otherwise act normally.

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.

Changes

3.6

  • The ssh transport now looks for known_hosts in an application specific file, as well as the normal known_hosts file and in the user’s Agent. This file is ~/.ssh/fssync_known_hosts if POSIX and ~/ssh/fssync_known_hosts if win32.

  • BUGFIX: The ssh transport now will prompt the user if he wishes to use an unrecognized hostkey. If he says ‘yes’, it will be added to the fssync known_hosts file. if he says ‘no’, an exception is raised.

  • BUGFIX: If the user’s public key is encrypted, fssync will prompt for a password.

3.5

  • Added -v –verbose switches to zsync status command. Verbose is off by default.

  • Added support for avoiding conflicts after commiting metadata files.

  • Added ‘resolved’ as an alias for the ‘resolve’ command.

  • Added a ‘merge’ command. It allows merging changes from one checkout to another.

  • Added ssh network transport. The client can now use zsync+ssh:// urls to communicate with the server.

Release files for zope.app.fssync 3.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

File added late

1 file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for zope.app.fssync 3.6.0
File Size Uploaded
zope.app.fssync-3.6.0.tar.gz 50.3 kB Details

Release files / zope.app.fssync-3.6.0.tar.gz

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL zope.app.fssync-3.6.0.tar.gz
Size 50.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0b8d19c88e164271cc51f2418ef3f604de2a72d0d2da80a083e8e7c440ca332c
BLAKE2b-256 checksum
How to use checksums
fcd48cc68863d1dddd8a7d68b76fc8085d3a069bf6dd12b91016b79146e2b234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

3.6.0 This release

1 release file

3.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page