Preface xxi
Acknowledgments xxix
About the Author xxxi
Chapter 1: Content Management Systems and an Introduction to Joomla! 1
What Is a Content Management System? 2
Static Web Pages 2
Web Pages with CSS 3
Dynamic Web Pages 4
Open Source Software 7
History of Joomla! 8
The Joomla! Community 9
Third-Party Extensions Development 9
Joomla!'s Features 9
Elements of a Joomla! Website 11
Content 13
Templates 14
Modules 15
Summary 15
Chapter 2: Downloading and Installing Joomla! 17
How to Install Joomla! 18
Obtaining the Latest Joomla! File Package 18
Joomla! Package Naming Conventions 19
Creating a MySQL Database 20
Unpacking the Joomla! Package 20
Unpacking Joomla! on a Local Desktop Computer 21
Unpacking Joomla! on a Hosting Account 24
Running the Joomla! Installation Wizard 26
Step 1: Language 26
Step 2: Pre-Installation Check 27
Step 3: License 27
Step 4: Database Configuration 28
Step 5: FTP Configuration 30
Step 6: Main Configuration 30
Step 7: Finish 32
Summary 33
Chapter 3: Joomla! Administration Basics 35
What Are the Frontend and Backend of a Joomla! Powered Website? 36
The Menu Bar 38
The Toolbar 39
The Workspace 39
Administrator Functions in the Menu Bar 40
The Site Submenu 40
The Menus Menu 48
The Content Menu 50
The Components Menu 52
The Extensions Menu 54
The Tools Menu 59
The Help Menu 60
Site Preview 60
Summary 62
Chapter 4: Content Is King: Organizing Your Content 63
How Does Joomla! Generate Web Pages? 64
How Joomla! Organizes Content Articles 66
Uncategorized Articles 66
Sections and Categories 67
A Sample Hierarchy 69
Creating the Widget Inc. Website with Uncategorized Content 70
Creating Content Articles 71
Creating Menu Items 75
The Front Page Component 81
Creating the Widget Inc. Website with Sections and Categories 85
Creating Sections 87
Creating Categories 88
Creating Content Articles 90
Creating Menu Items 92
Read More Links and Individual Page 99
Module Content 102
Summary 105
Chapter 5: Creating Menus and Navigation 107
How Menu Modules Work 108
What Menu Items Do 110
Creating a Menu Item 111
Where Does a Menu Item Link To? 113
What Does a Page Look Like After a Link Is Followed? 114
Blog Layout 116
Blog Layout Parameters 117
List Layout for a Section 122
Section List Layout Parameters 123
List Layout for a Blog 124
Category List Layout Parameters 124
Managing Menu Modules in the Module Manager 126
Show Title 128
Position 128
Access Level 129
Module Parameters 129
Menu and Module Class Suffixes (Advanced Parameters) 130
Menu Assignment 130
Submenus 130
Summary 132
Chapter 6: Extending Joomla! 133
Extensions 134
Installing Extensions 135
Managing Extensions 137
Components 139
Core Components 140
Third-Party Components 141
Modules 141
Module Display 141
Core Modules 143
Third-Party Modules 145
Plugins 145
Core Plugins 145
Third-Party Plugins 146
Templates 146
Core Templates 146
Third-Party Templates 147
Summary 147
Chapter 7: Expanding Your Content: Articles and Editors 149
WYSIWYG Editors 150
Managing WYSIWYG Editors 152
Other Third-Party Editors 154
Creating and Managing Articles 156
Managing Content Through the Backend 157
Adding Content from the Backend 159
Inserting Images into Content 166
Creating an Article Table of Contents 169
Section and Category Descriptions 171
Global Article Parameters 173
Managing Content Through the Frontend 175
Creating a Frontend User Menu 175
Limiting Access to Menus by User Level 179
Authors 180
Editors 185
Publishers 187
Article Checkin 187
Summary 189
Chapter 8: Getting Traffic to Your Site 191
Starting at the Beginning: Site Goals 192
Organic Traffic (SEO) 193
Introduction to Google 196
Creating Keywords 197
Keywords and Domain Name 199
Designing Your Site for Organic Traffic 200
Advanced SEO Techniques 208
Referral Traffic 211
Google Page Rank 211
Other Link-Building Strategies 214
Internal Linking 215
PPC Traffic 218
How Google AdWords Works 218
Joomla! and AdWords 220
Email Traffic 223
Third-Party Hosted Email Solutions 225
Joomla! SEF Extensions 225
Summary 226
Chapter 9: Creating Pure CSS Templates 229
What Is a Joomla! Template? 230
The Localhost Design Process 231
Localhost Server Options 233
W3C and Tableless Design 234
Semantically Correct Code 235
Cascading Style Sheets (CSS) 236
Creating a Simple Template: CSSTemplateTutorialStep1 236
Template File Components 237
The Joomla! Page Body 246
Using CSS to Create a Tableless Layout: CSSTemplateTutorialStep2 249
Default CSS 255
Joomla-Specific CSS 257
Modules in Templates 260
Menus in Templates 266
Hiding Columns 271
Making a Real Joomla! 1.5 Template: CSSTemplateTutorialStep3 276
Slicing and Dicing 277
Setting Up Module Locations 278
Header 278
Column Backgrounds 279
Flexible Modules 282
Typography 283
Advanced Templating Features: CSSTemplateTutorialStep4 288
Template Parameters 289
Template Overrides 291
Tableless Joomla! 295
The Completed Template 296
Summary 297
Chapter 10: Creating a School Site with Joomla! 299
Why Do You Need a School Website? 300
Students 300
Teachers and Administrators 301
Parents 301
Potential Students and Their Parents 301
What Features Do You Need on a School Site? 302
Downloading and Installing a School Template 302
Education Template Features and Positions 304
Configuring the Search Box 305
Configuring the Main Horizontal Drop-Down Menu 306
Organizing Content on a School Website 308
Creating the Menus 312
Building Out Content 316
Creating Subnavigation 317
The Academics Submenu 318
Creating News Links for a Section 319
Setting Up the Footer 322
Setting Up the Homepage 323
Adding Basic Functionality to a School Website 326
User Registration 326
Events Calendar 328
Downloadable Documents 328
Polls 329
Staff Directory 329
Email Newsletter 330
RSS 330
Random Image 331
Sitemap 331
Extending the School Website Beyond the Basics 333
Summary 333
Chapter 11: Creating a Restaurant Site with Joomla! 335
Why Does a Restaurant Need a Website? 336
What Features Does a Restaurant Website Need? 336
Downloading and Installing a Restaurant Template 338
Organizing the Content on a Restaurant Website 340
Building Content Articles with Lorem Ipsum 343
Creating Menus 344
Setting Up the Homepage 349
Homepage Alternative to the Front Page Manager 349
Creating Footer Content 352
Creating Module Teaser Blocks 352
Using Stock Imagery 358
Extending a Restaurant Website 360
Image Gallery: JPG Flash Rotator 2 361
Calendar: JCal Pro 361
Email Marketing 361
Google Maps 361
Summary 362
Chapter 12: Creating a Blog with Joomla! 365
What Is a Blog? 366
Why Have a Blog? 367
What Options Are There for Blogging? 367
What Features Are Needed on a Blog Site? 368
Downloading and Installing a Blog Template 370
Optimus Template Features and Positions 371
Configuring the Logo 373
Configuring the Main Horizontal Drop-Down Menu 374
Organizing Content on a Blog 375
Organizing a Blog Within a Larger Site 375
Organizing a Standalone Blog 376
About Tagging 378
Creating the Menus 379
Adding Dynamic Modules 382
Adding Static Modules 385
Adding Basic Functionality to a Blog 387
Flexible Layout 387
Browser-Based Editing 387
Automated Publishing 387
Categories 387
Search Engine-Friendly URL 388
Comment Systems 388
Syndication Feeds 389
Email Notification 392
Search 393
TrackBack 393
Extending a Blog Website Beyond the Basics 394
Forums 395
Ecommerce 395
Summary 395
Appendix A: Getting Help with Joomla! 397
Community Forums 397
Help Sites 398
Getting Help from Google 398
Appendix B: Joomla! Case Studies 399
www.yourwedding.com.au (MP Media) 400
Interview with John Paoloni, Owner of Welcome to Your Wedding 400
www.longwoodfl.org (City of Longwood, Florida) 403
Interview with Ryan I. Spinella, Executive Assistant at the City of Longwood, Florida 404
www.ropl.org (Royal Oak Public Library--Michigan) 405
Interview with Eric Hayes, Technology Specialist, Royal Oak Public Library 405
www.nzmac.com (NZMac.com) 408
Interview with Philip Roy, Webmaster, NZMac.com 408
www.everythingtreo.com (Everything Treo) 411
Interview with Christopher Meinck, Everything Treo 411
Summary 414
Appendix C: A Quick Start to SEO 415
Keyword Use in the Title Tag 415
Anchor Text of an Inbound Link 415
Global Link Popularity (Page Rank) of a Site 416
Age of a Site 416
Link Popularity and Topical Relevance Within the Site 416
Topical Relevance of Inbound Links and Popularity of the Linking Site 416
Link Popularity of the Site in the Topical Community 417
Keyword Use in Body Text 417
File Size 417
Clean URLs 418
Error Pages 418
What's Not Here? 418
Appendix D: Installing WampServer 419
Index 429