SlideShare una empresa de Scribd logo
1 de 19
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
FunnelWeb
Easy Content Conversions
Dylan Jay
PretaWeb
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Content Conversions suck

Large existing sites

Static html or old CMS

Hard to quote on

Content audit

Use plone to fix content

Convert Docs to Pages (coming...)
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
History

2008 - Obrien Intranet

2009 – pretaweb.funnelweb (deprecated)

Plone UI > Actions > Import

2010 – transmogrify.* release on pypi

2010 – collective.developermanual

sphinx to plone

2010 – funnelweb Recipe + Script

Thanks – Dylan Jay, Vitaliy Podoba, Rok Garbas, Mikko Ohtamaa, Tim
Knap
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Demo
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
funnelweb.recipe

Add to buildout
[funnelweb]
recipe = funnelweb
crawler-url=http://www.whitehouse.gov
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
bin/funnelweb

Crawls

Caches locally

Filters

Removes template

Restructures

Determines title,hidden etc

Uploads to plone
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Common Options

crawler:site_url

crawler:ignore

ploneupload:target

template1:description

template1:text

*-disable
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Command Line

bin/funnelweb --crawler:max=50
--localupload:output=var/funnelwebdebug
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Viewing the Pipeline

bin/funnelweb --pipeline
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Custom pipeline

bin/funnelweb –pipeline > pipeline.cfg

{edit} pipeline.cfg

bin/funnelweb --pipeline=pipeline.cfg
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Making your own blueprint
class MyBlueprint(object):
classProvides(ISectionBlueprint)
implements(ISection)
def __init__(self, transmogrifier, name, options, previous):
self.previous = previous
def __iter__(self):
for item in self.previous:
dosomethingto(item)
yield item
<utility component=".myblueprint.MyBluePrintr"
name="transmogrify.myblueprint" />
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
transmogrify.webcrawler

transmogrify.webcrawler

Crawls site or cache for content

transmogrify.webcrawler.typerecognitor

Sets Plone content type based on mime-type

transmogrify.webcrawler.cache

Saves content to disk
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
transmogrify.htmlcontentextractor

transmogrify.htmlcontentextractor

Provide XPath for title, description, text etc.

transmogrify.htmlcontentextractor.auto

Guesses XPaths from content
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
transmogrify.siteanalyser

transmogrify.siteanalyser.relinker

Moves, renames, url tidying

transmogrify.siteanalyser.title

Guess page titles

transmogrify.siteanalyser.defaultpage

Move index pages into folders

transmogrify.siteanalyser.attach

Move attachments closer to pages
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
transmogrify.ploneremote

Remoteconstructor

Adds content to plone via xmlrpc

Remoteschemaupdater

Updates content of existing object

Remotenavigationexcluder

Hides content not in orginal sites navigation

Remoteworkflowupdater

Publish content

Remoteredirector

Creates aliases for items that have moved
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Other blueprints

transmogrify.pathsorter

Puts folders before content and content in
right order

collective.transmogrifier.sections.condition

Useful to drop certain content
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Where to get it

http://github.com:djay/funnelweb.git

http://github.com:djay/transmogrify.*

Pypi release TBA
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
#TODO
• Extract content styles into visual editor
dylan@pretaweb.comPlone Conf 2010 Dylan Jay
Thanks
• djay@pretaweb.com
• IRC: djjay
• Twitter: djay75

Más contenido relacionado

La actualidad más candente

Doing Things the WordPress Way
Doing Things the WordPress WayDoing Things the WordPress Way
Doing Things the WordPress WayMatt Wiebe
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practicesmarkparolisi
 
Scrip queue tree
Scrip queue treeScrip queue tree
Scrip queue treeMarco Arias
 
Higher Order WordPress Security
Higher Order WordPress SecurityHigher Order WordPress Security
Higher Order WordPress SecurityDougal Campbell
 
Take Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachTake Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachDiana Thompson
 
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cliWordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cliGetSource
 
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】Mami Kuroki
 
Phing i Fabric - Budowanie i deployment aplikacji webowych
Phing i Fabric - Budowanie i deployment aplikacji webowychPhing i Fabric - Budowanie i deployment aplikacji webowych
Phing i Fabric - Budowanie i deployment aplikacji webowychleafnode
 
Manage WordPress with Awesome using wp cli
Manage WordPress with Awesome using wp cliManage WordPress with Awesome using wp cli
Manage WordPress with Awesome using wp cliGetSource
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnWalter Ebert
 
