Adobe ColdFusion 9 on MAC Lion - Fix for Hanging Admin

First let me start off that I am not a MAC owner and therefore please keep this in mind.

One of the issues with ACF9 on MAC is the use of the java.awt package to get items like the list of available printers.  The AWT package is just a wrapper for a packages that are native on the target operating system.  In this case, there are bugs in the apple.awt.CToolkit class that is the problem on MAC.

We were having an issue with Mach-II 1.9 hanging on MAC Lion recently and we narrowed it done to our use of java.awt.Toolkit.  You can indicate to the JVM that you want to use the sun.awt.* package instead which appears to have fixed the issue for Mach-II 1.9 for MAC Lion users.  The positive side effect is that it fixed the hung "Info" page in the CFIDE as well.

You probably already have headless=true in your jvm.config file, however you need another directive to use a different awt toolkit otherwise the JVM will default the buggy apple.awt toolkit.

Let me know if this fixes other ACF9 issues on MAC Lion like cfdocument.

-Djava.awt.headless=true
-Dawt.toolkit=sun.awt.HToolkit

This also fixes an issue with Mach-II 1.9 on ACF9 with CHF2 running on MAC Lion.

Free Mach-II Training at OpenCF Summit 2012 plus Hackfest

Free Mach-II Training

GreatBizTools, our commercial sponsor of Mach-II, is a sponsor of OpenCF Summit again in 2012. - February 24-26, 2012. This year's conference schedule is going to be slightly different this year with the unconference sessions and other trainings happening on Day 1 - Friday, Feburary 24th, 2012.

We're proud to announce that Team Mach-II is going to be offering FREE jumpstart to Mach-II and ColdSpring using OOP development techniques at OpenCFSummit 2012!

Where: OpenCF Summit, Dallas TX
When: Day 1 - February 24th, 2012
Cost: Free

We don't have exact details on the start/end times for Day 1 at the conference. If you want to get a leg up on OOP development using a framework in CFML, this is the year to come to the conference. Once we get more details lined up, you will be able to reserve your space at the Mach-II training.

HackFest at OpenCF Summit

Team Mach-II is running the annual Hackfest at the conference which runs all three days of the conference.  What is a Hackfest you ask?  It's an event where programmers meet for collaborative programming.  During the hackfest, we'll be building an open-source application for a non-profit. Best of all we'll be using a bunch of open-source technologies such as OpenBD, Railo, Apache, ColdSpring, Mach-II, JQuery, HSQL, OpenBD Desktop, and others.

We learned a lot about how to organize a HackFest from the 2011 conference and we're working hard to build upon last year's success to make this year's HackFest even better!

See you in February!

2nd Updated with Dinner Plans: 3rd Annual Mach-II Night Out at cf.Objective()

Brit's was too busy. Meet us at the hotel bar.

Team Mach-II is happy to announce the 3rd Annual Mach-II Night Out at cf.Objective() at Brit's Pub. Luckily we'll be arriving before Happy Hour ends at 6:30 so come early to enjoy most beer at $4 pint and all apps at $6 (menu).

When: Thursday, May 12th, 2011 - meet in hotel lobby at 5:30pm, walk to Hell's Kitchen at 5:45, starting at Brit's around 7:15pm onwards
Where:
Hell's Kitchen for Dinner - About three blocks from the conference hotel (Dinner Menu)
Brit's Pub - 11- Nicollet Ave - About two blocks from the conference hotel (Map / Directions)

Brit's a pretty large place with side walk seating, two tiers indoors and outdoor bowling green seating.  If you've come in past years, then you know this.  When you arrive, the easiest place to see where we are at Brit's is to check the comments on this blog post or check the Mach-II twitter feed.

Also, no RSVP is neccessary, but we would love to hear who's coming so feel free to leave a comment.  This number helps us figure out the size tables we need.

Bye Bye OhLoh as Download Host; Welcome SourceForge!

In surprising news to use, our file download provider OhLoh pulled support for hosted downloads in the past couple of days.  They recently migrated to a new data center but neglected to tell us that after the switch the download service would be dropped.  So in the aftermath we are switching to SourceForge as our provider to host our downloads.  All of our links on our website have been restored however if you find an out dated link be sure to let us know

Mach-II Dashboards Released: 1.1.0 for Mach-II 1.8.x series and 1.0.1 for Mach-II 1.6.x series

