Choosing an Open Source CMS: Beginner's Guide - Nirav Mehta - E-Book

Choosing an Open Source CMS: Beginner's Guide E-Book

Nirav Mehta

0,0
31,19 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

There are many powerful open source CMSs available to take the pain away from managing a web site. These systems are feature rich, often easy to use, and free. Unfortunately, there are so many choices it's tough to be sure you're choosing the right one. How can you be sure that you are selecting and working with the right tool?
This book will guide you through choosing the right CMS for your needs. You can be confident in your choice of CMS for the needs of your project. It will also help you make a start using the CMS, and give you a feel for what it's like to use it ñ even before you install it yourself.
Are you bewildered by the many open source CMSs available online? Open source CMSs are the best way to create and manage sophisticated web sites. You can create a site that precisely meets your business goals, and keep the site up to date easily because these systems give you full control over every aspect of your site. Because open source CMSs are free to download, you have a huge amount of choice between the various systems.
Yet there are many open source CMSs to choose from, each with unique strengths ñ and occasionally limitations too. Choosing between the bewildering number of options can be tough.
Making the wrong choice early on may lead to a lot of wasted work, because you'll have a half-finished site that doesn't meet your initial requirements ñ and needs to be restarted from scratch.
This book will show you how to avoid choosing the wrong CMS. It will guide you through assessing your site requirements, and then using that assessment to identify the CMS that will best fit your needs. It contains discussions of the major CMSs, and the issues that you should consider when choosing: their complexity to use, their features and the power they offer. It discusses technical considerations such as programming languages and compliance with best practice standards in a clear, friendly way that non-technical readers can understand.
The book also contains quick-start guides and examples for the most popular CMSs such as WordPress, Joomla!, and Drupal, so that you can experiment with these CMSs, get a feel for how they work, and start using them to build your site.
After reading this book, you can be confident that your CMS choice will support your web site's needs because you have carefully assessed your requirements and explored the available options.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Seitenzahl: 341

