Make life easier with Drupal
Posted on 28 May 2012 at 11:47
Mark Newton shows how the open source content management system can make life easier for you and your clients
There are many different ways to build a website these days. When I first started in this business, you wrote HTML files directly onto a local web server and, if it all looked good, then uploaded these files to the live web server.
Later, the introduction of scripting languages made the need for such a staging server all the greater, because links between pages and menus were (and often still are) hand-coded, and so in danger of becoming broken.
If your clients wanted their site altered, they’d tell you what to change – in electronic form if you were lucky, but more often via a phone call – and you’d have to implement these as soon as you could.
As websites became more strategically vital to businesses, it became desirable for them to be able to update their sites for themselves: this also enabled web houses to support more clients, since they were no longer continually tied up making fiddly little changes.
Giving inexperienced users a copy of an authoring tool such as Dreamweaver was a recipe for disaster
But giving inexperienced users a copy of an authoring tool such as Dreamweaver was a recipe for disaster. Broken links, hugely bloated graphics and random fonts were only the tip of a very nasty iceberg.
Far better to offer a controlled means for users to enter their own content, with menus automatically updated, images resized according to prior settings, and only a limited number of appropriate HTML tags available. Enter the content management system (CMS).
A CMS is a combination of a database that holds all the content, and an engine that generates visible web pages from it according to pre-established settings.
The most popular CMSes were invented by the open source community, using PHP and MySQL, and many commercial web houses have then built their own versions, starting from the open source code.
Some people criticise this way of building websites as a “sausage machine”, where you turn the handle and out comes yet another unremarkable website. In some cases this may be true, but it doesn’t have to be.
For sites with a lot of fast-changing content, such as that of PC Pro, it’s the best solution, as it would be impossible for a small group to maintain such sites without the help of a CMS back-end.
For the small business that wants only a “business card” site to announce its presence, a CMS is overkill. Such cases demand fancy design elements to make them stand out, and are better built using traditional HTML coding – implementing new effects and technologies is far easier if you don’t need to worry about their effect on the other modules of a CMS.
Almost all of the larger ISPs nowadays offer build-your-own-website packages based around customised CMSes, and offer hosting of various CMSes that can be installed with a single click. The route to getting started is easy, but as with most things technological, this is just where the fun starts.
Most of my work involves building custom web applications using Microsoft technologies, but a while ago my company was asked to quote for a CMS for a new client, and we decided that this should become the new standard within our company for building all such sites.
Accordingly, we put a lot of thought and testing into the task of deciding which CMS to adopt – our main criteria were performance, flexibility and ease of use for the end users when updating their own sites.
We spent some time looking at the .NET solutions available, and while Umbraco has its charms, there were problems between versions and the modules, and support via the forums seemed limited. The other big player in the small arena of .NET-based CMSes is Kentico, which is amazingly flexible, but had two major issues that we felt rendered it unsuitable.
Drupal Commerce has 2 forms for a good reason.
Great article! Thanks for taking the time to go into useful depth and be so objective. I was talking about the 2 form issue with someone from the Drupal Commerce maintainer team this last weekend and the 2-form situation for catalogue items is both a good idea *and* being unified into one soon :-) ... typical open source. Basically, you can enter an item once and use it in any number of display pages: individually, in a package offer and more. That's what the 2nd form is for.
By horncologne on 29 May 2012
But what about integration with .Net?
I read the article in the mag (yes some of us actually buy it ;-) and I was left thinking; that's all fine and dandy but what happens when a client wants a CMS as well as some of your other stuff written in .Net - how are you going to integrate the two?
By rjp2000 on 29 May 2012
A couple of things that don't stack up here...
A couple of points I'd like to make.
Drupal - "Its steep learning curve "
Joomla - "but discovered that clients found it confusing to use"
By your own admission you need to build the administration interface for Drupal while Joomla's is pretty standard across all sites.
When you're dealing with clients that have over 10 or more online pressences then this comes in really handy.
And, I know you don't write the headings but I'd substitute, Drupal in your title and make it...
"Any decent CMS makes your life easier with clients."
By CraigieDD on 30 May 2012
Drupal = maintenance hog
Drupal is the perfect solution in some cases, an average solution in others, and for a lot of cases, it absolutely shouldn't be used.
It's great for large builds, especially where multi-lingual versions of a site are required. It's great when you have multiple content authors who all need differing levels of access.
It's OK when placed in competition with other CMS's like Joomla - medium sized developments with one or two authors.
It's absolutely not the right solution if you can do the job with something like Wordpress.
Drupals biggest failing? Updates. This isn't a problem with large builds, as theres usually a maintenance team in place anyway. For medium and small sites, where the development team want to do the work, handover the site and then leave, there's a problem. Updates on Wordpress, for example, are plug and play. Back up the database, press a button, and it's done. A lot of people don't even bother with backing up the database first.
A Drupal update is a much different beast - much more in the realm of an operating system update; wait until traffic is light on the site. Back up your database. Take the site offline. Update 5-10 different modules - all written by third-party developers, to varying standards of quality. Often you'll need to update the core CMS as well. Put the site back online. Pray that it comes back online; if not, determine which module has broken it. Fix module, and repeat. Eventually get the site back online. Pray that nothing in the site has been broken by permission changes.
..And do that entire process twice a month. At least.
That, to me, is the main problem with Drupal. It takes too much daily hand-holding. If you're a developer, it can completely cripple your cash flow, because the clients aren't going to be amenable to paying $150-$200 per month just for the time you spend doing updates. If you offer to do them free, you'll write five Drupal sites, and end up starving just because of the time spent in running updates.
Plus, it really helps if you can configure and run a Linux server. Drupal can run on a shared server, but you'll have a hard (and low) limit on memory.
So, my conclusion (and this is after four years as a Drupal developer - three years developing in Drupal and nothing else) is to avoid it unless the client insists on it and has a sufficiently large budget.
By kpdirection on 31 May 2012
- How to sell more ebooks on Amazon
- 10 ways to make your business more secure
- Top five VoIP mistakes
- How to add in-app purchasing to an iPhone, Android or Windows app
- Remote-control ransomware: TeamViewer and software hardball
- Why laptops with serial ports matter to the Internet of Things
- Make your mobile battery last longer
- Small steps into handling Big Data
- Nexus 5: does it really run stock Android?
- How to get broadband to a garden office
- Google Glass: mugger bait, pub problem and other lessons learned from two dangerous weeks
- Twitter, please don't fiddle with my feed
- How Satya Nadella can get some pay-raise karma
- Windows 10: a step back to go forward
- Michael Dell: Cloud infrastructure is the roads, bridges and highways of the 21st century
- How to check your identity hasn’t been sold to the hackers
- Tim Cook: this is how much TV has changed since the 70s
- Westminster wins the .London battle
- 20 years of PC Pro: from deep pan pizza to virtualisation
- Five reasons why the Apple Watch leaves me cold
- Will HP finally split into two companies?
- Chromebooks get version of Photoshop
- Toshiba beats retreat from consumer PC market
- Ellison steps down: but who's really running Oracle now?
- Microsoft set to make more job cuts
- Is Peter Pan panto tickets email genuine? Oh no, it isn't
- Intel triples Xeon E5 chip performance, adds DDR4
- Patch Tuesday targets critical IE flaw
- Microsoft refuses to hand over customer emails
- Microsoft yanks Windows 8.1 update after crash reports