Building Websites with e107 - Tad Boomer - E-Book

Building Websites with e107 E-Book

Tad Boomer

0,0
31,19 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

e107 is a PHP-based content management system that uses the popular open source MySQL database system for content storage. e107 is released under the terms of the GNU General Public License and is completely free, totally customizable and in constant development. It is an ideal tool for developing small to large dynamic community websites, intra company portals, corporate portals, weblogs and much more. It has a large, enthusiastic, and helpful community of users.If you want to create a powerful, fully-featured website in no time, this book is for you. This book will help you explore e107, putting you in the picture of what it offers, and how to go about building a site with the system. The book covers all the core features of e107, and it is thorough and incremental tutorial approach it gives you the understanding to experiment with advanced features and customization.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Veröffentlichungsjahr: 2007

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Building Websites with e107
Credits
About the Author
Acknowledgement
About the Reviewer
Preface
What This Book Covers
What You Need for This Book
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
1. An Introduction to e107
History of Content Management Systems
How a Content Management System Works
Brief History of e107
The People Who Make e107 Possible
Summary
2. Installing e107
Requirements
Operating System Requirements
Installing e107
Uploading e107 to Your Server
No Command-Line Access
Command-Line (Shell) Access
Setting File Permissions
Core Permissions
Plug-in Permissions
Content Management Plugin
Links Page
Statistic Logging
Running the Installation Script
Stage 1
Stage 2
Root Access
No Root Access
Stage 3
Stage 4
Stage 5
Stage 6
Stage 7
Securing Your Installation
Upgrading an Existing e107 Installation
Database Updates
Troubleshooting Common Installation Problems
Summary
3. Setting Site Preferences
The e107 Front End
Creating a Username and Password
Activating Your Registration
The User or Member Welcome Page
The e107 Back End
Setting Site Preferences
Site Information
Display Information
Admin Display Options
Date Display Options
User Registration/Posting Option
Signup Page Options
Text Rendering
Security & Protection
Comments
Advanced Features
Emoticons
Creating the Front Page
Creating a Dynamic Front Page
Creating a Static Front Page
Creating Different Front Pages by User Class
Summary
4. Customizing the Look and Feel of Your Site
What is a Theme?
Understanding the Theme Layout
Psychology of Color
Selecting a Theme
Core Themes
Additional Themes
Custom Themes
Deleting Themes
Customizing Layout
The WYSIWYG Editor
The File Upload Manager
Creating Menu Items Using the Custom Page/Menu Tool
Deleting a Custom Menu Item
Changing Views by Membership Level
Customizing Our Site
Internationalization—Using a Custom Language File
Summary
5. Customizing Your Site for e-Commerce with Plugins
Introduction to Plugins
How to Install Plugins
Core Plugin Installation
Installing a Non-Core Plugin
Plugin Manager Upload Plugin Option
Uninstalling a Plugin
Banner Plugin
Adding the Banner Shortcode to a Theme
Creating a Banner Ad Campaign
Activating the Ad Campaign
Shopping Cart Plugin
Main ZoGo-Shop Settings
Manage Store Categories
Adding Store Categories
Editing and Deleting Categories
Manage Store Products
Adding Store Products
Editing and Deleting Products
Manage Gateways
Managing Orders
FAQ (Frequently Asked Questions) Plugin
Adding Categories
Adding Sub-Categories
Setting Preferences
Entering Sample FAQs
Summary
6. Customizing Your Site for Business with Plugins
User Class
Creating a User Class
Attaching a User Class to a User
Deleting a User from a User Class
Assigning Admin User Class to a User or Removing It
The Forum Plugin
Installing Forum
Creating the Forum Parents
Creating the Forums
Creating the Sub-Forums
Changing the Category Order
Changing the Forum Order
Changing the Order of the Sub-Forums
Setting Forum Preferences
Prune
Ranks
Forum Rules
Reported Posts
Moderators
Tools
The Poll Plugin
Changing Themes for a More Professional Business Appearance
Summary
7. Adding Content to e107
Content Management Plugin
Key Features
Built-in Template System for Content Pages
Preset and Custom Tag Capabilities
Menu System
Advanced Sorting System
Personal Content Manager
Options
Installation and Configuration
Creating a New Category
Changing the Order of Categories
Managing Categories
Deleting a Category
Editing a Category
Creating Content
Managing Content
Deleting Content
Editing Content
PDF Creation Plugin
The Coppermine Plugin
Installing the Coppermine Plugin
Coppermine Configuration
General Settings
Language, Themes & Charset Settings
Album List View
Thumbnail View
Image View & Comment Settings
File and Thumbnail Settings
Files and Thumbnails Advanced Settings
User Settings
Custom Fields, Cookies, and Miscellaneous Settings
Image Watermarking
Saving Configuration
Admin Mode and User Mode
The Group Control Panel
Categories, Albums, and Pictures
Creating Categories
Creating Sub-Categories
Creating Albums
Block (Menu) Configuration
Summary
8. Information Dissemination
The Newsletter Plugin
Installation
Configuration
Creating Our First Mailing
How to Subscribe to the Newsletter
Event Calendar Plugin
Installation
Configuring Calendar Settings
Categories
Forthcoming Events
Maintenance
Event Calendar Front End
Entering Information into our Calendar
Editing or Deleting a Calendar Event
RSS Plugin
Installation
Existing RSS Feeds
Import
Activating RSS on the Front End
Search Engines
Meta Tags
Summary
9. Maintenance, Optimization, and Security
Database Utilities
Scan Plugin Directories
Maintenance Flag
Check for Available Database Updates
Check Database Validity
Optimize SQL Database
Backup Core
Security
File Uploads
Passwords
Security & Protection Preferences
Summary
A. Resources
e107 Resources
Official Sites
Other Sites
World Sites
Resources for Running e107 on a Windows OS
Apache Resources
PHP Resources
MySQL Resources
Index