Veröffentlichungsjahr: 2009

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Choosing an Open Source CMS
Credits
About the author
About the reviewers
Preface
What this book covers
Section I: Opening up to Open Source CMSs
Section II: Thinking your choices through
Section III: CMSs by breed
Section IV: Open source CMS tips
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code for the book
Errata
Piracy
Questions
I. Section I - Opening up to Open Source CMSs
1. Do I Even Want an Open Source CMS?
You need a CMS!
CMS alternatives
Which CMS?
What about you?
About this book
Approach
Let's get started!
2. Evaluating Your Options
Genres of Content Management Systems
Portals or general-purpose CMSs
Core features
Possible uses
Example sites
Top general-purpose CMSs
Blog CMSs
Core features
Possible uses
Example sites
Top blog CMSs
e-Commerce CMSs
Core features
Possible uses
Example sites
Top e-Commerce CMSs
Wiki CMSs
Core features
Possible uses
Example sites
Top Wiki CMSs
Forum CMSs
Core features
Possible uses
Example sites
Top forum CMSs
eLearning CMSs
Core Features
Possible uses
Example sites
Top eLearning CMSs
Collaboration CMSs
Core features
Possible uses
Top intranet CMSs
Photo gallery CMSs
Core features
Possible uses
Example sites
Top photo gallery CMSs
Different types, but strong overlap
Understanding CMS technologies
PHP is most popular for CMSs
But why does the technology choice matter?
Summary
II. Section II - Thinking your choices through
3. Understanding your Requirements
Setting our expectations right
Time for action-setting your expectations for "The Yoga Site"
What just happened?
Creating intended outcomes
Pop quiz
Have a go hero-different goals for different sites
Measuring your site
Time for action-measuring the scale of your site
What just happened?
Are you expecting a lot of visitors?
Pop quiz
Have a go hero-take some measurements!
Working with others
Time for action-determining compliance and interoperability needs
What just happened
Have a go hero-learn the terms
Determining additional feature requirements
Time for action-choosing additional features
What just happened
Summary
4. Building the Site
Get hands-on experience with a CMS
Time for action-taking a test drive
What just happened?
Checking out a live demo
Pop quiz
Have a go hero-test drive some more CMSs
Create navigation structure
Time for action-creating navigation structure
What just happened?
Do you need a different navigation structure?
Pop quiz
Understanding technical requirements
Time for action-understanding technical requirements
What just happened
Installing a CMS
Before the installation
Creating a database
Uploading files using FTP
Using phpMyAdmin
Managing file permissions
Time for action-install WordPress
What just happened
Have a go hero-set up your navigation structure with WordPress
Have a go hero-set up Joomla!
Summary
5. Content Editing and Management
Adding content to our site
Time for action-adding a page
What just happened?
What is WYSIWYG? Why is it important?
Adding images
Time for action-adding images
What just happened?
Have a go hero-image formatting options
Have a go hero-adding a video
Maintaining content
Time for action-adding metadata
What just happened?
Tagging is keywords on steroids!
Have a go hero-adding links
Allowing people to contribute
Have a go hero-determine multiuser needs
Summary
6. Templates and Plug-ins
Giving a professional look to our site
Using templates
Time for action-finding a good template
What just happened?
Template selection criteria
Where to find templates
Have a go hero-shortlisting some more templates
Time for action-setting up a template
What just happened?
Different CMSs have different templates
Free, paid, or custom
Have a go hero-setting up a template in your favorite CMS
Enhancing functionality with plug-ins
Plug-ins, or modules, or extensions
The plug-ins that you need
Time for action-finding a photo gallery plug-in
What just happened?
Time for action-showing a photo gallery on our site
What just happened?
No coding required
Uninstalling a plug-in
Have a go hero-set up an e-commerce extension
Summary
7. Extending and Customizing
Customize a template
Fixing the site logo
Time for action-replacing the default logo in our template
What just happened?
Changing the site color
Changing the menu style
Time for action-advancing customization via CSS changes
What just happened?
Have a go hero-fixing submenus
Customizations may need code changes
What is a programming language? Is it easy?
Understanding the code architecture
Understanding the level of support
And there are books!
Finding professional help
Summary
III. Section III - CMSs by breed
8. Blog CMSs
The first question-do I need a self-hosted or service-based CMS?
Top blogging CMSs
Let us cover the top choices
Taking WordPress for a test drive
Time for action-managing content with WordPress
What just happened?
Extending WordPress
Time for action-customizing the design
What just happened?
Customizing the theme
WordPress widgets
Add unlimited power with plug-ins
Comments or spam
Additional resources
Evaluating Movable Type
Time for action-managing content with Movable Type
What just happened?
Customizing Movable Type
Additional resources
Expressing opinions with ExpressionEngine
Time for action-managing content with ExpressionEngine
What just happened?
Customizing ExpressionEngine
Additional resources
Searching for more alternatives
Additional help is also available
Summary
9. Web CMSs
Do you want a CMS or a portal?
Evaluating CMS Made Simple
Time for action-managing content with CMS Made Simple
What just happened?
Time for action-exploring customization options
What just happened?
Have a go hero-is it right for you?
Diving into Drupal
Time for action-putting Drupal to the test
What just happened?
Have a go hero-figure out your way with Drupal
Drupal code quality
Is Joomla! the best choice?
Joomla! gives you more
Have a go hero-set up a full site with Joomla!
SilverStripe—easy and extensive
Notable features
Is it for you?
ezPublish—enterprise CMS
Notable features
Is it for you?
Umbraco—rising high
Notable features
Is it for you?
DotNetNuke—the first you may notice
Notable features
Is it for you?
Plone—for Python lovers
Notable features
Is it for you?
dotCMS—enterprise and Java
Notable features
Is it for you?
Where to find more?
Summary
10. CMS for e-commerce
Content or commerce?
So what are your options?
Magento—open source e-commerce evolved
Time for action-adding products with Magento
What just happened?
Have a go hero
Notable Magento features
Single page checkout
Product attributes
Full control over design
Magento as a CMS
Other features
Is it for you?
VirtueMart—bringing e-commerce to Joomla!
Time for action-adding products and selling them
What just happened?
Have a go hero
Is it for you?
What about Drupal and WordPress?
Freeway—e-commerce for products, events, services, and subscriptions
Time for action-selling weekly yoga class registrations
What just happened?
Have a go hero
Other notable features
Other notable e-commerce CMSs
osCommerce and variants
PrestaShop—a breath of fresh air
DashCommerce—for .Net
Looking for even more?
Summary
11. Team Collaboration CMSs
Why a collaboration CMS?
Can we use any CMS on the intranet?
Alfresco—an enterprise CMS
Time for action-planning the Yoga Site with Alfresco
What just happened?
Alfresco Explorer
Have a go hero-add a space and some users
Time for action-creating workflows and revisions with Alfresco
What just happened?
Document detail page
Have a go hero-workflows with multiple users
Alfresco can do much more
Finding alternatives to Alfresco
Mix and match
Summary
12. Specialized CMSs
Wiki CMSs: The power of collective contribution
Time for action-creating events listing for the Yoga Site
What just happened?
Have a go hero-explore the power of Wikis
What makes Wikis special?
Other Wiki software
Additional resources
Discussion forums: helping each other
Time for action-discussions on yoga products
What just happened?
Have a go hero-trying out more with phpBB
What makes forums special?
Other forum software
Additional resources
Photo galleries: Sharing memories
Time for action-posting team photos online
What just happened?
Have a go hero-digging into Gallery
What makes galleries special?
Other photo gallery software
Additional resources
Online learning: facilitating learning
Time for action-creating a yoga course
What just happened?
Have a go hero-take a test
What makes e-learning special?
Other e-learning software
Additional resources
Other specialized CMSs
Summary
IV. Section IV - Open source CMS tips
13. Hosting your CMS-Powered Site
Do I need hosting?
Keep this in mind—hosting evaluation parameters
Hosting on your own machine
Finding a good host
Common tasks and problems in hosting
Making sense of the welcome email
Time for action-create a database with cPanel
Using FTP to upload files
Changing permissions for files or folders
Editing files with an online file manager
Time for action-editing a file using cPanel File Manager
Apache configuration with .htaccess
You may find this useful—some hints and tips
Summary
14. Getting Involved in the Community
Where to go for support
Have a go hero-checkout the support systems of your favorite CMS
Searching for an answer
Keep this in mind—asking good questions
Recommended message structure
Have a go hero-recommended reading
How can you contribute?
Summary
15. Working with a Specialist
Basics of Software Project Management
Software development Stages
Recommended readings
Finding the right expert
Finding experts online
Look for CMS experts
Outsourcing requires different thinking
Further reading
Tracking progress and controlling
Online project management tools
Handling risks and conflicts
Risk management
Conflict resolution
Succeed with your project—recommendations
Summary
16. Packt Open Source CMS Awards
Why an award?
Award methodology
2008 award winners
Drupal
Background
Joomla!
Background
DotNetNuke
Background
SilverStripe
Background
What makes it most promising?
CMS Made Simple
Background
Plone
Background
dotCMS
Background
ImpressCMS
Background
MiaCMS
Background
Other finalists
Most valued professionals
Summary
Index

