Building Dynamic Websites With Joomla CMS

Embed Size (px)

Citation preview

Thomas SiegersSongfuli Co., Ltd.

May 20, 2010

Building dynamic websiteswith Joomla CMS

Design, Configure, Use

About

This presentation is publicly available at:http://www.slideshare.net/thomasjs

Hosted by
Chinese Culture University (PCCU)European Chamber of Commerce in Taiwan

This presentation is published under the
Creative Commons Attribution Share Alike License.For more information, see http://creativecommons.org/about/licenses/

Summary

Joomlaopen-sourcecontent management system

A tool for building and maintaining websites,low cost, easy to use,very suitable for small and medium sites,the right choice for self-made entrepreneurs.

Website Basics

Static vs. Dynamic

CMS Basics

Deployment Options

Managing Content

Enhancements

User Management

Maintenance

Migrating

Static vs. Dynamic

Static

Content embedded in HTML code

Content and layout partly independent

Entering content is like programming

Interactive features require CGI programming

No special requirements on web host

Faster than dynamic web site

Dynamic

Content stored in database

Content and layout completely independent

Entering content is like word processing

Interactive features are available by software components

Web host must provide database and programming language

Slower than static web site

CMS Basics: What is a CMS?

CMS: Content Management System

General: computer software system for managing content

Here: web content management system

computer software system for managing content on an Internet website

allows users to create and manage content in a way similar to word processing

used to maintain a website, not to create it

Other: enterprise content management system
also called: document management system (DMS)

CMS Basics: Functionality

Browser requests web page

Web server recognizes
dynamic request

Application software
retrieves content
from database

Application software
constructs web page
dynamically

Web server delivers
web page to browser

Database

LanguageModule

Web Server

Web Browser

ApplicationSoftware

Content

Request

Response

Webpage

CMS Basics: Products

CommercialPrices range from some hundred Dollars
to some hundred thousand Dollars

Open SourceJoomla!

Drupal

Typo3

phpNuke

XOOPS

Plone

and many more

Deployment Options

Within own network

very fast access from inside

data inside the organization

security threat

Shared web host

inexpensive

slow response with high volume traffic

Dedicated web host

fast access from everywhere

very reliable operation

data outside the organization

Managing Content

Set-up hierarchical content structure
e.g. section-category-content

Set-up menu structure
independent from content structure

Create content
online using WYSIWYG word processor

Publish content
- manually (immediately)
- automatically (scheduled)
- workflow authorized (draft, revise, approve)
- front page (yes/no)

Maintain content
update, unpublish, archive, delete

Enhancements

Multimedia
image gallery, streaming audio/video, YouTube

Communication
newsletter, guest book, forum, chat, polls

Collaboration
calendar, event list, project management

E-Commerce
web shop, payment, auction, Amazon

Web Marketing
advertising banners, classified ads, SEO

Data Management
forms, database queries, file manager

User Management

Different user typesOrganizational: internal, external

Technical: frontend, backend

Access rightsfrontend, backend

submit, create, edit, publish content

EnhancementsContact management

Mass mail

Newsletters

Maintenance

BackupFiles

Database

UpdatesSecurity

References to third party services

UpgradesMajor releases (e.g. Joomla 1.0 1.5)

Minor releases

Extensions

Migrating

Three kinds of migrationUpgrade from previous version

Clone, backup restore, move to a new site

Replace existing CMS or static web site

Migrating from legacy CMSNo straightforward way

Analysis of data model

Programmatic extraction of legacy content

Programmatic insertion into new CMS

Bulk updating of missing fields

Manual configuration

Advantages

Limitations

Requirements

Concept

Joomla

Advantages

Open Source

Very popular

Many free extensions available

Many inexpensive templates available

Relatively easy to use for website designers and users

Limitations

Very rudimentary access and permissions*

SEO difficult to achieve*

Fixed 2-stage categorization*

HMTL output with tables

Most extensions not integrated

*) improved in upcoming version 1.6 (currently beta)

Requirements

LAMP
Linux, Apache, MySQL, PHP

PHP ver. 5.2 for Joomla ver. 1.6

Shared Web Host
file upload with FTP
database configuration with web host control panel

Apache Webserver Interface
apache2handler vs. cgi-fcgi
check with php_sapi_name()

PHP Settings
register_globals = off

Concept

HeaderLeftColumn

Content Area

TemplateRightColumn

FooterMenuComponent/ModuleMenuLatestArticlesLogin FormWebLinksNewsNewsNewsDatabase

Core Features

Articles (content)

Menus

Categories*

Modules

Contact Form

Web Links

News Feeds

Polls

Banners
*) Joomla ver. 1.5 section-category
ver. 1.6 multiple categories

Template

Configuration
templateDetails.xml
files, positions, etc.

Layout
index.php
HTML with PHP snippets to insert content dynamically

Styling
template.css
CSS for layout and styling

Images
round corners, shadows, background, logo

JavaScript
adds dynamic elements, like sliding header images

Customizing

Template
layout modifications
additional module positions
changing colors, fonts, background, logo
knowledge required: HTML, CSS

Styling
add custom styles wherever possible
override styling in own CSS
knowledge required: HTML, CSS

Functional
modifications must be reapplied after each update
Joomla core should better not be modified
knowledge required: PHP, MySQL, Joomla API, JavaScript

Search Engine Optimization

Scope
on-site vs. off-site SEO

Basic
search engine friendly URLs
title tag
meta tags
XML sitemap

Advanced
headline tags
duplicate content
redirects
multimedia content

Q & A

Thomas SiegersSongfuli Co., Ltd.Taipei, Taiwan

http://[email protected]://www.slideshare.net/thomasjs

Click to edit the title text format

Click to edit the outline text formatSecond Outline Level