The situation is as follows: there is a Drupal website which has loads of content (it is for a popular Iraqi newspaper), but the way the website has been built is very, very very messy. Content types are awkwardly structured, views are a total chaos, css is a big pile of non-structured, non modular and totally not maintainable setup of statements, there's no consistency whatsoever. Moreover, many things are in such a way implemented that upgrading to a newer version (Drupal 7 for instance, it is still running on 6) is gonna be a real pain in the ass. This site is doomed to be redesigned from bottom up, otherwise every change will make it more inconsistent and more difficult to maintain.
I'd really like to migrate it to OpenPublish. It's been proven to be a good environment for news-outlets, with well established worflows.
But where to start? How do I map these messy, and awkwardly structured content types to the more properly structured ones that OpenPublish uses? And then: how do I migrate the data, without losing any information? Basically they are the same types of content from an abstract perspective: news-articles, blog posts and pages, but internally there's loads of differences and difficult hurdles to overcome.
Are there any modules that are able to map different types of content types and tell which fields correspond to each other? Are there others that enable you to migrate the data without losing information and structure?
edit: added examples below
Two particular problems for instance:
- In the messy version, each article has an author. An author is always a regular user account. So the amount of user accounts has exploded with registrations that are actually not used. OpenPublish links user profiles (which are nodes basically) to articles. Problem: howto resolve this inconsistency when migrating data?
- Similar problem: in the messy version, each article has a slideshow field (which can contain multiple images) as part of the node article. In OpenPublish you create a reference to a separate gallery node, which also has more meta-information attached to it. How to split those up, without losing their relationship?
Any tips? Best practices? Thoughts?