Choosing an Open Source CMS

October 28, 2009

Uncategorized

«»

Choosing an Open Source CMS

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,
oft en 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

Web CMSs


	After understanding our requirements and learning the basics of using CMSs, we
	evaluated the top Blog CMSs in the last chapter. We are now ready to look at Web
	Content Management Systems (commonly known as WCMS, Web CMS, or WCM
	Systems). Web CMSs allow you to manage your web content easily. They are generic
	in nature and perform a variety of operations. If you ask someone about a CMS, they
	will most probably recommend you one of the systems we cover in this chapter. It's
	important to learn the features of the top web CMSs to make the right choice for
	your project.

	In this chapter, we will take a look at the top general-purpose Web CMSs. In the process,
	we will:
	
  • Cover a variety of top Web CMSs
  • Perform customizations and content management operations
  • Discover interesting features in CMSs
  • Examine which CMS could be right for you

Let’s get started.

Do you want a CMS or a portal?

We are evaluating a CMS for our Yoga Site. But you may want to build something else. Take
a look again at the requirements you draft ed in Chapter 3. Do you need a lot of dynamic
modules such as an event calendar, shopping cart, collaboration module, file downloads,
social networking, and so on? Or you need modules for publishing and organizing content
such as news, information, articles, and so on?

Today’s top-of-the-line Web CMSs can easily work as a portal. They either have a lot of
built-in functionality or a wide range of plug-ins that extend their core features. Yet, there
are solutions specifically made for web portals. You should evaluate them along with CMS
soft ware if your needs are more like a portal.

On the other hand, if you want a simple corporate or personal web site, with some basic
needs, you don’t require a mammoth CMS. You can use a simple CMS that will not only fulfill
your needs, but will also be easier to learn and maintain.

We have used Joomla! in our examples in Chapters 4 through 7. Joomla! is a solid CMS. But
it requires some experience to get used to it. For this chapter, let’s first evaluate a simpler
CMS. How do we know which CMS is simple? I think we can’t go wrong with a CMS that’s
named “CMS Made Simple”.

Evaluating CMS Made Simple

