Package: transmogrify.ploneremote
IntroductionUsageCommon Optionstransmogrify.ploneremote.constructortransmogrify.ploneremote.remoteschemaupdatertransmogrify.ploneremote.remoteworkflowupdatertransmogrify.ploneremote.remoteredirectortransmogrify.ploneremote.remoteprunetransmogrify.ploneremote.remotenavigationexcludertransmogrify.ploneremote.remoteportletsAuthors1.3 (2012-09-08)1.2 (2012-04-28)1.1 (2012-04-19)1.0b5 (2011-10-13)1.0b4 (2011-06-29)1.0b3 (2011-02-06)1.0b2 (2010-12-13)1.0b1 (2010-11-08)1.0a1 (2010-03-22)Introductiontransmogrifier.ploneremoteis package of transmogrifier blueprints for
uploading content via Zope XML-RPC API to a Plone site.Plone site does not need any modifications, but vanilla Zope XML-RPC is used.UsageFive different blueprints are provided.Common OptionstargetUrl of Plone folder to upload content. You will need to include the username and
password using the url syntax. e.g.http://user:password@site.com/folder.
If you’d prefer not to hardcode your password in a pipeline.cfg you can usemr.migratorwhich lets you override your pipeline using the commandline.path-keyWhich blueprint item dictionary key is used to extract the remote path information
or the item. Default valuepath.transmogrify.ploneremote.constructorDrop in replacement for constructor that will use xmlprc calls to construct content on a remote plone siteOptions:target:seeCommon Optionspath-key:seeCommon Optionstype-key:Key of the field with item type to create. Defaults to ‘type’,’portal_type’, ‘Type’,’_type’creation-key:Key of the field to determine if item should be created. Defaults to ‘_creation_flag’alias-key:Key of the field with a path of where the original content was found such as bytransmogrifier.webcrawler.transmogrify.ploneremote.remoteredirectorwill set
this path as an alias which allows the constructor to find the same content if
it is run a second time even if a the items desired path has changed. Defaults
to ‘_origin_path’.create-condition:TAL expression to determine if item should be added. Defaults to ‘python:True’move-condition:If the content has already been uploaded and then moved this TAL expression
will determine if the content should be moved back. Default is ‘python:True’remove-condition:If the content has already been uploaded and is of a different type this
TAL expression will determine if the item can be removed and recreated.transmogrify.ploneremote.remoteschemaupdaterThis will use XML-RPC to call Archetypes setXXX() mutator methods remotely
to set field values.TODO: How to input schema fieldsOptions:target:seeCommon Optionspath-key:seeCommon Optionscondition:TAL Expression to determine to use this blueprintskip-existing:Default is ‘False’skip_unmodified:if set to true and the items modification date is less than the modification date of
the remote item then no fields will be updated. The modification date either comes
from ‘modificationDate’ key in the item or the ‘last-modified’ header if item
was fromtransmogrify.webcrawler.headers-key:key for dictionary of headers such as added by transmogrify.webcrawlerskip_fields:Fields that won’t be updatedcreation_key:if skip existing is true and this field is set in the item the remote item is not updatedtransmogrify.ploneremote.remoteworkflowupdaterTriggers the state transition of the remote item workflow i.e.
publishes the item if it is not public.Options:target:seeCommon Optionspath-key:seeCommon Optionstransitions-key:which blueprint item dictionary key is used as the transition name
for the item.transmogrify.ploneremote.remoteredirectorThis blueprint adds redirection aliases to those content items that have changed
it’s paths during tranmogrification process. It takes into account item’s_orig_pathkey set by webcrawler blueprint. Redirection uses
Products.RedirectionTool Aliases form to add appropriate redirections. So this
is required to install that addon in order to maketransmogrify.ploneremote.redirectorblueprint work.Ifpathis not equal toorig_paththen appropriate aliases is being added
to local Plone utility (IRedirectionStorage) using Aliases form.Example:#
# Add content aliases for content that changed it's paths
#
[redirector]
blueprint = transmogrify.ploneremote.remoteredirectorOptions:target:seeCommon Optionspath-key:seeCommon Optionstransmogrify.ploneremote.remotepruneRemoves any items from a folder if it’s not an item in the pipeline.Options:target:seeCommon Optionspath-key:seeCommon Optionsprune-folder-key:which transmogrifier field is read to check
if the prune folder is run against the remote folder.
The default value os “_prune-folder”trash-path:remote folder to set to move content items not specified locally. If emptytransmogrify.ploneremote.remotenavigationexcluderSet “Exclude from Navigation” setting for remote Plone content items.Options:target:seeCommon Optionspath-key:seeCommon Optionsexclude-from-navigation-key:Which key we use to read navigation exclusion hint.
Default is ‘exclude-from-navigation’transmogrify.ploneremote.remoteportletsSet static text portlets. If items contain a key such as ‘_left_portlet_text_1’ it will create
a static text portlet at ‘_path’ as the first portlet on the left.left-title-prefix:defaults to _left_portlet_title.left-text-prefix:defaults to _left_portlet_text.right-title-prefix:defaults to _right_portlet_title.right-text-prefix:defaults to _right_portlet_text.AuthorsIn the order of apperanceDylan Jay,software@pretaweb.comMikko Ohtamaa,mikko@mfabrik.com,http://mfabrik.comVitaliy Podoba,vitaliypodoba@gmail.com1.3 (2012-09-08)support setting modified date from last modified header or custom field [djay]if existing content will avoid reseting modification date [djay]support setting a static portlet [djay]support setting position in parent [djay]support finding and moving content when it’s path changes [djay]improve logging messages, less INFO output [djay]honour parent folder when it’s not plone root [Mathieu Le Marec - Pasquet]fix skip_existing and support skip_fields to control whats updated [djay]HEAD request to determine redir, move instead of delete if exisitng content and now sets position in parentfixed prune to use listFolderContents and handle moving instead of delete [djay]fix existing image detection [Ivan Teoh]check if oldid exists before to try to move an object [gborelli]improved checking of existing items in remoteconstructor [gborelli]don’t join the path when parentpath is empty [ivanteoh]honour parent folder when it’s not plone root [kiorky]1.2 (2012-04-28)fix import of pathsorter after its move1.1 (2012-04-19)remoteconstructor: handle uploading with moved content or content thats changed type [djay]ploneprune: ignore items with no path [djay]handle Protocol errors in schemaupdater [djay]handle some xmlrpc errors better [djay]add conditions so can skip existing [djay]improve documentation [djay]1.0b5 (2011-10-13)Various bug fixes [aclark]Depend on transmogrify.pathsorter [aclark]1.0b4 (2011-06-29)fix uploading html in plone 4.1 by setContentTypelog errors to logger and continuesimplify update codebetter loggingclose files so don’t run out of file handles1.0b3 (2011-02-06)handle uploading files using less memoryfix bug in debug output1.0b2 (2010-12-13)better logging1.0b1 (2010-11-08)Added remote folder pruning [“Mikko Ohtamaa”]skips if there are no target [“djay”]add remoteredirector blueprint [“Vitaliy Podoba”]Added exclude_from_nav remote setting [“Mikko Ohtamaa”]added remote workflow updater [“Mikko Ohtamaa”]1.0a1 (2010-03-22)split from pretaweb.funnelweb and released
[“djay”]