Building Websites with e107

By Tad Boomer
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. An Introduction to e107

About this book

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.

Publication date:
February 2007
Publisher
Packt
Pages
260
ISBN
9781904811312

 

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.

 

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:

  1. 1. 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.

  2. 2. 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.

  3. 3. 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.

  4. 4. 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.

  5. 5. 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


From its humble beginnings e107 has grown and so have the people who support the project so that the rest of us may benefit from their hard work and ingenuity. In order to respond to the increase in development and support, e107 is supported by three groups: the development team, the translators, and the support team. It would require a chapter to introduce everyone involved in the e107 project so I will just introduce the current primary development team. In alphabetical order they are:

  • Cameron Hanly aka CaMerOn

  • Steve Dunstan aka jalist

  • Eric Vanderfeesten aka Lisa

  • Thom Michelbrink aka McFly

  • Martin Nicholls aka Streaky

  • James Currie aka SweetAs

I don't wish to diminish the contributions of the translators or the support team as each and everyone is important. For an up-to-date list please go to http://e107.org/e107_plugins/dev/dev.php?show.278.

 

Summary


We have learned about the origins of e107 and covered a very basic history and the inner working of a content management system in this chapter. You were also introduced to the current members of the development team. For those who love computer trivia you can find additional information resources in Appendix A.

About the Author

  • Tad Boomer

    Theodore (Tad) Boomer was born in August 1956 in Catskill, NY. From an early age he showed a propensity for science and mechanic but also in 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. Since 1985 he has run 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 osCommerce Beginners Edition, osCommerce Professional Edition, Open VPN, cPanel, and MAMBO Beginner’s Edition.

    Browse publications by this author
Book Title
Unlock this full book FREE 10 day trial
Start Free Trial