Transcript Joomla!

Welcome to the
WhichCMS Workshop
WhichCMS Workshop
• Present CMS solutions as an option between static
and code orientated web development
• Research survey:
– 2, 4 and 6 month surveys via newsletter subscription
• Research outcomes:
– Track participant interest in various CMS options
– Track participant interest in coding
– Analyse impact on current study path
WhichCMS?
Drupal
Joomla!
ExpressionEngine
WordPress
Concrete5
Tumblr
Level of
complexity
&
Learning curve
What is Web 1.0?
• Static sites, HTML & XHTML
• Content ‘embedded’ like text in a word processing
document
• Site development based on tables not CSS (cascading
style sheets)
• Sites were like online brochures
• No dynamic interaction with/ from the audience
– Comments
– Posts
– Uploading content etc
What is Web2.0?
• Web2.0 actually equates to just a handful of enabling
technologies and websites… Wikis Blogs, RSS,
Tagging, Podcasts, AJAX, Mashups
• It has provided a ‘self-service’ web where ease-ofaccessibility is quick, painless, easy and (normally)
free. Go to site > sign-up > use
What is Web 2.0?
• It has enabled a read/write web for the masses.
– Rather than what used to be a read-only web for the majority of people in
Web 1.0
Web2.0 is…
What is a CMS?
• Content Management System (CMS)
• CMSs allow users to easily create and manage
websites without previous technical knowledge.
• CMS allow users to add content, upload images and
files and perform general maintenance functions on a
website.
What is a CMS?
• Ability to move, add, edit and delete webpage content
• Ability to upload or remove images
• Choose from a variety of design templates
• Create website navigation
• Create text and image links
• Embed videos and slideshows
What is a CMS?
Icons via – freeiconsweb.com
Static vs. Dynamic
Static html
document
Icons via – freeiconsweb.com
Dynamic
CMS
What is a CMS?
Dynamic sites
Files
Apache
software
web server
Content
owner
MySQL database
Email
Browser Presentation
What is Apache?
• Apache is primarily used to serve
both static content and dynamic
Web pages on the World Wide Web.
• Many web applications are designed expecting the
environment and features that Apache provides.
• In 2009 it became the first web server software to
surpass the 100 million
web site milestone
Icons via – freeiconsweb.com
What is MySQL?
• MySQL is a relational database
management system that has
more than 6 million installations
• MySQL stands for "My Structured Query Language".
• The program runs as a server providing multi-user
access to a number of databases
What is MySQL?
Scripting vs. Programming
• Scripting requires a ‘host’ application or interpreter.
– The host effectively carries out all the processing
– Examples are HTML, PHP, .net, Ruby, Python, JavaScript.
• Programming does not require a host application and
can run on its own
– These are compiled self executable files
– Examples are and .exe file or application
What is PHP?
• PHP is a general-purpose scripting language that is
especially suited for web development.
• PHP originally stood for personal home page.
• April 2007, over 20 million Internet domains were
hosted on servers with PHP installed
• Used with the MYSQL database
• Popular amongst blogging and small CMS community
sites
What is PHP?
• PHP primarily acts as a filter, taking input from a file or
stream containing text and/or PHP instructions and
outputs another stream of data; most commonly the
output will be HTML.
• Has security issues
• Current Version 5
PHP Test
Hello World
What is PHP?
• Significant websites are written in PHP including:
– Facebook
– Wikipedia (MediaWiki)
– Yahoo!
– MyYearbook
– Digg
– Joomla!, Drupal, WordPress
– YouTube and Tagged.
Your first PHP script!
<?php
$Greeting = 'Hello World!';
?>
<html>
<head>
<title><?php echo $Greeting; ?></title>
</head>
<body>
<?php echo $Greeting; ?>
</body>
</html>
Other web scripting environments
• Ruby on Rails
• Python – Google uses it!
• Perl
• Active Server Pages – ASP (Microsoft)
• ASP + the .net framework - ASP.net (faster than ASP)
• Java Server Pages - JSP
• ColdFusion
Hosting a CMS
• Local environments
– MAMP - Mac
– WAMP - PC
– XAMPP - Mac, PC & Linux
– LAMP
- Linux
• External Internet Service Provider (ISP) environment
– PHP supported
– Wizard like support with cPanel
Hosting a CMS
User
MySQL database
PHP
Apache web server
}
or
or
or
Apache + MySQL + PHP bundled software
Internet
MAMP – local host
• www.mamp.info
WAMP – local host
• www.wampserver.com
XAMPP – local host
• www.apachefriends.org/en/xampp.html
LAMP – local host
• http://wiki.debian.org/LaMp
phpMyAdmin
• A free software tool intended to handle the
administration of MySQL over the
World Wide Web
• Provides an easy interface to create databases, delete,
administer
phpMyAdmin
Putting it all together.. locally
User
Files uploaded locally
Database
creation and
management
XAMPP
Internet
Content
Management
System
Putting it all together.. externally
User
Files uploaded via FTP application
Database
creation and
management
Hosted Environment
Internet
Content
Management
System
ISP help
cPanel – external ISP host
• cPanel is a unix based web hosting control panel that
provides a graphical interface and automation tools
designed to simplify the process of hosting a web site.
Choosing an ISP host
• Does the host support you in creating a database?
– cPanel
– phpMyAdmin (creation of databases)
• Does the host offer you the ability to set up more than 1
database?
• You will need FTP access to upload files
• Costs range from $3 – $10 per month depending on
options
• www.hostgator.com $9 per month
What is Open Source?
Community
of content/
system designers
Icons via – freeiconsweb.com
CMS
Under license and
conditions offered
FREE
Internet
What is Open Source?
• Open source is an approach to the design, development, and
distribution of software, offering practical accessibility to a
software's source code. Source (Wikipedia)
• The term open source gained popularity with the rise of the
Internet, which provided access to diverse production models,
communication paths, and interactive communities.
• Provides the software under license for free.
• The principles and practices are commonly applied to the peer
production development of source code for software that is made
available for public collaboration
Other Open Source examples
• Content Management Systems
– Drupal
– Joomla!
– Wordpress
• Online applications
– OpenOffice, AbiWord (word processing)
– Wikipedia
– Redmine (project management)
• Software
–
–
–
–
Linux operating system
Audacity (sound)
Blender 3D (3D modeling and animation)
FileZilla (ftp client)
Uploading/editing you site
• Locally
– via copying files with Finder or Windows Explorer into the htdocs folder in site
your local host application as MAMP, WAMP or XAAMP
Uploading/editing you site
• Remote via FTP (File Transfer Protocol)
– Transmit, Fetch, CuteFTP
10 Things To Consider When
Choosing The Perfect CMS
Who are you choosing the CMS for?
• Are they technical or non-technical users?
• How many people will need access?
• Do you need to be able to control what content
individuals or groups can change?
• How high of security will they need?
source: Website Owner’s Manual
(Boag 2009)
What are the project needs?
• What type of website is it?
• What tasks is the client going to need to be able to
accomplish on their own?
• How do these tasks equate to needed features
• What is the process for posting content?
• Will it be reviewed/ edited? plugins/ extensions, etc
source: Website Owner’s Manual
(Boag 2009)
1. Core functionality
• Not all Content Management Systems can
– create, delete, edit, format and organizing pages
• There is no guarantee that such functionality will be
presented in an intuitive way
• Consider carefully the basic functionality you need.
• Even if you do not require the ability to structure and
organize pages now, you may in future
source: Website Owner’s Manual
(Boag 2009)
1. Core functionality
• Not all blogging platforms, for example, allow the
owner to manage and organize pages in a tree
hierarchy. Instead, individual “posts” are automatically
organized by such criteria as date and category.
2. The editor
• The majority of content management systems have a
WYSIWYG editor
• The danger of traditional WYSIWYG editors is two-fold
– Content providers are given too much control over the design. They are able
to customize the appearance of a page so much that they undermine the
consistency of the design and branding.
– In order to achieve this level of design control, the CMS mixes design and
content.
source: Website Owner’s Manual
(Boag 2009)
source: Website Owner’s Manual
(Boag 2009)
3. Managing assets
• Management of images and files is badly handled in
some CMS’. Badly designed systems can frustrate
users with poor accessibility and usability
• CMS should provide basic image editing tools, such as
cropping, resizing and rotating
• Uploading and attaching PDFs, Word documents and
other files. How are they displayed to end users?
source: Website Owner’s Manual
(Boag 2009)
4. Search
• Approximately half of all users start with search when looking for
content.
• Thoroughness: does it index the entire content of each page? What
about attached files, such as PDFs and Word, Excel and PowerPoint
documents?
• Speed: some search engines can take ages to return results. This is
especially common on large websites.
• Scope: can you limit the scope of the search function to a particular
section of the website or refine search results once returned?
• Ranking: how does the search engine determine the ranking of
results? Can this be customized by either the website owner or user?
source: Website Owner’s Manual
(Boag 2009)
5. Customization
• You need a content management system that allows
flexibility in the way content is retrieved and presented
• For example, can you retrieve news stories in reverse
chronological order? Can you display events in a
calendar? Is it possible to extract the most recent user
comments and display them on the home page?
• Flexibility makes a CMS stand out
• Can you control the design aspects?
source: Website Owner’s Manual
(Boag 2009)
6. User interaction
• If you intend to gather user feedback, your CMS must provide
chat, forums, comments and ratings
• At a minimum, you will need to be able to post forms and collect
responses. Can you customize fields or does that require technical
expertise?
• Also ask what tools exist for communicating with customers. Can
you send email newsletters?
• Do you need to be able to reset passwords, set permissions or
export user information to other systems?
source: Website Owner’s Manual
(Boag 2009)
7. Roles and permissions
• As the number of content providers on your website
increases, you will want more control over who can edit
what. For example, one group may need to be able to post
job advertisements but not add content to the home page
• You need a CMS that supports multiple roles. This can be
as simple as having one “Editor” and one “Approver”
• Enterprise-level content management systems support
entire workflows in which page updates have to go through
a series of checkpoints before going live
source: Website Owner’s Manual
(Boag 2009)
8. Versioning
• Being able to revert to a previous version of a page
allows you to quickly recover if something is posted by
accident
• Some content management systems have complex
versioning functionality that allows you to roll back to a
specific date
• Not really used by authors
source: Website Owner’s Manual
(Boag 2009)
9. Multiple website support
• More and more content management systems allow
multiple websites from the same installation
• One install, multiple domain names
• Set up and module configuration takes time
• Mobile Web, you may want to create a separate
website especially for mobile devices. Content will
need to be pulled from your current database into your
mobile site
source: Website Owner’s Manual
(Boag 2009)
10. Multilingual support
• Your website may specifically target the domestic
market, or you may sell a language-specific product
• Google translate is not a quality translation
• Requires double or more entries of content by a native
speaker/writer
• We live in a multicultural society in which numerous
languages are spoken.
source: Website Owner’s Manual
(Boag 2009)
cmscritic.com
cmsmatrix.org
cmsreport.com
cmsreview.com
cmswire.com
independentdesign.com.au/whichcms/
Tumblr
Tumblr – Overview
• Tumblr is a minibloging tool, great entry level with no technical
ability necessary
• Offers rich media tools such as photos, video support, and
feeds
• Blog appears as a digital scrapbook
• Tumblr combines the quick Web-posting and mobile-posting
with standard blog features such as a choice of page themes,
rich-text formatting, and your own URL. Entries get their own
pages, but they're not longer than the post on the main page.
Tumblr – Advantages
• Site is fully hosted
• All posting happens at the Dashboard, where there are
options for Text, Photo, Quote, Link, Chat, and Video
• Ability to make custom theme very easy
• Great community feeling and sharing of information
• Completely free
Tumblr – Disadvantages
• Don't be fooled by the Chat button—it's just a text entry
where you're supposed to paste text from a chat dialog
you had or saw: The post will be formatted to look like
a conversation.
• These pages don't have the comment capability you'd
find on a fuller-fledged blogging service. Comments
need to be done via an external provider – Disqus
Tumblr Showcase
• http://www.tumblr.com/popular
Tumblr Training
• http://speckyboy.com/2008/01/30/
a-rough-guide-to-the-excellent-tumblr/
• http://www.webmonkey.com/tutorial/
Get_Started_With_Tumblr
• http://www.tumblr.com/docs/custom_themes
• http://www.tumblr.com/themes/
• http://www.tumblr.com/popular
Concrete5
Concrete5 – Overview
• Concrete5 is best for non-programmers that want a
static website. In other words, a finite set of Web pages
like: About, Contact, Services, etc.
• Its real attraction may be in-page editing of content. All
you need to do is click some content and a popup
allows you to change its contents.
Concrete5 – Advantages
• Great for client to edit ‘live’ pages
• Has versionising
• Extremely simple to use
• It handles links, images, and all sorts of different
“blocks” of content wonderfully.
• Blocks can be moved around easily.
• Themeing is extremely easy
Concrete5 – Disadvantages
• Very new, version 5 announced in 2008
• Limited community, 9000 registered members
• Only about 40 additional plugins
• No central content tracking
Concrete5 Showcase
• http://www.concrete5.org/about/showcase/
Concrete5 Training
• www.vimeo.com/user997513
• http://c5mix.com/tutorials/
ten-great-concrete5-tutorials
• http://hungred.com/how-to/
tutorial-making-a-template-for-concrete5/
Wordpress
Wordpress – Overview
• The number 1 Blogging tool
• Wordpress is technically a blogging system, but it has
grown into a formidable CMS by adding good page
management features, media uploading and
management, as well as numerous other features that
help it to manage content.
Wordpress – Advantages
• Wordpress is best for bloggers, but is certainly capable
of much more.
• Plug and play interface
• Easy operations
• It has everything it needs for what most people want
and need for blogging: Posts, comments, media, links,
simple pages, users, etc.
• Great for simple sites; many, many, many free plugins.
Wordpress – Disadvantages
• Limitations for bigger sites and when there are needs
for more complicated kinds of content.
• Can be difficult to adapt to a non-blog CMS
Wordpress Showcase
• http://wordpress.org/showcase/
Wordpress Training
• WordPress.com 2.7 Essential Training – Lynda.com
• http://www.learnwebdevelopment.com/introduction-towordpress.html
• http://www.lynda.com/home/ViewCourses.aspx?lpk0=368
ExpressionEngine
ExpressionEngine – Overview
• ExpressionEngine is a flexible system that allows you
to publish any number of different streams of
information with custom fields.
• It comes in three version: free core version, personal,
and commercial
• ExpressionEngine is best for those that want a featurerich (blog, dynamic content, static pages, etc.), but
have a little programming knowledge
ExpressionEngine – Advantages
• While EE does not have a huge development
community for modules, they do provide fantastic
support through their forums
• Custom fields can be set up and controlled by very
specifically by the designer
• Another impressive thing is how they have
implemented their templates (themes); it does not take
a die hard programmer to build a custom theme
ExpressionEngine – Disadvantages
• The system can be frustrating at times in that there are
menus buried in menus buried in menus. It can take
awhile to find what you’re looking for.
• When first learning the system of
weblogs/templates/categories it can get confusing and
seem counter-intuitive.
ExpressionEngine Showcase
• http://expressionengine.com/showcase/websites/
ExpressionEngine Training
• Video training – eescreencasts.com
• Blog – jambor-ee.com
• Blog/video training – eeinsider.com
• Blog – proeetuts.com
• Ebook – train-ee.com
• Blog – devot-ee.com
Joomla!
Joomla! – Overview
• Joomla! is a large contender in the open source CMS
market.
• It has won several awards, and many big websites use
it for their management.
• It manages all different types of content well like simple
text, photos, music, videos, or documents.
Joomla! – Advantages
• Joomla! is best for developers and those that need a
powerful, extensible CMS
• It is a solid offering that has a lot of functionality, while not
being overwhelming on the first login
• It can accomplish a lot with only the core, and is especially
adept when you consider all of the third-party extensions
that are available for it.
• There is a huge community backing Joomla! so the good
news is you generally can get fast help on their forums
Joomla! – Disadvantages
• Developing themes may not be as easy when
compared to other systems
• Joomla! has a large community devoted to it, with a
million module creators, but that can get frustrating to
find the right one for your needs
• Sometimes you have to resort to using commercial
modules which can cost a lot of money
Joomla! Showcase
• http://community.joomla.org/showcase/
Joomla! Training
• http://www.joomlatutorials.com/
• http://www.myjoomlacast.com/
• http://www.lynda.com/home/
DisplayCourseN.aspx?lpk2=474
• http://www.learnwebdevelopment.com/
intro-to-joomla.html
Drupal
Drupal – Overview
• Drupal is one of the biggest and most well known open
source CMS solutions
• It is usually used to run community web portal types of
website
• It has many features and modules, it can be made to
run almost any kind of website
Drupal – Advantages
• Because of Drupal’s vastness, it can be made to run almost any
kind of website
• There is a large community, so finding help or modules should not
be a problem
• In short order, one can have a very feature-rich site up and
running
• Drupal also makes it very easy to keep custom modules, themes,
and the core Drupal files up-to-date which is a huge bonus
• It has thousands of modules that can add on to its functionality
Drupal – Disadvantages
• Drupal can be intimidating to just logon to the system
as an administrator
• There are so many options and configurations and
strange names like taxonomy that you don’t know
where to start
• Theming Drupal can be a large challenge if you are not
a programmer
Drupal Showcase
• http://www.drupalsites.net/
Drupal Training
• Drupal Essential Training – lynda.com
• Build Websites With Drupal! – lullabot.com/
– Site Building With Drupal
– Administering Drupal
– Theming Basics For Drupal
– Learning CCK
– Learning Views
• Video training – learnbythedrop.com
www.packtpub.com/content-management