By: Sheri German
Page 1 of 4
Part two of my Dreamweaver course series is devoted to how I teach students to create database-driven web pages and web applications. We don't call this class Dreamweaver 2 at Trinity University in Washington, D.C. - we call it Internet Programming. The focus is not on design, Web Standards, CSS, or graphics processing, though we do touch on those topics tangentially. The focus is on putting together all the complex pieces of the dynamic, or database-driven, web site.
Tip: My Dreamweaver 1 class, better known at Trinity University as Web Page Design, is the prerequisite for this class. If you have not yet read the Teaching Dreamweaver the Web Standards Way article that explains my syllabus and curriculum for that course, be sure to check it out.
Dreamweaver's Visual Dynamic Tools
It is one of those good news/bad news scenarios: the good news is that Dreamweaver provides visual tools to create database-driven web sites in a variety of server models and with support for a variety of database systems; the bad news is that creating such a site is not exactly a works-out-of-the-box experience. You first have to choose a server model and set up the server accordingly; choose a database appropriate to the server and understand how to use it; know something about Structured Query Language (SQL); and have a grounding in planning basic web applications such as blogs, guestbooks, and login systems. No wonder many people give up and settle for creating static web pages.
A Method to this Madness
If my Dreamweaver 1 class seems a little structured, it's nothing compared to the Internet Programming class. This one is organized almost as tightly as the plans for a mini Normandy invasion! Again, we have eight weeks to cover a lot of ground, and there is very little room for riding on the alpha waves of creative endeavor.
Because we work in a Mac lab, I use the PHP/MySQL server model. It works perfectly in the Mac's native Apache environment. Before the first day of class I enable PHP, install MySQL, and then install and configure phpMyAdmin on each Mac in the lab. For students who "want to do this at home," I pass out handouts printed from our own Paul Newman's series on how to easily install Apache/MySQL/PHP/phpMyAdmin on Windows Part One and Part Two. The occasional Mac user I get in class can use my article on enabling PHP on the Mac. I then send them to Server Logistics for a visual MySQL installer. (There are also visual installers there for installing PHP and Apache on Mac OS X if a student has no stomach for the Terminal.) I also send Mac users to an article I wrote about installing and configuring phpMyAdmin.
Image 1: Login screen for phpMyAdmin
Tip: Now that Macromedia is giving official support to ColdFusion on the Mac, and has even created a visual installer, I may try its server model in the future. Our own Tom Pletcher wrote an article about installing ColdFusion on the Mac with Macromedia's new visual installer, which will be released on CommunityMX next week.
Laying the Foundation
With server setup out of the way, we're ready to begin. Well, almost. If you read part one of my teaching Dreamweaver series, you'll know that I don't let the students touch Dreamweaver in the first class of the semester. Guess what? Nothing changes in this class - we don't do anything with Dreamweaver in class one. First I go over the syllabus and give a broad overview of the eight-week marathon we are about to embark upon. I assign the book, Macromedia's Training from the Source Dreamweaver MX 2004 with ASP, ColdFusion and PHP by Jeffrey Bardzell, which I consider a fine and thorough introduction to the use of Dreamweaver with database driven pages. I then give background information on the topics that lay the foundation for creating dynamic web applications:
- Dynamic versus static web pages
- Uses for database driven web pages, such as Content Management Systems, e-commerce pages, search engines, blogs, guestbooks, and authentication systems
- Popular server models
- Common database systems
- Server-side versus client-side interactions with the server
- Relational database management systems (RDMS)
- Flat file versus relational databases
- Database design
At last I send the students on their way - shell-shocked and somewhat dazed - to read some pertinent material from the class text and to explore a fascinating SQL designer tool.
Image 2: A tool for designing databases