How does one build a website in the current version of Joomla which produces the minimum number of headaches when the site must ultimately move to the next version of Joomla?
The best way to make migrations easy is to leverage Joomla's core features as much as possible. Use an extension only when absolutely necessary.
If you stick to Joomla's core features and core extensions, and you don't modify these features and extensions, your data should transfer with ease to the next version of Joomla.
When you use an extension that does not ship with Joomla, either your own custom extension or one created by a third party developer, you must somehow migrate the data from your current version of Joomla to a future version of Joomla. There is no way to get around moving the data between versions.
When you are building a Joomla website for the first time, you have a choice of thousands of Joomla extensions, 9447 as of this writing. There are many duplicates within a given category. For example, there are 40 events calendars. Which one is right for you?
It's likely you evaluate extensions based on their version compatibility, the number of stars in their rating, how many votes they have, and the features the extension offers. But have you looked at the extension creator behind the extension?
I use Nicholas Dionysopoulos of AkeebaBackup.com as my gold standard where extensions are concerned.
I will never worry about Nicholas publishing a new, 100% compatible version of AdminTools or AkeebaBackup with the next version of Joomla. He was the only developer I know to make an extension compatible with all 15 of the Joomla 1.6 beta releases. He educates other developers about changes between versions of Joomla. His support is excellent, and his commitment to the Joomla community is deep. I've seen Nicholas (who lives in Greece) attend two Joomla Day events in the US (Chicago 2011 and Washington DC 2010), as well as J&Beyond 2011 (in the Netherlands). As long as there is Joomla, I have faith that Nicholas will be developing extensions for it, and that those extensions will be excellent, compatible, and work as advertised. (What's more, I think most in the Joomla community will agree with my assessment!)
Now, Nicholas sets the bar so high that most Joomla developers can't follow his lead completely, but he still sets two important expectations for others to follow:
I've seen so many posts from people complaining about X extension not being supported in Joomla 2.5 yet, you can't do a migration, the first release was horribly buggy, and so forth. Many simply say they're waiting for the extension developer to get the new version right before they move from 1.5.
I've seen extensions developers complain about the changes in Joomla, the instability of Joomla 2.5, provide excuses about why migrations haven't happened -- or simply ignore emails and forum posts asking when their extension will be compatible with 2.5.
Do you know what you're saying?
I'm waiting for this extension developer, who releases buggy software and/or doesn't have a plan for migrating their software between versions and/or won't tell me when the next version of software will be ready, so I can move my website and keep working with his buggy, out-of-date software.
And you're going to continue to tie your business, organization, or project, to this piece of software?
Time for you to cut your losses. If X developer did not get Y extension ready for Joomla 2.5 as of this writing, or they released something buggy, it's time for you to find a replacement extension.
Furthermore, take note of which extensions you're monitoring for the next Joomla migration, which will likely be Joomla 2.5 to 3.5 for most.
Finally, as you are building new sites in Joomla 2.5, choose your extensions with care, and use them only when absolutely necessary.
With careful choice of extensions, you should have a significantly less problematic migration from Joomla 2.5 to 3.5.
Hello translators! I love it when people translate my articles to other languages, helping me reach Joomla fans around the world.