Advanced Contest Announced!

After the successful run of the beginner and intermediate ColdFusion contests, I'm happy to announce the Advanced ColdFusion Contest. This contest begins today, and will run until the end of March. So what's the contest? The previous two contests were fun - they both involved games. This time, however, I really wanted to help the community. (Or lead an effort to help the community.) Yes the code reviews were helpful - but I wanted the result of this contest to be of use to ColdFusion developers. With that in mind, I took a look at a tool that I use almost every day, but that I think can be improved: the ColdFusion Administrator Log Viewer. First - there is no real good way to aggregate information from the logs. So for example, one application may have quite a few instances of a certain type of bug. Right now there is no easy way to determine this. You can do a search filter and count - but that isn't very intuitive. I'd like to see a log viewer that can also summarize information and give me reports. So with that in mind, here are the guidelines:

  • There are two main uses for this new tool. The first is viewing log information. Right now you are limited to a certain number of rows per page. Perhaps your tool will let the user output more rows at a time. Filtering works - but could be easier to use, and inline (i.e., drop the popup). The tool should work in with log file viewing in the ColdFusion administrator where the type is CFML. It need not work in logs marked Other.
  • The second use is aggregation, or reporting, of logs. This could give you reports on the number of errors, types of errors, application with most bugs, etc. Perhaps even giving a list of templates throwing the same error. Graphs are always nice. (Think of the administrator who may not be very technical. Graphs could quickly give a non-technical person a simple overview of their system.) You can require a DSN for your application in order to store processed information. However - you may only use Access, SQL Server, or MySQL. (You may support more, of course, but I will only test in those environments.)
  • Your tool must work within the ColdFusion Administrator. All that means is that you should use the extensionscustom.cfm file.
Now for the kicker: All entries must be built using Flex 2 Builder. I know - not all of you have had a chance to play with Flex 2 yet. I strongly believe Flex 2 is the best tool out there for building a rich Internet application. Flex 1 was great - but Flex 2 is even better. If you haven't had a chance to play with it yet, this is your perfect opportunity. Beta 1 was just released and it is the perfect time to jump in and learn the new platform. You do not need to use Flex Enterprise Services or the Charting Components, but both could be very powerful in your application. Next - all entries must be open source. You can choose the license that works best for you - but at the end of day, I want to see something people can download and use in their Administrator. You do not have to maintain the code. Trust me - I know how difficult it is to maintain software projects, even simple ColdFusion ones. If you do - more power to you - and the community will love you. If you just want to release and walk away, that's fine as well. This contest is marked as "Advanced", but anyone is welcome to enter. What do you get for your time if you win? Lots and lots of good stuff!
  • One copy of Studio (Thanks Adobe!)
  • One free pass to CFUnited! (Thanks Terratech!)
  • One free copy of KTML 4 (when released) (Thanks Interakt!) (And yes, I know there are other, free, HTML editors. But I love KTML. It's the bee's knees.)
  • One more additional prize that I have to wait for a last clarification on.
This is quite a few prizes, so please take a moment to visit the sponsors. They all graciously provided the prizes. Contest entries should be emailed to ray@camdenfamily.com.

Edited: The last prize is a copy of the new, and very cool Flex Builder. Obviously Adobe can't send you this till it is released.

Comments

And what about all those that don't have Windows available to them......

For example, I've got a Linux workstation and a PowerBook, which means no Flex Builder until "a while" after the official release of Flex 2, when Adobe gets around to porting the tool to non-Windows platforms.

You can surely do it using the server compilation model (a la Flex 1.5) or the command line on Linux, but that seems a rather steep extra cost, and doesn't address OSX users (at least not without some custom tweaking).
# Posted By Barney | 2/22/06 4:28 PM
Ray, my apologies. Delete my second and third comments. The first one didn't show up after submission, so I reentered it. After submitting that one, the first appeared as well.

/me slinks away...
# Posted By Barney | 2/22/06 4:32 PM
Well, you do not have to use Flex Builder. You can download the SDK and compile it from the command line. Oh shoot - are those tools Windows only as well? If so.... well... I guess I just have to say I'm sorry.
# Posted By Raymond Camden | 2/22/06 4:36 PM
holy crap. March? thats a quick release date for such a request..AND it has to be part of the CF admin? eeeek.
# Posted By Derek P. | 2/22/06 6:04 PM
Around a month to learn a completely new product...

As much as I would love to enter the contest, I doubt I'll have time to do that right now with how full my plate is at work. The backend ColdFusion log parsers, data storage and report generation would be hard enough to complete and debug in a month without having to learn how to build the frontend with Flex 2 and tie it into the backend services.

