SlideShare una empresa de Scribd logo
1 de 10
fast content import
in Plone

how to import 120k documents
in 8.43 minutes?




        http://www.flickr.com/photos/luciano_meirelles/3461046001/sizes/o/
The problem


✓ we have 36.000 documents to migrate (which gives 120.000
  with all their children)

✓ we don’t want to wait few hours to do that


✓ users shouldn’t be aware of the migration process
The Idea



✓ Why not just create brains

  and let users decide which
  document fully migrate?
http://www.flickr.com/photos/oscarmota/1155257083




It’s quite simple
First: Metadata

✓ dummy_object is a simple python object
  with minimal metadata




>>> pp dummy_object.__dict__
{'title': u'dummy title',
'id': u'simple_id',
'review_state': 'private',
'path': '/plone/importfolder/ToBeMigrated_simple_id'}
Second: import script

✓ import script which creates brains in
  portal_catalog from our dummy object



pc = getToolByName(self.context, 'portal_catalog')
pc.catalog_object(dummy_object, dummy_object.path)
Third: Traverser

✓ Now we need to allow users to see them.
✓ So we created traverser in our import folder




def __bobo_traverse__(self, REQUEST, name):
      if name.startswith('ToBeMigrated'):
           view = getMultiAdapter(
                      (self, self.REQUEST),
                       name='to_be_migrated')
           view.setBrainId(name)
           return view
At the End

✓ The view informs end-
  user that this document
  need to be migrated

✓ When user decides to
  import it - we will start
  the import process for
  selected brain.uid
At the End

✓ The rest is pure Plone

  folder_contents will lists
  'to_be_migrated' brains in
  import folder for you

✓ Simple and much faster
Thanks!


          Andrew Mleczko
          Plone archaeologist
          andrzej.mleczko@redturtle.net




                      http://blog.redturtle.it

Más contenido relacionado

Destacado

Resoconto dalla Plone Conference 2010
Resoconto dalla Plone Conference 2010Resoconto dalla Plone Conference 2010
Resoconto dalla Plone Conference 2010Stefano Marchetti
 
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...Vincenzo Barone
 
Collective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumCollective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumMassimo Azzolini
 
Project management software of your dreams
Project management software of your dreamsProject management software of your dreams
Project management software of your dreamsAndrew Mleczko
 
Collective.amberjack ploneconf2010
Collective.amberjack ploneconf2010Collective.amberjack ploneconf2010
Collective.amberjack ploneconf2010Massimo Azzolini
 
Plone TuneUp challenges
Plone TuneUp challengesPlone TuneUp challenges
Plone TuneUp challengesAndrew Mleczko
 
Bringing "real life" relations to Plone
Bringing "real life" relations to PloneBringing "real life" relations to Plone
Bringing "real life" relations to PloneMassimo Azzolini
 
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio Ferrara
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio FerraraFerrara Eventi - la nostra applicazione iPhone per vivere al meglio Ferrara
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio FerraraRedTurtle S.r.l.
 
Needle in an enterprise haystack
Needle in an enterprise haystackNeedle in an enterprise haystack
Needle in an enterprise haystackAndrew Mleczko
 
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 Novembre
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 NovembreBreve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 Novembre
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 NovembreStefano Marchetti
 
Strategie e comunicazione per il turismo sul web
Strategie e comunicazione per il turismo sul webStrategie e comunicazione per il turismo sul web
Strategie e comunicazione per il turismo sul webMassimo Azzolini
 
3M per Plone Mockup, Mediacore, Mailchimp
3M per Plone Mockup, Mediacore, Mailchimp3M per Plone Mockup, Mediacore, Mailchimp
3M per Plone Mockup, Mediacore, MailchimpStefano Marchetti
 
Future is bright, future is Plone
Future is bright, future is PloneFuture is bright, future is Plone
Future is bright, future is PloneAndrew Mleczko
 

Destacado (20)

Resoconto dalla Plone Conference 2010
Resoconto dalla Plone Conference 2010Resoconto dalla Plone Conference 2010
Resoconto dalla Plone Conference 2010
 
BibliotecaAccessibile
BibliotecaAccessibileBibliotecaAccessibile
BibliotecaAccessibile
 
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
 
Plone Konferenz 2012
Plone Konferenz 2012Plone Konferenz 2012
Plone Konferenz 2012
 
Collective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumCollective Amberjack - European Plone Symposium
Collective Amberjack - European Plone Symposium
 
