31,19 €
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:
Veröffentlichungsjahr: 2007
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
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
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).
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