Team Mach-II is proud to present the latest stable releases of the Mach-II Dashboard.  There are two versions that have been released.  One version for the 1.6.x series of the Mach-II framework and one version for the 1.8.x series of the Mach-II framework.  We are now using OhLoh to manage our releases so all downloads will be from our OhLoh project listing.

Security Notice

Due to a possible directory transversal security flaw, we strongly suggest upgrading to these versions as they contain the latest enhancements and security patches.  This flaw if exploited correctly could lead to access to PNG, GIF, JPG, CSS and JS files that may not necessarily be available from the website root.  This flaw does not affect any other file types.

We have received absolutely no reports of this exploit being used in the wild and it only affects users of the Dashboard module when deployed to production environments. This does NOT affect the core Mach-II framework in any way.

This is an same day discovery release fix.  We issued the 1.0.1 maintenance release and the 1.1.0 final / gold stable on the same day the this possible flaw was discovered. This possible flaw was discovered by a source code audit performed by a Team Mach-II member.

Security Resolution Paths

  1. Upgrade the version of the Dashboard you are using to one of the versions below. Be sure to clear your CFML engine template cache and restart your application to clear any Dashboard components that had been loaded into the application memory.
  2. If you cannot upgrade at this time, removing the dashboard from production applications (i.e. commenting it out in your mach-ii.xml file) will fix this security concern until you can update your Dashboard source code

Downloads

For Mach-II 1.6.x Series:

Download Mach-II Dashboard 1.0.1 Stable (Maintenance Release for 1.0.0)

For Mach-II 1.8.x Series:

Download Mach-II Dashboard 1.1.0 Stable

For Mach-II 1.9.x Series using integrated Dashboard:

Use the latest BER zip or SVN version.  Do not use milestone 1 or milestone 2 on production

For the Future

We will blog more about this possible exploit -- how it was discovered, what the specific exploit is, how it works and to resolve it.  At the moment, we are refraining from discussing the specifics since this is an active (although medium level) security concern.  A full postmortem will be coming in the next several weeks as it can provide information on securing your own applications.

Mach-II Integrity (1.9) - Milestone 2 Released!

Team Mach-II is proud the annouce the availability of Mach-II Integrity Milestone 2!  This is the labor of the team over the past few months to get a major feature done - endpoints!  Special thanks to new team member Doug Smith for writing all the nifty REST endpoint code.  Now you can write REST APIs in CFML code -- no XML (except to register your endpoint with the framework which is one line of XML). Check out our REST endpoint documentation for examples.  Check out our complete list of change here: Features for Milestone 2

Overview of New Features:

Download Mach-II Integrity (1.9) Milestone 2 from Ohloh

Happy Mach-II-ing!

 

 

Introducing New Team Mach-II Member: Brian Klaas

Team Mach-II proudly welcomes Brian Klaas to the team.  For those of your around for while, you've probably seen Brian play devil's advocate a few times with the team over the years on the Mach-II Google Group.  We're happy to see Brian on the team as each new member brings us new perspectives and talents to the table.  On a personal note, Brian works at the Johns Hopkins University (my alma mater).  I did not get the chance to meet Brian while I was at school, however I am proud that one of the wings of the university is actively using Mach-II.  You have quite a proud alumnus here.

Here is a brief interview with Brian as we hope it helps you get to know him a little better.  Welcome to the team Brian! We're lucky to have you!



Tell us a little about who you are and what makes you tick...

I'm in charge of eLearning technologies at the Johns Hopkins Bloomberg School of Public Health. I lead a group of 6 excellent employees who design, build, and deploy custom applications for online learning and training here at the School. We serve a global audience of about 7,000 people and the School was recently ranked as having the #1 online program in Public Health.

While my primary role is that of architect and strategy lead, I also write a whole lot of CF code when I'm not collaborating with our customers about upgrades to existing applications and the development of new applications. I love that I get to mix customer research, UI experimentation, and code development in my day-to-day job. I also do quite a bit of face-to-face training with faculty and staff here at the School, and teach an "Introduction to Online Learning" course (offered only online, of course) that's taken by about 2,500 people every year.

I'm a terribly lazy if super-detail-oriented person when it comes to writing code. I like everything to look just so while letting a framework do a lot of the complex, heavy work for me. That's part of the reason why I really like Mach-II.

