The Daily Parker

Politics, Weather, Photography, and the Dog

AMR bankruptcy plan approved, except for one bit

US bankruptcy judge Sean Lane has approved American Airlines' bankruptcy plan—mostly:

Judge Sean Lane approved the plan at a hearing in U.S. Bankruptcy Court in New York, but denied a clause that would pay Tom Horton, AMR's outgoing chief executive, $19.9 million in severance.

But on Thursday, after nearly two weeks of consideration, Lane concluded his job was to determine whether the plan meets standards of feasibility under bankruptcy law, independent of the lawsuit.

"The question is whether it will succeed once consummated, not whether it will be consummated," Lane said. "Here, there can be no dispute that the plan is feasible, if allowed to proceed."

For AMR, the focus now shifts to resolving the Justice Department's lawsuit, filed on August 13. The department argues the merger will create too much consolidation and hurt consumers.

While Lane's ruling gives his blessing to AMR's restructuring efforts, any divestitures or other material changes to the plan that result from settlement talks with the Justice Department would have to go back to him for approval.

Sorry, Tom. You crashed your airline; you don't get your $20 million. And while I can't speak for all the employees of American Airlines, I'll bet money that they're all glad of this result, and ready to see the back of you.

Divvy up my commute

Well, I've signed up for Divvy, Chicago's bike-sharing program. Now that the weather is getting cooler, I think I'll be able to commute by Divvy without arriving at the office a sweaty mess.

Long-time readers know I used to bike a lot, until my knees decided it was time to stop. Divvy bikes should be a lot easier on my knees than my Felt.

If I use it just a few times rather than taking cabs—for example, tonight, from pub trivia—the sign-up fee will be worth it.

More as events warrant.

Managing multiple CRM connections with one Azure application

We've published Part 3 of my series of blog posts about integrating Holden International's Azure-based sales training app with multiple customer-relationship management (CRM) applications. The combined parts 1 and 2 went up mid-August. Part 4 should come out within 10 days.

Here's the complete post:


In my last blog post, I outlined the code architecture enabling us to let Holden International’s Azure-based efox 5.0 application connect with multiple, arbitrary CRM applications. In this post, I’ll show you what it looks like to the end user using our SalesForce connector.

Users whose accounts are integrated with SalesForce can enter efox in one of two ways: either by going directly to efox, or by clicking a “launch” button from a SalesForce Opportunity record.

Going through the front door is simple enough. The user can go directly to efox, or the user can navigate to a saved URL that takes advantage of efox’s RESTful ASP.NET MVC interface. In either case the user may not have already logged into SalesForce.

Some customers haven’t set up SSO with SalesForce yet, because the SalesForce Professional edition doesn’t support it. We’re trying to get everyone using efox to upgrade, because the user experience without SSO is sub-optimal: it’s DSO (double sign-on), requiring users to keep track of two different sets of credentials (one for efox, one for SalesForce). I’ll cover that mess next time.

For now, let’s look just at the SSO user experience.

Because efox has to support non-SSO users, just going to https://efox.holdenintl.com/ without being signed in to SalesForce takes you to the efox login page:

efox SignIn page

That’s not helpful to SSO users, because (a) they don’t have an efox login and (b) efox doesn’t know which SSO provider they’re using. To solve this problem, we use a RESTful URL that looks like https://efox.holdenintl.com/SSO/{CustomerCode}, where CustomerCode is unique tag identifying the customer.

Note how this URL lets the SSO controller not care what CRM system the customer is using. When the user navigates to their company’s efox SSO URL, efox looks up the customer and sends the user to the correct login page. So a SalesForce-integrated user gets passed to the SalesForce login page, with a SAML request under the hood telling SalesForce to send the user back to efox:

SalesForce login page

When the user logs in to SalesForce, the SAML magic happens, and they get back to their efox landing page:

Winning Sales Plan landing page

More commonly, though, users launch efox from their CRM systems. When we set up a customer to use efox, they add a “launch” button to their CRM’s Opportunity page:

SalesForce opportunity page with efox launch button

In SalesForce, the button is actually just a VisualForce link button; other systems just use a basic hyperlink. This is because it only needs to let users navigate to a link that follows the format https://efox.holdenintl.com/SSO/Import/{CRM Opportunity ID}/{User Name}. Navigating to that link takes the user to the SSOController class in efox, which starts the login process (if required) or sends the user to the next step (if she’s already logged in).

