4

Any websites I have built before using Expression Engine have been from scratch.

One of my existing clients would like their site rebuilt as its 4 years old. I am planning on using another domain to copy the existing site over and upgrade it from 2.5.x to 2.7.x and then create a new design and edit a few custom fields.

The issue is, this is a high profile e-commerce site that is in 24 hour use. New members, new orders and new products are constantly being added.

If I build the new site on a copy of the site, after I finish the new design, and a few amendments to the system (perhaps a few custom field changes) I am wondering how I should go about getting the new data back into the new system.

Any advice on this matter would be greatly appreciated.

4

There are two issues here to deal with.

Exporting Data from the old site

This can be done in a variety of ways. And it's arguably the easier task. I generally write custom PHP scripts, or sometimes a CodeIgniter app to connect to a copy of the original database and output XML files from it. It's just a matter of collecting all the needed fields. Since you're using EE for the original site, you could use an add-on like Export It, or simply use templates to help output the data.

Importing into the new site I almost always use Datagrab for this. It takes care of so much of the work for you. It's also easy to extend if it doesn't already support your fieldtypes.

Once you get both of those parts working, you can keep your data up to date on the new site during development. When it's ready for launch, you can just do one last data pull to grab any last minute content updates and pull them over into the new site.

  • 1
    Plus one for datagrab. – CreateSean Nov 26 '13 at 16:30
3

It's tricky. I'm in a similar situation, though I'm migrating from a non-EE site. So, I've had to write a number of SQL and PHP scripts that "know" what data can change and what can be new, and can grab just the change and insert or update into the EE database in the right place.

But, take a look at this technique for capturing database queries on one EE site, and applying them to another:

http://krasimirtsonev.com/blog/article/Deploying-ExpressionEngine-based-site

It's definitely worth considering in your case. I haven't used this in a production situation, so that'd be something you'd have to test to feel confident is manageable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.