Choosing an Open Source CMS Beginner's Guide

Nirav Mehta

Choosing an Open Source CMS

Beginner's Guide

Copyright © 2009 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: April 2009

Production Reference: 1070409

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-847196-22-4

www.packtpub.com

Cover Image by Parag Kadam (<[email protected]>)

Credits

Author

Nirav Mehta

Reviewers

Chanh Ong

Daniel Chapman

Jeff Potts

Mark Bowen

Sujit Pal

Acquisition Editor

David Barnes

Development Editor

Swapna V. Verlekar

Technical Editor

John Antony

Copy Editor

Sneha Kulkarni

Indexer

Hemangini Bari

Editorial Team Leader

Abhijeet Deobhakta

Project Coordinator

Lata Basantani

Proofreader

Chris Smith

Production Coordinator

Shantanu Zagade

Cover Work

Shantanu Zagade

About the author

Nirav Mehta is well known for his entrepreneurial ventures, his breakthrough ideas, and his contribution to open source. Nirav leads a software development company—Magnet Technologies—in India that specializes in Rich Internet Applications, Web, and Mobile. He wrote a content management system eight years ago and has worked on numerous systems after that. Nirav has led more than 100 CMS projects in his company.

Nirav simplifies the most complicated ideas and presents them in lucid language. Over the last 10 years, Nirav has written and spoken on a variety of topics. His Mobile Web Development book tops its category and has received high-satisfaction ratings.

