drupal camp berlin 2014 - content import in drupal 7 using feeds
DESCRIPTION
Presentation from DrupalCamp Berlin 2014 about content import in Drupal 7 using Feeds.TRANSCRIPT
Content Import in Drupal 7 Using Feeds
DrupalCamp Berlin, November 2014
About me• Jens Beltofte• CTO, Denmark & Drupal Architect• Propeople since 2003 / 2007• Drupal since 2007• Acquia Certified Drupal Developer• Co-founder & Vice Chairman, Drupal Denmark• d.o: beltofte• @beltofte
Agenda• What is Feeds?• Key components / concepts• 3rd part plugins• Feeds Tamper• Client cases • Demos• Ressources• Questions
What is Feeds?• Flexible solution for importing data• Easy to setup imports in no time• Multiple simultaneous configurations (importers)• UI for granular mapping of source and target• Manually or scheduled import• Stand-alone or content type for import
What is Feeds?• Formats: RSS, ATOM, CSV, OPML • Data types: nodes, users, taxonomy terms• Ctools plugins• Features support• Hooks / API
Key components● Fetcher:
○ Download, load or receive feed from a source○ Standard: HTTP + upload
● Parser○ Parse fetched source data○ Standard: RSS/Atom, CSV, OPML, XML Sitemap
● Processor○ Process the parsed data and store it in the target data type○ Standard: Node, User, Taxonomy term
3rd part plugins● Fetcher:
○ Directory Fecther○ Feeds HTTPFetcher Append Headers○ Feeds HTTPFetcher AA (Advanced Authentication)○ SOAP/WDSL Fetcher
● Parser○ Feeds XPath Parser○ Feeds JSONPath Parser○ Feeds extensible parsers (replace the two above)
● Processor○ Commerce Feeds○ Feeds Comment Processor
Feeds Tamper• Manipulate single fields before it is saved• Examples:
○ Replace every instance of 'dog' with 'cat'.○ Make every letter uppercase, lowercase, or capitalize every first letter.○ Break a comma separated list of words into Taxonomy terms or a multivalued text field.○ Combine separate 'firstname' and 'lastname' fields into one 'name' field.○ Convert URL’s from relative to absolute.
• 20+ build in plugins for manipulation• Custom tamper plugins using ctools
Client cases• Migration of nodes, files and taxonomy terms• Import of departments and employees from local phone book.• Import of events from external event system.• Import of jobs / vacancies from HR system.• Aggregation of multiple RSS feeds
Now demo time...
Ressources• Feeds: https://www.drupal.org/project/feeds• Feeds XPath Parser: https://www.drupal.org/project/feeds_xpathparser• Feeds JSONPath Parser: https://www.drupal.org/project/feeds_jsonpath_parser• Feeds QueryPath Parser: https://www.drupal.org/project/feeds_querypath_parser• Feeds Extensible Parsers: https://www.drupal.org/project/feeds_ex• Feeds Tamper: https://www.drupal.org/project/feeds_tamper• Documentation: https://www.drupal.org/node/622696• 3rd part plugins: https://www.drupal.org/node/856644
Questions?