Project management software of your dreams
Project management software of your dreamsProject management software of your dreams
Project management software of your dreams
 
Collective.amberjack ploneconf2010
Collective.amberjack ploneconf2010Collective.amberjack ploneconf2010
Collective.amberjack ploneconf2010
 
Plone TuneUp challenges
Plone TuneUp challengesPlone TuneUp challenges
Plone TuneUp challenges
 
Bringing "real life" relations to Plone
Bringing "real life" relations to PloneBringing "real life" relations to Plone
Bringing "real life" relations to Plone
 
Plone e Web 2.0
Plone e Web 2.0Plone e Web 2.0
Plone e Web 2.0
 
Il futuro di Plone
Il futuro di PloneIl futuro di Plone
Il futuro di Plone
 
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio Ferrara
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio FerraraFerrara Eventi - la nostra applicazione iPhone per vivere al meglio Ferrara
Ferrara Eventi - la nostra applicazione iPhone per vivere al meglio Ferrara
 
Migrazione Plone4
Migrazione Plone4Migrazione Plone4
Migrazione Plone4
 
Needle in an enterprise haystack
Needle in an enterprise haystackNeedle in an enterprise haystack
Needle in an enterprise haystack
 
Plone per tutte le stagioni
Plone per tutte le stagioniPlone per tutte le stagioni
Plone per tutte le stagioni
 
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 Novembre
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 NovembreBreve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 Novembre
Breve resoconto dalla World Plone Conference 2009 26 Ottobre - 1 Novembre
 
Strategie e comunicazione per il turismo sul web
Strategie e comunicazione per il turismo sul webStrategie e comunicazione per il turismo sul web
Strategie e comunicazione per il turismo sul web
 
3M per Plone Mockup, Mediacore, Mailchimp
3M per Plone Mockup, Mediacore, Mailchimp3M per Plone Mockup, Mediacore, Mailchimp
3M per Plone Mockup, Mediacore, Mailchimp
 
Social intranet
Social intranetSocial intranet
Social intranet
 
Future is bright, future is Plone
Future is bright, future is PloneFuture is bright, future is Plone
Future is bright, future is Plone
 

Similar a Fast content import in Plone

EuroPython 2015 - Storing files for the web is not as straightforward as you ...
EuroPython 2015 - Storing files for the web is not as straightforward as you ...EuroPython 2015 - Storing files for the web is not as straightforward as you ...
EuroPython 2015 - Storing files for the web is not as straightforward as you ...Alessandro Molina
 
Dgeni documentation generator
Dgeni   documentation generatorDgeni   documentation generator
Dgeni documentation generatorPeter Darwin
 
Data Science Workflows using Docker Containers
Data Science Workflows using Docker ContainersData Science Workflows using Docker Containers
Data Science Workflows using Docker ContainersAly Sivji
 
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"Fwdays
 
Transmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less painTransmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less painLennart Regebro
 
CSc investigatory project
CSc investigatory projectCSc investigatory project
CSc investigatory projectDIVYANSHU KUMAR
 
JavaScript DOM & event
JavaScript DOM & eventJavaScript DOM & event
JavaScript DOM & eventBorey Lim
 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxQAware GmbH
 
Ploneforwebdev
PloneforwebdevPloneforwebdev
Ploneforwebdevbrighteyes
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI ElementsJonathan LeBlanc
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocratlinoj
 
PyConFR 2014 - DEPOT, Story of a file.write() gone wrong
PyConFR 2014 - DEPOT, Story of a file.write() gone wrongPyConFR 2014 - DEPOT, Story of a file.write() gone wrong
PyConFR 2014 - DEPOT, Story of a file.write() gone wrongAlessandro Molina
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Jen Andre
 
BITM3730Week7.pptx
BITM3730Week7.pptxBITM3730Week7.pptx
BITM3730Week7.pptxMattMarino13
 
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
 

Similar a Fast content import in Plone (20)

EuroPython 2015 - Storing files for the web is not as straightforward as you ...
EuroPython 2015 - Storing files for the web is not as straightforward as you ...EuroPython 2015 - Storing files for the web is not as straightforward as you ...
EuroPython 2015 - Storing files for the web is not as straightforward as you ...
 
Beyond the page
Beyond the pageBeyond the page
Beyond the page
 
Plone pwns
Plone pwnsPlone pwns
Plone pwns
 
Dgeni documentation generator
Dgeni   documentation generatorDgeni   documentation generator
Dgeni documentation generator
 
