Lee Brimelow On Getting Started With Flash Player 10

Posted by Ben Forta's Blog - May 16, 2008 on 12:55 pm | In Coldfusion - Forta | No Comments Fellow Adobe Evangelist Lee Brimelow has posted a video on how to get started with new Flash Player 10 functionality.

 



Toronto Flex Camp Data Services Presentation Roundup

Posted by Ben Forta's Blog - May 16, 2008 on 9:39 am | In Coldfusion - Forta | No Comments Yesterday evening I presented a session on data services at a Flex Camp in Toronto. I ran through a series of demos (and run over time, of course) and several attendees asked (repeatedly, both during the session and afterwards) for me to clarify which needed Data Services and which didn't, as well as which needed LiveCycle Data Services versus those which could use the free open-source BlazeDS. And so, in the order that they were presented:
  1. Basic HTTP calls via <mx:HTTPService> - nothing special needed on the back-end, any server or app that can respond to HTTP calls can be invoked this way, and this is definitely the crudest (and generally least preferred) form of integration.
  2. Web Service calls via <mx:WebService> - nothing special needed on the back-end, if you have code that is exposed as a Web Service, then the Flash Player can invoke it (although this generally does not perform as well as the next option).
  3. Flash Remoting via <mx:RemoteObject> - this obviously requires a back-end that can respond to AMF requests, if you are a ColdFusion user than you have Flash Remoting built-in and so nothing more is needed, if you are a Java user then you'll want to install data services to give you this functionality (either BlazeDS or LiveCycle DS will do), and if you are using some other back-end then you'll want to look at community and 3rd party offerings (as a rule, use this option over Web Services).
  4. Messaging via <mx:Consumer> and <mx:Producer> - this is what powered the chat apps and real-data push updates, and this does require data services on the back-end, and either BlazeDS or LiveCycle DS (including the LiveCycle integrated into ColdFusion 8) will do.
  5. Data management and synchronization via <mx:DataService> - this is what powered the synchronized data editing screens (including pushing updates, conflict resolution, auto-commits, and more) and this requires LiveCycle DS on the back-end (sorry, BlazeDS won't do for this one).

 



Flash Player 10 Beta On Labs

Posted by Ben Forta's Blog - May 15, 2008 on 7:28 am | In Coldfusion - Forta | No Comments The beta of Flash Player 10 has been posted to Labs. New features include 3D visual effects, a new text rendering engine (which also supports right-to-left text), and more. Demos and videos have been posted, too.

 



John Farrar’s ColdFusion 8 Book Due Out In August

Posted by Ben Forta's Blog - May 14, 2008 on 1:37 pm | In Coldfusion - Forta | No Comments Long time ColdFusion developer and community member John Farrar has written ColdFusion 8 Developer Tutorial which is due to be published in August 2008. Congratulations John, it's great to see another ColdFusion title, and I can't wait to see a copy.

 



Upcoming Events In Toronto And Washington

Posted by Ben Forta's Blog - May 13, 2008 on 9:10 pm | In Coldfusion - Forta | No Comments I'll be in Toronto on Thursday for Flex Camp, and in Washington, D.C., on Monday for the opening of WebManiacs. Registration is still open for both events.

 



Flex Skin Design Extensions For CS3

Posted by Ben Forta's Blog - May 12, 2008 on 7:40 am | In Coldfusion - Forta | No Comments When Flex 3 was launched a few months back, we also launched a series of extensions that can be used from within CS3 products to create Flex skins. These extensions (for Flash, Fireworks, Illustrator, and Photoshop) allow designers to skin controls which can then be imported into a Flex 3 project. We've been demoing these extensions for a while, but in the past few weeks several users have e-mailed asking where to find them, so I am posting the link here.

 



Amazon.com Loves My SQL In 10 Minutes Book

Posted by Ben Forta's Blog - May 9, 2008 on 10:40 am | In Coldfusion - Forta | No Comments My Sams Teach Yourself SQL in 10 Minutes has been a top seller on Amazon.com for a long time, consistently in the top few hundred computer books and in the top couple of thousand across all books. But I was just informed that is #3 in the Databases category on Amazon.com, and #1 in Database Management Systems, Relational Databases, and MySQL categories. The MySQL version of the book, and the Kindle edition (I didn't even know there was a Kindle edition!) are also in the top 100 database books.

 



