Building a Website with Drupal for Newbies – Introduction

As promised in my post on Kings among Content Management Systems, I am creating a tutorial for newbies on how to create a Drupal website. Being a relative Drupal newbie myself, I figured this would be the best way for me to learn and share what I’m learning.

Several things I need to point out before we begin:

  • This is not the first Drupal website I am building, so it’s not trial and error, at the end of this tutorial you will have a functional Drupal website and enough tools and ideas to play with to advance your Drupal knowledge.
  • Why another Drupal tutorial? There are many many Drupal tutorials out there, some really good, some not so clear, so why another one? Well, before I decided to work with Drupal I had read a lot of things about how difficult it was, and about how steep the learning curve was. My first forays into Drupal weren’t very productive, and the tutorials weren’t very helpful. After digging some more I finally started to figure it out, so I decided to create a tutorial as I go, so that people new to Drupal have one more resource to follow.
  • This is a newbie tutorial, at least at it’s outset, so if you’re an expert, you may find it boring, but I welcome any comments and corrections and contributions. But don’t leave, stay and see how this develops, at some point it may be useful to you.

I have several goals in writing these tutorials:

  1. For you to learn how to build a pretty functional website that you can add content to and mold into more, and have the room and capability to expand, which Drupal is very good at.
  2. That after this series of tutorials you’ll go on past your first website to learn more and build more and share your tips and ideas with me and others.
  3. That I will learn more from writing these tutorials and from any questions or issues that may arise as you explore your ideas.

Drupal is currently, as of this writing, at Version 6.0, which was released just recently. However, this series of tutorials is going to cover version 5.7, mostly because version 6 is still very new and not all the modules have been updated yet. You can use version 6 but I can’t really guarantee that everything will work as described in these tutorials.

So what do you need?:

  1. Somewhere to host your new website. You can use a free host and free subdomain if you wish, but if you want this to be a serious project, I suggest that you get a domain name and a hosting plan, because you never know where this project will go. You may end up building something that you want to hold on to and develop! You can try GoDaddy.com Hosting Plans or Hostgator.
  2. A domain name, if you choose to go that route. You can get a cheap .info for starters. You can also choose to build your website on a subdomain of one of your main domains, which is what I will be doing throughout this tutorial.
  3. Drupal, which is free and can be installed using a script installer such as a Fantastico, or manually. I will describe all this in the next installment so don’t worry too much about it at this point.
  4. Inspiration – just look at some of the sample Drupal websites I posted in Kings among Content Management Systems to see what is possible, and to start generating your own ideas. You can also visit http://www.drupalsites.net/ to see an assortment of Drupal sites.
  5. A notebook and pen, if you like taking notes.
  6. Your favorite beverage and some snacks.
  7. A sense of humor.

What don’t you need to bring with you?

  1. Programming knowledge of any kind: While it would be nice to have, and it may come in handy at some points, it really isn’t necessary to bring any programming knowledge to the table. If you need to know something, such as how to create a database for the installation, and you don’t know it, I will either show you how to do it, or point you to a tutorial that explains it in a way that I think is easy to understand.
  2. A pet turtle: I have one, but that doesn’t mean you need one.

So get everything set up, and decide what you want your website to be about, and in the next installment we will start working on building a website with Drupal.

The Painless Way to Migrate a WordPress Blog

First, let me say that the Drupal tutorials are on the burner, and I will be posting the first segment soon. But today I want to talk about moving a blog. I’ve had some hosting issues that have forced me to consider terminating my relationship with one of my webhosts. This means, of course, that I must move my websites that are hosted on that server to another server, a process that I was dreading with all my heart, because there are databases and so much customization involved and I am terrified that I will mess up and lose a lot of time.

I started the migration process with several blogs/websites built on WordPress, and it was a surprisingly painless process that didn’t require me to touch the database or any config files. Bear in mind that the blog was maintaining it’s name and domain name, and all I was changing was webhosts. I will go step by step to describe what I did. First, let me say that I tested this method by creating a subdomain on one of my other domains on the new server and transferring the blog there, to make sure it would work, so that helped reduce my fears.

  1. Back up all files and database: As always, whenever you’re planning to make any major changes, you want to make sure you have current backups on your computer. So using cpanel, I downloaded a backup of the WordPress database, and then downloaded the whole folder that my website was in using FireFTP. This is an important step because it will allow you to recover your files should anything go wrong. You will also need the wp-plugins and wp-themes folders for your new setup.
  2. Create and Export an XML file of the blog: This is what makes the migration so painless, that new versions of WordPress have this capability. While in the admin area, click on “Manage” and then open the “Export” tab. This creates an XML file that you will then use to recreate your blog. Since my blog has only one author I didn’t need to use the filter, so I just hit “Download Export File”. You want to make careful note of where you save this file.
  3. Change DNS settings for domain name: Once I had my backups saved, and I had exported the XML file onto my desktop, the next step was to transfer my domain name to the new webhost (Hostgator) where I wanted to set up the blog. This was simply a matter of changing DNS settings at my registrar. I logged into my GoDaddy account and made the changes, and waited for the confirmation email so that I could continue.
  4. Install WordPress: Once the domain name changes showed up in my email, I then proceeded to the cpanel for my new webhost, set up the domain as an addon domain and installed the latest version of WordPress on the domain name. I then logged into the new WordPress install, and deleted the default post, page, and comment.
  5. Import posts into the new blog: Now that I had a clean install of WordPress running, I imported all my posts from my old blog into this new one. The process was pretty much the same as exporting. In the admin area, go into “Manage”, and select the “Import” tab. Choose WordPress as your source, and then hit browse and navigate to where you saved the XML file you downloaded in Step 2. In my case, I used the same username creating the new blog as the old one, so I just used the default import setting for the author. Voila! My posts and comments were all imported!
  6. Restoring themes and plugins: The next step was to set everything up the way had it on my old blog, including ads, Analytics, and all my plugins. Again this proved to be really simple. Using my FTP program, I uploaded the wp-plugins and wp-themes folders that I had downloaded from my old location and overwrote the new ones. I then had to go into “Presentation” and select the theme to activate it. To restore my plugins, I found I had to go into “Plugins” and reactivate them all to et them working again, but that was pretty trivial in this case. If you have uploads you may want to upload the whole wp-contents folder.
  7. CleanUp: The last clean up steps involved scrutinizing my blog and making sure that everything was in order. Sometimes you link to other files that aren’t necessarily in the WP folder, such as images you may have saved somewhere else, so you want to make sure you check all that and migrate any other external files as needed. I also needed to clean up the blogroll. Once I was satisfied that the new blog was working like it should, I then went back to my old hosts and deleted all the files, the database, and the addon domain.

