Saturday, November 11, 2006

Blog Site With Joomla

Blog Site With Joomla

Creating a Blog Site With Joomla
Tag it:

There are many places on the web where you can create a blog, some are free and some are paid services. To name a few:

The 800 lb gorilla in the room here is Blogger. Part of the Google world, it by far hosts the most blogs. This is probably because it is very very easy to set up and free. A quick look at some Alexa rankings (rough estimate of traffic) show this picture.


So why would we want to use a content management system to blog with? Isn't there already much easy solutions?

Well, first off, this is a book about Joomla, not Blogger, so I want to try and show how you can use Joomla to blog, sell products, build community sites, make your coffee, etc etc. But there is a real reason too.

Blogs are closed systems.

What I mean by that is the software that powered alot of these blogs is basic. That's perhaps part of Blogger's huge popularity. But if a moment should come that you want to extend the features of your blog, you are stuck. Maybe you want to add a forum, or a shopping cart for your ebook, or a subscription part of your blog. Try to add any major functionality to it and you are stuck.

A big theme of this book is being very excited about how amazingly extendable Joomla is. With that in mind, if we can have Joomla mimic the basic functions of a blog, then that can be a basic foundation for all you bloggers out there to build a super sticky blog site.

Basic parts of blog

Let's pause from our headlong rush into joining the blogosphere and consider what essential features you need for a successful blog.

  • Flexible Layout
    Been to one Blogger blog and you have been to them all. Being able to make yours look different to the other 27 million blogs out there is a good thing.
  • Browser-based Editing
    You have to get your content on the web fast and easy.
  • Automated Publishing
    FTWho? You don't want to have to mess with complicated file transfer, you want to click a button and have your posts appear. Text formatting and spell checking is a bonus too.
  • Categories
    Part of having a usable site, being able to split your posts into categories will make them easier to find.
  • Automatic Archiving
    I am unsure as to the usefullness of this. User will be far more likely to browse through categories than archives, unless they really like your writing. But heck, it seems a standard feature of blog software, so we'll throw it in too.
  • Search Engine Optimized Titles
    If you have written a post, you don't want your URL to be www.myblog.com/9823749.html?myleftleg. You want to be able to squeeze every ounce of SEO out of your post. So having a URL that includes keywords about the post is useful in this regard.
  • Comment Systems
    An absolute critical feature. The comment system is one of the #1 ways that your site becomes sticky (how likely a visitor will return). Free for all commenting is something bloggers have embraced and has led to their explosion in popularity. Many corperate sites that have blogs are afriad to tread this path. So Web 1.0...
  • Trackback or Pingback
    Two things are going on here. Pinging is a mechanism whereby other blog search engines are alerted automatically to a new post being made by you. An example is Technocrati.
    A Trackback is more complex. The bottom line is you read a post, and you comment about it on your blog. You place the URL to her post in yours and her blog picks up your post and leaves it as a comment in her post. Confused? Its a tool to get more traffic, that's good, and we want it.
  • Syndication Feeds
    RSS and ATOM are XML applications that can push your posts onto other RSS readers. Email clients such as Thunderbird come with RSS readers, as do personal sites like Yahoo. Perhaps a more important point is that a web site can read RSS, you you can have your posts appear automatically on someone elses website, where (hopefully) it will get even more readership. Its kind of like automatic and dynamic real time article syndication.
  • Email Notification
    If you make a post, wouldn't it be good if you had an email list that got notified that you did? If you are a web business, you will soon start building a list of emails. This is a whole other subject beyond bloggin however involving CAN's of SPAM.
  • Search
    As a prolific blog poster you will seen have your archive bursting. You will need a robust search tool that can help site visitors find your posts. Steve Krug maintains that some visitors will automatically look for a search as the first thing they do, people are either searchers or browsers.

How can Joomla meet these Blogging Requirements?

There are two ways to implement a blog on a Joomla site. Firstly, there are several blog components available that run as self contained blog tools inside Joomla. The second way to to build the blog from its seperate parts. Each has its advantages and disadvantages and we will look at both.

Blog Components

Joomblog

Joomblog (www.joomlafreeware .com) is Joomla version of blog, including blog, blog comment, blogside, blogroll, blog-archive, blog section/category, blogmail (email/MMS), blog header and personal guestbook.

Joomblog is a very simple component and an interesting candiate for blogging. Describing it as a blog might be somewhat of a stretch. Its actually an integration of two functions. The first is that it allows registered users to have a blog page all to themselves. The core Joomla functions of handling content are used to do this.The second is a comment function that allows you to have comments enabled for specfic sections. It also has a module that links to all content submitted (aka blog posts) by a particular author. So to summarize, Joomblog allows you to have mutiple bloggers on a single site. Its not so much of a blog component perhaps, but more of a packaged authentication/permissions tool focussed on blogging.