As the name suggests, CMS Made Simple (http://www.cmsmadesimple.org/) is an
easy-to-learn and easy-to-maintain CMS. Here’s an excerpt from its home page:


	If you are an experienced web developer, and know how to do the things you need
	to do, to get a site up with CMS Made Simple is just that, simple. For those with
	more advanced ambitions there are plenty of addons to download. And there is an
	excellent community always at your service.

	It's very easy to add content and addons wherever you want them to appear on the
	site. Design your website in whatever way or style you want and just load it into
	CMSMS to get it in the air. Easy as that!

That makes things very clear. CMSMS seems to be simple for first-time users, and extensible
for developers. Let’s take CMSMS to a test drive.

Time for action-managing content with CMS Made Simple

  1. Download and install CMS Made Simple. Alternatively, go to the demo at

    http://www.opensourcecms.com/.

  2. Log in to the administration section.
  3. Click on Content | Image Manager. Using the Upload File option, upload the Yoga
    Site logo.
  4. Click on Content | Pages option from the menu. You will see a hierarchical listing of
    current pages on the site.
  5. The list is easy to understand. Let’s add a new page by clicking on the Add New
    Content
    link above the list.
  6. The content addition screen is similar to a lot of other CMSs we have seen so far.
    There are options to enter page title, category, and so on. You can add page content
    using a large WYSIWYG editor.
  7. Notice that we can select a template for the page. We can also select a parent page.
    Since we want this page to appear at the root level, keep the Parent as none.
  8. Add some Yoga background information text. Format it using the editor as you
    see fit.
  9. There are two new options on this editor, which are indicated by the orange palm
    tree icons. These are two special options that CMSMS has added: first, to insert
    a menu; and second, to add a link to another page on the site. This is excellent. It
    saves us the hassle of remembering, or copying, links.
  10. Select a portion of text in the editor. Click on the orange palm icon with the link
    symbol on it. Select any page from the fl yout menu. For now, we will link to the
    Home page.
  11. Click on the Insert/edit Image icon. Then click on the Browse icon next to the Image
    URL
    field in the new window that appears.
  12. Select the logo we uploaded and insert it into content.
  13. Click on Submit to save the page.
  14. The Current Pages listing now shows our Background page. Let’s bring it higher in
    the menu hierarchy. Click on the up arrow in the Move column on our page to push
    it higher. Do this until is at the second position—just after Home.
  15. That’s all. We can click on the magnifying glass icon at the main menu bar’s right
    side to preview our site. Here’s how it looks.

What just happened?

We set up the CMSMS and added some content to it. We wanted to use an image in our
content page. To make things simpler, we first uploaded an image. Then we went to the
current pages listing. CMSMS shows all pages in the site in a hierarchical display. It’s a simple
feature that makes a content administrator’s life very easy. From there, we went on to create
a new page.

CMSMS has a WYSIWYG editor, like so many other CMSs we have seen till now. The content
addition process is almost the same in most CMSs. Enter page title and related information,
type in content, and you can easily format it using a WYSIWYG editor. We inserted the logo
image uploaded earlier using this editor.

CMSMS features extensions to the default WYSIWYG editor. These features demonstrate all
of the thinking that’s gone into making this soft ware. The orange palm tree icon appearing
on the WYSIWYG editor toolbar allowed us to insert a link to another page with a simple
click. We could also insert a dynamic menu from within the editor if needed.

Saving and previewing our site was equally easy.

Notice how intuitive it is to add and manage content. CMS Made Simple lives up to its name
in this process. It uses simple terms and workfl ow to accomplish tasks at hand. Check out the
content administration process while you evaluate a CMS. After all, it’s going to be your most
commonly used feature!


	Hierarchies: How deep do you need them?
	What level of content hierarchies do you need? Are you happy with two levels?
	Do you like Joomla!'s categories → sections → content fl ow ? Or do you need to
	go even deeper? Most users will find two levels sufficient. But if you need more,
	find out if the CMS supports it. (Spoiler: Joomla! is only two-level deep
	by default.)

Now that we have learned about the content management aspect of CMSMS, let’s see how
easily we can customize it. It has some interesting features we can use.

Time for action-exploring customization options

  1. Look around the admin section. There are some interesting options.
  2. The third item in the Content menu is Global Content Blocks. Click on it.
  3. The name suggests that we can add content that appears on all pages of the site
    from there. A footer block is already defined.
  4. Our Yoga Site can get some revenue by selling interesting products. Let’s create a
    block to promote some products on our site. Click on the Add Global Content Block
    link at the bott om.
  5. Let’s use product as the name.
  6. Enter some text using the editor.
  7. Click on Submit to save.
  8. Our new content block will appear in the list. Select and copy Tag to Use this Block.
  9. Logically, we need to add this tag in a template. Select Layout | Templates from
    the main menu. If you recall, we are using the Left simple navigation + 1 column
    template. Click on the template name.
  10. This shows a template editor. Looking at this code we can make out the structure of
    a content page. Let’s add the new content block tag after the main page content.
  11. Paste the tag just after the {* End relational links *} text. The tag is something
    like this.
  12. Save the template. Now preview the site. Our content block shows up after main
    page content as we wanted. Job done!

What just happened?

We used the global content block feature of CMSMS to insert a product promotion
throughout our site. In the process, we learned about templates and also how we
could modify them.

Creating a global content block was similar to adding a new content page. We used the
WYSIWYG editor to enter content block text. This gave us a special tag. If you know about
PHP templates, you will have guessed that CMSMS uses Smarty templates and the tag was
simply a custom tag in Smarty.


	Smarty Template Engine
	Smarty (http://www.smarty.net/) is the most popular template engine
	for the PHP programming language. Smarty allows keeping core PHP code and
	presentation/HTML code separate. Special tags are inserted in template files
	as placeholders for dynamic content. Visit http://www.smarty.net/
	crashcourse.php and http://www.packtpub.com/smarty/book
	for more.

Next, we found the template our site was using. We could tell it by name, since the template
shows up in a dropdown in the add new pages screen as well. We opened the template and
reviewed it. It was simple to understand—much like HTML. We inserted our product content
block tag after the main content display. Then we saved it and previewed our site.

Just as expected, the product promotion content showed up after main content of all pages.

This shows how easy it is to add global content using CMSMS. But we also learned that
global content blocks can help us manage promotions or commonly used content. Even if
you don’t go for CMS Made Simple, you can find a similar feature in the CMS of your choice.


	Simple features can make life easier
	CMS Made Simple's Global Content Block feature made it easy to run product
	promotions throughout a site. A simple feature like that can make the content
	administrator's life easier. Look out for such simple things that could make your
	job faster and easier in the CMS you evaluate.

It’s good time now to dive deeper into CMSMS. Go ahead and see whether it’s the right
choice for you.

Have a go hero-is it right for you?

CMS Made Simple (CMSMS) looks very promising. If we wanted to build a standard web
site with a photo gallery, newsletter, and so on, it is a perfect fit. Its code structure is
understandable, the extending functionality is not too difficult. The default templates
could be more appealing, but you can always create your own.

The gentle learning curve of CMSMS is very impressive. The hierarchical display of pages,
easy reordering, and simplistic content management approach are excellent. It’s simple to
figure out how things work. Yet CMSMS is a powerful system—remember how easily we
could add a global content block? Doing something like that may need writing a plug-in or
hacking source code in most other systems.

It’s the right time for you to see how it fits your needs. Take a while and evaluate
the following:

  • Does it meet your feature requirements?
  • Does it have enough modules and extensions for your future needs?
  • What does its web site say? Does it align with your vision and philosophy?
  • Does it look good enough?
  • Check out the forums and support structure. Do you see an active community?
  • What are its system requirements? Do you have it all taken care of?
  • If you are going to need customizations, do you (or your team) comfortably
    understand the code?

We are done evaluating a simple CMS. Let us now look at the top two heavyweights in the
Web CMS world—Drupal and Joomla!.

email

«»

Comments

comments