I've been busy preparing for the AICC Meetings and PENS Plugfest happening next week. For starters, I added SSL support to the hosted version of the PENS test tools that I offer online (sample HTML form here, and PHP-based PENS command validator here or SSL here). This change has not been integrated to the official release yet. The official release is always available from AICC PENS Interoperability Validation Suite.

I'm wondering what experiences others have had with content-LMS integration issues, and how we can head-off these issues for both implementers and users. With past specs, I've noticed that ambiguities about the format of data elements could be an issue, as could the presence/absence of optional elements. Based on this, the validator checks for the presence of all required elements and the absence of unknown extraneous elements. The PENS validator also applies a regular expression against each element to check formatting, and where possible the regular expression is drawn directly from the underlying RFC or IETF recommendation.

Another area of headaches was code that depended on URLs to literally start with "http://" URLs and then suddenly broke when someone used a content launch URL or a LMS tracking URL that used SSL ("https://"). A similar issue is code that either depends on the URL having a trailing "/" or breaks in the absence of a trailing "/". To test those cases, I've hosted the PENS validator at URLs like http://pens.lmstesting.com/test/index.php which should still work when one sends a PENS collect command to http://pens.lmstesting.com/test/. As a beta user, I tested the Captivate 2 implementation of PENS against both those cases. Soon, I'll go back and test with content published to an SSL URL and with a PENS server hosted behind SSL.

Are there other specification implementation "gotchas" that we should look for in the test tools? Things to watch for next week when the vendors gather for the Plugfest? If so, please let me know here, without ranting too much on specific products. Thanks.