Building Websites with e107

Tad Boomer

Building Websites with e107

Copyright © 2007 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: February 2007

Production Reference: 1160207

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-904811-31-2

www.packtpub.com

Cover Image by www.visionwt.com

Credits

Author

Theodore S. Boomer

Reviewer

Eric Vanderfeesten

Development Editor

Nanda Padmanabhan

Technical Editor

Viraj Joshi

Editorial Manager

Dipali Chittar

Project Manager

Patricia Weir

Project Coordinator

Abhijeet Deobhakta

Indexer

Bhushan Pangaonkar

Proofreader

Chris Smith

Layouts and Illustrations

Shantanu Zagade

Cover Designer

Shantanu Zagade

About the Author

Theodore S. Boomer was born in Catskill, NY. From an early age he showed a propensity for science and mechanics as well as for art and music. When the personal computers became available he knew then that he was going to be working with them in one form or another when he grew up.

Currently he is running Connetek Business Technologies,http://www.connetek.com, his own small business-technology company specializing in consulting, small business-technology assessment, web presence, web design and web hosting with a focus on entrepreneurs, small office/home office, small business, non-profit, and small government contracts. His technical knowledge and ability to communicate effectively has garnered him clients from around the world.

Tad started writing technical manuals and conducting instruction regarding the use of software while employed with the US military and US federal government and has been a technical reviewer for the books—osCommerce Beginners Edition (ISBN-1886), osCommerce Professional Edition (ISBN-1145), Open VPN (ISBN-185X), and cPanel (ISBN-1923).

Acknowledgement

A huge thanks to Trish Weir, Nanda Padmanabhan, Abhijeet Deobhakta, and Viraj Joshi at Packt Publishing for providing me an opportunity to write my first book and for their guidance, patience, and encouragement. I would also like to thank Eric and Cameron at e107.org for not only supporting the book idea but for taking part in the reviewing team. To all the plugin developers for the plugins used in this book, thank you so much and please continue your outstanding work.

I am grateful to Dr. Padgett at Cuddle Care Animal Hospital for allowing me to use her business site as test site for this book and to Pets911 and Vetcentric for allowing the use of their banners.

I would like to thank Roger, Nellie, Jerry, and Rusty for putting up with my working at all hours of the day and night on this project and to Boomer and Judy who sacrificed a summer of hiking and playing while this book was being written.

My thanks to Gary who rescued me when I was faltering, taught me how to focus, and gave the will to get this project completed and also to my friends Jason, Jeff, Bob, Vladi, and Klara for their support and encouragement.

Finally my special thanks to my mom who kept telling me over the years that I should write a book. Thank you for having faith in me when it seemed like I would never get focused on any one thing longer than a day and for your love and encouragement.

About the Reviewer

