Choosing a Content Management System (CMS)

clappedtoyInternet and Web Development

Dec 7, 2013 (3 years and 8 months ago)

189 views






Choosing a Content Management System

(CMS)





Document Version <1.0>




Choosing a Content Management System (CMS)


Revision History


Date

Document
Version

Description

Created By:


10
/
Oct
/2013

<1.0>

First draft

Laraib
Saad































Choosing a Content Management System (CMS)





Table of Contents


1.

Introduction









4

1.1

Purpose









4

1.2

Content Management System







4

1.3

Choosing

a Content Management System






4

1.4

Which CMS? How to Decide?







4

1.5

What matters most while deciding?






4

1.6

Custom Code VS Pre
-
Built CMS







4

1.7

What are your needs?








5

1.8

Comparison









5

1.9

Pre
-
Built Code (CMS): WordPress VS Joomla VS Drupal




6

1.10


Custom C
ode (PHP Frameworks): Yii vs CodeIgniter vs Zend vs Symfony


8

1.10.1

CodeIgniter







8

1.10.2

Zend








8

1.10.3

Yii








8

1.10.4

CakePHP







9

1.10.5

Symfony







9

1.11


Reference









10

















Choosing a Content Management System (CMS)


Choosing a Content Management System (CMS)

Introduction

1.1

Purpose:

This Document describes the details of Content Management Systems. The purpose of
this Document is to
help in choosing the right kind of CMS(s) each defined in a way making one easy to identify the needs
covered by the Many Content Management Systems.


1.2

Content Management System (CMS)
:



A Content Management System is a computer software
system for or
ganizing and facilitating
collaborative creation of documents and other content.



A content management system is frequently a web application used for managing websites and

web

content.



The core function and use of content management systems is

to present information on websites
and CMS features vary widely.



A CMS may serve as a central repository containing documents, m
ovies, pictures, phone numbers
and scientific

data.



CMSs can be used for storing, controlling, revising, semantically enriching

and publishing
documentation.


1.3

Choosing a Content Management System:

Choosing a CMS, or Content Management System is an important task for your web site development
project. In this post

we weight out the pros and cons to doing a custom CMS, or using a po
pular third
-
party pre
-
built CMS.


1.4

Which CMS? How to Decide?

There are a lot of things to consider when choosing a content management system (CMS). The first and
most important is if you are going to use a pre
-
built CMS (WordPress, Drupal, Expression Engine
, etc
) or

have a custom CMS built for your project. There are many benefits to both, and only by knowing your
needs can you really establish which one will work best for you. In this article we will explore three
considerations, and how they factor in your CMS deci
sion.


1.5

What matters most while

deciding?

Both Custom and Pre
-
Built Content Management Systems (CMS) offer similar programmatic benefits with
no real limitations, so for most businesses, budget is the key factor in deciding between the two. As we
explore th
e two approaches, what we are really establishing is which one will most likely get the job done
with a smaller budget based on your needs.


1.6

Custom Code VS Pre
-
Build:

Custom Code

refers to hand coding

which means writing /editing a source code like HTML, CSS, Java
Script, .Net, PHP etc. for w
hole program or a portion of it which is native coding.


On the other hand people use
frameworks

to support their programming code,
framework is a universal,
reus
able software platform to develop applications, products and solutions.
It

include
s

support programs,
compilers, code libraries, tool sets, and applicatio
n programming interfaces (APIs).


Choosing a Content Management System (CMS)


Where as

Pre
-
Build code / CMS

refers to
systems
that
provide
procedures to manage workflow in a
collaborative environment

having ready made libraries.


1.7

What are your needs?



What is the time frame in which you are required to get the site up and running?



What is your budget?



Is a pre built CMS available out there whi
ch meets 80% of your requirements?



What is most important aspect(s) for the site success
-

Time to market, user interface, usability, ease of
use, performance?



Can the existing pre built content management system be customized?



Who are the users who are go
ing to be using the content management system and maintain your site?



Do you have a technology preference?


1.8

Comparison:


Functionality


Custom Code


Pre


Build Code

(CMS)

Customization

Can be customize as much as you want

Customization is limited

For
Non
-
Developer

not good

for non
-
developers

good for non
-
developers

Time

time consuming

time efficient

Precision

it gives you exactly what you want

it gives you what

you want but

might have other un
-
necessary
stuff

Performance

faster and reliable if its static
OR
not too
much dynamic

performance is good but
somewhat less if compared to a
static hand coded site

Changes

not so good for frequent changes

can handle frequent changes
easily

Support over time

harder to support unless

the original
developer is on hand throughout the lifetime
of the site’s operation