Data Science Workflows using Docker Containers
Data Science Workflows using Docker ContainersData Science Workflows using Docker Containers
Data Science Workflows using Docker Containers
 
Migrating data to drupal 8
Migrating data to drupal 8Migrating data to drupal 8
Migrating data to drupal 8
 
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"
Guray Yildirim "Tooling and Managing Docker Containers With Python: Why and How"
 
Introduction to java_script
Introduction to java_scriptIntroduction to java_script
Introduction to java_script
 
Transmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less painTransmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less pain
 
CSc investigatory project
CSc investigatory projectCSc investigatory project
CSc investigatory project
 
JavaScript DOM & event
JavaScript DOM & eventJavaScript DOM & event
JavaScript DOM & event
 
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginxFrom pets to cattle - powered by CoreOS, docker, Mesos & nginx
From pets to cattle - powered by CoreOS, docker, Mesos & nginx
 
Ploneforwebdev
PloneforwebdevPloneforwebdev
Ploneforwebdev
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
 
PyConFR 2014 - DEPOT, Story of a file.write() gone wrong
PyConFR 2014 - DEPOT, Story of a file.write() gone wrongPyConFR 2014 - DEPOT, Story of a file.write() gone wrong
PyConFR 2014 - DEPOT, Story of a file.write() gone wrong
 
Php
PhpPhp
Php
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
BITM3730Week7.pptx
BITM3730Week7.pptxBITM3730Week7.pptx
BITM3730Week7.pptx
 
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
 

Más de Andrew Mleczko

Lost in o auth? learn velruse and get your life back
Lost in o auth? learn velruse and get your life backLost in o auth? learn velruse and get your life back
Lost in o auth? learn velruse and get your life backAndrew Mleczko
 
Celery and the social networks
Celery and the social networksCelery and the social networks
Celery and the social networksAndrew Mleczko
 
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...Andrew Mleczko
 
Bootstrap your app in 45 seconds
Bootstrap your app in 45 secondsBootstrap your app in 45 seconds
Bootstrap your app in 45 secondsAndrew Mleczko
 
PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?Andrew Mleczko
 
EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?Andrew Mleczko
 

Más de Andrew Mleczko (6)

Lost in o auth? learn velruse and get your life back
Lost in o auth? learn velruse and get your life backLost in o auth? learn velruse and get your life back
Lost in o auth? learn velruse and get your life back
 
Celery and the social networks
Celery and the social networksCelery and the social networks
Celery and the social networks
 
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...
PloneConf2012 - Are you in a hole and still digging? Or how to become an agil...
 
Bootstrap your app in 45 seconds
Bootstrap your app in 45 secondsBootstrap your app in 45 seconds
Bootstrap your app in 45 seconds
 
PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?
 
EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?EuroPython 2011 - How to build complex web applications having fun?
EuroPython 2011 - How to build complex web applications having fun?
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Fast content import in Plone

  • 1. fast content import in Plone how to import 120k documents in 8.43 minutes? http://www.flickr.com/photos/luciano_meirelles/3461046001/sizes/o/
  • 2. The problem ✓ we have 36.000 documents to migrate (which gives 120.000 with all their children) ✓ we don’t want to wait few hours to do that ✓ users shouldn’t be aware of the migration process
  • 3. The Idea ✓ Why not just create brains and let users decide which document fully migrate?
  • 5. First: Metadata ✓ dummy_object is a simple python object with minimal metadata >>> pp dummy_object.__dict__ {'title': u'dummy title', 'id': u'simple_id', 'review_state': 'private', 'path': '/plone/importfolder/ToBeMigrated_simple_id'}
  • 6. Second: import script ✓ import script which creates brains in portal_catalog from our dummy object pc = getToolByName(self.context, 'portal_catalog') pc.catalog_object(dummy_object, dummy_object.path)
  • 7. Third: Traverser ✓ Now we need to allow users to see them. ✓ So we created traverser in our import folder def __bobo_traverse__(self, REQUEST, name): if name.startswith('ToBeMigrated'): view = getMultiAdapter( (self, self.REQUEST), name='to_be_migrated') view.setBrainId(name) return view
  • 8. At the End ✓ The view informs end- user that this document need to be migrated ✓ When user decides to import it - we will start the import process for selected brain.uid
  • 9. At the End ✓ The rest is pure Plone folder_contents will lists 'to_be_migrated' brains in import folder for you ✓ Simple and much faster
  • 10. Thanks! Andrew Mleczko Plone archaeologist andrzej.mleczko@redturtle.net http://blog.redturtle.it