Drupal 7 Without Surprises or Whether to Install/Upgrade to Drupal 7

17 Feb · by Tim Kamanin · 7 min read

This post is for everyone who is currently making a decision whether to use Drupal 7 for a new project (or to upgrade Drupal 5/6 based project to Drupal 7) or not. Drupal 7 have been released more than a month ago and have already created a big buzz in the community. I tried to accumulate the knowledge I received during the reading of tons of blog posts, forum comments and making my own experiments.

Before starting to offer my clients projects based on Drupal 7, I decided to try it first on my own and upgraded this blog to Drupal 7 a while ago. The upgrade went smooth except an issue with filefields (later in this post). I moved this blog to my own dedicate server to make it run even faster than Drupal 6. As a result of this process, I collected some Drupal 7 facts you must consider before deciding whether to go with Drupal 7 or not.

Here are the facts about Drupal 7 which you need to know

Positive:

1. Drupal 7 became more user friendly. After a big work made on Drupal 's UI, the system became a more user-friendly and the admin interface is really sexy now. Everything is more intuitive to the end user.

2. Drupal is more scalable now. Thanks to architecture improvements, Drupal is more scalable now: CDN files hosting, offloading certain heavy- database tables to no-sql db engines like MongoDB or using Oracle/MSSQL instead of MySQL isn 't a big deal for D7. However, you need to note, that scalability isn't a synonym of a performance. People often confuse both this meanings. If you'll scale an elephant it doesn't mean he is going to run faster. To make him do this we need to give him magic pills. More on this later in this post.

Negative:

1. Drupal 7 is slower than Drupal 6 out of the box. Yes it is. And don 't listen to people telling you the opposite. It's just that. There are many discussions on this topic and I even created two similar threads to discuss this on drupal.org and linkedin.com. Take a time to look them through to get a picture of what people are thinking about D7's performance.

2. Drupal 7 isn 't for a shared hosting. At least today. Nowadays shared hosting providers give too few resource power to make Drupal 7 run perfectly (at least, equally to Drupal 6). Due to Drupal's architecture changes, Drupal took a load off the database engine (yeah, no more 300 requests per page!) but put more load on PHP part which means more CPU intensity. But thanks to the technical progress, CPU power becomes cheaper day by day and maybe in a year time we'll see a variety of good Drupal 7 shared hosting packages for a sweet $9.99 price tag. But until this, consider to spend at least $19.99 per month on an entry level VPS. UPDATE: There are people who tell that they have Drupal 7 perfectly running on a shared hosting. Unfortunatelly I wasn 't able to find such a hosting, so please, give a link to your Drupal 7 website and the name of the shared hosting you use. Later I will compile Drupal 7 friendly hosting list.

3. Drupal 7 needs a performance tune. Installing Drupal 7 on a VPS/Dedicated server will make your website run fast, but in order to make it run even faster or to be able to sustain higher loads you need to tune your VPS/Dedicated server. This is one of the reasons why shared hosting won 't work here: you just can't install an opcode optimizer as APC (a highly recommended ingredient) on a shared hosting. Varnish, Memcache are also a great help in order to make Drupal run fast like a cheetah, but they make sense for projects with a high amount of traffic.

4. Drupal 7 has some difficulties with upgrading from Drupal 5/6. Well, the core will update nicely. But if you have many third party modules installed, make sure they have D7 versions or D7 equivalents. The bigger problem is with CCK fields. CCK is now in the core, so content types with simple fields like textfield, textarea, number will upgrade without any problems. Another story happens with file fields. Filefields have been moved to Drupal Core, but a module to provide an upgrade path has not yet been created. So in order to upgrade file fields while updating this blog to Drupal 7 version, I had to move file fields data manually. Of course, this approach makes sense when your project has around 10 - 20 images like this blog has, but if the number of file records for your project is really big you will have to write some custom migration script. It 's not a big deal for a good programmer ;)

5. Drupal 7 is still not completely ready for SEO. There is still no robust solution for managing meta tags in Drupal 7. Meta tags module (nodewords Drupal 7 version) is under development and there is no even an alpha release. However, there is a Metatags Quick module http://drupal.org/project/metatags_quick which isn 't a perfect solution, but at least, it let's you to set meta tags for node pages. SEO is a very important aspect for any web project and meta tags aren't the least important ingredient. So you need to consider the current situation with meta tags.