Everyone has a different style of
coding, and it can be hard for
some developers to determine
the structure of others

Security

high security
-

as hackers are writing
scripts
for popular CMSs, not custom CMSs

Security

is at risk if you're
dealing with highly confidential
data

Code

cleaner code
-

sometimes a site may be so
simple and focused that you don’t need all
the bells and whistles of WordPress or


Drupal, and the

code can be cleaner and less
bloated

Un
-
necessary code
-

it may
contain un
-
necessary stuff that
you never wanted in first place

Documentation

there may not be any well written
documentation on how to use it, make
changes, etc

a proper documentation can be
provided as the pre
-
build cms
works in one way for everyone


Choosing a Content Management System (CMS)


IF THE CHOICE IS PRE
-
BUILD CODE (CMS) THEN HERE’S A
COMPARISON

OF
KNOWN
CMS AVAILABLE TO
CHOOSE FROM:

1.9

Pre
-
Build Code (CMS):

Drupal

vs
Joomla

vs
WordPress



Drupal


Joomla


Wordpress

Homepage

www.drupal.org

www.joomla.org

www.wordpress.org

About

Drupal is a powerful,
developer
-
friendly tool
for
building complex
sites. Like most
powerful tools, it
requires some expertise
and experience to
operate.

Joomla offers middle
ground between the
developer
-
oriented,
extensive capabilities
of Drupal and user
-
friendly but more
complex site
development options

than Wordpress offers

Wordpress began as an
innovative, easy
-
to
-
use
blogging platform. With
an ever
-
increasing
repertoire of themes,
plugins and widgets,
this CMS is widely used
for other website
formats also.

Example Sites

Community Portal:
Fast
Company
,
Team Sugar

Social Networking:
MTV
Networks Quizilla

Education:
Harvard
University

Re
staurant:
IHOP


Social Networking:
PlayStation Blog

News Publishing:

CNN
Political Ticker

Education/Research:
NASA Ames Research
Center

News Publishing:
The
New York Observer


Installation

Drupal Installation
Forum

Drupal Installation
Forum

Wordpress Installation
Forum

Ease of Use

Drupal requires the
most technical
expertise of the three
CMSs. However, it also
is capable of producing
the most advanced
sites. With each
release, it is becoming
easier to use. If you’re
unable to commit to
learning the software or
can’t hire someone who
knows it, it may not be
the best choice.

Less complex than
Drupal, more complex
than Wordpress.
Relatively
uncomplicated
i
nstallation and setup.
With a relatively small
investment of effort
into understanding
Joomla’s structure and
terminology, you have
the ability to create
fairly complex sites.

Technical experience is
not necessary; it’s
intuitive and easy to
get a simple s
ite set up
quickly. It’s easy to
paste text from a
Microsoft Word
document into a
Wordpress site, but not
into Joomla and Drupal
sites.

Features

Known for its powerful
taxonomy and ability to
tag, categorize and
Designed to perfo
rm as
a community platform,
with strong social
Ease of use is a key
benefit for experts and
novices alike. It’s

Choosing a Content Management System (CMS)








organize complex
content.

networking features.

powerful enough for
web developers or
designers to efficiently
build sites for clients;
then, with minimal
instruction, cli
ents can
take over the site
management. Known
for an extensive
selection of themes.
Very user
-
friendly with
great support and
tutorials, making it
great for non
-
technical
users to quickly deploy
fairly simple sites.

Caching Plug
-
ins

Pressflow
: This is a
downloadable version
of Drupal that comes
bundled with popular
enhancements in key
areas, including
performance and
scalability

JotCache offers page
caching in the Joomla
1.5 search framework,
resulting in fast page
dow
nloads. Also
provides control over
what content is cached
and what is not. In
addition, page caching
is supported by the
System Cache Plugin
that comes with
Joomla.

WP
-
SuperCache
: The
Supe
r Cache plugin
optimizes performance
by generating static
html files from
database
-
driven
content for faster load
times.

Best Use Cases

For complex, advanced
and versatile sites; for
sites that require
complex data
organization; for
community platform
sit
es with multiple
users; for online stores

Joomla allows you to
build a site with more
content and structure
flexibility than
Wordpress offers, but
still with fairly easy,
intuitive usage.
Supports E
-
commerce,
social networking and
more.

Ideal for fairly si
mple
web sites, such as
everyday blogging and
news sites; and anyone
looking for an easy
-
to
-
manage site. Add
-
ons
make it easy to expand
the functionality of the
site

Production
Cost

Very High

High

Low


Choosing a Content Management System (CMS)


IF THE CHOICE IS
CUSTOM

CODE (
HAND WRITTEN CODE
) THEN HERE’S A
COMPARISON