ColdFusion ISP List Update And Maintenance

Posted by Ben Forta's Blog - May 8, 2008 on 2:26 pm | In Coldfusion - Forta | No Comments I've been doing some maintenance and code cleanup on my ColdFusion ISP List, and noticed that some entries have not been updated in years. If you know of any companies that are no longer in business, or who no longer offer ColdFusion hosting, or anything else I should be aware of, please let me know. Thanks.

 



Flex Renderers Can’t Rely On creationComplete

Posted by Ben Forta's Blog - May 8, 2008 on 7:23 am | In Coldfusion - Forta | No Comments Yesterday I wasted an hour or so debugging a Flex itemRenderer that I was using to display an image instead of a value in a DataGrid column. The renderer had to simply pick one of six images based on the column value, and so it contained a single <mx:Image> tag and a function that set the Image source dynamically. And then I called that function on the renderer's creationComplete event. Simple enough. Except that the wrong images were sometimes being displayed, the column had the right data, but the code used to select the image seemed to sometimes pick the wrong image. And what it picked seem to change each time I scrolled the DataGrid up and down! I actually ran into a very similar issue with a TileList renderer a few weeks ago, but then I had no time to figure out the cause, and so I hacked a workaround. But this time, having been bitten by the same issue twice, I had to find out what was going on. And what I discovered (by using traces and alerts) is that the creationComplete event does not get fired as I had expected. Rather, it seemed to fire only occasionally, and not once per DataGrid row, and so my image selection function was not being executed as expected. Once I had figured out the problem I searched the docs for any info on renderers and creationComplete, and found this page. And sure enough, "Flex might reuse an instance of the item renderer or item editor, a reused instance of an item renderer or item editor does not redispatch the creationComplete event". Well, that explained it. The right way to do what I wanted is to trap the dataChange event instead of creationComplete, as "Flex dispatches the dataChange event every time the data property changes". And so I am posting this for my own future reference, just to make sure I don't run into it a third time.

 



Check Out ColdBricks, A ColdFusion Based Open Source CMS

Posted by Ben Forta's Blog - May 7, 2008 on 2:09 pm | In Coldfusion - Forta | No Comments ColdBricks is a ColdFusion based CMS and site generator, and it's free and open-source. There's a very impressive live demo online, too. This one via fellow evangelist Serge Jespers.

 



Preserving ColdFusion Structure Member Case In Flex

Posted by Ben Forta's Blog - May 7, 2008 on 11:48 am | In Coldfusion - Forta | No Comments ColdFusion is case-insensitive, and Flex MXML and ActionScript are very case-sensitive. For consistency's sake, when ColdFusion variables are sent from ColdFusion to the Flash Player via Flash Remoting, names are converted to uppercase (that's the default behavior, and it can be changed if needed). So, a structure member named FirstName will be named FIRSTNAME when it arrives on the Flash Player (and referring to it as FirstName in MXML or ActionScript won't work). But, you actually can force case to be maintained in structures, depending on how structure members are defined. Look at these two examples. The first won't preserve case: In this example, if the structure were returned to the Flash Player, the members would be named FIRSTNAME and LASTNAME. Here's another example, one that will indeed preserve case: This example accomplishes the exact same result as the previous example, in that it creates a structure and defines two members. But in this example, structure member names will be preserved, and they would indeed be named FirstName and LastName when they arrive in the Flash Player.

 



TIOBE Responds

Posted by Ben Forta's Blog - May 6, 2008 on 8:10 am | In Coldfusion - Forta | No Comments Paul Jansen is TIOBE's Management Director, and he responded to my post yesterday about the ColdFusion being taken off the TIOBE Programming Index. Here is his message: Hi Ben, Thanks for your reply on our TIOBE index. I have added an extra question called "Who is Richard Bremner?" to the FAQ of the TIOBE index (see the end of the page). I hope that this answers your question. Regards, Paul Paul, thank you for responding. I still believe that you made a mistake, both in removing ColdFusion from the index, and trusting the input of a single individual and not making the effort to check the facts for yourself. However, I do appreciate you responding to the reactions and feedback of the ColdFusion community.

 



