Importing and Exporting Content

Series Engine includes robust data migration tools to help you quickly populate your message library and move data between sites. Please reference the extensive guide below to get started.

Moving Series Engine Data to a Different Site

Whether you're changing web hosts or just starting fresh with a new site, it's easy to move your Series Engine content and settings from one site to another.

  1. Install Series Engine on the new site. If you need a fresh copy of the plugin, email support@seriesengine.com
  2. On the current site, log in to WordPress and navigate to Series Engine > Import and Export.
  3. Click "Export All Content" to download a .CSV file of your current Series Engine data.
  4. Log in to WordPress on the new site, and navigate to Series Engine > Import and Export.
  5. Select the .CSV you created in step 3 in the "Series Engine Archive" field, and click "Upload Archive."
  6. After a brief loading process, you will see a success message. Your Series Engine content is now available in its entirety on your new site!
Moving Styles and Settings

If you would like to move your styles and settings between sites as well, simply select "Export Styles and Settings" in Series Engine > Import and Export and upload the .CSV to the new site (similar to the process outlined above).

Avoiding Possible Issues

Start with a fresh install if possible. If you try to import Series Engine data into an existing install (with its own archive of data), you could encounter errors as various data elements have duplicated IDs and values. If you must import an archive from a previous install into a site where you're already using Series Engine, change the "Offset IDs by" value to a high number (like 10000) before you export the archive. This will create new and unique ID values for the imported data, and should avoid any errors from duplicate records.

Make sure both sites are using the same version of the plugin. You might experience errors if you migrate content between different versions. You can check for plugin updates on the Plugins page of your WordPress install.

You might need to import media from your previous WordPress site. Series Engine users typically use the WordPress Media Library to configure images throughout the plugin, and many use it to upload audio and video as well. You'll want to use WordPress's native migration tools to move those media files over to the new site.