Nirav loves yoga and programming. In his spare time he builds innovative products, and trains people on leadership and effective programming.

Visit his blog at: http://www.mehtanirav.com/

Visit this book's special website at: http://www.cmsbook.info/

My love and thanks to family—my parents, wife, and sisters. It's your support and freedom that lets me do all the things I love! Thanks for your constant love, encouragement, and reminders!

Special thanks to all open source CMS developers. Keep up the good job!

I would like to thank the team at Packt—David, Lata, Swapna, John, my reviewers—Jeff, Sujit, Chanh—and everyone else. Thank you for your dedication, suggestions, and follow-ups. You made it possible!

I also appreciate the readers of this book. I believe you are up to something big, and hope my work helps you achieve it.

About the reviewers

Chanh Ong is a Computer Specialist and has many years of experience in various computer platforms and operating systems; programming languages such as PHP, JavaScript (AJAX), C, VB, Perl, Microsoft Access, dBase, and FoxPro; system administration on Unix, Linux, Vax and Microsoft Windows; and DBA of various databases such as Oracle, MySQL, Postgres, Informix, MSSQL, and so on. He utilizes web servers such as Apache and IIS to help build web applications. He also does custom templates for clients.

He has an open source project called COAddOns, which develops several add-ons for Mambo, Joomla!, MiaCMS, and MoseCMS—which is an easy and extensible CMS. He is also a former Mambo CMS core developer.

He researches on CMSs and their tools. He has lot of experience in installing various CMS, including Wiki, and he also sets up sites using Microsoft SharePoint services.

He runs a web site where he blogs about his findings that help him in his research. His web site also provides support for his open source project, COAddOns.

His main web site is http://support.ongetc.com and his Wiki is http://wiki.ongetc.com and his blog is: http://blog.ongetc.com.

He wrote an article for Packt Publishing titled

How to Choose an Open Source Content Management System. You can find it at http://www.packtpub.com/article/how_to_choose_an_open_source_ content_management_system.

I would like to thank Scott Goodwin for letting me help out at OpenSourceCMS and open my eyes to the world of CMS. He asked me to take on an open source project. I enjoyed working on it so much that it become the COAddOns project, which has grown into various add-ons. It also helped me start my own web site at http://ongetc.com.

I want to thank Damian Carvill for exposing me to the world of books by asking me to write an article for Packt Publishing, and involving me as a judge for the Packt Annual CMS Award event.

I want to thank Swapna Verlekar for inviting me to be a book reviewer for this book. I also want to thank Lata Basantani for working closely with me and ensuring that the reviewing of each chapter was on schedule.

I would like to thank the author of this book, who has done a very nice job in researching on the subject. He has written very easy-to-understand material for beginners to have a head start.

I want to thank my family who let me have the time to do this book review.

Daniel Chapman started his career as an Oracle database consultant and trainer, working for various Australian universities, telecommunication companies, and also Oracle Australia. He developed a keen sense of the value of development standards and analysis processes. After 10 years in this arena, he wanted a change and moved into web development in 2004. He quickly picked up PHP, JavaScript, HTML, and CSS while experimenting with various CMSs.

Finally deciding on Joomla! as his CMS of choice, Daniel initially began working as a consultant developing sites and producing a few small extensions before starting one of the first Open Source Extension Clubs: www.ninjoomla.com. Eventually, he changed the club's name to www.NinjaForge.com, and has become quite well known in the Joomla! sphere.

I would like to thank my wife Kyoko, for her seemingly endless support of my work, even when it takes away time from us being together. I can't thank her enough for being there for me.

Jeff Potts is the Director of the Enterprise Content Management Practice at Optaros, a global consulting firm focused on assembling Next Generation Internet solutions featuring open source components. Jeff brings over 10 years of ECM practice leadership and over 17 years of IT and technology implementation experience in IT departments and professional services organizations.

Jeff has a deep technical experience in content management with custom and packaged solutions (commercial and open source). For the last several years, he has focused on Alfresco. But he has also worked with other open source content management technologies including Drupal, WordPress, Zope/Plone, and Apache Cocoon.

