Essential Skills for First-Time Developers Master the powerful combination of skills required to successfully use Dreamweaver UltraDev 4. Dreamweaver UltraDev 4: A Beginner's Guide features the perfect approach for teaching users of any level the Web site design functionality of Dreamweaver,plus the wide array of database storage and retrieval capabilities of Dreamweaver UltraDev 4. Perform valuable Web development techniquesand work with languages including ASP,JSP,and ColdFusion. Learn to organize and manage multiple sites,regardless of their server model. This useful volume includes full instruction on planning and constructing Web sitesplus retrieving,storing,and manipulating datato create complex,multi-use,professional Web sites.
This Beginner's Guide is Designed for Easy Learning:
- ModulesEach concept is divided into logical modules (chapters),ideal for individualized learning
- GoalsEach module opens with the specific skills you'll have by the end of the module
- Ask the ExpertsQ&A sections throughout are filled with extra information and interesting commentary
- 1-Minute DrillsQuick self-assessment sections to check your progress
- Annotated SyntaxExample code annotatedwith commentary that points to the particular technique illustrated
- ProjectsExercises contained in each module show how to apply what you are learning
- Mastery ChecksEnd-of-module reviews that test your knowledge using short-answer,multiple-choice,fill-in-the-blank,and simple coding questions
About the Author
Tom Muck is also co-author of the aforementioned UltraDev books for Osborne. He is an extensibility expert focused on the integration of Macromedia products with ColdFusion and other languages, applications, and technologies. Tom has been recognized for this expertise as the 2000 recipient of Macromedia's Best UItraDev Extension Award. He also authors articles and speaks at conferences on this and related subjects. As Senior Applications Developer for Integram in Northern Virginia, Tom develops back-end applications for expedited electronic communications.
Read an Excerpt
How the web WorksI have a little story to tell you. I recently had the privilege of taking guitar lessons from one of my all-time favorite players. During our first session, we had a good discussion about my background and my goals. He was insistent that the way to become the best player I could be was to study as if I were going to play for a living as a professional musician, and that meant going back and reviewing the basics.
Now, I have had more music theory than anyone should have to endure. I have played professionally on a variety of instruments since my college years. Nevertheless, within the context of the system my teacher developed, this review of the basics has helped my playing immensely. I went through it quickly, but I still picked up pointers that were new or that I had forgotten about.
So I say to you, the way to become the best Web developer and UItraDev user you can be is to study as if you plan to become a professional, and that includes a review of the basics. If you are an experienced developer and this book was purchased just to learn the particulars of UltraDev, you will get through this part quickly and may even pick up a few of those pointers. If you are new to Web development, do not believe that you can become accomplished without a solid understanding of the basics. No design tool can substitute for a good grounding in the way the Internet works and the protocols that make it up. Sure, you can skip ahead to the fun part, but it will mean much more to you if you hang around for a few minutes and learn the foundation of the job you want to perform.
The InternetI suppose there was a time when questions went unanswered. A time when you would wake up at 3:00 A.M. wondering about the lyrics to that Styx song and there was nowhere to find the answer. But it is getting harder to remember that time. Somewhere around five or six years ago, a little-known government research project began to gain popularity with the development of what would become the most useful software ever offered for free.
There have been several revolutions in world history that permanently changed the way people lived their lives. But none has occurred as quickly, ubiquitously, and nonchalantly as the Internet revolution. The Internet has affected every corner of our culture in profound ways. At home, at school, and at work, our lives are different, if not better, as we move into the Information Age.
It has been said that information is power, and if that is true, we are the most powerful we have ever been. From the theme ingredient on the next episode of Iron Chef to last-minute income tax filing forms to the complete text of pending legislation, there is almost nothing you can't find with just a little effort and access to the World Wide Web. It is interesting that one of the most exciting uses of twenty-first century technology is the exercise of ideals hundreds of years old. Speech and the flow of ideas have never been more free.
Our businesses have changed. The bookstore isn't necessarily down the street anymore-often it is at the other end of a uniform resource locator (URL) such as www.amazon.com or www.bn.com. People who could never have competed with the "big boys" now have all but equal standing and an unprecedented opportunity to market and sell their products.
We can communicate as never before. Whether it is parents to their kid in a school across the country, constituents to their representative, or a satisfied (or unsatisfied) customer to the CEO, we are more in touch with the world around us. The handwritten family letter of yesterday is today's smartly formatted electronic presentation complete with the latest pictures of the grandkids delivered instantly without a stamp. The Internet makes the world smaller than even Mr. Disney imagined. But as with any medium with the potential of the Internet, those who choose to fill it with content bear a certain responsibility. While the Web is full of sites and pages and words of incredible utility, it is also full of poor design, bad programming, and content of dubious validity. This book aims to help you learn how to use one of the most powerful Web design tools available so that you can make a positive contribution.
The Web is built around several key concepts and protocols. These are all interrelated, but serve very different purposes. Without any one of them, the Internet would not work as we know it. You will need to become well acquainted with these concepts and how they fit into the development cycle and the user experience.
- File Transfer Protocol
- World Wide Web
- Hypertext Transfer Protocol
- Hypertext Markup Language
File Transfer ProtocolThe File Transfer Protocol (FTP) was one of the earliest methods of using the Internet. Its purpose is betrayed by its name: it is used to transfer files from one place to another, or from one computer to another over a distributed network. Originally, the Internet was used for the sharing of information by researchers and scientists. They would use FTP to transfer entire files of information back and forth. For instance, a researcher might compose notes about his current series of experiments. He could then upload them via FTP to a common repository where his colleagues could download them and comment on them or add to them with their own findings. FTP was a good way to connect users together and allow them to share their computer files.
Today, FTP is still one of the most widely used aspects of the Internet. If you have ever downloaded a shareware program or purchased an upgrade online, chances are you used FTP to do it. As a Web developer, you will find yourself using FTP primarily to place and retrieve the files that make up your sites on your remote server. This will make more sense when you understand how a Web site is constructed.
As a means of sharing information, FTP has been replaced by a more convenient, more dynamic, more appropriate method: the World Wide Web.
The World Wide WpbJust like FTP, the World Wide Web is well deserving of its name. It is truly a worldwide network, and the way it is constructed can best be described as an interconnected web of information that touches its surroundings like the balled-up string of quantum physics fame. You can start surfing at your favorite site and 30 minutes later there is no telling where you will end up.
The Web is distinct from FTP, though, and it works very differently. While the purpose of FTP is to allow the transfer of entire files of information, the purpose of the Web is to allow the viewing of the contents of those files without having to download them to your computer. Using the Hypertext Transfer Protocol (HTTP) and the Hypertext Markup Language (HTML), the Web provides an infrastructure that allows the viewing of text content, graphics, images, and even movies and sound in a program called a browser.
You are likely familiar with the popular browsers such as Microsoft's Internet Explorer and Netscape Navigator. These programs are the means by which users connect to the content that is available to them on the Web. The current browser generations are a tremendous improvement over their textbased ancestors. The glitz and flash that they allow the user to experience is a prime reason for the exponential growth in the popularity of the Internet and the World Wide Web.
In order to develop the content that will make up your own little corner of the Web, you need to be familiar with the underlying concepts that make it work. These include the ways in which the vast number of computers and program that make up the Internet communicate with one another, as well as the language of the Web, HTML
TCP/IPA key component of the infrastructure of the Internet is the communications protocol over which it operates. Actually a suite of protocols, TCP/IP is the several-tiered method by which data is packaged and sent across the wires that connect the world's computers together. It is made up of the Transmission Control Protocol and the Internet Protocol.
Internet ProtocolAlthough IP comes after TCP in the name of the protocol, IP is the communications core that makes the Internet work. You have likely heard of IP addresses, those sets of numbers separated by dots that are assigned to each host computer and domain on the Net (for example, 208.43.451.78). The Internet Protocol utilizes that numbering scheme to determine the path it should take across the routers and hosts that make up the Internet to reach the destination it is intended for. When you make a connection to a computer somewhere out on the Web, you are, in reality, connecting to any number of other computers and routers that forward your request in the most efficient way they can determine, given the millisecond they have to think about it. If you are interested to see how your requests are being routed, you can use the tracert (trace route) utility from a command prompt on your computer and see the connections, or hops, your request makes as it travels to the destination you provide (see Figure 1-1).
Now, given that this is the way the Internet works, with each request you make being forwarded through a number of stops, consider what must happen when you download a large Web page, or even a 15MB program from a shareware site. Without the IP protocol, it might be necessary for the entire file to be copied to each node along the way until it reached your computer. That could involve as many as 30 or more copies of the same file depending on where you and your destination site are located. Thanks to IP, your request and the response for the computer at the other end can be split up into small packets of data that travel easily across the network, following the most efficient path each of them can find.
A number of things can affect the route a packet takes across the Internet, including bottlenecks and outages along the way. The ability of IP to dynamically route around these problems is a key factor in the stability of this kind of distributed network. Consider how you might get a group of 12 friends across town to the movies. Unless one of you owned a bus, you would probably split up into three cars and head off for the theater. Perhaps one of the drivers likes the expressway, another knows a "shortcut," and the third doesn't have enough change for the tolls and popcorn and takes the normal route. Three cars are all taking different routes to the same destination, and each is liable to encounter things along the way that might speed their travel (such as no line at the toll booth) or slow them down (such as a wreck along the shortcut). Although each car left one after the other, there is no guarantee in what order or in what timeframe they might arrive at the theatre. One car might not even make it at all.
To make the point more clearly, suppose you ordered a book from Barnes and Noble, and, instead of shipping you the entire book at once, they sent the individual pages by different carriers with no page numbers. When and if you received all of the pages (and how would you know if you did?), you would be hard-pressed to get them back together in an order that was useful. This is pretty close to what happens to a file that is being transmitted across a network by the IP protocol alone. IP needs some help to make sure that things end up where they belong. That help comes from the Transmission Control Protocol.
Transmission Control ProtocolThe Transmission Control Protocol (TCP) is like the big stack of envelopes that the shipping clerk at Barnes and Noble would use to send you all of those pages. Each envelope would be numbered in order and would indicate the total number of envelopes in the sequence-for example, 36 of 1,008. Each envelope would also give some indication of what was on the page inside so you could make sure that you got the right one. Using this scheme, you could receive all of the envelopes, put them back in order, and make sure you received what the store meant to send you. Then you could call Barnes and Noble and yell at them for sending you a book in such a stupid way. But that's the way it has to work on the Web. Each packet created by the IP protocol is packaged up, numbered, and labeled so the receiving computer knows what to do with it. If the receiving computer is missing any packets, it knows to send back for them from the sending computer. And the TCP information indicates what the packet should contain so the receiving computer can identify corrupted data. ...
Table of Contents
- Part I: Getting Started with UltraDev
- 1: How the Web Works ..... 3
- 2: The UltraDev Environment ..... 45
- 3: Creating a Web Page ..... 87
- 4: Creating a Web Site ..... 127
- 5: Planning the Site ..... 149
- 2: The UltraDev Environment ..... 45
- Part II: Creating Web Applications With UltraDev
- 6: Adding Content to Your Site ..... 175
- 7: Essential Language Components ..... 209
- 8: Creating a Database ..... 255
- 9: Choosing Your Database and Connecting to It ..... 285
- 10: A SQL Primer ..... 317
- 7: Essential Language Components ..... 209
- Part III: Working with Your Data
- 11: Displaying Your Data ..... 363
- 12: Searching Your Data ..... 381
- 13: Recordset Navigation ..... 407
- 14: Creating Dynamic Form Objects ..... 427
- 15: Inserting, Updating, and Deleting Data ..... 445
- 16: User Registration, Login, and Site Security ..... 465
- 12: Searching Your Data ..... 381
- Part IV: Adding Advanced Features to Your Site
- 17: Extensions and the Extension Manager ..... 485
- 18: Troubleshooting Your Site ..... 507
- 18: Troubleshooting Your Site ..... 507
- Appendix A: Answers to Mastery Checks ..... 529
- Index ..... 541
IntroductionIt's amazing to think of how far the Web has come in the past few years. In a short period of time, the Internet has gone from a specialized tool for research to a mass-media marketplace. Fueling the new economy, the Internet has become the stomping ground for today's top computer programmers.
The Web developer has to wear many hats. You may y be lucky enough to work for a company that delegates the various tasks to specialists in each field, but many Web developers have to be designers, programmers, database administrators, and network administrators.
Servers are complex beasts, and a Web application requires a database server, a Web server, and an application server to work seamlessly together. We will introduce all of these topics in the book.
Who Should Read this BookThis book is not meant as an exhaustive look at U1traDev as a program or Web development in general. Instead, it is meant to be an introduction to the best tool out there for a Web developer. Like all good introductions, this one will start with the basics and try to get you up to speed using this complex tool by simplifying the different aspects of U1traDev.
You'll get the most from this book if you already know a few things:
- Basic computer skills Can you navigate your hard drive? Do you know how to open, save, rename, and close programs? Do you know where the files reside after you save them?
- Design A Web designer needs to have a certain amount of design sense. Can you put colors, shapes, and graphics together in a way that looks good?
- HTML Basic HTML knowledge is not a strict necessity, but you should at least be familiar with the term and know what the language is used for.
What this Book CoversThe book is divided into four parts: Getting Started With U1traDev; Creating Web Applications With U1traDev; Working With Your Data; and Adding Advanced Features To Your Site.
Part 1: Getting Started With UltraDevPart 1 contains a brief introduction to the Web before getting into the nitty gritty of building Web pages.
- Module I-Getting Started With UltraDev Begins with an introduction to the Web and the different protocols of the Internet. The installation procedure of UltraDev is then described, as well as a brief introduction to the installation of Internet Information Server.
- Module 2-The UltraDev Environment Describes UltraDev and shows you how to find your way around the program. Most of the floating palettes are described, as well as how you can set up your own preferences for the program and tailor the environment to your own method of working.
- Module 3-Creating a Web Page Shows you how to work with individual pages in UltraDev. The process of adding text and images to the page is explained. HTML tables are introduced and various methods of working with tables in UltraDev are explained.
- Module 4-Creating a Web Site Shows you how to define a site within the UltraDev environment and add pages to the site. UltraDev has its own FTP process built into the program. The module introduces the process of uploading and downloading files, and synchronizing the site.
- Module 5-Planning the Site Goes into the principles of creating navigation schemes. The purpose of the site is discussed as well. Pages are added to the site by using the Site map feature of U1traDev. The UltraDev Find and Replace features are introduced.
Part 2: Creating Web Applications With UltraDevPart 2 moves into the content creation and then some of the server-side components that make up a Web application.
- Module 6-Adding Content To Your Site Talks about creating the home page. Fireworks is introduced as a program to create your Web graphics. Finally, the process of creating templates in UltraDev is explained.
- Module 7-Essential Language Components Gives you a brief overview of the three server models that work with U1traDev. ASP is the predominant application server for the first-time application developers; JSP is the Java-based server suited for enterprise-level applications. ColdFusion is Macromedia's own server known for its ease of use.
- Module 8-Creating a Database Explains the process of database creation and normalization. A database is one of the primary components of the dynamic Web application.
- Module 9-Choosing Your Database and Connecting to It Shows the features of several different database applications available on the market today. Several of the methods of connecting to the database from within UltraDev are shown as well.
- Module 10-A SQL Primer Introduces structured query language (SQL) as the primary method of "speaking" to your database and retrieving the information you need for your application.
Part 3: Working With Your DataPart 3 begins to integrate the concepts and features shown in Parts 1 and 2 in an actual Web application.
- Module 11-Displaying Your Data Shows some of the basic methods available in UltraDev to display data from the database.
- Module 12-Searching Your Data Explains the procedure for developing a search page for a Web site. Forms and form elements are introduced as well. A basic search on a Web page is explained. Data validation is also introduced in this module.
- Module 13-Recordset Navigation Demonstrates some of the built-in server behaviors and live objects of UltraDev that allow you to page through your recordsets.
- Module 14-Creating Dynamic Form Objects Introduces the user to the concept of "binding" the data by discussing the ways that you can attach server-side code to form elements.
- Module 15-Inserting, Updating, and Deleting Data Covers some of the more advanced database interaction that a typical Web application will contain using built-in U1traDev server behaviors and live objects.
- Module 16-User Registration, Loginond Site Security Shows some of the built-in user authentication server behaviors that allow you to set up login forms and page protection.
Part 4: Adding Advanced Features To Your SiteAnd, finally, Part 4 introduces you to the more advanced elements of UltraDev.
- Module 17-Extensions and the Extension Manager Shows some of the advanced features of UltraDev that actually allow the user to customize the program by creating extensions or downloading extensions written by other people.
- Module 18-Troubleshooting Your Site Goes through some of the more common problems that people have building dynamic Web sites.
How to Read this BookThe book is structured in such a way that it makes the most sense to read it from front to back. The projects in each module build upon each other, and demonstrate many of the key features of U1traDev by building a simple Web application. You'll get the most out of the projects if you do each one step by step and actually get them working on your own machine.
Special FeaturesEach module includes Hints, Tips, and Notes to provide additional information wherever needed. Detailed code listings are included in gray boxes, many times with certain tags or features highlighted for further explanation.
All modules contain Ask the Expert question-and-answer sections to address potentially confusing issues, as well as step-by-step Projects to give you a chance to practice the concepts taught thus far. These Projects will build a sample site that you can use as a learning tool.
Mastery Checks are included at the end of each module to give you another chance to review the concepts taught in the module. The answers to the Mastery Checks are in Appendix A.
You can download the content for the eFlea site built in the projects from Osborne's Web site (www.osborne.com) or the companion site to this book (www.basic-ultradev.com/beginnersguide). Any errors found in the book after it goes to press will also be listed on our Web site.
We hope that as you become proficient in U1traDev and want to expand your knowledge even more, you'll seek out our other books, Dreamweaver UltraDev 4: The Complete Reference and Building Dreamweaver 4 and UltraDev 4 Extensions. The Complete Reference goes into much more detail than we are able to here in the Beginner's Guide, and the extensions book will show you how to add your own functionality to U1traDev.
We have an open-door policy on our Web site-if you have problems with anything you find in our books, you can send us an e-mail and we'll try to address the problem as quickly as possible. Also, feel free to drop us a line if you have any suggestions.