Finally, my advice

My list contains more negative facts then positive in my list, but the weight of positive facts is more solid. Add to this further development and more attention from drupal module developers in the future and you will get the winner. However, there are cases which are in need of more proper recommendations:

1. You are on a limited budget and you 're going to build a simple website which consists of news, an about page, several content pages and a contact form. No further development is projected. In that case you can go with Drupal 6. It consumes less resources and runs well on $9 shared hosting. In the future, you can easily upgrade from Drupal 6 to 7. Due to the simplicity of your web project it won't require too much time.

2. You have a complex project based on Drupal 5/6 which runs ok and doesn 't have scalability problems. In that case I wouldn't rush to upgrade to Drupal 7, because not all necessary modules are in the stable phase, upgrade path for some CCK Fields like filefield is missing. It is worth to wait at least till the end of the summer before deciding to upgrade.

3. You have a complex project based on Drupal 5/6 which has scalability problems. In that case, upgrading to Drupal 7 may be worth of efforts, because the scalability is one of the new strengths of Drupal. Just make sure that all modules your project uses are upgraded to Drupal 7 and work without major issues. If not, then it is worth to wait for another six months or help module contributors to fix major issues.

4. You 're going to build a project from scratch which isn't a dog's owner page. I'm not against dogs and their owners. I just wanted to say, that it is worth to go with Drupal 7 if you're building a brand new project which is going to become complex or which is simple at the start but is intended to evolve into something big in the future. In this case Drupal 7 fits the best. You can install it on VPS which will cost you $19 - 29 a month (agree with me, $19 a month shouldn't be a big obstacle when you're building a serious project) and tune the server for the optimal performance. In forthcoming weeks I will write more on Drupal 7 performance optimization, so stay tuned. Missing modules and unstable version shouldn't be a big problem too, with time they will become stable and you can always develop missing modules contributing them back to community.