Goodbye MXNA, Hello Feeds

Posted by Ben Forta's Blog - May 5, 2008 on 8:12 pm | In Coldfusion - Forta | No Comments Adobe Feeds is up and running, replacing MXNA, and running on newer faster servers running ColdFusion 8.0.1. But more importantly, some significant code changes were made to get rid of lots of the problem code - code which was written for tens of feeds as opposed to close to two thousand. There are still more optimizations to come, but for now ... remember the new URL, update your RSS feeds, and ... enjoy!

 



TIOBE, From Hype To Fiction

Posted by Ben Forta's Blog - May 5, 2008 on 8:30 am | In Coldfusion - Forta | No Comments I've never taken the TIOBE Programming Community Index overly seriously. It's not really a gauge of anything overly meaningful. As TIOBE itself explains: The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings. In other words, the index is more of a hypeometer than anything else, and the results posted each month are more of an item of curiosity than anything substantive. And this seems to be validated by the following statements which appeared in TIOBE's May Newsflash: Richard Bremner pointed out that ColdFusion is not a programming language. It is a framework comparable to JSP and ASP. As a consequence, ColdFusion has been removed from the TIOBE list. All its history has been deleted, which means that the history of the index has changed a bit as well. I have no idea of who Richard Bremner is, or who made him the authority on the subject, but ... he's either mistaken, ignorant, or some combination thereof. Let's analyze this brilliance: The Wikipedia definition of programming language is: an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages are defined by syntactic and semantic rules which describe their structure and meaning respectively. Many programming languages have some form of written specification of their syntax and semantics; some are defined only by an official implementation. ColdFusion is indeed used to control the behavior of a machine, it does have syntactic and semantic rules, and it does have a written form. So, as per Wikipedia, ColdFusion is most definitely a language. But is ColdFusion a framework? Again, let's use Wikipedia which defines software framework as: a code library that is designed to help software development. The idea is that all of the tedious, low-level details of creating an application are already in a reusable package. For a developer, this means you can spend your time worrying about specific problems related to your application, and not the actual building of the code behind it. For example, a developer can quickly and easily access a database using a framework, rather than having to write all of the code required to accomplish this simple task. Well, ColdFusion does indeed include a massive library of pre-written reusable code, and it does indeed attempt to prevent having to mess with tedious low-level details allowing developers to worry about what's important for their application. So, is ColdFusion a framework? I'd have to say not really. For starters, while ColdFusion may include a software framework, that is not a part of the core CFML (ColdFusion Markup Language). Yes, it is possible to use the provided functionality to simplify talking to databases, but that is not required. The libraries and packages included with ColdFusion are much like the standard libraries that come with all languages, from C to Java and more - they are pre-written libraries that are meant to help developers so that not everyone has to reinvent the wheel, but they are not part of the language itself. Here's another way to look at it. Imagine you had the ability to write code in plain text files and save them to disk. Then you could run a compiler which would process those files and generate Java bytecode which could be executed inside the Java runtime. Now consider the code you wrote, code that had to adhere to a defined syntax and structure, and which indeed used provided libraries where appropriate, and could then be executed to perform some action. Would you say that you used a language? I'd think so. And that language is called Java. Or, that language may be called CFML, which, just like Java, compiles to Java bytecode for execution. So, to be consistent, TIOBE must include CFML as a language just like Java, or it should remove Java from its index too, just like it did ColdFusion. The bottom line is that CFML is a language, but ColdFusion is the combination of CFML language plus runtime libraries (what may be called the ColdFusion framework). In other words, if TIOBE truly wanted to improve the quality of their index, they could have simply used "CFML" (or ColdFusion Markup Language) instead of "ColdFusion" as the language name. But writing ColdFusion off as a language altogether demonstrates a remarkable lack of understanding as to what the product and technology actually is.

 



ColdFusion Positions In NY, Ontario, And CT