You are definitely setting the bar high and slanting the contest a little bit away from ColdFusion with the mandatory use of Flex 2 as the frontend piece. You could provide a very good frontend using DHTML, CSS and JavaScript. In a lot of ways the most difficult ColdFusion aspects will be independent of the frontend used to present the parsed.

I do understand the rules with the inclusion of the Flex Builder product as one of the prizes, but it does make it tougher on those of us who haven't had the time to check out the beta products yet or don't have a compatible operating system. I might still give it a shot and build the ColdFusion aspects first, then see if I have any time left to put a Flex frontend on the application.

That is certainly a very nice list of prizes :)
# Posted By Az | 2/22/06 6:48 PM
Just an FYI - I said Flex 2 Builder. Flex 2 is really what I meant. Derek - it's end of March, so a bit over a month. I don't expect perfection. :)
# Posted By Raymond Camden | 2/22/06 7:03 PM
The title should be renamed to "Advanced ColdFusion/Flex Contest" due to the fact that Flex is a requirement for this contest. After taking a shot at the last contest I was really looking forward to developing an entry for this contest I am going to have to pull out before I begin. Like others have mentioned, no time to learn a new product at this point.

Shucks...

Best of luck to all!
# Posted By Jason | 2/22/06 7:08 PM
A few questions for you regarding desired functionality:

1.) Elaborate on what you meant when you said "work in with log file viewing in the ColdFusion administrator".

2.) Which logs do you want this to allow you to view, parse and report on, just the default system generated logs? I would assume that is the initial scope and should not try to take into account user created application logs which can vary a bit in format and information contained in the logs.

I may have more questions as I think about the application.
# Posted By Az | 2/22/06 7:12 PM
Ray,

I started playing with Flex 2, but I agree with the rest of the comments, it is not an Advanced ColdFusion contest ...

btw, small typo in your post: Charing Components -> Charting Components

~Rob
# Posted By Rob Gonda | 2/22/06 7:33 PM
Jason: I understand your view. I can say that I will NOT be expecting high quality Flex work - just high quality back end work.

Az: If you go to your cf admin, you will see two types of files, CFML and... I forget the other type. But the CFML files have a standard format. You get the same file if you use cflog. My point is to say you don't have to parse ANY kind of file, just the standard CFML log file.

So to your second question, I do mean user generated log files, but only those made with cflog, as they will follow the same format. Make sense?

Rob: Understood. These contests are successful I'd say. There is certainly no reason why I can't run more later in the year.
# Posted By Raymond Camden | 2/22/06 8:09 PM
I'll add my voice to the disappointment about requiring Flex 2 - and the timeline. I'd been looking forward to the "advanced" contest thinking I might actually have a go at it myself but given the requirements there's no way I'll be able to take part. As a *busy* Mac user I've essentially let Flex 2 pass me by since there's no Mac version of Flex Builder and I don't fancy learning a new tag-based language without the support of an IDE.

Don't get me wrong - I think Flex 2 is great technology! I'm looking forward to learning it when Flex Builder becomes available for OS X.

Maybe you'll consider a *ColdFusion* advanced contest at some point?
# Posted By Sean Corfield | 2/22/06 8:20 PM
Yeah, that makes sense. Thanks for the information and I'll see just how much time I can squeeze in to work on the project. I actually think the ColdFusion coding for your intermediate contest might have been a bit more involved than the coding involved to meet your minimum specs for this contest, especially with the time frame on that contest. I might change my mind once I have time to look into this a bit more however... :)
# Posted By Az | 2/22/06 8:24 PM
Sean, we are going to have to disagree about it not being a CF contest. Certainly it isn't _just_ a CF contest, but... I'll let it go.

Anyway - you are the second person to mention the deadline. To people really think a month and a week isn't enough time? I'll be happy to extend it a bit.

Az: I don't know about the earlier contest being more adanced. Certainly the CF code will have 0 UI work this time, but acting as the service layer you will need to put more thought in it I think.
# Posted By Raymond Camden | 2/22/06 8:35 PM
That may turn out to be true. I've had limited reasons to build a web services layer that is detached from the user interface. I'd freely admit I'm a bit rusty in that area... :)

Another question, should the application be non-destructive with regards to the log files (i.e.leave the plain text log files in place and viewable through the standard log viewer)? Or is that left up to the individual developer?
# Posted By Az | 2/22/06 8:54 PM
Az: I'll leave it up to you. Obviously destroying the log would let you know what you have parsed already. You could also store the last timestamp which would let you know what you read last. It's up to you.
# Posted By Raymond Camden | 2/22/06 8:56 PM
as far as the Flex requirement...