Write your first WordPress plugin
Write your first WordPress pluginWrite your first WordPress plugin
Write your first WordPress pluginAnthony Montalbano
 
Drupal 8 Theme System: The Backend of Frontend
Drupal 8 Theme System: The Backend of FrontendDrupal 8 Theme System: The Backend of Frontend
Drupal 8 Theme System: The Backend of FrontendAcquia
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLIDiana Thompson
 
Advanced WordPress Development Environments
Advanced WordPress Development EnvironmentsAdvanced WordPress Development Environments
Advanced WordPress Development EnvironmentsBeau Lebens
 
Mastering WordPress Vol.1
Mastering WordPress Vol.1Mastering WordPress Vol.1
Mastering WordPress Vol.1Wataru OKAMOTO
 

La actualidad más candente (20)

Doing Things the WordPress Way
Doing Things the WordPress WayDoing Things the WordPress Way
Doing Things the WordPress Way
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practices
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
Scrip queue tree
Scrip queue treeScrip queue tree
Scrip queue tree
 
Secure All The Things!
Secure All The Things!Secure All The Things!
Secure All The Things!
 
Higher Order WordPress Security
Higher Order WordPress SecurityHigher Order WordPress Security
Higher Order WordPress Security
 
Take Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachTake Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long Beach
 
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cliWordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
 
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
 
Phing i Fabric - Budowanie i deployment aplikacji webowych
Phing i Fabric - Budowanie i deployment aplikacji webowychPhing i Fabric - Budowanie i deployment aplikacji webowych
Phing i Fabric - Budowanie i deployment aplikacji webowych
 
Manage WordPress with Awesome using wp cli
Manage WordPress with Awesome using wp cliManage WordPress with Awesome using wp cli
Manage WordPress with Awesome using wp cli
 
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp KölnMehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WordCamp Köln
 
Write your first WordPress plugin
Write your first WordPress pluginWrite your first WordPress plugin
Write your first WordPress plugin
 
Drupal 8 Theme System: The Backend of Frontend
Drupal 8 Theme System: The Backend of FrontendDrupal 8 Theme System: The Backend of Frontend
Drupal 8 Theme System: The Backend of Frontend
 
SocketStream
SocketStreamSocketStream
SocketStream
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLI
 
Advanced WordPress Development Environments
Advanced WordPress Development EnvironmentsAdvanced WordPress Development Environments
Advanced WordPress Development Environments
 
Mastering WordPress Vol.1
Mastering WordPress Vol.1Mastering WordPress Vol.1
Mastering WordPress Vol.1
 
The wp config.php
The wp config.phpThe wp config.php
The wp config.php
 
Real-Time Django
Real-Time DjangoReal-Time Django
Real-Time Django
 

Similar a Easy Content Conversions with FunnelWeb

Getting All Your Web Apps To Wear The Company Brand
Getting All Your Web Apps To Wear The Company BrandGetting All Your Web Apps To Wear The Company Brand
Getting All Your Web Apps To Wear The Company Brandknappt
 
A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...Carlos de la Guardia
 
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentFortySeven Media
 
Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)Kevin Gill
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 TaipeiTsungWei Hu
 
New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4Quintagroup
 
Acceptance testing plone sites and add ons with robot framework and selenium
Acceptance testing plone sites and add ons with robot framework and seleniumAcceptance testing plone sites and add ons with robot framework and selenium
Acceptance testing plone sites and add ons with robot framework and seleniumAsko Soukka
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial SlidesDaniel Greenfeld
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionTsungWei Hu
 
Prerendering: Revisit
Prerendering: RevisitPrerendering: Revisit
Prerendering: RevisitSamael Wang
 
Plone for python programmers
Plone for python programmersPlone for python programmers
Plone for python programmersDylan Jay
 
Getting Started with Pelican
Getting Started with PelicanGetting Started with Pelican
Getting Started with PelicanNazrul Kamaruddin
 
High Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesHigh Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesStoyan Stefanov
 
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]Aaron Gustafson
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteeleT. Kim Nguyen
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
DrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme DevelopmentDrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme Developmentultimike
 

Similar a Easy Content Conversions with FunnelWeb (20)

Getting All Your Web Apps To Wear The Company Brand
Getting All Your Web Apps To Wear The Company BrandGetting All Your Web Apps To Wear The Company Brand
Getting All Your Web Apps To Wear The Company Brand
 