Eric Vanderfeesten was born in the Netherlands and currently is one of the main developers for e107. He has been using e107 for about 4 years and started off as an interested user in content management systems. He soon discovered the overwhelming possibilities for code enhancements to the system and also found a need to create his own plugins for a number of websites. After releasing several plugins he was asked to join the beta test team, for which he contributed ideas to the main developers and delivered fixes and enhancements to the core system. Soon after that period he joined the main developers team of which he has been a member for about two and a half years now.

Although he has been coding for a long time, programming is not his educational skill. He is an architect and working in the architectural domain as his main profession.

Since computer science has been a field of interest to him he has taken this interest into the domain of architectural design and graduated on a project involving generative architecture using a parametric script to produce architectural environments based on favela structures that can be found in Brazil.

Besides his work as a main developer for e107 he is also the chairperson of an architectural foundation 'Eindhovenseschool.net' and has several freelance activities besides his daytime job.

Preface

As of February 2007, there are 13,241 PHP scripts listed at hotscripts.com. Of these, 641 are content management system (CMS) scripts, all with the ability to manage your online content and make your site dynamic. Out of these 641, e107 has been voted second in popularity in a recent survey. It's growing legion of fans like it for its ease of installation, powerful diverse features, well written code, and built-in security features.

E107 doesn't have a flashy name and you can't install it through a control panel such as Fantastico DeLuxe, which is probably why it is not the number one CMS. Nevertheless, downloading and installing e107 is a very easy straightforward process. One of the things that make e107 unique is its modularization. Many CMS take the one-size-fits-all approach and for smaller businesses in particular, they are a waste of resources. As opposed to this, e107 has a core program with many additional features available by activating a plugin (an additional set of scripts). This gives you the control to determine what features you need for your particular site.

While this book was written with entrepreneurs, small office/home office, and small businesses in mind, it will prove to be a great resource for anyone wishing to use e107. I would also like to stress that while targeted towards small business users, e107 is perfectly suited for personal sites as well as large corporations. This book is a primer to get you started and familiar with using e107. It is not a complete reference. However, it does contain references to resources for learning those features not covered in the text.

Don't panic if you have never created a database or installed a script, or have no knowledge about file permissions. In this book we will work together, step by step, to create a website for a small business. The book is a quick-paced tutorial and contains lots of screenshots so you need not try to second-guess what you should be seeing in your browser. This book will get your e107 up and running quickly and save your hundreds if not thousands of dollars in web-design and maintenance fees.

What This Book Covers

Chapter 1 introduces us to e107 and provides a brief history of content management systems, how content management systems work, a brief history of e107, and an introduction to the development team.

Chapter 2 covers the requirements for running e107, uploading to the server, setting file permissions, creating the database, running the installation script, securing your installation, updating e107, and what to do and where to go when things don't go as planned.

Chapter 3 takes us to our new website and covers the various components of the screen layout, creating and activating usernames, and registrations. After covering the front end of our new website, we will get to the heart of our website—the back end—where we will learn the various preference settings options, learn about emoticons, creating static and dynamic front pages, and different front-page views for different user groups.

Chapter 4 deals with the themes—the site theme, admin themes, how to select a different theme, core themes, additional themes, and custom themes. We will learn where to find additional themes and how to make them available for installation. We will cover customizing our theme through the selection of menu items, and learn how to use the WYSIWYG editor and file upload manager, create and delete custom menu items, and make the navigation of our site multi-lingual.

Chapter 5 takes us into the world of e-commerce with our website through the use of plugins. We will learn the difference between core and non-core plugins, where to obtain plugins, and how to install and uninstall plugins. We will learn how to create banner advertising campaigns and display banner ads on our site using the Banner plugin. We will create the Paws R Us store using the Shopping Cart plugin and finally we will learn about the FAQ plugin.

Chapter 6 transforms our e107 website into an e-business powerhouse. In this chapter we will learn how to create user groups and how to use them to control access to the various functions of our system. We will cover the installation, setup, and maintenance of forums and polls.

Chapter 7 will no doubt be the most referred to chapter in this book as we learn how to use the Content Management plugin, which is a very powerful and versatile content organizer. We will also learn how to set up the PDF plugin so our users can download documents in their original formatting. Last but not the least, we will cover how to use the Coppermine photo gallery plugin.

