Exporting from Expression Engine (step by step)

January 10, 2008

I promised the friendly folks over at textpattern that I would write something about exporting entries from expression engine.

This link in the ee wiki MOSTLY covers it. I say mostly, because you’ll need to make some modifications which are not listed but that I am including. Additionally, you will need to be careful to do all of the steps in order, so I’m just going to go step by step. Also, if you have used subcategories, I haven’t found a way to capture that hierarchical structure. So, depending on what kind of software you are importing these into, you may need to tweak your categories. In textpattern for example, all of the categories go to multiple unfiled categories. It’s easy enough to then just update them in textpattern. This will export everything in Movable Type (MT) format.

Figure out your blog’s name before you start. In expression engine>CP Home › Admin › Weblog Administration › Weblog Management
Edit Preferences>Short Name

The short name is the actual name of your blog. Make a note of it, as you will need it later.

STEP 1: Create an export template group

Login to the control panel.

Click on templates.

Click on “Create new template group” button.
NOTE: You must start with a new template group.

Name your template group:

Template Group Name

The name must be a single word with no spaces
(underscores and dashes are allowed)
Type in Export

Duplicate an Existing Template Group?
Choose> Do Not Duplicate a Group

Make the index template in this group your site’s home page?
Whatever you do, DO NOT CHECK THIS box. This will override your template design for your blog.

Click Submit.

Okay, step 1 is finished. We’ve created a template group, but we now need to create the templates.
NOTE: Do not skip any steps.

STEP 2: Create the export template for comments
At this point, you should be back at your list of templates. In the left column, under the header, Template Management, you should see a list that includes all of your template groups.

Under Choose Group>Click on Export
In the column to the right of Choose Group, you should see a list. Click on New Template.
Now we will create templates for the comments and the entries. NOTE: Do not skip any steps.

Template Name
The name must be a single word with no spaces
(underscores and dashes are allowed)
Type in Comments

Choose Template type> Webpage

Default Template Data
None – create an empty template

Click Submit.

We are back at the list.
Click on Preferences (in the column to the right of Choose Group, under the Export header)
The ONLY things to change here are
Allow PHP? Y
PHP Parsing? Input

Note: This must be set for this to work!

Click Update.

We are now back to the list of templates.
Okay, now we have to add the code to make this work.
Under
Template Name / Edit
To the left of Comments>Click on>View

Copy & paste the code below into the blank area. Note change “yourblog” to the shortname of your blog. Your blog’s name is not what appears in the title bar of the html page. It is what you have listed in Admin › Weblog Administration › Weblog Management > Edit Preferences>Short Name
The short name is the name of your blog.

<?php

global $IN;
$IN->QSTR = ‘{embed:the_entry_id}’

?>

{exp:comment:entries weblog=”weblog1″ sort=”asc”}COMMENT:
AUTHOR: {name}
URL: {url}
DATE: {comment_date format=”%m/%d/%Y %h:%i:%s %A”}
{comment}
—–
{/exp:comment:entries}

[/code]

Click Update and Finished.

STEP 3: Create the export template for index
At this point, you should be back at your list of templates. In the left column, under the header, Template Management, you should see a list that includes all of your template groups.

Under Choose Group>Click on Export
In the column to the right of Choose Group, you should see a list. Click on New Template.
Now we will create templates for the comments and the entries. NOTE: Do not skip any steps.

Template Name
The name must be a single word with no spaces
(underscores and dashes are allowed)
Type in Index

Choose Template type> Webpage

Default Template Data
None – create an empty template

Click Submit.

We are now back to the list of templates.
Okay, now we have to add the code to make this work.
Under
Template Name / Edit
To the left of Index>Click on>View

Copy & paste the code below into the blank area. Note change “yourblog” to the shortname of your blog. Your blog’s name is not what appears in the title bar of the html page. It is what you have listed in Admin › Weblog Administration › Weblog Management > Edit Preferences>Short Name
The short name is the name of your blog.