Posted by Ben Forta's Blog - May 3, 2008 on 10:31 pm | In Coldfusion - Forta | No Comments Three ColdFusion positions this week, including one in Canada:
  • New York City Human Resources Administration (Brooklyn, NY) is looking for a ColdFusion developer. Requirements include at least 8 years of ColdFusion experience, as well as strong skills with IIS, SQL Server, and OOP. Candidates will be tested on their ColdFusion skills, and ColdFusion Certification is preferred. Details posted online (including contact information for recruiter Derrick Hemphill at CMA).
  • Bark Communications (London, Ontario, Canada) is looking for a ColdFusion developer. Requirements include 4+ years of ColdFusion experience (or equivalent experience in ASP.NET, JSP, PHP), as well as 5+ years DBMS and HTML/CSS/JavaScript experience. Familiarly with Ajax and Flash preferred. Details posted online.
  • Unnamed client (Stamford, CT) is looking for a ColdFusion developer. Requirements include 3+ years of development experience using ColdFusion MX or later, as well as strong SQL Server skills and full project lifecycle experience. Apply online (or contact recruiter Sean Hawes at Workstream Inc / 6FigureJobs.com).

 



Adobe Announces Open Screen Project

Posted by Ben Forta's Blog - April 30, 2008 on 11:40 pm | In Coldfusion - Forta | No Comments We just announced the Open Screen Project which will be working to enable a consistent runtime environment, starting with the Flash Player, and in the future AIR, to remove barriers for developers and designers as they publish content and applications across desktops and consumer devices, including phones, mobile internet devices, and set top boxes, and more. The Open Screen Project is also supported by ARM, Chunghwa Telecom, Cisco, Intel, LG Electronics Inc., Marvell, Motorola, Nokia, NTT DoCoMo, Qualcomm, Samsung Electronics Co., Sony Ericsson, Toshiba and Verizon Wireless, and leading content providers, including BBC, MTV Networks, and NBC Universal.

 



Enrique Duvós’ New Blog

Posted by Ben Forta's Blog - April 30, 2008 on 8:57 am | In Coldfusion - Forta | No Comments Enrique Duvós, who heads up Adobe Platform Evangelism in Europe (and who's been at Allaire/Macromedia/Adobe for about as long as I have), has a new blog at http://www.duvos.com/.

 



Resurrecting MXNA, And What Comes Next

Posted by Ben Forta's Blog - April 29, 2008 on 5:26 pm | In Coldfusion - Forta | No Comments Mike Chambers has posted an entry entitled Update on MXNA (or what the %@#! is going on!) about, well, I think it's pretty self-explanatory.

 



Check Out YSlow

Posted by Ben Forta's Blog - April 28, 2008 on 12:30 pm | In Coldfusion - Forta | No Comments Ted Patrick turned me on to YSlow, a Yahoo! Firefox add-on that integrates with Firebug to analyze web page loads and make performance recommendations. I've been using it for a few days now, and this one is very cool, check it out!

 



Mark Mandel Announces Transfer 1.0

Posted by Ben Forta's Blog - April 28, 2008 on 8:52 am | In Coldfusion - Forta | No Comments 3 years after starting the Transfer project, Mark Mandel has announced the release of Transfer 1.0. Congrats to Mark and all those involved on this momentous accomplishment! And if you've not bumped into Transfer yet ... Transfer is a ColdFusion Object Relational Mapping Library. Transfer ORM's main focus is to automate the repetitive tasks of creating the SQL and custom CFCs that are often required when developing a ColdFusion application. Through a central configuration file Transfer knows how to generate objects, and how to manage them and their relationships back to the database. (From the Transfer homepage).

 



Four ColdFusion Positions In CA