while it may -technically- mean it's no longer -just- a "CF" contest, I think it's a good thing to motivate people to learn a new technology.

we've all got tight deadlines at work and personal/family responsibilities. I'd say very few have a distinct advantage over anybody else when it comes to finding time to learn Flex. Some of us need that prod in the @ss to motivate us. I'm going to do my best to give this contest a shot. And it will be my first experience with Flex. And truth be told, if the contest hadn't come along (or didn't have the Flex requirement), I don't know when or if I would have checked Flex out.

Personally, I'm grateful for the opportunity and I'm looking forward to it.

charlie
# Posted By charlie griefer | 2/22/06 9:23 PM
Yea...what Charlie said......
# Posted By Scott Stroz | 2/22/06 9:28 PM
Yea... What Scott said Charlie said.....
# Posted By fuzie | 2/22/06 9:29 PM
Ok - seriously - 5 weeks isn't enough? If I extend it to Apr 15th, would that be better?
# Posted By Raymond Camden | 2/22/06 9:30 PM
April 15? Will the IRS come after me if I don't have it in time? ;)
# Posted By fuzie | 2/22/06 9:33 PM
Db/xml Design: 4h
Java Text File Reader: 2h
Service Level Programming: 4h
CFAdmin Integration: 1h
Reports / Indicators: 8h
Testing and Debugging: 8h
Learning Flex: priceless, hehe ... no for real, this is probably the only time consuming part of the entire contest... If it was straight up CF who wouldn't be able to pull it off in three or four days?

<my two cents />
# Posted By Rob Gonda | 2/22/06 9:38 PM
To be clear, I'm not looking for Jedi-level Flex skills here. Jedi-level CF - yes - Flex - no. ;)
# Posted By Raymond Camden | 2/22/06 10:17 PM
Rob (and others) that would pre-suppose the possibility of finding "three or four days" outside work and personal commitments between now and whenever :)

Anyway, I'll just sit on the sidelines and watch - the end result of this competition will certainly be useful (although I'll have to break down and finally install FP8.5 to use it I suppose :)
# Posted By Sean Corfield | 2/23/06 12:10 AM
Come on folks... Ben Forta whipped out a "session monitoring" Flex + CF example app that he's showing off in his latest roadshow in no time (and very little code). Its a great example of how easy getting started with this stuff should be for CF folks. (If I remember correctly, Ben created the entire first rev while on a flight.)

Take a look at the Phone Store sample application on Adobe Labs and give Ray's idea a shot. Every Advanced ColdFusion Developer will want to learn Flex anyway--at least if they want to remain an advanced developer. Ray's list of prizes only gives you more incentive to get started now, so stop complaining and show us what you're capable of.
# Posted By Hans | 2/23/06 1:10 AM
OK... you gotta love Flex 2! It has far more abilities than AJAX. AJAX doesn't give you the central capabilities built in. (Not that I have seen any demonstrations yet of building a central type application with Flex.) Does anyone know of any occasionally connected standalone applications that have been built?
# Posted By John Farrar | 2/23/06 7:56 AM
I actually LIKE the fact that this contest uses Flex. I've been wanting to learn more about Flex for some time, and this may just be the motivation I need to jump in and get my hands dirty.

Ray: you mentioned a possible extension to the deadline; was that a serious comment? I have very little time to devote to programming outside of the office and the additional time would be very helpful to me.
# Posted By Seth Petry-Johnson | 2/23/06 12:34 PM
Let's play it by ear. When it gets close to the time, ping me if you think you need a bit longer. If enough people do, I'll extend it.
# Posted By Raymond Camden | 2/23/06 12:41 PM
I'm not advanced enough to enter this contest but reading all the comments... maybe a CF version first with the Jedi-Level stuff in the back end and once you have the jedi back end, have everyone take a crack at a Flex version? Extra Credit project?
# Posted By Michael White | 3/20/06 9:32 AM
I like Hans' comment... you go get 'em Hans... rise to the challenge, If you're willing to push yourself you can accomplish more than you think you can...
# Posted By Michael White | 3/20/06 9:34 AM
This weekend I received a Flex Beta1 CD along with my Java Developer Journal magazine (I'm not sure how I got subscribed to that one. Funny how I got that with JDJ and not CFDJ) I'm looking at the "Build a Flex App in 15 minutes" video on the Labs site and they say the Flex Builder app is an Eclipse plug in... good thing I recently learned how to set that up.
# Posted By Michael White | 3/20/06 9:43 AM