You might need to adjust absolute URLs. If your images and media files on your previous install used absolute URLs (something that's likely if you uploaded content from your WordPress Media Library), you'll want to adjust those for the new site before you import the data. A simple find-and-replace in the .CSV file should get you fixed up in short order.

Large archives may have trouble loading. Every server is different, and some WordPress installs may lock up when importing large Series Engine archives. If you run into this, you might find it helpful to break the .CSV archive up into several .CSVs, and upload those in sequence.

 

Bulk Uploading Content into Series Engine

Even if you're not a previous Series Engine user, it is now possible to bulk upload large message libraries into Series Engine with a single .CSV file. Bulk imports are only recommended for advanced users who are comfortable with data entry and a text editor.

Note: The bulk importer currently supports speakers, series types, series, topics, and messages. Bulk-uploaded series can only be initially associated with one series type. Bulk-uploaded messages can only be initially associated with one series, and one topic. The bulk uploader also does not currently support the attachment of files or other advanced content for messages. Advanced content, video podcast information, and other granular settings can be adjusted in the full Series Engine UI after the bulk upload.

How to Create a .CSV for Bulk Upload

It's fairly simple to create a .CSV to bulk upload content into Series Engine.

Five types of content can be uploaded into Series Engine: speakers, series types, series, topics, and messages. Using the guide below, open your favorite text editor and create a .CSV with every new data entry on its own line. You might find it helpful to refer to this sample .CSV.

Please keep the following in mind:

Uploading Speakers

To upload a speaker, create a new row with four columns (outlined below). Series Engine will use this data to associate a speaker with a message and allow users to explore messages according to speaker.

Every speaker row in your CSV should resemble the following:

speaker,7,"Eric","Murrell"

The columns and their related values are explained in detail below.

Column Sample Value Description
1: Data Type Sample Value: speaker, (Required) List this value as "speaker" for Series Engine to import this row's data as a new speaker.
2: ID Sample Value: 7, (Required) The numerical ID that will be associated with the speaker throughout the plugin.
3: First Name Sample Value: "Eric", (Required) The first name of the speaker. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.
4: Last Name Sample Value: "Murrell" (Required) The last name of the speaker. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.

Uploading Series Types

To upload a series type, create a new row with three columns (outlined below). Series Engine will use this data to associate a series type with a series and allow you to embed groups of series in various logical groupings (Sunday morning messages, student messages, etc).

Every series type row in your CSV should resemble the following:

seriestype,3,"Sunday Morning Messages"

The columns and their related values are explained in detail below.

Column Sample Value Description
1: Data Type Sample Value: seriestype, (Required) List this value as "seriestype" for Series Engine to import this row's data as a new series type.
2: ID Sample Value: 3, (Required) The numerical ID that will be associated with the series type throughout the plugin.
3: Title Sample Value: "Sunday Morning Messages" (Required) The title of the series type. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.

Uploading Series

To upload a series, create a new row with eight columns (outlined below). Series Engine will use this data to associate a message with a series and allow users to explore messages by series.

Every series row in your CSV should resemble the following (all should appear on one line in your .CSV):

series,12,"Big God, Little Me","A study through the book of John",http://site.com/folder/image.jpg,http://site.com/folder/image.jpg,2017-07-03,3

The columns and their related values are explained in detail below.

Column Sample Value Description
1: Data Type Sample Value: series, (Required) List this value as "series" for Series Engine to import this row's data as a new series.
2: ID Sample Value: 12, (Required) The numerical ID that will be associated with the series throughout the plugin. Every series requires a unique ID.
3: Title Sample Value: "Big God, Little Me", (Required) The title of the series. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.
4: Description Sample Value: "A study through the book of John.", (Optional) The description of the series. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash. Leave an empty column if you're not providing a description.
5: Series Image URL Sample Value: http://site.com/folder/image.jpg, (Optional) The image that will be displayed above audio files for messages from this series. The value must be a full file path url to the image. We recommend an image of at least 1000px wide for the best results. Leave an empty column if you're not providing a series image.
6: Archives Image URL Sample Value: http://site.com/folder/image.jpg, (Optional) The image that will be displayed in the image-based series archives. The value must be a full file path url to the image. We recommend an image of at least 600px wide with a 16x9 aspect ratio for the best results. Leave an empty column if you're not providing a series archives image.
7: Start Date Sample Value: 2017-07-03, (Required) The start date of the series. This value must be a date formatted YYYY-MM-DD.
8: Series Type ID Sample Value: 3 (Optional) The unique ID of the series type that this series is associated with. This should correspond with one of the series types created earlier in your bulk import. The bulk importer can only associate a series with one series type, but you can associate the series with more in the full Series Engine UI.

Uploading Topics

To upload a topic, create a new row with three columns (outlined below). Series Engine will use this data to associate a message with a topic and allow users to explore messages according to topic.

Every series row in your CSV should resemble the following (all should appear on one line in your .CSV):

topic,22,"Encouragement"

The columns and their related values are explained in detail below.

Column Sample Value Description
1: Data Type Sample Value: topic, (Required) List this value as "topic" for Series Engine to import this row's data as a new topic.
2: ID Sample Value: 22, (Required) The numerical ID that will be associated with the topic throughout the plugin. Every topic requires a unique ID.
3: Name Sample Value: "Encouragement" (Required) The name of the topic. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.

Uploading Messages

To upload a message, create a new row with 14 columns (outlined below). Series Engine will use this data to create a new message, add it to your audio podcast, associate it with a speaker, associated it with a series, and associate it with a topic.

Every series row in your CSV should resemble the following (all should appear on one line in your .CSV):

message,"God Loves You","A message about the hope of the Gospel.",2017-07-03,http://site.com/folder/image.jpg,http://site.com/folder/audio.mp3,29:07,12345678,"<iframe width=\"560\" height=\"315\" src=\"http://site.com\" frameborder=\"0\" allowfullscreen></iframe>",,"Eric Murrell",7,12,22

The columns and their related values are explained in detail below.

Column Sample Value Description
1: Data Type Sample Value: message, (Required) List this value as "message" for Series Engine to import this row's data as a new message.
2: Title Sample Value: "God Loves You", (Required) The title of the message. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.
3: Description Sample Value: "A message about the hope of the Gospel.", (Optional) The description of the message. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash. Leave an empty column if you're not providing a description.
4: Date Sample Value: 2017-07-03, (Required) The date associated with the message. This value must be a date formatted YYYY-MM-DD.
5: Message Image URL Sample Value: http://site.com/folder/image.jpg, (Optional) The image that will be displayed above audio files for this message (overriding the series image, if one was provided). The value must be a full file path url to the image. We recommend an image of at least 1000px wide for the best results. Leave an empty column if you're not providing a series image.
6: Audio File URL Sample Value: http://site.com/folder/audio.mp3, (Optional) The audio file that will be associated with this message. The value must be a full file path url to the audio file. Share links from services like Dropbox WILL NOT work. Leave an empty column if you're not providing an audio file.
7: Audio File Duration Sample Value: 29:07, (Optional) The duration of your audio file in minutes. This value is used by Series Engine when podcast feeds are generated, and is required for the feeds to validate. Leave an empty column if you're not providing duration information.
8: Audio File Size Sample Value: 12345678, (Optional) The file size of your audio file (in bytes - no commas). This value is used by Series Engine when podcast feeds are generated, and is required for the feeds to validate. Leave an empty column if you're not providing file size information.
9: Video Embed Code Sample Value: "<iframe width=\"560\" height=\"315\" src=\"http://site.com\" frameborder=\"0\" allowfullscreen></iframe>", (Optional) The video embed code for the message, typically copy-and-pasted from YouTube or Vimeo. The code must be contained in quotes, and all quotes within the code must be escaped with a backslash. Leave an empty column if you're not providing a video embed code.
10: Video File URL Sample Value: http://site.com/folder/video.mp4, (Optional) The video file that will be used for this message (if you're not using a video embed code from an outside source). The value must be a full file path url to the video file. Share links from services like Dropbox WILL NOT work. Leave an empty column if you're not providing a video url.
11: Speaker Name Sample Value: "Eric Murrell", (Required) The name of the speaker of the message. It must be a string contained in quotes. All quotes within the string must be escaped with a backslash.
12: Speaker ID Sample Value: 7, (Required) The unique ID of the speaker that this message is associated with. This should correspond with one of the speakers created earlier in your bulk import. You can only associate a message with one speaker.
13: Series ID Sample Value: 12, (Optional) The unique ID of the series that this message is associated with. This should correspond with one of the series created earlier in your bulk import. You can only associate a message with one series in the bulk importer, but you can associate with more series later through the full Series Engine UI.
14: Topic ID Sample Value: 22 (Optional) The unique ID of the topic that this message is associated with. This should correspond with one of the topics created earlier in your bulk import. You can only associate a message with one topic in the bulk importer, but you can associate with more topics later through the full Series Engine UI.

Download a Sample .CSV

Click here to download a sample .CSV to get an understanding of how your final upload file should look.

Completing Your Bulk Upload

Once your .CSV is ready, uploading the content to your site is simple.

  1. Log in to WordPress and navigate to Series Engine > Import and Export.
  2. Select your .CSV in the "Bulk Upload Script" field, and click "Bulk Upload Content."
  3. After a brief loading process, you will see a success message. Your new content is now in Series Engine!
Avoiding Possible Issues

Check for missing columns. All columns for the data types above must be present in each row. Even if the value is optional, be sure to enter a comma for the column before you move to the next column value.

Make sure you escape your quotes. All content quotes need to be escaped for PHP parsing. That means the sentence This is "annoying" should be entered as This is \"annoying\" to be uploaded correctly.

Large imports may have trouble loading. Every server is different, and some WordPress installs may lock up when importing large Series Engine upload scripts. If you run into this, you might find it helpful to break the .CSV archive up into several .CSVs, and upload those in sequence. The only gotcha is to make sure you upload data in the following order: speakers, series types, series, topics, and messages.

Bad Upload?

If you accidentally uploaded an improperly formatted .CSV, the simplest fix is to uninstall the plugin, reinstall (this rebuilds all database tables), and try your newly corrected bulk upload script again.

Running into Trouble? Have Questions?

Please fill out the form at the top of our Questions page, or send an email to support@seriesengine.com