A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...A winning combination: Plone as CMS and your favorite Python web framework as...
A winning combination: Plone as CMS and your favorite Python web framework as...
 
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
 
Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)Introduction to Plone (PyCon Ireland 2010)
Introduction to Plone (PyCon Ireland 2010)
 
World Plone Day 2012 Taipei
World Plone Day 2012 TaipeiWorld Plone Day 2012 Taipei
World Plone Day 2012 Taipei
 
New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4New in Plone 3.3. What to expect from Plone 4
New in Plone 3.3. What to expect from Plone 4
 
Acceptance testing plone sites and add ons with robot framework and selenium
Acceptance testing plone sites and add ons with robot framework and seleniumAcceptance testing plone sites and add ons with robot framework and selenium
Acceptance testing plone sites and add ons with robot framework and selenium
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial Slides
 
Plone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management SolutionPlone - A Comprehensive Content Management Solution
Plone - A Comprehensive Content Management Solution
 
Prerendering: Revisit
Prerendering: RevisitPrerendering: Revisit
Prerendering: Revisit
 
Plone for python programmers
Plone for python programmersPlone for python programmers
Plone for python programmers
 
Getting Started with Pelican
Getting Started with PelicanGetting Started with Pelican
Getting Started with Pelican
 
High Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesHigh Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practices
 
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]
 
Browser-level testing
Browser-level testingBrowser-level testing
Browser-level testing
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
 
Plone Futures
Plone FuturesPlone Futures
Plone Futures
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
DrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme DevelopmentDrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme Development
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 

Más de Dylan Jay

5 things STILL! TOO! HARD! in Plone 5
5 things STILL! TOO! HARD! in Plone 55 things STILL! TOO! HARD! in Plone 5
5 things STILL! TOO! HARD! in Plone 5Dylan Jay
 
Surviving an earthquake's worth of traffic
Surviving an earthquake's worth of trafficSurviving an earthquake's worth of traffic
Surviving an earthquake's worth of trafficDylan Jay
 
Buildout: How to maintain big app stacks without losing your mind
Buildout: How to maintain big app stacks without losing your mindBuildout: How to maintain big app stacks without losing your mind
Buildout: How to maintain big app stacks without losing your mindDylan Jay
 
Opps I deployed it again-ploneconf2010
Opps I deployed it again-ploneconf2010Opps I deployed it again-ploneconf2010
Opps I deployed it again-ploneconf2010Dylan Jay
 
Opps i deployed it again
Opps i deployed it againOpps i deployed it again
Opps i deployed it againDylan Jay
 
TestBrowser Driven Development: How to get bulletproof code from lazy developers
TestBrowser Driven Development: How to get bulletproof code from lazy developersTestBrowser Driven Development: How to get bulletproof code from lazy developers
TestBrowser Driven Development: How to get bulletproof code from lazy developersDylan Jay
 
How to host an app for $20 in 20min using buildout and hostout
How to host an app  for $20 in 20min using buildout and hostoutHow to host an app  for $20 in 20min using buildout and hostout
How to host an app for $20 in 20min using buildout and hostoutDylan Jay
 

Más de Dylan Jay (7)

5 things STILL! TOO! HARD! in Plone 5
5 things STILL! TOO! HARD! in Plone 55 things STILL! TOO! HARD! in Plone 5
5 things STILL! TOO! HARD! in Plone 5
 
Surviving an earthquake's worth of traffic
Surviving an earthquake's worth of trafficSurviving an earthquake's worth of traffic
Surviving an earthquake's worth of traffic
 
Buildout: How to maintain big app stacks without losing your mind
Buildout: How to maintain big app stacks without losing your mindBuildout: How to maintain big app stacks without losing your mind
Buildout: How to maintain big app stacks without losing your mind
 
Opps I deployed it again-ploneconf2010
Opps I deployed it again-ploneconf2010Opps I deployed it again-ploneconf2010
Opps I deployed it again-ploneconf2010
 
Opps i deployed it again
Opps i deployed it againOpps i deployed it again
Opps i deployed it again
 
TestBrowser Driven Development: How to get bulletproof code from lazy developers
TestBrowser Driven Development: How to get bulletproof code from lazy developersTestBrowser Driven Development: How to get bulletproof code from lazy developers
TestBrowser Driven Development: How to get bulletproof code from lazy developers
 