Chapter 8 covers information dissemination. We will learn how to install, configure, and write a newsletter, communicate with our users with the calendar plugin, update users about our business by means of RSS, and learn some basic things we need to do to get our site listed in the search engines.

Chapter 9 shows us how to keep our database running in top condition, and use e107s self-diagnostic features to allow it to help us find problems so that we can make corrections. We will also learn security procedures.

Appendix A provides a list of e107 resources from around the world as well as resources for Apache, PHP, MySQL, XAMPP, Easy PHP, and WAMPServer

What You Need for This Book

The prerequisite for this book is a working installation of e107. To run e107 the typical environment requires a web-hosting account, PHP 4.3.0 (or newer), MySQL 3.22 (or newer), and a minimum of 25MB of storage space. We cover the details of prerequisites and installation of e107 in Chapter 2.

Reader Feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to <[email protected]>, making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer Support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the Example Code for the Book

Visit http://www.packtpub.com/support, and select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Questions

You can contact us at <[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.

Chapter 1. An Introduction to e107

When I coded my first website using Notepad in 1995, little did I know that my curiosity would tax the limits of my imagination and lock me into a loop of continual education. Each year brought improvements in the presentation of web pages, and eventually we were able to present tabular data from databases.

Of course, large businesses with IT staffs were able to provide the first interactive sites and eventually these programmers would offer those services to the small business sector, but at a price commensurate with their corporate hourly rates. If the programming was not enough to prohibit small business from taking advantage of interactive websites then the high costs of web-hosting services, especially ones with databases made it economically unfeasible.

As time progressed and e-commerce continued to grow in popularity the demand was on for a low-cost alternative for small businesses to take advantage of interactive websites. The dot-com bust brought a surplus of bandwidth and server space to the market effectively reducing hosting costs. Microsoft continued to gain in popularity with the FrontPage web-design program, making it easy for non-programmers to make attractive sites, and collect data via a form and easily send it to the Access database program. Well, maybe it was not so easy for the newbie but it was possible.

Most entrepreneurs or small business owners did not have the financial resources to operate a CMS. In 1995, Rasmus Lerdorft created a set of scripts written in PERL called PHP/FI. This early work inspired Andi Gutmans and Zeev Suraski to create a scripting language and, working together with Rasmus Lerdorft, they officially launched PHP 3.0 as the successor to PHP/FI. If you would like to learn more you can read all about it at http://us2.php.net/history.

Why is this important? Because it is easy to learn and implement, PHP has grown into the primary script for creating interactive websites and is the primary script for content management systems. Today CMS are growing in popularity—blogs, dating sites, bulletin boards, and yes even book publishers use content management systems.

There are hundreds if not thousands of open-source content management systems available; however, e107 has rapidly emerged in the forefront for its ease of use and its modular build. If you are not a computer geek a modular build allows you to activate only the elements necessary thus saving resources.

History of Content Management Systems

Before we get to e107, we will look at a brief history of Content Management Systems and what purpose they serve. Content Management Systems have been around since before computers. If you are of my age, which is BC (before computers), then you may remember that libraries once used catalog-card systems to assist us with finding books. While not computerized, this was a content management system using the technology prevalent at that time. Now of course, most card-catalog systems are contained within databases in a computer.

A content management system is defined as a collection of data within which a person with proper authorization can query, add, or delete records and have the results displayed in a unified manner. For those of you who have been on the Internet since it went public please be patient as I cover just a little web history for those who wanted to know but were afraid to ask their children.

No, I am not going to write about the complete history of the Internet as there are several good web pages out there if you are interested. I will begin with a discussion of the first private computer users on the Internet.

In the beginning, web pages were boring and static. They consisted of headers, text, bold, italic, and underline. The early web users were mostly scientists who used web to communicate and share information quickly. There was nothing like "webmasters" as are prevalent today. The web was still under the military’s control. It wasn't until the Internet was commercialized that the focus started to shift from "content" to "content with style". Webmasters seldom used pictures, as connection speeds were very slow. As the Internet grew so did HTML (Hyper Text Markup Language, the language for creating web pages). With the internet service providers providing more stable and faster connections, HTML continued to expand to allow web designers more control over the layout of their pages.

Meanwhile, the desktop computer revolution was progressing at breakneck speed. Small offices began sharing documents through local area networks. With the growth in networks a new concept "intranet" came into existence. An intranet is an internal or private network that is accessible within the confines of a company, university, or organization. I mention this because intranets are the birthplace of content management systems. Within an organization, management and employees began sharing documents, budgets, emails, etc. As these intranets grew so did the need for continuity of data entry and display.

If you have ever created a mail-merge document then you have created a template. I use this analogy as most of us at one time or another have wanted or needed to communicate the same information to a number of different people, yet wanted to make it appear as if we are writing to each individual. The mail merge was the first application of this sort that was used widely and consists of data file and a merge document. The data file is a database with names and addresses and other relevant information stored and the merge document is a document that contains the text with special merge keys inserted where you can put the "name" and "address". Then you can follow the directions for creating the merged documents and print your documents. The result is identical letters to different recipients but with different name and address.

As our society and the world became addicted to computers, so did the desire grow to provide more sophisticated sharing. While intranets were great, corporations were looking for a way for their sales representatives and/or customers to be able to gain access to ordering information to purchase and sell items and ensure that accurate delivery was predicted by checking inventory levels. And of course, sales needed to be credited to the proper person, state, and region and purchase orders needed to be charged against specific accounts. The early CMS was very expensive and required skilled computer programmers.

How a Content Management System Works

If you look at screenshot overleaf, you will see all the different parts that combine to make up a content management system today.

A basic content management system works like this:

You select a template from the templates that are available by default with your content management system. If you prefer, you can spend a little money and hire a professional web designer/developer to create a custom template, typically with a logo at the top, and standard navigation options across the top, down the left-hand side, and/or at the foot of the page incorporating all the insert tags required to display information from the database.When the information is submitted, it usually goes through a process of review by a designated administrator who may accept it, send it back for revision, or reject it. The information is available for viewing from the database only if the administrator or designated manager approves the information.A text database stores the information. When a user requests information, the data script makes a request to the database for the information. The information in combination with the template forms the display page you see in your browser. Think mail merge in your favorite word processing program. The scripting language in use determines the URL page extension; in PHP, the extension is .php. It can also be .cfm for Adobe ColdFusion, .asp for Microsoft Active Server Pages, or htm/html for UNIX Linux.The content management system generates indexes allowing it to keep track of added, updated, accessed, and deleted information. It also keeps track of who performed and approved these actions.Most content management systems offer document archives, built-in search engines, permission controls, e-commerce, and workflow control.

Brief History of e107

Four-score and seven years ago...Whoops! Sorry about that, wrong history lesson. As the creator of e107 was not into the development of the program and documenting its history simultaneously it is impossible to provide you with an exact history of e107. However, the following is a general overview of the development.

In 1998, Steve Dunstan created a Windows shell replacement called LiteStep. After moving to a PHP enabled server, Dunstan took his first steps into scripting. After eighteen months of coding and maintaining his LiteStep.org site, he was offered a chance to take over the main LiteStep theme site LiteStep.net, which continued to grow in popularity with the help of a couple of other individuals. The LiteStep sites were created as whole entities so when a member requested coding help it was next to impossible to provide the necessary assistance. Due to this, work began on creating a more modular and distributable form of code.

The code was completed around May 2002 and since this was Dunstan's seventh major project he chose "e107" as the name. The code evolved quickly and when Steve opened up http://www.e107.org in July 2002, e107 was at version 2.1. After version 5.4 released, Dunstan decided on a numbering revision to go with a major code revision. The new numbering system set e107 to version 0.6. After releasing version 0.612, Dunstan decided to ask a few talented and dedicated contributors to form a development team. After a couple of versions, he decided to take a step back from the development side to take some personal time.

On January 16, 2006, the development team had completed an almost complete rewrite of e107 to make it more flexible, secure, and intuitive. The team designed the system around a core program to which the user could add additional abilities through the installation of plugins. This design had several advantages, primarily

speed and conservation of resources. However, as the code was almost completely rewritten, many of the previously developed plugins no longer worked in version 0.7.0. Additionally e107 had a reputation of being something of a hobby-oriented content management system. This impression was changed with version 0.7.5.

With version 0.7.5, developers started releasing business and e-commerce plugins, which have turned e107 into a serious business-class content management system while not sacrificing ease to learn or use. With the addition of advanced techniques such as the Content Management Plugin and Shortcodes, e107 has the power and capability to service mid-level to large businesses and organizations.

The People Who Make e107 Possible