XMLDAP on Mac – the Final Answer

It turns out that my last post was not the end of the XMLDAP on Mac story.

If you couldn’t care less about the why/wherefores and just want the answer – you need to install Kevin Millar’s perpetual motion browser extension along with the XMLDAP extension on the Mac, to be guaranteed that the identity selector will work with all the RPs out there. Big huge thanks to all the people who worked on this problem, I think I would have gone clinically insane at about 11am yesterday without you.

Now – onto the geeky explanations:

After downgrading to FF, some subsequent further instability, and a reboot, I found that although I could finally successfully get to Chuck’s RP, I still couldn’t use the PW-wp test blog. I had made the mistake of conflating two issues, and assumed that because one was working, the other should be too.

So I started troubleshooting all over again – but this time with a solid example of a service that worked, to compare to my non-functional service. I copied the page source of Chuck’s form object to my test blog, and started changing it, line by line, to match my form object. Here is the line that eventually caused Chuck’s form to fail:

 <input type="submit" id="submit" value="Invoke Identity Selector"/>

And here is the line that works in Chuck’s RP form:

<img src="../images/cardlogo.gif" onClick="infocard.submit()"/>

Yeah, so a basic, HTML 101 type of form submit fails. No way. But it’s true. Feel free to test this out, if you have a Mac: try this link:
With an html submit (first example above, which fails)
and this link:
With an onClick Javascript event attached to an image(2nd example above, which succeeds)

Even if you embed a document.form.submit() call in the document, it fails:

With an embedded submit call

At this point I had enough solid information to talk to Chuck, and bless his heart, he responded right away with a suggestion – if it was a parsing problem, we could diagnose it by installing Kevin Millar’s perpetual motion Firefox extension – because when that plugin is installed, Chuck’s plugin uses the perpetual motion parser instead of the xmldap parser. Sure enough, when the xmldap and perpetual motion plugins are installed together on Firefox, everything works beautifully. Try the 3 links above with the 2 plugins on a Mac — you’ll find they all work.

I *could* change the PamelaWare login page to use the one type of form submit that is guaranteed to work with Chuck’s plugin, and not push the idea of using both plugins together, however from the user’s perspective, this is only a partial solution. As more and more people start writing RP code, there are going to be a million permutations & combinations of a million different forms out there, and I would rather see people installing that extra plugin, so that they can get everywhere, without having to diagnose issues on an RP by RP basis.

So I’m going to update the documentation on the Pamela Project website, and I would suggest that others do so too, to recommend that if you want to use the xmldap identity selector on a Mac, you install both the xmldap and perpetual motion plugins. Yay, case closed, now onto new feature development…