So in less than 30 minutes, I transferred my blog with all my posts and comments from one host to another. That was pretty painless!

Kings among Content Management Systems

In the world of Content Management Systems (CMSs), there is an array of options and choices so dizzying as to be completely overwhelming for the newbie, and sometimes even for the seasoned programmer or webmaster. These CMSs are capable of so much and they all have different things to offer. One major advantage of using a CMS is the ease with which you can set up and deploy a website! Using a CMS can save you a lot of building time and allow you to concentrate on creating content and marketing your website.

I have tried and played with many free content management systems to see what their different merits are, and have settled on two favorites on the basis of my needs – blogging and building content websites (for which I use either CMSs or hand coding).

For blogging, I definitely consider WordPress to be the master! With a strong community committed to creating themes and plugins, you can do almost anything with WordPress. It’s easy to set up and configure, and to add functionality to. With a little PHP knowledge, you can configure the files and play with them with ease.

For building larger content based websites, I declare that Drupal is King! I haven’t been playing with Drupal for too long, but I’ve been able to build some interesting websites, and have only glimpsed the possibilities. While many argue that Joomla is easier to use and has many more themes available, I am still enamored by Drupal. I will happily sacrifice the beautiful Joomla themes for the functional for the amazing functionality of Drupal. Granted, it’s not the easiest CMS to set up, but once you’ve mastered the basics, you’ll find that the possibilities will whet your appetite for more and more, and there’s an excellent and very helpful community of Drupal users at Drupal.org and all over the web.

In the next few days I will be creating a tutorial to walk you through creating a Drupal website, and will show you the different things you can do. This will definitely be a newbie tutorial of sorts, but will evolve with time as I learn the ropes of more advanced topics. So stay tuned and be sure to subscribe to the blog so that you don’t miss any of the tutorials.

In the meantime, here is a list of impressive websites built with Drupal to get you thinking, and to whet your appetite. While a lot of these websites have been heavily modified and themed, they show you what Drupal is capable of:

Drupal (of course)
BlogHer
Team Sugar
The New York Observer
Tipic
Pando
Best Credit Shop
AdoptionBaby

…and the list continues. If you have or know of any remarkable sites built on Drupal, feel free to share them here. And stay tuned for the tutorials.

Flat File Blogging with FlatPress

If you’re into blogging and host your own blog, you are aware of the need for MySQL databases when you install most blogging platforms, and this is because most blogging programs, and indeed most content management systems store their data in a database. This is generally not a problem because most web hosts offer MySQL databases. But there are situations where you may not have or want to use a database.

Flatpress is a standard-compliant multi-lingual extensible blogging engine which does not require a database to work. Better yet, it’s open source. FlatPress stores all of its content on text files and therefore you don’t need a MySQL database. Installing it is a breeze, and you can get several themes to work with. Theming is done with Smarty and PHP, and the Wiki on the official Flatpress site has some useful information on this and other topics. There are a good number of plugins available, including Akismet, Categories, Calender, etc. Flatpress also has the ability to use widgets using the blockparser plugin.

All in all, FlatPress looks like it’s worth exploring, and is something I will be looking at and playing with more.

Have you used or do you use FlatPress? Please share your thoughts and experiences with us.

Microsoft going Open Source?

I just read this from the BBC News website:

Microsoft has announced that it will open up the technology of some of its leading software to make it easier to operate with rivals’ products.
The technology giant is to publish key software blueprints on its website.
It also promised not to sue open source developers for making that software available for non-commercial use.

Are we talking Microsoft going open source on some of it’s products?
Here is the link to the full news article: http://news.bbc.co.uk/2/hi/business/7257411.stm

It will be interesting to see where this goes. The fact that they’re now handing free developer tools to students tells me that Microsoft has stepped up their efforts at getting more developers to work with and get used to the Microsoft Suite of tools. And their goal now is to get them when they’re still young. I suppose with all the free and open source solutions that are available, Microsoft is feeling the pressure and the cost, and they want