What was the first thing you ever did with a computer that made you proud of your accomplishment?

I built a small Pac Man-style game in BASIC for my Atari 400 that eventually got published in a small, now-defunct magazine. I don't have a copy of the magazine nor the code any more, but at the time I thought it was pretty cool that I was a published computer programmer at age 14. (So, yes, I just totally dated myself.)

What got you started using Mach-II?

When CF added support for CFCs in version 6, I had reached a point in my career where I felt like I knew a whole lot about developing using CF and procedural development styles. I had written some Java applets and a couple Java-based socket servers in the years prior to that, and wanted to make the leap, full time, to object-based Web application development. While I knew that CF MX wasn't purely object-oriented, it was object-based and that was reason enough for me to get started. Around that same time, Sean Corfield wrote pretty extensively about this new framework for building Web applications with CF called Mach-II. I figured that if that smarty thought Mach-II was good enough for both him and Macromedia, it was worth my time.

My first Mach-II application wound up being this huge training application with over 2000 lines in the main Mach-II XML configuration file. So much for learning via a small test application! I cringe every time I look at how that app is architected, but it was an indelible learning experience. Now I won't develop a CF Web application without Mach-II.

Mach-II has matured a lot since its inception. What are your favorite Mach-II features as of today?

Modules top my list. My team recently released a project with 22 modules, and the flexibility that the Mach-II module architecture brings to the table allowed us to develop these modules in tandem, mock out what we needed until implementation, then swap out implementations simply and easily. Module inheritance when dealing with things like ColdSpring-managed beans is simple and elegant, and configuration inheritance and module-level changes are a snap.

I'm also a big fan of the call-method command introduced in Mach-II 1.8. I wrote a blog post declaring my love for the call-method command.

Everybody brings unique ideas and skills to the table. What one thing you feel you bring to Team Mach-II?

I have a hard time keeping my mouth shut, so I feel that I bring a need to talk about the framework, document the framework, and help the super-smart folks actually writing the code come up with requirements that really meet the needs of the developers (current and potential) who use Mach-II.

It's an impossibility to spend 100% in front of a keyboard. What do you do for fun?

Half my fun comes from being in front of the keyboard, just not doing work. I've played World of Warcraft for five years now, and have been the leader of a great little guild for two of those years. I've learned a lot about design from the geniuses at Blizzard, and the game is hella fun to play.

During the spring and summer, when I can actually be outside and not suffer frostbite, I spend quite a bit of time in the garden. My partner has transformed our bland backyard in to something of a paradise, with a couple of ponds, multiple waterfalls, and tons of beautiful foliage. It's a lot of work to maintain, but the dirt feels great in my hands.

If you were not a programmer, what would you want to do with your life?

I'd go back to directing theater. I ran a theater company here in Baltimore for 11 years, and while it was a transformative experience, when it all ended, I was very happy to get my life back. I do miss the process, though, and the people. The creative process in theater is incredible, with so many people contributing to this dynamic thing called the performance, and I do miss taking that journey on a regular basis. I've always said that if I were to win the lottery, I'd start another theater company after I got back from my summer in Provence.

Introducing New Team Mach-II Member: Jorge Loyo

It's exciting times at the Mach-II Project.  Just after our 7th birthday, we are proud to announce that Jorge Loyo has joined Team Mach-II.  Welcome aboard Jorge! Below is Jorge's bio:

Jorge_loyo

Jorge Loyo - Developer & Resident Mexican (everyone needs one)

Jorge Loyo was raised in the small town of Tuxtepec, Oaxaca, Mexico until the age of 14 when he left Mexico (legally, in case you were wondering) leaving family and friends behind to study at Valley Forge Military Academy & College in Wayne, PA. It was there that he completed his High school and Associate degree in business. He then ran away from the cold and moved to Florida where he attained his Bachelor degree in International Business, Finance and Management Information Systems from Florida International University as well as a Master of Science in MIS from the same institution.

Jorge worked for the University for several years developing various internal systems, some of which in his last year (2005) where written using Mach-II. Since 2006 Jorge has been working with an online retailer helping redesign and rewrite all their databases and online applications.  Also, he has been continuously assisting a Hispanic publishing group with their web infrastructure. Finally, in 2007 Jorge started his own Financial education business trying to help families become properly protected, debt-free and financially independent.