How to host an app for $20 in 20min using buildout and hostout
How to host an app  for $20 in 20min using buildout and hostoutHow to host an app  for $20 in 20min using buildout and hostout
How to host an app for $20 in 20min using buildout and hostout
 

Easy Content Conversions with FunnelWeb

  • 1. dylan@pretaweb.comPlone Conf 2010 Dylan Jay FunnelWeb Easy Content Conversions Dylan Jay PretaWeb
  • 2. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Content Conversions suck  Large existing sites  Static html or old CMS  Hard to quote on  Content audit  Use plone to fix content  Convert Docs to Pages (coming...)
  • 3. dylan@pretaweb.comPlone Conf 2010 Dylan Jay History  2008 - Obrien Intranet  2009 – pretaweb.funnelweb (deprecated)  Plone UI > Actions > Import  2010 – transmogrify.* release on pypi  2010 – collective.developermanual  sphinx to plone  2010 – funnelweb Recipe + Script  Thanks – Dylan Jay, Vitaliy Podoba, Rok Garbas, Mikko Ohtamaa, Tim Knap
  • 5. dylan@pretaweb.comPlone Conf 2010 Dylan Jay funnelweb.recipe  Add to buildout [funnelweb] recipe = funnelweb crawler-url=http://www.whitehouse.gov
  • 6. dylan@pretaweb.comPlone Conf 2010 Dylan Jay bin/funnelweb  Crawls  Caches locally  Filters  Removes template  Restructures  Determines title,hidden etc  Uploads to plone
  • 7. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Common Options  crawler:site_url  crawler:ignore  ploneupload:target  template1:description  template1:text  *-disable
  • 8. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Command Line  bin/funnelweb --crawler:max=50 --localupload:output=var/funnelwebdebug
  • 9. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Viewing the Pipeline  bin/funnelweb --pipeline
  • 10. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Custom pipeline  bin/funnelweb –pipeline > pipeline.cfg  {edit} pipeline.cfg  bin/funnelweb --pipeline=pipeline.cfg
  • 11. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Making your own blueprint class MyBlueprint(object): classProvides(ISectionBlueprint) implements(ISection) def __init__(self, transmogrifier, name, options, previous): self.previous = previous def __iter__(self): for item in self.previous: dosomethingto(item) yield item <utility component=".myblueprint.MyBluePrintr" name="transmogrify.myblueprint" />
  • 12. dylan@pretaweb.comPlone Conf 2010 Dylan Jay transmogrify.webcrawler  transmogrify.webcrawler  Crawls site or cache for content  transmogrify.webcrawler.typerecognitor  Sets Plone content type based on mime-type  transmogrify.webcrawler.cache  Saves content to disk
  • 13. dylan@pretaweb.comPlone Conf 2010 Dylan Jay transmogrify.htmlcontentextractor  transmogrify.htmlcontentextractor  Provide XPath for title, description, text etc.  transmogrify.htmlcontentextractor.auto  Guesses XPaths from content
  • 14. dylan@pretaweb.comPlone Conf 2010 Dylan Jay transmogrify.siteanalyser  transmogrify.siteanalyser.relinker  Moves, renames, url tidying  transmogrify.siteanalyser.title  Guess page titles  transmogrify.siteanalyser.defaultpage  Move index pages into folders  transmogrify.siteanalyser.attach  Move attachments closer to pages
  • 15. dylan@pretaweb.comPlone Conf 2010 Dylan Jay transmogrify.ploneremote  Remoteconstructor  Adds content to plone via xmlrpc  Remoteschemaupdater  Updates content of existing object  Remotenavigationexcluder  Hides content not in orginal sites navigation  Remoteworkflowupdater  Publish content  Remoteredirector  Creates aliases for items that have moved
  • 16. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Other blueprints  transmogrify.pathsorter  Puts folders before content and content in right order  collective.transmogrifier.sections.condition  Useful to drop certain content
  • 17. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Where to get it  http://github.com:djay/funnelweb.git  http://github.com:djay/transmogrify.*  Pypi release TBA
  • 18. dylan@pretaweb.comPlone Conf 2010 Dylan Jay #TODO • Extract content styles into visual editor
  • 19. dylan@pretaweb.comPlone Conf 2010 Dylan Jay Thanks • djay@pretaweb.com • IRC: djjay • Twitter: djay75