Again, through the miracle of MVC RESTful URLs, the link will work not only with SalesForce but with any other CRM provider. The SSO controller uses the user name to find out what customer to use, from which it finds out which SSO provider to use, to which it sends the user’s login request. The return path of the login request connects to the SalesPlanController class, which actually performs the import. (If the user is already logged in, the SSOController sends the user directly to the SalesPlanController.)

I won’t go over the specifics of how the controller pulls information from the CRM system, except to refer back to the discussion last time about the ICrmIntegration interface from last time.

I’ve used SalesForce for the artwork in this post, but the flow and user experience would be the same for any other CRM provider. Users get to move seamlessly between efox and their CRM system, and efox doesn’t care whether it’s connecting to SalesForce, Siebel, or a squirrel.

In my next post, I’ll talk about some of the problems we had to solve in order to let people use efox without SSO.

Summer's last hurrah, we hope

Temperatures in Chicago hit 35°C yesterday, tying the record set in 1983, and only the seventh temperature that high ever recorded in Chicago this late in the season.

And then, because it's Chicago, the forecast calls for a 14°C temperature difference by Friday.

In all, summer hasn't sucked too badly this year. I still wish it were already over. I guess I can hold out one more day...

Cranky Flier finally enrolls in Global Entry

He had a little more hassle than I did. Only a little:

So back in July I decided to give it a shot. If you’re a US citizen/permanent resident, Dutch citizen, South Korean citizen, or Mexican national, you can join the program. (Canadians can join via the Nexus program.) I went online and filled out the extensive application. I mean, this thing looks at your history going back for several years. It requires previous residences, everywhere you’ve traveled, and more. Once you finish filling it out, you pay the $100 fee (regardless of whether you get accepted or not), and then you wait.

It took one week until I received an email saying my application status had changed. I logged on and it told me that I had been approved for an interview so I just needed to schedule one.

The big day came, and I prepared for a grilling. I was WAY over-prepared. I showed up at the Bradley Terminal at LAX and they told me to take a seat and wait. I saw a lot of people waiting there, so I was afraid it might take awhile, but I was wrong. Within 5 minutes, they had called me and another person to go back. The interview between me and the Customs/Border Patrol (CBP) officer went like this:

CBP: Have you been to Canada in the last 5 years?
Me: Yeah
CBP: Have you been to Mexico in the last 5 years?
Me: Nope
CBP: Ok, you’re all set.

I’m not exaggerating at all. It was that quick.

My interview in 2010 ran about 10 minutes, but it was no big deal. They stamped my passport right then and I've had easy entry to the US (and easy trips through airports) since.

It's worth signing up for.

AP: Syria to join UN Convention on Chemical Weapons

If the AP report is true, this is a complete win for the President:

Assad is now agreeing to preserve and strengthen that norm. He’s agreeing to sign the treaty banning chemical weapons — a treaty Syria has been one of the lone holdouts against. He’s creating a situation in which it would be almost impossible for him to use chemical weapons in the future, as doing so would break his promises to the global community, invite an immediate American response, and embarrass Russia.

This is, in many ways, a better outcome than the White House could have hoped for. Punishing Syria may or may not have actually reinforced the norm against chemical weapons — particularly if the strikes went bad and the American people punished members of Congress who voted for them. But Syria joining the treaty against chemical weapons definitely, almost definitionally, reinforces the ban.

This we call "diplomacy." And it's good to see when it works.

I hope US American Airways does it better...

The Economist's Gulliver blog has had enough of UnitedContinental's computer problems:

Late last month, for example, America's Department of Transportation fined United $350,000 for taking too long to process its customers' refund requests. ... Here's the remarkable thing about this latest fine, which was connected to delays of some 9,000 refund requests: United blamed it on the merger. According to the Los Angeles Times, United told the regulators that when the two legacy airlines' reservation systems were merged it resulted (in the words of a DOT report) "in some unforeseeable anomalies that caused a temporary inability to process refunds in a timely manner."

That's unacceptable. Again, it's been nearly three years since the merger. "Unforeseeable anomalies" should have been corrected by now. And on what sort of scale is it appropriate to describe a three-year-old problem as "temporary?"

It seems like both United and Continental have some bureaucratic issues that have exacerbated their technology trouble. Gulliver goes on to say that UAL crews are still contractually bound to UAL planes, so two companies still haven't merged their front-line labor forces.

Assuming American and US Airways get past the DOJ's roadblock (which I expect they will), will they have as much difficulty merging their computer systems? I hope not.