Also note: If you have used the summary instead of the body then you will need to capture that info, too. I am including the summary because at some point, my blog posts switched to being in the summary. I probably did this out of laziness. 😉

Note: This only includes the first 999 blog posts. If you have more blogposts, try changing the number in limit to encompass all posts. If your export file truncates (doesn’t include all posts) then you may need to do this in two batches.

{exp:weblog:entries weblog=”yourblog” limit=”999″ rdf=”off”}
AUTHOR: {author}
TITLE: {title}
STATUS: Publish
ALLOW COMMENTS: 2
CONVERT BREAKS: br
{categories}CATEGORY: {category_name}
{/categories}
DATE: {entry_date format=’%m/%d/%Y %h:%i:%s %A’}
—–
BODY:
{body}
—–
EXTENDED BODY:
{extended}
—–
SUMMARY:
{summary}

—–
{embed=”export/comments” the_entry_id=”{entry_id}”}
——–
{/exp:weblog:entries}

Click Update and Finished.

STEP 4: Test the export!
We are now back to the list of templates. Check to make sure that you are right area.
Under Choose Group> Export

Next to index there are 2 Views listed. To the left is view template (it is under the header: Template Name / Edit. This is not the View you want. Under the header, View, which is to the right of the Template name Index, is a second View. Click on this view

If everything worked well (give it a second or two) , you should see a large kind of garbled looking file with your posts- this means the export is working. We will format it and save it in a minute. If you are having problems at this point, delete your templates and start over.

IF you are still having problems, drop me a line and I’ll see if I can help you.
Now, to format and save it.

Go to View/ View source in Internet Explorer or Firefox (control + u). Save as index.txt

PROBLEMSOLVING:

Templates not working at all: Check your blog name. In expression engine>CP Home › Admin › Weblog Administration › Weblog Management
Edit Preferences>Short Name
The short name is the name of your blog.

Missing info:
Take a look at your formatted export file. If you are missing your posts or comments, now is the time to fix it. You will need to work on the export code to correct these.

Carriage returns/page breaks
If the code doesn’t work, delete the extra spaces and then just do carriage returns.

Diacritics and special characters like & ‘ etc.
You may or may not need to correct these before you migrate into your new system. I opened the text file and corrected them all before I imported my entries into textpattern.

best of luck. Remember this export file is in MT (Movable Type) format. When you import it into a new software, if there is no import for MT then you may need to do some additional work.

Advertisements

textpattern, wordpress, & redesign

January 3, 2008

I’m re-doing one of my domains with textpattern or wordpress. I considered drupal, but to be honest, I want something with a little stronger 3rd party support. There are several features & functionalities missing in drupal which I need. For a site from scratch or one with content generated from within drupal, all is well. For those working with 3rd party apps already, well, it may or may not work (or even be available).

Drupal templating is also notoriously tough to work with, although with the new css zen template, it is easier to give it a look which is not straight out of the box. Drupal sites are generally u-g-l-y, but very functional! 😉

Anyhow, I decided to try something new. I need:

  • a blog – one with categories, subcategories, tagging, css templating, rss, upload images + the ability to import a rather large MT export file
  • image gallery – preferably one that can import from coppermine or gallery with category support, metadata, rss, crossposting of images (assign images to more than 1 category)
  • easy support for 3rd party scripting from flickr, youtube, blogger, other rss, etc.
  • a way to generate 5 or 6 mostly static pages
  • ability to template and design with css; slightly different templates for various sections
  • valid coding would be nice, but I know there are sometimes compromises

On this domain, I have been using expression engine (ee) for years for a blog software. However, I am now ready to dump ee, due to its cost and licensing restrictions. Actually, I started out with greymatter (opensource) then migrated to MT (movable type) and then migrated to ee. So, some of my data has already been through 3 migrations.

I know wordpress can do this. Textpattern seems to be an option too. So, an interesting experiment.