{ "info": { "author": "Ingeniweb", "author_email": "support@ingeniweb.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "A tool for synchronize content beetwen plone instance\n=====================================================\n\nHow to install ?\n----------------\n\no In plone3 go to portal_quickinstaller and install collective.synchro\n\no In plone2.5 go to portal_setup , in properties select collective synchro as\nactive configuration and in import click to **Import all steps**\n\nHow it work ?\n-------------\n\nThis tool import content via plugin. By default there is three plugins : fss, zexp and delete\nYou can add and write new plugin (see PLUGIN.txt) for your use case\n\nIt store exported data in file system in order to be reimported in an\nanother instance (or multiple instance). An external program must copy data to an import queue.\nThis egg provide a scripts for ssh transport.\nAdd in your buildout (example of buildout are available in collective/synchro/buildout directory) this part to configure scripts::\n\n [synchro]\n recipe = zc.recipe.egg\n eggs =\n collective.synchro\n\n extra-paths=\n ${instance:location}\n ${zope2:location}/lib/python\n\nThis create in your bin of buildout three scripts :\n\n o bin/create_queue -d PATH, --directory=PATH , create a queue structure\n\n o bin/synchronize_queue -s SOURCE -d DEST , synchronize queue by ssh (via ssh key) (-h for other options)\n\n o bin/import_queue -p PATH , import data from queue (-h for other options)\n\nImportant, the import_queue **must be** run with an zeoclient instance::\n\n >>> bin/instance run bin/import_queue ...\n\n\nThe synchronization is fire by the zope3 event system. There is a generic method\ncall by all events : collective.synchro.events.synchro.\n\nPlugin are choice by event (plugin list for ObjectModified and ObjectRemovedEvent are different).\nThis registry is managed by the synchronization_tool\n\nThe localisation of import is done by queyring a multiadapter that decide where the content\nis reimported. You can change by zca, the localisation of your import content.\n\nThe structure of a queue looks like as this::\n\n ./IMPORT\n ./IMPORT/TO_PROCESS -> all files in order to process\n ./IMPORT/DONE -> file that are synchronized with an EXPORT queue\n ./IMPORT/ERROR -> data in error\n ./IMPORT/PROCESSING -> files are synchronizing with an EXPORT queue\n ./EXPORT\n ./EXPORT/TO_PROCESS -> files that are scheduled to export\n ./EXPORT/DONE -> files that are imported in the instance\n ./EXPORT/ERROR -> files in error\n ./EXPORT/PROCESSING -> files are importing from queue\n\n\nHow to configure the export ?\n-----------------------------\n\nGo to zmi, in portal_synchronisation configure::\n\n o queues : filesystem path (create if don't exits, one queue for one instance)\n\n o expressions : a tal expression that must be true to synchronized content\n\n\nCompatibility\n-------------\n\nThis package is tested in plone2.5 and plone3.1\n\nTODO\n----\n\n o interface to register/unregister plugins in zmi\n\n o callback for imported content\n\n\n\n\n\nChangelog\n=========\n\n1.0.2 - Plone2.5.2 compliant\n----------------------------\n\n* test on Plone2.5.2 with Five 1.4.2\n* reindex object after import\n* fix fss import for Five 1.4.2 \n\n\n1.0.1 - Initial\n---------------\n\n* Add script to synchronized and import content\n* Fix bug in delete plugin (see export.txt)\n\n1.0.0 - Unreleased\n------------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://svn.plone.org/svn/collective/collective.synchro", "keywords": "synchronisation export import plone", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.synchro", "package_url": "https://pypi.org/project/collective.synchro/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.synchro/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://svn.plone.org/svn/collective/collective.synchro" }, "release_url": "https://pypi.org/project/collective.synchro/1.0.2/", "requires_dist": null, "requires_python": null, "summary": "synchronize content between plone instance", "version": "1.0.2" }, "last_serial": 755032, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "6baea267a886873fc1d7edb253efd7ca", "sha256": "aa8b2e54315c94f2ea153f3ceb9da0a0e9e0e397a3f9c61ac821a1cc7f68ff2c" }, "downloads": -1, "filename": "collective.synchro-1.0.1-py2.4.egg", "has_sig": false, "md5_digest": "6baea267a886873fc1d7edb253efd7ca", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 94118, "upload_time": "2008-12-16T16:09:30", "url": "https://files.pythonhosted.org/packages/84/9a/ec1af6683c93efab7f7f41da769bd7b8ad08ad472e157487a8ca07c81dc2/collective.synchro-1.0.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "7c0d649864e25a500b28043ef7969ff5", "sha256": "5e49a40af4f290a21a8e70da03b808d8ca40d0c40da74aadb01648691e220687" }, "downloads": -1, "filename": "collective.synchro-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7c0d649864e25a500b28043ef7969ff5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36419, "upload_time": "2008-12-16T16:09:30", "url": "https://files.pythonhosted.org/packages/d9/e5/5e6b80c94822a8119e995c57f3cff37db49c4fc0a3c4735ebc8712c50f24/collective.synchro-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b7e4f173ce6e2682f15a894adcef4c36", "sha256": "b0ae54d5abcd7fe6f7aaefc46d212cbe6c9f375fea5aa46c0db58ef61c9e72c2" }, "downloads": -1, "filename": "collective.synchro-1.0.2-py2.4.egg", "has_sig": false, "md5_digest": "b7e4f173ce6e2682f15a894adcef4c36", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 94108, "upload_time": "2008-12-17T13:16:04", "url": "https://files.pythonhosted.org/packages/e4/54/de6eb05c48d4ad2cc30e69f68838ca66a35189a5cf72a76bb2b6a4662b53/collective.synchro-1.0.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "3037403760d3d9d3d66c3419f7bf8251", "sha256": "075255ada5a2171903f6f40fb0b960b8357c6ffe25d8ca821539246a0450ac81" }, "downloads": -1, "filename": "collective.synchro-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3037403760d3d9d3d66c3419f7bf8251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36569, "upload_time": "2008-12-17T13:16:02", "url": "https://files.pythonhosted.org/packages/1e/e5/0826e1a9f2608137d9f9475d81883afdc582cca9318c9038b40428348cd7/collective.synchro-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b7e4f173ce6e2682f15a894adcef4c36", "sha256": "b0ae54d5abcd7fe6f7aaefc46d212cbe6c9f375fea5aa46c0db58ef61c9e72c2" }, "downloads": -1, "filename": "collective.synchro-1.0.2-py2.4.egg", "has_sig": false, "md5_digest": "b7e4f173ce6e2682f15a894adcef4c36", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 94108, "upload_time": "2008-12-17T13:16:04", "url": "https://files.pythonhosted.org/packages/e4/54/de6eb05c48d4ad2cc30e69f68838ca66a35189a5cf72a76bb2b6a4662b53/collective.synchro-1.0.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "3037403760d3d9d3d66c3419f7bf8251", "sha256": "075255ada5a2171903f6f40fb0b960b8357c6ffe25d8ca821539246a0450ac81" }, "downloads": -1, "filename": "collective.synchro-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3037403760d3d9d3d66c3419f7bf8251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36569, "upload_time": "2008-12-17T13:16:02", "url": "https://files.pythonhosted.org/packages/1e/e5/0826e1a9f2608137d9f9475d81883afdc582cca9318c9038b40428348cd7/collective.synchro-1.0.2.tar.gz" } ] }