Blogg-X

Blogg-X is a cross platform (OS X, Windows XP, Linux) content management tool for websites based on the Joomla! CMS. Blogg-X runs locally on your computer as a desktop application.

Blogg-X is another interesting tool. Again, its stretching what we are considering to be a blog component, in fact, its not a component at all. Blogg-X is software that you actually install on your local computer. It allows you to create, edit and post content to your site. Basically, its an editor that talks directly to the content. It even allows you to create content offline and then upload it when you are back connected. Not really a "blog component" though.

A related tool is JExplorer (www.joomlatools.org). Its basic functionality is the same but is alot more powerful. Its more of a future platform for any kind of remote publishing to a Joomla site.

JD-Wordpress

Joomla! does content management very well and Wordpress does blogging very well.

JD-Wordpress is more of a complete blog offering. That not really surprising though, its basically Wordpress squished inside Joomla. It does all the things you might expect of a blog. The administration is difficult however. The admin interface for the Wordpress part of the site is very different to the rest of the Joomla site. This means that its something new to learn. Another challenge is "skinning" the blog to look like you want it to.

Summary

There does not seem to be much to help us here. When we look back to our list of essential features, there is not really a blog extension that bundles them all into one for you. JP-Wordpress is the closest, but it is challenged by being something else that being squeezed into Joomla.

Let's look at another alternative then, building a blog out of the seperate peices, and things that Joomla can do itself our of the box.

Building a Blog from Joomla "Out of the Box"

So let's go back to the drawing board and look at what extensions you might need to pick up to duplicate the whole effect of a blog.

  • Flexible Layout
    Joomla is probably the easiest CMS to "skin" or "template" which means you can have your blog looking like anything you want.
    Conclusion: Out the box.
  • Browser-based Editing
    One of the whole points of Joomla is to be able to maintain your site and edit your content in a browser.
  • Automated Publishing
    Publishing is one-click with Joomla. You can even have items be published at a future date. Say you need to go out of town, and you write some blog posts to get published while you are out of town.
    Conclusion: Out the box.
  • Categories
    This just requires a bit of planning. When you are setting up your site, make a section called "blog" or similar to hold all the categories. Then make categories as you need them. Last step is to make a menu that has a link to each category. A module is automatically created at the same time, which you can place as needed.
    Conclusion: Out the box.
  • Automatic Archiving
    I have yet to find an easy way to do this. The archive function in Joomla allows you to index content by date, but it changes the URL. That is very bad for a blog as you need persistant URL's for all those people linking to you.
    Conclusion: Still looking
  • Search Engine Optimized Titles
    For Joomla to compete I recommend using a 3rd party SEF. I choose OpenSEF. It's new Ajax admin interface is great and it seems to produce robust URL's. The clincher is the ease in which you can create redirects. If you have a lot of URL's that need to change, links from other sites. All I have to do is monitor my logs and when I see traffic coming in from old URL's its a 3 second (literally) job to set up a redirect to the new URL. No messing with htaccess here.
    The second part of the process was internal links. These are useful for SEO, but who wants to be found on a Google search for "read more". There is a mambot from Run Digital that changes that though, and makes the link much better. It also does it automatically.
    Conclusion: Install Open-SEF
  • Comment Systems
    Luckily, at the time of revising how I was building my blog, a new comment component was released. I am using it on my site now and its great. The front end looks good, has a robust captcha and is easy to template. Its also got some nice extra features like hiding the comment form with Ajax. Its $12.50 for the basic version, but well worth the price.
    Conclusion: Buy JomComment
  • Trackback or Pingback
    Here is our first major issue. Currently there is no method of acheiving trackbacks on a Joomla blog built from its seperate peices. If this is an absolutely critical, must-have feature for you then you might need to be using the JD-Wordpress extension. If its more a question of "it would be nice if I had it", then its probably worth going with the seperate pieces solution and wait for this to be developed. In 1.5, this function will be much easier to add and there are at least two developers working on a solution at this time.
    Conclusion: Wait for a release
  • Syndication Feeds
    Joomla has built in RSS syndiation, there is actually nothing to do here. Well, that's not quite the whole story. The RSS as it runs in Joomla is only of the Front Page (or home page). This means that if your blog is on an interior page, or you want to have multiple feeds, you need to find some help. Fortunately, there is a great extension from Run Digital that will do both of these, and its free.
    Conclusion: Out the box, or get Run Digital RSS feed manager
  • Email Notification
    Right now there is no way to have email notification to an emaillist when you make a blog post. There is a way round this. Several 3rd party (non-Joomla) services provide this functionality. One example is Feedblitz. You can have people subscribe to an email list and they actually get the introductory text from your blog posts emailed automatically to them. There is nothing you, as the blog author, need to do.
    Conclusion: Seek a 3rd party application.
  • Search
    Joomla has a powerful search function built in.
    Conclusion: Out the box