Posted by Ben Forta's Blog - April 25, 2008 on 2:27 pm | In Coldfusion - Forta | No Comments Four positions this week, and all in California:
  • VMWare (Plato Alto, CA) is looking for a ColdFusion developer. Requirements include 5+ years of full-time ColdFusion development with at least 3 years experience with CFMX or later (it is strongly preferred that most recent position relied heavily on your ColdFusion skills), strong SQL skills, and applied MVC experience. Experience with Flash Forms, Flash Remoting or Flex is a plus. Contact Trish Austin.
  • Disney (Southern CA) is looking for a ColdFusion developer. Requirements include at least 4 years of ColdFusion experience, and strong JavaScript skills. Contact recruiter Cynthia Major at Kforce Professional Staffing.
  • Intelligent Beauty (Manhattan Beach, CA) is looking for a senior ColdFusion developer. Requirements include 5+ years of ColdFusion experience, familiarity with CFMX (6.1,7 and/or 8) and CFCs, experience with at least one major CF framework (Fusebox 4/5 preferred, or Model-Glue or Mach II), and strong SQL Server skills. Contact David Fink.
  • NicheClick Media (Irvine, CA) is looking for a ColdFusion developer. Requirements include ColdFusion certification, SQL Server experience, and the use of Fusebox, Model-Glue or ColdBox frameworks. Details posted online.

 



Tim Buntel Wants You To Weigh In On The Next Flex Builder

Posted by Ben Forta's Blog - April 25, 2008 on 2:25 pm | In Coldfusion - Forta | No Comments Tim Buntel (yep, even though he moved to the Flex team we still like him) is looking for feedback to drive the feature set of the next major update to Flex Builder. He posted details on his blog (which, of course, is still powered by ColdFusion).

 



InfoWorld Reviews Flex Builder 3

Posted by Ben Forta's Blog - April 25, 2008 on 9:52 am | In Coldfusion - Forta | No Comments InfoWorld has posted a detailed review of Flex Builder 3.

 



Important Improvements To Adobe Developer Center

Posted by Ben Forta's Blog - April 24, 2008 on 9:05 am | In Coldfusion - Forta | No Comments Yesterday we quietly rolled out two important enhancements to the Adobe Developer Center. The first change is community powered search (you'll see a new search box on the upper right side of the page), which basically means that searches now includes content from a wider array of sources, including community sources like relevant blogs. The second change is that logged in users can now post comments on articles, these comments are posted live immediately, but are also moderated (and will be scrubbed as needed). While these new features are tested and tweaked they'll only be available in the Flex Developer Center. But we'll add these to additional ADC sections in the future.

 



Response To A Question From A Returning ColdFusion Developer