OF
FRAMWORKS

AVAILABLE TO CHOOSE FROM:


1.10

Custom Code (
PHP
Frameworks
):
Yii
vs
CodeIgniter

vs
Zend
vs
CakePHP

vs
S
ymfony


PHP frameworks help you to write clean and reusable code. It follows the MVC pattern, ensuring a clear
separation of logic and presentation. But there is a much discussion all around because some prefer
performance, some prefer better documentation, some prefer amount of built
-
in functions etc.


Here are some pros and cons of

using frameworks:


Pros


PHP
frameworks can be used as a rapid application development method
.

As each project is based on a similar structure, it allows for a faster development cycle.

Developers can easily jump from project to project without worrying too much about the structure of

the
code.

The underlying code will change less often, resulting in a more stable site.


Cons


Some frameworks have a steep learning curve.

It can be difficult to find developers with experience of a particular framework.

Not all frameworks are bug free

Ha
ckers can exploit weaknesses in frameworks.



Here
is a Google Trend comparison chart showing popularity of different frameworks from 2013:

Figure:
Yii

vs
CodeIgniter

vs
Zend

vs
Cakephp

vs
Symfony
com
mparison Chart


Choosing a Content Management System (CMS)


1.10.1

CodeIgniter:

Statistically,
currently
Codeigniter
is one of the best php framework in the market
. It’s a choice of most
of php developer. It’s relatively easy to learn. Feature wise, Codeigniter is powerful frameworks such as
Zend and Cake. Its major goal is to enable you to develop projects m
uch faster than you could, by
providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical
structure to access these libraries.

It is only suitable for small to medium level projects.


1.10.2

Zend Framework:

Statistically, Zend Framework comes
equal to CodeIgniter
. It’s a powerful PHP Framework which is more
secure, reliable and
allows

Web 2.0 applications & web services. It is used in building big applications.

1.10.3

Yii Framework:

Statistically, currently yii

framework is the best php framework in the market. The main features that
makes Yii on
3rd

spot is its

features and a bit faster
framework.

1.10.4

CakePHP:

S
tatistically, CakePHP comes on 4
th spot. It’s a popular framework for web applica
tion development. It
come
s
with a lot of features: code generation, translations, database access, caching, validation,
authentication etc.

1.10.5

Symfony:

Statistically,
Symfony

comes on
5th spot. It

has a good
reputation;

it

is recommended if you have a bigger
project to do (more than a month to
dev
elop
).


1.10.6

Features Supported by PHP Frameworks:



Table: Supported

features in PHP Fra
meworks: Yii, CodeIgniter, Zend,
CakePHP

and Symfony


PHP
Frameworks


PHP4


PHP5


MVC


Multiple
DB's


ORM


DB
Objects


Templates


Caching


Validation


Ajax


Auth
.

Module


Modules


EDP


Yii


-


























CodeIgniter










-










-


-


-


-


Zend










-














-


-


CakePHP














-












-

Symfony


-












-












-


Choosing a Content Management System (CMS)



1.11

References:



http://www.newnorth.com/custom
-
cms
-
vs
-
packaged
-
cms/



http://www.sitepoint.com/forums/showthread.php?643367
-
CMS
-
vs
-
PHP
-
Framework
-
vs
-
Hand
-
coding



http://cmswebsites.org/blog/hand
-
coding
-
vs
-
pre
-
built
-
cms/



http://www.collegemediainnovation.org/blog/2009/0
9/guest
-
post
-
hand
-
coding
-
vs
-
cms
-
hand
-
coding
-
gives
-
essential
-
experience/



http://futurictech.blogspot.com/2013/07/which
-
is
-
better
-
hand
-
coding
-
or
-
pre.html



http://castroller.com/podcasts/TheChrisPirillo/3763044



http://www.lunametri
cs.com/blog/2010/10/21/custom
-
cms/#sr=g&m=o&ct=
-
tmc&rf=1633178330.1381226729



http://www.lockergnome.com/net/2011/10/24/which
-
is
-
better
-
hand
-
coding
-
or
-
pre
-
built
-
cms/



http://www.sitepoint.com/forums/showthread.php?752224
-
CMS
-
or
-
code
-
it
-
your
-
self



http://www.fdsc.net/index.php/Content
-
Management
-
System/custom
-
build
-
versus
-
pre
-
built
-
cms.html



http://webrevisions.com/tutorials/php
-
framework
-
the
-
best
-
php
-
framework
-
for
-
2013/#.UlUWhFNeLZ5



www.google.com/trends



http://www.creativebloq.
com/design/choose
-
right
-
php
-
framework
-
12122774