The Best Way to Set up a Blog with Joomla?

Right now, there is no robust and feature rich blog extension for Joomla that will fufill the core features that is needed in a blog, and does it as a native (not a port) extension. Until something has been developed to fill this need, wannabe bloggers are probably much better off building a blog out of its consituant parts. Its a little more work, but the solution is more robust and easier to manage.


Install Joomla 1.5

This tutorial quickly leads you through installing Joomla 1.5. It details both a local installation for testing (if you do not have a hosting account or have a slow internet connection) and a real web server installation.

Joomla is a complex series of PHP scripts that run on a web server. When you browse a Joomla site, these scripting are being generated on the fly and creating what you see on the pages of the site. The key words here are web server.

Running and Testing Joomla Without a Hosting Account

You cannot download Joomla and try to run it on your computer like an exe file. It has to have a web server, which means you need to have a hosting account. Sounds obvious, but I have had a couple of people if they needed windows XP to run Joomla!

Now, before we shell out our hard earned money for a hosting account, there is something else you can do first. You can actually run a web server on your local computer, in other words, your desktop or laptop. This is known as having a localhost. It may sound like I just contradicted myself from the previous paragraph, but not quite. You can’t "run" Joomla itself on your own computer, but you can install a localhost web server for it to "run on".

What you need to pull this off is some software that runs Apache, PHP and MySQL on your computer. These are the same software packages that power websites. There are two popular ones, WAMP (www.wampserver.com/en/index.php) and XAMPP (www.apachefriends.org/en/xampp.html) and they are both free (PGL license)

I am going to quickly run through setting up WAMP, not that this package is windows specific.

Download WAMP from the above link, and then install it. It will create a folder c:/wamp/www

Run WAMP, you should get a handy icon in your system tray:


You need the dial to be white to continue. Note if you run Skype, it interferes with WAMP and so you have to start WAMP without Skype running (and then start Skype if you need it)

Now open a browser and go to localhost (no "www")

You should see the following page


If you are not seeing this then you should stop and figure out why. You have to get this page before you can proceed. The WAMP site has some helpful troubleshooting FAQ's and a forum.

You should see your folder called "Joomla" in the list of Your Projects. Click on that folder and you will get taken to that "website".

Installing a Joomla Site on a Hosting Account

So let's assume you either have a hosting account, or are going to get yourself one. There are some minimum requirements for Joomla to run, and they are slightly different for the different versions.

Here are the minimum requirements for Joomla 1.0

You must ensure that you have MySQL, XML and Zlib support built into your PHP.

help.joomla.org/content/view/34/132/

For Joomla 1.5 it’s recommended you have PHP 4.4.3 or above (for enhanced security).

A thread on the Joomla forums lists various hosting companies who are active Joomla community members. The list can be found at forum.joomla.org/index.php/topic,6856.0.html

Note that from now on, the steps are more or less the the same whether you are installing Joomla on a localhost or on a remote web server.

Getting the Joomla Files

This part is easy. Head on over to www.joomla.org and you will see a link to the download section on the home page, it looks like this:

The version number is the number given. This image shows that it's the 11th release in the 1.0 series.

Or you can head straight to the Forge and you will see all possible downloads:

forge.joomla.org/sf/frs/do/viewSummary/projects.joomla/frs

All versions are here as well as various upgrades from one release to another, important if you already have an installation of Joomla.

Important Note:

You cannot upgrade from Joomla 1.0 to Joomla 1.5. There are significant enough changes in the code that simply over writing files would break your site. The developer team has carefully chosen to talk about migration.

"Joomla 1.5 does not provide an upgrade path from earlier versions. Converting an older site to a Joomla 1.5 site requires creation of a new empty site using Joomla 1.5 and then populating the new site with the content from the old site. This migration of content is not a one-to-one process and involves conversions and modifications to the content dump."
dev.joomla.org/component/option,com_jd-wp/Itemid,33/p,107/

This has been a deliberate choice to minimize the number of users who might attempt the "overwrite the files" technique. More can be found in the forum:

"Joomla 1.5 is so significantly changed from 1.0 that there is no 'upgrade' path. This is the reason that we are providing a migration path. The concept is to build a new site and to migrate data from the old site. Extensions need to be installed and configured as if the site is new. The core data migration does reconstruct menu items for core elements and also keeps core module records with configuration settings."
David Gal - forum.joomla.org/index.php/topic,63232.0.html

Unzipping the files

You need to unzip, or unpack the big Joomla files you have onto your server. If you are running as a localhost, your server would be the WAMP directory mentioned above. If you are on a web host, you will need to upload the file and then unpack it. Perhaps the easiest way to do this is with cpanel. Almost all hosting companies provide it. Use your file manager to upload the zip file to public_html (or whatever you have on your host). You can then use file manager to extract the files.