We always like to have a quick interview with new team members so the Mach-II community can get to know them and I've been surprised a few times.  The team even now has a resident skydiver! Here is our interview:

Tell us a little about who you are and what makes you tick...

Well, I like all types of music and really enjoy meeting new people. I love a good wine and spending time with family and friends, the more the better...
What I do not like and try to stay as far away as possible from is negative people that all they do is find something to bitch and complaint about. People that believe some circumstance other than their own actions is not allowing them to succeed at something. People who believe that others are just lucky.

What was the first thing you ever did with a computer that made you proud of your accomplishment?

My first event computer programming class (VB6) I created a small timesheet program to calculate the hours I was working at that time for the computer lab at the university... I felt soooo proud of what I did :-). I showed that little program to some guy who turned out to be looking for a developer and hired me as a programmer for the university...Nice.

What got you started using Mach-II?

At the university there was a team of 4 developer with no prior experience, including myself, in programming so EVERYBODY was developing whichever way they thought was best... Maintaining the systems over the years became a nightmare and I wanted to put a stop to the madness by implementing ANYTHING to help us... I did a little research with another co-worker and found MachII. I haven't looked back since.

Mach-II has matured a lot since its inception. What are your favorite Mach-II features as of today?

Wow, tough one since I like and rely on many features, but time savers/code minimizers have been call-method, view-loaders, subroutines, auto-injection and message-susbscribers. However, currently I am in love with the custom tags let's keep them coming, they are AWESOME. Also, I cannot wait to use the EndPoints.

Everybody brings unique ideas and skills to the table. What one thing you feel you bring to Team Mach-II?

I don't know if there is one unique skill or idea in particular because as all other teammates must do all the time, I like to think of what else could MachII do, what else could make my life easier... I like to think of all possible features that could be included.

One thing I can say, once something is in my head I will not sleep until I have it done. I will ask for help if I need it and won't pretend I can take on the world alone. I don't like to let teammates down and I will do everything possible to contribute to the framework.

It's an impossibility to spend 100% in front of a keyboard. What do you do for fun?

Believe it or not, I am either at my job, at home, training new teammates for my business or meeting with clients.
I am a licensed skydiver and love martial arts, but I haven't practiced in some time, I've resorted to simply running, swimming and boxing whenever I can squeeze in a few minutes in my day.
 
If you were not a programmer, what would you want to do with your life?

If I wasn't a programmer and didn't have my business, which I love. I would be a professional skydiver... I would compete in team jumps and travel to world to do base jumps from everywhere I could.

Happy 7th Birthday Mach-II!

Time flies doesn't it?  This month celebrates our 7th birthday as a project.  We've grown up a bit since our humble beginnings in August 2003 and past several large milestones so far.  We've had 13 stable releases since we started and we have 2 more (1.8.1 maintenance release for 1.8.0 and 1.9.0 Integrity) in the wings being worked on.  We've seen the torch passed from the original authors of the framework to the current Team Mach-II a few years ago.  We think things are going absolutely fabulously.

The best gift you can bring to the party is to bring the gift of your time by contributing back the framework you know and love.  There's plenty to do from documenation, sample applications, enhancements to the dashboard, new things for the website and more.  If you don't know how to get involved, feel free to ping us at team [at] mach-ii.com for help.  Or you can promote the framework by writing a blog post about one of the features you are using in the framework (ping us so we can feature your blog post ).

Happy 7th Birthday Mach-II! May we see many more years in this new age of CFML development.

Mach-ii_wordle

Our New Infrastructure URLs: Blog / Trac / SVN

We've moved our Trac / SVN to a new account at Codesion which allowed us to have custom domains as well as expanded services.  Be sure to update your bookmarks now!

If you previously had an user account for Trac, you will be getting a new email with your user and password information. Check your email inbox for information.  If you don't have credentials, we'd love to see you showing the commitment that means we can make you a committer and have you join in.

Team Mach-II will now be blogging at Posterous. This will make blogging easier for us as well add heavier integration to social services.   We'll leave our old blog up for archival purposes (a link to the archive is included in our "About Us" section below).  Posterous has a blogging platform and nice features for group and community blogging so we'll be soliciting for posts from our great community. We'll talk about it more in a future blog post.

Happy Mach-II-ing!