I'm a little late in posting a write up on the happenings for Thursday. Okay, I'm way late as it's Saturday now, but what can I say? After a nearly 9 hour drive and one full day to unwind I'm finally sitting down at the laptop. I started Thursday morning with another session on CSS called Creating Richer and More Maintainable Sites with CSS. This session was an incredible compliment to Besty Bruce's CSS Box Model class. Betsy's class focused more on using Dreamweaver to write your CSS and she didn't really get into the code much. James' CSS class was nothing but code. Of course he did use Dreamweaver but that's to be expected. Something that I found interesting in my sessions was how every single presenter, if demonstrating something in code, did so in Dreamweaver. I find it hard to believe that every presenter (that works at Macromedia) authors in Dreamweaver. More than anything it's probably Macromedia pushing everyone to use Dreamweaver in these highly visible, customer-focused sessions. What better way to promote Dreamweaver?
So what did I learn from this second CSS session? For starters, the newest version of Dreamweaver MX 2004 (7.0.1) writes some pretty clean transitional XHTML. Historically this hasn't been the case so it's nice to see Dreamweaver writing better code. Secondly, James did a fantastic job explaining the CSS Cascading Order. I wasn't necessarily aware of how this worked, but now it all makes sense. With this knowledge debugging CSS issues will be a lot easier/faster. Since I don't use Dreamweaver I didn't know about the Relevant CSS panel which is a pretty good tool for seeing the hierarchy of your stylesheets. What ID's, classes, etc. you are using and how each relates to the other. The last thing, and maybe the most relevant thing I learned was how CSS can control the layout for all different types of pages. Pages that are meant to be viewed on a monitor, pages that are meant to be printed or seen on a projector etc. Essentially, adding an attribute to your CSS include (the "media" attribute) will allow you to control what stylesheets are used for which type of viewing. For example, I could have a stylesheet that is used when visitors view this page in a browser. I could have a second stylesheet that is automatically used when a visitor goes to File->Print in their browser. This second stylesheet can eliminate all graphics, and certain style elements to make the printed page really clean. Using stylesheets this way could be incredibly useful!
Securing ColdFusion Applications by John Cummings and Sarge, two of Macromedia's product support engineers was the second session of the day. Before attending this session I was reading over the session slides getting pretty excited about what was going to be covered. Topics included: user security basics, implementing CF application security, securing CFC's, and information on Blackstone. Unfortunately, there were a ton of questions on the user security basics portion so we didn't get to much of the information in the slides. Sarge and John spent a considerable amount of time on the built-in authentication/authorization framework accessed through CFLOGIN and CFLOGOUT. This framework is worth looking into but there are some problems with it. For one, there is a bug (#53320) involved in logging users out. If user A logs out of an application using the CFLOGIN framework and then user B logs in to the same application on the same machine, user B will assume both his own and user A's application roles. Obviously this could be a major problem if an admin logged out and a regular user logged in. The regular user would have access to all the superuser features of the application. Most of the rest of the session was centered around authenticating users with a directory service like LDAP. I've never used ColdFusion to authenticate to anything other than a database. As such the info on LDAP was interesting but something I'd have to play with to really learn more.
I made some changes to my schedule for Thursday at the last minute. This meant I would not be attending the SCORM 2004 primer for Flash but instead would visit the 90-minute hands on session Creating Your First Flex Application. As it turns out this was a great decision. Going in to this session I held the opinion that Flex was a programmers way to create Flash interfaces (outside of the Flash IDE). While on the surface this is basically a true statement Flex goes deeper than that. In this session we used Flex Builder, the Flex IDE, to write mxml. mxml is the XML-centric language used to create a Flash interface. Of course, Flex as a product wouldn't be much without ActionScript so knowing mxml doesn't get you that far. You really need a solid understanding of ActionScript (AS2 in particular) in order to write robust Flex applications. This session, taught by Matthew Boles, focused on creating several simple Flex applications writing a combination of mxml and ActionScript. We used mxml to layout the Flex applications and ActionScript for managing various events; like clicking a button or selecting a cell in a datagrid. Matthew was an excellent speaker/teacher and after this session I'd like to get more into Flex development. Doing this should be easy since Macromedia now offers a FREE Flex license for development purposes. Flex Builder comes with this license as well. Additionally, Macromedia released Flex 1.5 during the conference. You can check it out here.
Overall the MAX conference was excellent. I met some really cool people and was also able to put a face to several names and e-Mail addresses of people I've been speaking with for years. The networking that goes on at MAX is rather amazing. The sessions were pretty good and the conference was well organized. There is speculation that MAX will be held on the West Coast next year but who knows. I have no idea whether I'll be attending but if I have the choice and the money it's definitely something I want to do again.
As far as photos go for Thursday I didn't take any. It was, after all, a short day.