Note:
I don’t recommend using Fantasico. Many hosts provide it but don’t always have the most current file releases.

Installing Joomla through a Web Browser

If you have got this far that means you have unzipped the Joomla package to either a remote web host or your local computer. Now for the fun stuff!

Using your browser of choice (Firefox of course), navigate to the location of all the Joomla files. In my case here it is localhost/Joomla. You will see the first installation screen.

Choose Language:



Here is the first look at some of the internationalization features of Joomla 1.5, you can select amongst many languages for the installation instructions.

Pre-Installation Check



A critical part in the installation process, this checks if all the minimum system requirements are met.

The first set are required minimums, if they are red (not met) then you need to find a new environment (change hosts), talk them into changing their environment (upgrading PHP for example). Note that the last item is a permissions issue on a file that is much easier to rectify. You can usually change permissions through the cpanel provided by your host. This tool is generally an industry standard.

The second set is recommended settings. If you don't meet them you can still install Joomla but it you experience problems with functionality and security.

Once you are green to go, click next.

License


Joomla is released under a GNU/GPL license. One of the most common questions regarding this license is “can I remove the footer link that says Powered by Joomla”. It’s actually perfectly OK to do this, you just have to keep the copyright statement in the source code. However, I would recommend that you keep the link.

Why?

Joomla is an open source project, it receives no funding from any kind of revenue from selling its software. The bottom line is that thousands of developers around the world are developing this software that you are using right now. If you had to buy it from a commercial company, it would cost tens of thousands of dollars, but you are getting it for free. In return, keep the link, it will help the project gain in popularity and grow. Don’t hide the fact that you are using Joomla, be proud of it! And don’t be concerned about any kind of SEO dilution with an extra link off your page. Links to authoritative sites actually help you SEO!

OK, I’ll get off my soapbox now…

Database Configuration



This is one of the main pages of the installation process, it’s where you need to enter important information about the database that your Joomla site will use. Note you will see a drop down for the database type. Joomla 1.5 only really runs on SQL, but some of the foundation has been laid for the next release, 2.0, to use more types, for example Oracle.

The hostname will almost always be “localhost”

The Username and password will have been provided by your hosting company, usually in an email you got when you created the account.

If you are installing on a localhost using WAMP or XAMPP, the Username is usually “root” and the password is nothing/blank.

Once you have entered this information, click Get Privileges and the Joomla installer checks to see if that user has rights to create a database. You should see this message:



If you made an error, or the user does not have sufficient permissions, then you get this message (after a small delay):

If the user you have does not have permissions then you can ask your hoster to pre-create a SQL database for you to use.

Available collations refer to various character sets available for different languages. When you click the button you get a list of what is available:


Pick a Database name for the SQL database that Joomla will use. Use some sort of name that is not confusing. Other scripts use SQL databases and before you know it you might have several on your server and will need to tell them apart. Don’t use spaces in the name.

If you are running several Joomla sites but only have access to one database, you will need to use a table prefix to distinguish them. You’ll need to enter the prefix in the advanced settings (below)

Note if your user did not have database creation privileges and you were provided with a database instead you would obviously put that in as the name.

The advanced settings are concerned with what content the site starts with and also the table prefixes mentioned above.




If you have an existing site and you are reinstalling over the top, you will need to select Drop Existing Tables. If you need to keep a back of them, select Backup Old Tables. Using “jos” as a table prefix is conventional unless you have multiple sites in the same database.

Main Configuration




The Main Configuration page determines how you will insert content into your site. You have three choices:

  • Install Sample Data
    This installs the default Joomla content that you have probably seen all over the web with “Welcome to Joomla”. Note that is also includes all the menus, navigation links and sections/categories. If you are learning how to use Joomla this is highly recommended. Its easier to adapt and revise than to start from scratch.
  • Load SQL script
    This is a SQL file that might have a customized set of content
  • Migration from previous versions
    This is a special function that is part of a process to migrate a Joomla site running on 1.0 to 1.5 and requires a special component to do so. This is discussed more in the Appendix.

Give your site a name (pay attention to SEO keywords) and then enter the super administration information. This will be the first user in the site and automatically gets that status. Note that if you don’t change the password, it will use the one shown on the left. Make sure you write it down!

Cross your eyes, close your fingers and click next. Hopefully you will see this screen




If you do get this result, you can investigate different language options, view the site or jump right to the administration of your site.

If you don’t get this page, then you have some work to do. Often issues arise because of server environments. If the solution is not obvious, a useful step is to copy the error message or the main part of it and then search for it both on the Joomla help forums, forum.joomla.org and in Google. The chances are if you get an error, someone else has before you.



ابوقوقل