With the logic charted, the entire team now has a visual road map for each section of the development process. The designers see what areas of the site they have to create and how each section of their work has to function. The coders have their marching orders as well because each graphic on the chart clearly lays out, in broad terms, what they must do to meet the objectives.
The objectives are the key. There should be no more than three, and they should be kept simple and clearly worded. They also should not contradict each other.
The other part of the equation is the client. He or she has retained your services because you possess the technical and design skills unavailable to the client. When proceeding through this process, always keep the client in mind and make sure the client clearly understands what will be done and why. The last thing you need is to have the client change the scope or direction of the project in mid-stream because he or she has an understanding of the project that is the opposite of what you thought it was.
This part of the process is time-consuming and time-intensive, but don't regard it as a chore or "necessary evil." Regard it, instead, as a solid investment in the success of the project.
This is the point in the chapter where we step away from the project and review the tools you will be using from this point onwards. Naturally, we will be focusing on the use and integration of the tools in Studio MX 2004. Still, there are other bits and pieces you will need to use or to which you should have access as you work your way through this book.
The database we will be using is MySQL. The reason behind this decision is its availability on both the Macintosh and the PC platform. By using MySQL, we avoid becoming "platform-centric." On the PC side of things, the database with the widest distribution is Microsoft Access. On the Mac side of the divide, it is FileMaker Pro. Though both applications have wide use, getting them to hook into Dreamweaver MX 2004, especially FileMaker Pro, would move us outside of the scope of this book. The most compelling reason for the use of MySQL, apart from its ubiquity, is the fact it is also free. A PC and a Mac OS X version are available at http://www.mysql.com/downloads/index.html. Another OS X Macintosh version is available at http://www.aaronfaby.com. This installer contains a control panel as well for turning MySQL on and off.
It would help to have ColdFusion MX installed on your computer. This is to be used for local testing purposes. In addition, a copy of Flash Communication Server is also not a requirement, though it would be nice to have for local testing. Another source of the Flash Communication Server software is Director MX (PC). A local testing version of the Flash Communication server is located on the installation CD. You will need the Flash MX 2004 Remoting Components. If you do not have them, they are available for both platforms at http://www.macromedia.com/software/flashremoting/downloads/components/.
Based on the logic charts, the data types are rather easy to identify. For the tour, the data will consist of fields holding the names of the .jpg images and fields containing the descriptive text that applies to each image.
In the case of the booking facility, a bit more information is required. We will need text to hold membership names. In addition, we will need alphanumeric data?numbers and letters?that represent membership numbers. We will also need to create date fields to ensure the membership number is current. Finally, we will need text fields that generate confirmation messages and numeric fields to generate sequential confirmation numbers.
In the case of the community outreach facility, a lot of similar data will be required to log in. There will be blank text fields into which the input text is flowed and shared with everyone else participating in the gathering. There will also be video and audio data streams that will have to be managed.
The way the data is presented to the user is a major consideration. Traditionally, dynamic sites contain a consistent area of a page into which the data is placed and which the browser then formats. If the user leaves the Oakbridge Community Center site thinking he or she just visited three separate sites, then the project is a dismal failure.
The bulk of the data will flow from MySQL through ColdFusion MX or the Flash Communication Server into table-based templates created in Dreamweaver MX 2004. In addition, because much of the text will be placed into those tables, the use of Cascading Style Sheets (CSS) to present a consistent and uniform "look" to the site is an important consideration.
The use of Flash also requires that the images and text match that of the HTML-based pages. In addition, the placement of many of the Flash Remoting Components on the Flash stage has to be carefully managed.
Navigation is also an important consideration. It, too, has to have a consistent look. On top of that, it must be intuitive and simple to use.
Workflow has changed to a more modular approach as we move toward the design of dynamic sites. With the number of people involved in the process, plus a client approving each milestone, management of content is paramount. There are a number of retail Content Management Systems (CMS) ranging from off-the-shelf to custom-written solutions. Make the decision based on the needs of the project and choose a CMS that works with the design, not against it. Or, better yet, write a simple CMS to input your text and graphic URLs that will suit your needs. You should be able to put a simple CMS together as you go through this book.
Consider, for instance, password-protected areas where the client, the designers, and the coders can all upload content. If the client insists on being involved in the content creation process, whether it be uploading graphics or inserting new text, keep the client away from the original files being used on the site. Also ensure the designers and the coders don't touch each other's work.
Also, develop a central staging area for all content. This way, it is in one place and accessible to all as needed. If the client is to be heavily involved, develop a "client site" that will receive client approvals and a client staging area into which the client places the content.
Finally, all original content, from logos and photos to text and code, should be regularly backed up, and those authorized to work on or have access to original content should be reduced to a select few. The web development process is littered with stories of lost or altered images and other content that required replacement. The problem was that the original was lost or altered and couldn't be replaced. The use of everything, from RAID Drives to CDs, will solve this potentially nasty storage and back-up issue, and the choice of which method to use is simply based upon the complexity of the project.