While making your choice, remember about cool modules which are available for Drupal 7 only (like Media module http://drupal.org/project/media or Commerce module http://drupal.org/project/commerce). And there are going to be more of them, developed only for Drupal 7. So starting with Drupal 7 makes sense in the long term and I'm pretty sure, that when you decide to build a web project you think long term.

In any case, if you need an advice or help with upgrading/installing, optimizing for performance or developing a Drupal 7 based project feel free to contact me.

Comments

Required for comment verification



JudyWatts

Life will always be to a large extent what we ourselves make it.

Reply · 6 years, 9 months ago
detroitgeek

Upgraded from D6 to D7 on a test station and lost all of my images. This upgrade certainly isn't ready for prime-time

Reply · 6 years, 9 months ago
hugo

Great article! I am running a drupal 6 site on hostmonster. The site has only 10 audios supported by audio module. There will be 2 audio files added each week. My plan is to upgrade to drupal 7 in this automn. What should I do to prepare for the upgrade?

Reply · 6 years, 9 months ago
Jeff Geerling

Just posted a quick overview of the things I do to every Drupal 7 site I set up on shared hosting: http://www.midwesternmac.com/blogs/jeff- geerling/drupal-7-front-end-performance - Basically, enable Boost (#1 priority), add some htaccess rules, and configure the performance settings. Even with logged-in users, the site should run okay if you configure it well, and don't use too many modules :)

Reply · 6 years, 9 months ago
Druplicate

I have a large real estate site with thousands of of nodes, each one a page with data and images of a property. Imagine my dismay when trying to internationalize the site and finding that in D6, translation of a node creates a completely new node, AND the images are NOT referenced - you have to keep separate copies for each translation! At least CCK data fields can be synchronized with the i18n sync sub-module. My understanding is that this is different in D7, that translation can occur at the field level. Do I have this right? I'm basing this on the following blog post: http://www.isegura.es/blog/drupal-multiple-languages-part-three-all-language- versions-node-once

Reply · 6 years, 9 months ago
dalin

It's also important to note that this post is very time sensitive. A month from now things will be completely different.

Reply · 6 years, 9 months ago
dalin

Oh and I've got a D7 site running on shared hosting (Site5) just fine.

Reply · 6 years, 9 months ago
dalin

meta tags aren’t the least important ingredient

But pretty darn close. Metatags aren't worth mentioning on your list.

You have a complex project based on Drupal 5/6 which has scalability problems. In that case, upgrading to Drupal 7 may be worth of efforts

I spend about 50% of my time doing performance/scalability consulting and I strongly disagree with this statement. If you've got issues on D5/6 then switch to Pressflow. D7 doesn't bring much that isn't already in PF6 and the increased load due to entities/fields will only add to your problems. Sure D7 _can_ use MongoDB. But you can't switch to Mongo if your site started with DB- based CCK. You've got to start with Mongo from the get-go.

Reply · 6 years, 9 months ago
Marek

I've started experiencing with Drupal 7 on my personal website: www.marekpisch.com. I'm using free shared hosting from Canadian company: http://www.10looniehost.ca/hosting.php. Free account has only 50MB storage limit I think I'm already somewhere around 35MB with only few additional modules. I do not have huge traffic and only few modules so I have not seen any performance issues yet. For our clients I still suggest Drupal 6 because there are some modules which are not Drupal 7 ready yet. But I guess this is changing every day and I hope after summer 2011 we will be building new projects with Drupal 7 only.

Reply · 6 years, 9 months ago
Sudesh Kumar

Take a look at my site www.booleantree.com. Its on Drupal 7 and using shared hosting.

Reply · 6 years, 9 months ago
Sudesh Kumar

Hi, I am new to website building but I am a developer so when it came to making one for my own startup company I decided to go with Drupal 7 after doing lot of research. I compared it with Joomla and Drupal 6 and finally decided to use this. I am using shared hosting so far but may move to VPS once traffic increases. Haven't had a complaint so far. Thinking of installing meta tags module for SEO.

Reply · 6 years, 9 months ago
Jerome

I use Drupal 7 for my website http://www.soucany.com The web hosting service is http://www.ovh.com (from France).

Reply · 6 years, 9 months ago
Andy C

My personal blog (no modules, no traffic, 1000 posts) works perfectly fine on Drupal 7 using Bluehost's cheapest hosting package.

Reply · 6 years, 9 months ago
btopro

Thank you for outlining these points. I've gotten some dirty looks and odd comments when saying that I wasn't moving to D7 yet. For me it's views, I need views and I need platform stabilization the same way I did with D5 and D6 in terms of community module support before I jump in full. You laid out pros/cons very well of D7 / decision points and I'll reference this article for those asking for reasons to / not to upgrade just yet.

Reply · 6 years, 9 months ago
gphilippe

Hi, About the shared hosting. The tests i have done show a completely different return : i can't make turn drupal 6 but drupal 7 turn without problem .....

Reply · 6 years, 9 months ago
Jeff Geerling

My D7 sites on shared hosting, running great!

These two sites get between 500-1,500 visitors (5-10,000 page views) a day, and run great without any hiccups, performance-wise. It's mostly a matter of keeping page cache on, and using Boost if possible, to get Drupal (6 or 7) to run well on shared hosting. Now, I definitely wouldn't run a community site with tens or hundreds of authenticated users on a shared host—but that's the same in D7 as it was in D6.

Reply · 6 years, 9 months ago
Craig

I run www.foggypserspective.com with Drupal 7 on shared hosting (www.hotdrupal.com).

Reply · 6 years, 9 months ago
Tom Geller

Thank for posting this. I've been working on updating a site to Drupal 7 and discovering all the things that are buggy. It's wise (but psychologically difficult) to remember that "7.0" is a (mostly) arbitrary milestone: Code doesn't suddenly become flawless just because the version number changes from RC.

Reply · 6 years, 9 months ago
Andrea Lemon

Helpful article, thanks! One thing you didn't mention was Internationalization. This week I'm starting a project which requires multiple languages out of the box, and I'm not sure which Drupal version to use. The i18n module is due at the end of February, and the other related modules seem to be on a similar schedule, currently in alpha and beta release. As a code-phobe, I can only keep my fingers crossed that they'll be ready for me in time. Incidentally, I use a shared host (http://interactiveonline.com) with unusually good PHP settings (memory_limit 256M, post_max_size 200MB). What other settings should I look at to evaluate whether it'll be a good place for a Drupal 7 site?

Reply · 6 years, 9 months ago
Andy Marquis

drupal 7 site on shared hosting (hostgator) http://www.cpandm.net I havn't noticed D7 being any slower myself but i guess it depends on the project maybe.

Reply · 6 years, 9 months ago