Posted by Ben Forta's Blog - April 24, 2008 on 8:39 am | In Coldfusion - Forta | No Comments Yesterday I received an interesting question from an individual who used ColdFusion extensively in the CF3-CF5 era, but has no experience with ColdFusion MX or later. He is now getting back into ColdFusion development, and wanted to know what it is he needs to know about ColdFusion today. It's an intriguing question, and I decided to blog my response because A) others might be interested in the same thing, and B) others may have different answers, and I'd like to see them myself. So, comment away, and here is my response ... Hi, You've asked an important question. ColdFusion went through a significant metamorphosis going from CF5 to CFMX, and while you can still write code exactly as you used to, I strongly believe that you should not be doing so. Despite being able to run the same old CFML, ColdFusion (as of CFMX) is a radically different product from what it was previously, and being able to fully take advantage of it does require learning some new skills. So, here is where I'd like you to concentrate (in no particular order):
  • ColdFusion MX and later (all the way to ColdFusion 8.x today) is all Java internally. While there is actually no need to know Java to be able to successfully use ColdFusion, understanding the ColdFusion Java relationship is very useful. Just knowing what ColdFusion's Java underpinnings make possible ensures that you'll know what your options are in the future, whatever that future may be.
  • ColdFusion Components are the most important change to the CFML language since, well, since we created CFML. While it is entirely possible to build reusable, organized, structured, manageable, and scalable code without CFCs, I'd not advise doing so. ColdFusion Components are clean, simple, and sophisticated, and form the basis of just about any structured ColdFusion development. (They also are they key to working with Web Services, Flash and Flex integration, using gateways, Ajax integration, and more). While CFML is not an object oriented language, ColdFusion Components provide CFML developers with some of the core benefits of objects, without much of the complexity typically associated with OOP development. Simply stated, ColdFusion Components encourage (and even reward) better development practices. And not using CFCs nowadays raises a major red flag for me.
  • Understand frameworks, methodologies, and more. And no, I am not going to get into a Mach-II vs. Fusebox vs. Model-Glue debate, nor am I going to enumerate all of the invaluable community projects and initiatives in this space. The fact of the matter is that I don't care what framework or methodology or data abstraction layer or standards or best practices you use. I just care that you use something. If one of the established projects works for you, great, use it. If not, then roll your own. You may truly need the discipline encouraged by MVC implementations, or you may just need a document that clearly lays out your rules for variable naming and code organization and more, or you may need something in between, or some combination of options. There is no one size fits all, and what works for one project won't necessarily be right for your next project. What you use is far less important then understanding why structure and organization is necessary in the first place. The just-start-writing-code-and-then-figure-it-out-as-you-go mentality of the 90's is thankfully long gone. And nowadays developers understand that the planning and structure that was the norm pre the instant-gratification .com era is still as important and relevant as ever. That's a good thing indeed.
  • Way back in the late 90's I wrote a column entitled "When Not To Use ColdFusion" that argued that the best ColdFusion apps are not pure ColdFusion apps. Rather, they know when to take advantage of other systems and options, be in SQL stored procedures, Java code, and more. And nowadays this is more true than ever. ColdFusion provides an amazing array of integration options, from Java object invocation to web services support to JMS connectivity to all sorts of gateways to new .NET integration and more. ColdFusion is great at lots of things, but is not ever going to be the best at everything. As an example, just about every DBMS can sort, process, group, summarize, and manipulate data far more efficiently than ColdFusion ever will. In addition, lots of what you may need in your apps may already exist elsewhere, and you should be able to leverage the best-of-breed whenever appropriate. This kind of goes back to my first point, it pays to understand what options are available, so that you'll be ready to use them when needed. The best ColdFusion developers I know are skilled in more than just ColdFusion. They may indeed create and deploy projects that are all ColdFusion, and that is often completely appropriate. But they also know when and how to pull all sorts of pieces together to craft the best possible solution to any problem.
The bottom line is that ColdFusion is richer, more powerful, and far more mature than it was back in the 90's. You can do exactly what you did before, and you'll probably be successful. But, that would be kind of like buying the latest top of the line gaming system and using it to play Pong. Ok, maybe not that extreme, but you get the idea. Welcome back, there has never been a better time to be a ColdFusion developer! --- Ben

 



ColdFusion On Wheels .7 Beta Released

Posted by Ben Forta's Blog - April 23, 2008 on 9:53 am | In Coldfusion - Forta | No Comments ColdFusion On Wheels is the open source ColdFusion community response to Ruby on Rails, and the beta of version 0.7 was released today.

 



Host A Flex Camp

Posted by Ben Forta's Blog - April 23, 2008 on 9:45 am | In Coldfusion - Forta | No Comments I've been blogging Flex Camp announcements for a while, and have spoken at many too (the next one I plan on attending is May 15th in Toronto). Flex Camps are fun, informative, educational, and great networking tools, too. If you're interested in hosting your own Flex Camp, visit this Flex Camp page at flex.org and download the Host Your Own Flex Camp Guide. You'll find all the details you need, as well as information on how Adobe may be able to help fund your event. Oh, and then don't forget to invite me! ;-)

 



James Ward On Top 10 Flex Development Mistakes

Posted by Ben Forta's Blog - April 22, 2008 on 7:53 pm | In Coldfusion - Forta | No Comments James Ward has written an article for InfoQ entitled Top 10 Mistakes when building Flex Applications about ... well, that should be blatantly clear, shouldn't it?

 



Two New LiveCycle Related Blogs

Posted by Ben Forta's Blog - April 21, 2008 on 10:50 pm | In Coldfusion - Forta | No Comments This one via Greg Wilson. LiveCycle team member Gary Gilchrist and longtime LiveCycle partner Avoka are both blogging.

 



flexcf.com Launched

Posted by Ben Forta's Blog - April 17, 2008 on 8:37 pm | In Coldfusion - Forta | No Comments flexcf.com is a new site dedicated to the development of ColdFusion powered Flex applications. Seven tutorials have been posted already, and more are on the way.

 



Next Page »