{ "info": { "author": "Dylan Jay", "author_email": "software@pretaweb.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. contents :: :local:\n\nIntroduction\n--------------\n\n*transmogrifier.ploneremote* is package of transmogrifier blueprints for \nuploading content via Zope XML-RPC API to a Plone site.\n\nPlone site does not need any modifications, but vanilla Zope XML-RPC is used.\n\nUsage\n-----\n\nFive different blueprints are provided.\n\nCommon Options\n==============\n\ntarget\n Url of Plone folder to upload content. You will need to include the username and\n password using the url syntax. e.g. http://user:password@site.com/folder.\n If you'd prefer not to hardcode your password in a pipeline.cfg you can use\n `mr.migrator` which lets you override your pipeline using the commandline.\n\npath-key\n Which blueprint item dictionary key is used to extract the remote path information\n or the item. Default value *path* .\n\n\ntransmogrify.ploneremote.constructor\n====================================\n\nDrop in replacement for constructor that will use xmlprc calls to construct content on a remote plone site\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\n:type-key:\n Key of the field with item type to create. Defaults to 'type','portal_type', 'Type','_type'\n\n:creation-key:\n Key of the field to determine if item should be created. Defaults to '_creation_flag'\n\n:alias-key:\n Key of the field with a path of where the original content was found such as by\n `transmogrifier.webcrawler`. `transmogrify.ploneremote.remoteredirector` will set\n this path as an alias which allows the constructor to find the same content if\n it is run a second time even if a the items desired path has changed. Defaults\n to '_origin_path'.\n\n:create-condition:\n TAL expression to determine if item should be added. Defaults to 'python:True'\n\n:move-condition:\n If the content has already been uploaded and then moved this TAL expression\n will determine if the content should be moved back. Default is 'python:True'\n\n:remove-condition:\n If the content has already been uploaded and is of a different type this\n TAL expression will determine if the item can be removed and recreated.\n\n\n\ntransmogrify.ploneremote.remoteschemaupdater\n============================================\n\nThis will use XML-RPC to call Archetypes setXXX() mutator methods remotely\nto set field values.\n\nTODO: How to input schema fields\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\n:condition:\n TAL Expression to determine to use this blueprint\n\n:skip-existing:\n Default is 'False'\n\n:skip_unmodified:\n if set to true and the items modification date is less than the modification date of\n the remote item then no fields will be updated. The modification date either comes\n from 'modificationDate' key in the item or the 'last-modified' header if item\n was from `transmogrify.webcrawler`.\n\n:headers-key:\n key for dictionary of headers such as added by transmogrify.webcrawler\n\n:skip_fields:\n Fields that won't be updated\n\n:creation_key:\n if skip existing is true and this field is set in the item the remote item is not updated\n\ntransmogrify.ploneremote.remoteworkflowupdater\n==============================================\n\nTriggers the state transition of the remote item workflow i.e.\npublishes the item if it is not public.\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\n:transitions-key:\n which blueprint item dictionary key is used as the transition name\n for the item. \n\n\ntransmogrify.ploneremote.remoteredirector\n=========================================\n\nThis blueprint adds redirection aliases to those content items that have changed\nit's paths during tranmogrification process. It takes into account item's\n*_orig_path* key set by webcrawler blueprint. Redirection uses\nProducts.RedirectionTool Aliases form to add appropriate redirections. So this\nis required to install that addon in order to make\n*transmogrify.ploneremote.redirector* blueprint work.\n\nIf *path* is not equal to *orig_path* then appropriate aliases is being added\nto local Plone utility (IRedirectionStorage) using Aliases form.\n\n\nExample::\n\n #\n # Add content aliases for content that changed it's paths\n # \n [redirector]\n blueprint = transmogrify.ploneremote.remoteredirector\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\ntransmogrify.ploneremote.remoteprune\n====================================\n\nRemoves any items from a folder if it's not an item in the pipeline.\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\n:prune-folder-key:\n which transmogrifier field is read to check\n if the prune folder is run against the remote folder.\n The default value os \"_prune-folder\"\n\n:trash-path:\n remote folder to set to move content items not specified locally. If empty\n\ntransmogrify.ploneremote.remotenavigationexcluder\n=================================================\n\nSet \"Exclude from Navigation\" setting for remote Plone content items.\n\nOptions:\n\n:target:\n see `Common Options`_\n\n:path-key:\n see `Common Options`_\n\n:exclude-from-navigation-key:\n Which key we use to read navigation exclusion hint.\n Default is 'exclude-from-navigation'\n\ntransmogrify.ploneremote.remoteportlets\n=======================================\n\nSet static text portlets. If items contain a key such as '_left_portlet_text_1' it will create\na static text portlet at '_path' as the first portlet on the left.\n\n:left-title-prefix:\n defaults to _left_portlet_title.\n\n:left-text-prefix:\n defaults to _left_portlet_text.\n\n:right-title-prefix:\n defaults to _right_portlet_title.\n\n:right-text-prefix:\n defaults to _right_portlet_text.\n\nAuthors\n--------------\n\nIn the order of apperance\n\n* Dylan Jay, software@pretaweb.com\n\n* Mikko Ohtamaa, mikko@mfabrik.com, http://mfabrik.com\n\n* Vitaliy Podoba, vitaliypodoba@gmail.com\n\n1.3 (2012-09-08)\n----------------\n- support setting modified date from last modified header or custom field [djay]\n- if existing content will avoid reseting modification date [djay]\n- support setting a static portlet [djay]\n- support setting position in parent [djay]\n- support finding and moving content when it's path changes [djay]\n- improve logging messages, less INFO output [djay] \n- honour parent folder when it's not plone root [Mathieu Le Marec - Pasquet]\n- fix skip_existing and support skip_fields to control whats updated [djay]\n- HEAD request to determine redir, move instead of delete if exisitng content and now sets position in parent\n- fixed prune to use listFolderContents and handle moving instead of delete [djay]\n- fix existing image detection [Ivan Teoh]\n- check if oldid exists before to try to move an object [gborelli]\n- improved checking of existing items in remoteconstructor [gborelli]\n- don't join the path when parentpath is empty [ivanteoh]\n- honour parent folder when it's not plone root [kiorky]\n\n1.2 (2012-04-28)\n----------------\n\n- fix import of pathsorter after its move\n\n1.1 (2012-04-19)\n----------------\n\n- remoteconstructor: handle uploading with moved content or content thats changed type [djay]\n- ploneprune: ignore items with no path [djay]\n- handle Protocol errors in schemaupdater [djay]\n- handle some xmlrpc errors better [djay]\n- add conditions so can skip existing [djay]\n- improve documentation [djay]\n\n1.0b5 (2011-10-13)\n-------------------\n\n- Various bug fixes [aclark]\n- Depend on transmogrify.pathsorter [aclark]\n\n1.0b4 (2011-06-29)\n------------------\n- fix uploading html in plone 4.1 by setContentType\n- log errors to logger and continue\n- simplify update code\n- better logging\n- close files so don't run out of file handles\n\n\n1.0b3 (2011-02-06)\n------------------\n- handle uploading files using less memory\n- fix bug in debug output\n\n1.0b2 (2010-12-13)\n------------------\n\n- better logging\n\n\n1.0b1 (2010-11-08)\n------------------\n\n- Added remote folder pruning [\"Mikko Ohtamaa\"]\n\n- skips if there are no target [\"djay\"]\n\n- add remoteredirector blueprint [\"Vitaliy Podoba\"]\n\n- Added exclude_from_nav remote setting [\"Mikko Ohtamaa\"]\n\n- added remote workflow updater [\"Mikko Ohtamaa\"]\n\n\n1.0a1 (2010-03-22)\n------------------\n\n- split from pretaweb.funnelweb and released\n [\"djay\"]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/collective/transmogrify.ploneremote", "keywords": "transmogrifier blueprint funnelweb source plone import\n conversion microsoft office", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "transmogrify.ploneremote", "package_url": "https://pypi.org/project/transmogrify.ploneremote/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/transmogrify.ploneremote/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/collective/transmogrify.ploneremote" }, "release_url": "https://pypi.org/project/transmogrify.ploneremote/1.3/", "requires_dist": null, "requires_python": null, "summary": "Transmogrifier blueprints for uploading content\n via xmlrpc to a plone site", "version": "1.3" }, "last_serial": 800893, "releases": { "1.0a1": [], "1.0a1dev": [ { "comment_text": "", "digests": { "md5": "9a11a4d29e12df404ffc83a9e132e481", "sha256": "7d3b833a3db1239317335932a5674149c3ad4cc0c8e0bbf4d0a4ba6ddeb9dcd1" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0a1dev.tar.gz", "has_sig": false, "md5_digest": "9a11a4d29e12df404ffc83a9e132e481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17204, "upload_time": "2010-03-22T15:40:51", "url": "https://files.pythonhosted.org/packages/3a/b6/b44eff788665f24cd852af60a15a2622d139828d609b73bce12b0afe66cb/transmogrify.ploneremote-1.0a1dev.tar.gz" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "d7ef4d1f7f1673009c2a0ebbcbca8521", "sha256": "56dab9b5726ac71735d7d9f211f09dbb59acc56660d778eeccd87182a50fff5c" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b1.zip", "has_sig": false, "md5_digest": "d7ef4d1f7f1673009c2a0ebbcbca8521", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32502, "upload_time": "2010-11-07T15:13:26", "url": "https://files.pythonhosted.org/packages/51/36/0643b622f2113bab9d42f97c4a19f7e586aabfff7fd8d23ff71e6241dc50/transmogrify.ploneremote-1.0b1.zip" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "1c64ed44d674d9eb524f84243727c7af", "sha256": "ce565146bdb9d2308607160150974e9048aa34dc54155ff2a7530d0c13cbc1ce" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b2.zip", "has_sig": false, "md5_digest": "1c64ed44d674d9eb524f84243727c7af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32749, "upload_time": "2010-12-13T16:43:10", "url": "https://files.pythonhosted.org/packages/45/7e/1b54dc12dc831898d979209e72fef2ec054834857f6800b0ddf95a8e89eb/transmogrify.ploneremote-1.0b2.zip" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "08882f8f23f73770dfb1d4fcd0c6888c", "sha256": "f5c66492c466cb78d8f2cce5ea0cf3515a9659fdf3850210c8a7534ed7f43b6c" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b3.zip", "has_sig": false, "md5_digest": "08882f8f23f73770dfb1d4fcd0c6888c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32927, "upload_time": "2011-02-06T17:00:35", "url": "https://files.pythonhosted.org/packages/8c/71/871e87c8683989bb6827943a1c0872c875e8e97255db0035b973493eb2f0/transmogrify.ploneremote-1.0b3.zip" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "91f7fb7b72537bebf0726a9c494597f2", "sha256": "871b61f1413798c9b99d7197a6629945e748572865f246d480d0d7a88f640fde" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b4.zip", "has_sig": false, "md5_digest": "91f7fb7b72537bebf0726a9c494597f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33594, "upload_time": "2011-06-29T15:30:50", "url": "https://files.pythonhosted.org/packages/e7/d5/339d4917a3c57eea51b846a74b3bf47cfc9b05a5c7cc748e0ac8b818a115/transmogrify.ploneremote-1.0b4.zip" } ], "1.0b5": [ { "comment_text": "", "digests": { "md5": "89f7b2a58c3e5c2969cdb7b984b9e3df", "sha256": "e23532643683df171612f976e33c42f90d006183143f0728ac677cd9ed637f99" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b5.zip", "has_sig": false, "md5_digest": "89f7b2a58c3e5c2969cdb7b984b9e3df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33788, "upload_time": "2011-10-14T02:14:07", "url": "https://files.pythonhosted.org/packages/85/bc/1d3a538221e509dea8f4fd63d7963681dbdf34eaeb5ba50f9720210b5292/transmogrify.ploneremote-1.0b5.zip" } ], "1.0b6": [ { "comment_text": "", "digests": { "md5": "19d850ddbc5098a2bb1f8b3330f2bd11", "sha256": "ac7654a661ceb0db17475040041673c20d1d176ac60c51297294a4597dd45ec8" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.0b6.zip", "has_sig": false, "md5_digest": "19d850ddbc5098a2bb1f8b3330f2bd11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34007, "upload_time": "2011-10-19T21:14:30", "url": "https://files.pythonhosted.org/packages/9e/0a/83d793c0a846eb3dc643e72f8528e9dcd0e3a5a1a60d969dd43167ef0071/transmogrify.ploneremote-1.0b6.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "fa5a219f9e77a0141912bb9b1cc8b5ef", "sha256": "362911e86b39eff1815c83f650bb4c3476923caa05e74b58bd267328f652ac02" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.1.zip", "has_sig": false, "md5_digest": "fa5a219f9e77a0141912bb9b1cc8b5ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40605, "upload_time": "2012-04-19T15:49:28", "url": "https://files.pythonhosted.org/packages/57/2b/4c66675e6cbe26db620f5c5eecc6e5518fbd26a81339b5a0c7d212482ead/transmogrify.ploneremote-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "6a080b1499bb08fef3068387c27af687", "sha256": "d208c61c8fa7a0effec7191ac9e42fbf61d98ffed737b615529f41a97a76fc94" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.2.zip", "has_sig": false, "md5_digest": "6a080b1499bb08fef3068387c27af687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40819, "upload_time": "2012-04-25T14:28:12", "url": "https://files.pythonhosted.org/packages/d6/f7/d9e3359f4bb1549014c03611654dba2b6215bd66407f72541e5a6d44a281/transmogrify.ploneremote-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "c3d7f4ec8ea04cf2d40d2376ac3919c4", "sha256": "382dac6b176580b6bfe252cb5e8c6d4ac200210d0cda93bc1833d784d7b132eb" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.3.tar.gz", "has_sig": false, "md5_digest": "c3d7f4ec8ea04cf2d40d2376ac3919c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31362, "upload_time": "2012-09-10T13:31:34", "url": "https://files.pythonhosted.org/packages/f8/aa/0c33f307fb1fe0c31f6b5bcfa2f3a9efc78ad326fcfeb58e54f4f549deda/transmogrify.ploneremote-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3d7f4ec8ea04cf2d40d2376ac3919c4", "sha256": "382dac6b176580b6bfe252cb5e8c6d4ac200210d0cda93bc1833d784d7b132eb" }, "downloads": -1, "filename": "transmogrify.ploneremote-1.3.tar.gz", "has_sig": false, "md5_digest": "c3d7f4ec8ea04cf2d40d2376ac3919c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31362, "upload_time": "2012-09-10T13:31:34", "url": "https://files.pythonhosted.org/packages/f8/aa/0c33f307fb1fe0c31f6b5bcfa2f3a9efc78ad326fcfeb58e54f4f549deda/transmogrify.ploneremote-1.3.tar.gz" } ] }