Jeff's areas of business expertise include document management, content management, workflow, collaboration, portals, and search. Throughout his consulting career he has worked on a number of projects for Fortune 500 clients across the media & entertainment, airline, consumer packaged goods, and retail sectors.

Jeff is a frequent speaker at Alfresco and Content Management industry events and has written articles for technical journals. Last year he published his first book, the Alfresco Developer Guide (http://www.packtpub.com/alfresco-developer-guide/book).

Jeff blogs on all of these topics at ecmarchitect.com.

Mark Bowen is a web developer, musician, graphic designer, electronics engineer, and helicopter pilot amongst many other talents. He is currently living in Birmingham, United Kingdom. He is an avid Apple Macintosh user and has been so for well over 15 years now.

Mark studied Performing Arts in college and ended up getting a job at the college as a Music Technician. It was during this time that he gained his City & Guilds 224 in Electronics Servicing. So he is qualified to take a TV apart, put it back together again, leave bits out, and still charge for it!

Now working as a Senior Producer for the second largest independent commercial production house in the UK, Mark has made well over 30,000 adverts-jingles-music-based projects in his almost eight years of work there.

Mark has been developing with Adobe Flash, and was asked to review the Advanced PHP for Flash book by Friends Of Ed due to the work he did on a Flash-based chat application.

After Flash, Mark took up learning HTML/CSS, and now codes sites entirely by hand without the use of any WYSIWYG editors. These days, Mark's preferred tool of choice for creating Internet sites is the ExpressionEngine CMS platform. About this platform he states, "It is a designer's dream come true" due to its very nature of keeping code and content completely separate from each other. Mark is an avid reader of the ExpressionEngine forums, and can usually be found there each day answering questions wherever and whenever he can.

He is currently in the process of setting up an aviation-based photography web site with his wife Sarah (who is also a helicopter pilot—Flight Instructor). It will host and sell the most professional images in the world relating to aviation. This came about due to Mark being the sole designer for the largest military helicopter magazine in the world. Through his links with the magazine, he now has access to the best aviation photographers in the business. Keep an eye out on the ExpressionEngine forums for the site's launch!

I want to thank Packt Publishing for giving me the opportunity to take part in helping out with the book.

Sujit Pal started programming some 20 years ago, and never looked back. He currently works at Healthline Networks, Inc., a search vertical focused on health, as a part of its Research and Development team. Apart from his work, his favorite pastime is to explore new software technologies, techniques, and languages. He writes about his experiments at sujitpal.blogspot.com.

Preface

There are many powerful Open Source Content Management Systems (CMSs) available to take the pain away from managing a web site. These systems are feature-rich, often easy to use, and free. Unfortunately, there are so many choices that it's tough to be sure which CMS is the right one for your needs. How can you be sure that you are selecting and working with the right tool?

This book will guide you through choosing the right CMS for your needs. You can be confident in your choice of CMS for the needs of your project. It will also help you make a start using the CMS, and give you a feel for what it's like to use it—even before you install it yourself.

Are you bewildered by the many open source CMSs available online? Open source CMSs are the best way to create and manage sophisticated web sites. You can create a site that precisely meets your business goals, and keep the site up-to-date easily because these systems give you full control over every aspect of your site. Because open source CMSs are free to download, you have a vast choice between the various systems.

There are many open source CMSs to choose from, each with unique strengths—and occasionally limitations too. Choosing between the bewildering numbers of options can be tough.

Making the wrong choice early on may lead to a lot of wasted work because you'll have a half-finished site that doesn't meet your initial requirements, and you may have to restart from scratch.

This book will show you how to avoid choosing the wrong CMS. It will guide you through assessing your site requirements, and then using that assessment to identify the CMS that will best fit your needs. It contains discussions of the major CMSs and the issues that you should consider when choosing: their complexity to use, their features, and the power they offer. It discusses technical considerations such as programming languages and compliance with best practice standards in a clear and friendly way that non-technical readers can understand.

The book also contains quick-start guideslines and examples for the most popular CMSs such as WordPress, Joomla!, and Drupal. You can experiment with these CMSs, get a feel of how they work, and start using them to build your site.

After reading this book, you can be confident that your CMS choice will support your web site's needs because you have carefully assessed your requirements and explored the available options.

The author has created a special website for this book—http://www.cmsbook.info/. You can communicate with other readers and get additional insights and support from there.

What this book covers

Section I: Opening up to Open Source CMSs

Chapter 1 Do I even want an Open Source CMS?—When and how a content management system is useful. Why open source? Readymade or custom-built?

Chapter 2 Evaluating your Options—Different CMS types, their purposes, and different CMS technologies

Section II: Thinking your choices through

Chapter 3 Understanding your Requirements—brainstorm and clarify your requirements, standard compliance, scale of the site, and key features

Chapter 4 Building the Site—trying out CMSs, technical requirements, downloading and installation, configuration, and creating navigation

Chapter 5 Content Editing and Management—using WYSIWYG editors, adding pictures, publishing content, and creating links

Chapter 6 Templates and Plug-ins—adding a photo gallery and customizing design via templates

Chapter 7 Extending and Customizing—understand a CMS's code quality, and make code-level changes to understand their complexity

Section III: CMSs by breed

Chapter 8 Blog CMSs—perform typical tasks with the top three blog choices and evaluate features

Chapter 9 Web CMSs—using top Web CMSs, customizing them, and gaining key CMS skills

Chapter 10 CMSs for E-Commerce—managing product/service-based e-commerce sites with CMSs, and knowing which would be best for you

Chapter 11 Team Collaboration CMSs—internal sites for collaboration and communication, workflow, access privileges, and version tracking; Alfresco

Chapter 12 Specialized CMSs—CMSs that serve niches—e-learning, wiki, photo galleries, discussion forums, and so on

Section IV: Open source CMS tips

Chapter 13 Hosting your CMS-Powered Site—selecting and working with a web host

Chapter 14 Getting Involved in the Community—asking questions, learning from documentation, and getting help

Chapter 15 Working with a Specialist—finding experts, evaluating them, tips for project management, and outsourced teams

Chapter 16 Packt Open Source CMS Awards—Best CMSs voted by the community and experts

What you need for this book

The reader should be an intermediate computer user with a reasonable understanding of what a web site can do, the different kinds of web sites that are out there, and how to work with interactive web sites (as a user—joining discussion forums, for example).

Who this book is for

This book is written for anyone who wants to start a web site and is looking for a good CMS. It is best suited for people who are selecting a CMS for their site and people who want to manage a CMS. Knowledge of web basics is certainly helpful, but not needed.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "clicking the Next button moves you to the next screen".

Note

Important notes appear in a box like this.

Note

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to <[email protected]>, and mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code for the book

Visit http://www.packtpub.com/files/code/6224_Code.zip to directly download the example code.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration, and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.

Part I. Section I - Opening up to Open Source CMSs

Chapter 1. Do I Even Want an Open Source CMS?

It's a sunny Sunday morning in Miami. Oprah picks up her coffee and settles in her favorite patio chair. She is in a quiet trance-like state. Gazing at kids playing on her left, her expression turns from deep thoughts to confusion to puzzlement.

Oprah Casey is an established Yoga expert. She is just back from her class. She starts thinking about her web site. She has a four-page web site that Mario, a friend, created a decade ago.

Her current web site consists of an introduction on Yoga, her own biography, a testimonial page, and a page with her Yoga center's address and phone numbers. Last time she wanted to add driving directions to the address page, it took her two weeks to get that done. Here's what happened:

Day 1: Oprah calls Mario and explains what she wants.Day 3: She calls again to check if the work is done. Mario had completely forgotten about it. He asked her to email him the driving directions.Day 4: Mario tells her he is finding source files of Oprah's web site and the server login/password.Day 7: Mario shows a page with the driving directions updated. Oprah suggests a couple of changes.Day 9: Oprah is happy with what's on the contact page now. She gives a go-ahead.Day 10: Weekend!Day 12: Mario says he is uploading on the server.Day 14: After another call, Oprah gets confirmation that it's live. She checks and finds it alright.

Oprah is happy that now she will get less calls asking for directions. At the same time, she is annoyed with this whole process of change. She does not want to go through another such ritual for a new change. What if her phone number changed? What if she wanted to update her bio? Or what if she wanted to add another page to her site? She can't afford to wait too long. She does not even want to take favors from her friend anymore!

She grabs a pen and paper and starts scribbling.

Oprah is clear that she can't continue with her current web site and the way it's managed. She needs a complete reorganization of her web site. Oprah wants her web site to have the following features:

Web site must be easy to manage

Oprah wants her web site to be easily manageable. She can understand technology, but is not a programmer. She wants to manage the web site content on her own. Whether it's adding a paragraph on a page or removing some old information, she wants to do it on her own.

Web site should be dynamic

She wants the changes that she makes to be reflected immediately. It should be possible to add a new section or link easily. Oprah wants to add photos and Yoga class information. And this should be updated on the web site immediately.

Other features

There are many other things that Oprah wants such as e-commerce, class booking, better design, and so on. The new web site should allow addition of all these features. If not right now, she wants them in the near future.

Finally, Oprah calls Mario. She politely explains to him the problems and what she wants. She then pauses to hear Mario's reply.

You need a CMS!

Mario is quick. He asserts that Oprah needs a Content Management System (CMS). It's a software that will give her all the required features, and he can set it up on her web site. Apart from managing site content and navigation, a CMS may also allow interactive content such as discussions, newsletters, blogs, photo galleries, and so on.

Mario explains a variety of benefits from using a CMS. They are:

Dynamic content—changes reflect immediatelyEasily make changes—using just a browser and familiar editing tool (similar to Word)Manage site navigation and sections—ability to add or order pages and other contentControl over design—tweak the entire site the way you wish from a single placeAdd interactive content such as discussions, class schedules, shopping cart, and so on.Add photos, links, and other rich media easilyGet full control over the web siteAllow multiple people to manage the site

Oprah interrupts Mario and says she appreciates these benefits, but wants to know if there are any other alternatives.

CMS alternatives

"What you need IS a content management system. We can go ahead with a readily available system, or hire someone to build one from scratch. I could write a CMS for you, but your needs are not so specific. I would rather use an open source CMS and customize it to your needs. Who wants to reinvent the wheel, you see!", Mario says.

"This makes sense." Oprah is thinking. "If I want things to be dynamic, I will need some kind of software to do that. I know that people use some web-based software to manage their sites. I can easily pick that up..."

Mario continues, "If you simply wanted to publish photos, you can use some photo management software on your machine and publish the site on a server. If you want to write regular updates on Yoga, you could start a blog. And you could use a 'hosted' blog where you don't have to do any server setup, or the like. You just write content. If you want static content, we can use some other online tools that help design web sites. What you want is manage content and site frequently, and on your own. We also want full control and our own site to be the host. That certainly is what CMSs are designed for."

Oprah is now convinced that she needs a CMS.

Which CMS?

The next question that comes to her mind is, "OK, so which CMS should I use?"

Mario explains that there are many options. Content Management Systems have been around for quite some time and have evolved. There are general-purpose systems and some serving niches. There are many commercial and enterprise-class CMSs. But Mario emphasized on going ahead with an open source CMS. He listed many advantages such as:

Open source usually means free of cost. Almost all open source CMSs can be downloaded and used free of cost. That keeps our overall costs down. It's important to control costs—especially in the current economic situation!Open source means you can customize. We can review and look around the programming code of an open source software. This allows us to customize it as per our wish. We get a strong base ready, and can add whatever we like.Open source is generally better quality. Most popular open source CMSs are very high quality. Thousands of people may have reviewed and improved them. This results in an overall good quality and security.Open source means community. Many people use open source software. And when it comes to CMS, most prefer open source CMSs. This means there is a huge community and we can get its support if we get stuck anywhere.

"Apart from telling you to use an open source CMS, I can't suggest much further now. There are hundreds of options you have, and which one you choose depends on your exact requirements and comfort level." Mario suggested. "But don't worry; I am always available if you need any help."

That ended the conversation. Oprah relaxed in her chair and gathered her thoughts.

A CMS allows managing dynamic content easily.I can control and manage my web site through a web browser.This is how most people manage large web sites.Open source CMS is perfect for my needs because I can obtain the software for free and can rest assured that there are many people who have used it before me, and can help me if I need.I now need to find out which CMS serves my requirements, and learn how to use it.

That actually gave her a lot of peace. She felt free and ready to take on a new journey. Oprah is ready to choose a CMS and build her site to her desire. She is thrilled!

What about you?

Your situation may be similar to Oprah's—or at least to some extent. As she concluded that an open source CMS is appropriate for her, you may have too. Or, you may be looking at open source CMSs as an option to manage your web site—public or internal.

When you are starting up a web site, you would like a system that makes it easy for you to manage the site. Open source Content Management Systems help manage different types of content—from blog posts and photo albums to events and e-commerce. There are some really powerful CMSs out there and they can take the pain away from managing a web site.

Unfortunately, there are plenty of choices available and it's tough to make a decision. How do you select the best CMS for your needs? It is daunting to find a good content management system. There is no comprehensive guide that understands users' needs and suggests suitable CMSs for them.

Even after making a choice, installing, customizing, and managing a CMS is generally too technical for new users. We need something that will quickly make us productive with the CMS we select.

Then there are important subjects that are neglected such as hosting, and working with developers and communities.

About this book

This book walks you through understanding your requirements by elaborating on the different options available for your CMS, and thus helps you make a choice. It then covers common tasks—installation, design customization, plug-ins, content editing and management, and so on—in detail, for specific CMS types. The book even covers specialized CMSs, hosting, working with developers, and getting help from the CMS community.

This book helps you understand your requirements first. It walks you through a simple yet effective method of listing down what you want your web site to do. You are then introduced to different types of CMSs such as blogs, forums, general purpose CMS, e-commerce tools, collaboration, and more. This helps you narrow down your search.

This is followed by practical guides on doing some common tasks with any CMS. These tasks include installation, setting up a design, creating navigation structure, entering and editing content, adding pictures, enhancing functionality with extensions and plug-ins, and publishing the site. Here you learn skills that can be applied to any CMS you choose.

It then covers different types of CMSs in detail. The book is full of how-tos for popular CMSs, and listings of other choices that you have. No matter what your need is, you will certainly develop useful skills with this book.

At the end, the book covers important subtopics that usually go uncovered: how to select a web host for your site; how to select and work with a software developer/vendor for customizations; how to get help from community resources and winners of Packt's CMS awards.

Overall, this book helps you throughout the process of building and launching your CMS-powered web site.

Approach

The book takes a task-centered approach. Each task is taken through steps with detailed instructions. The book is complete with screenshots and resources. It even has supplementary tasks that readers can carry out to further build their skills in each task. Everything is oriented towards day-to-day tasks of managing content with a CMS.

We will be working with Oprah on her Yoga Site. In the process we will learn what we need to do for our own sites.

Let's get started!

Just like Oprah, we are excited to start a new journey—a journey in which the path and the destination are equally important. Let's start by looking at what options we have for building our site.

Chapter 2. Evaluating Your Options

Now that we have seen the benefits of open source CMSs, we are ready to explore further. Let us look at different types of open source CMSs. In this chapter we will:

Learn about the different types of CMSsUnderstand the different purposes that they fulfillLearn about the technologies these systems use

A Google search for open source content management system yields more than 18 million results. If you browse through the CMS category of Open Source Scripts (http://www.opensourcescripts.com/), it too gives more than 300 options. How do you find a suitable CMS?

Let's begin by looking at different types of content management systems.

Genres of Content Management Systems

CMSs come in all shapes and sizes. They can also be classified by their purpose. Some are made to publish blogs, some for image galleries. General-purpose CMSs allow the dynamic publishing and management of site content. The following is a screenshot of the CMS classification tree on OpenSource CMS (http://www.opensourcecms.com/), which is a service with live demos of major CMSs:

The top three categories—Portals, Blogs, and Forums—cover most of the CMSs. The others are more specific—Groupware, e-Commerce, Learning Management, Image Galleries, Wiki, Light weight CMSs, and Miscellaneous. Now, you may be asking: "OK, but what is the difference between them?" Let me explain.

Portals or general-purpose CMSs