Colorado Timberline APIA Practical Guide to Successful Integration

Colorado Timberline is pleased to announce the immediate availability of the PHP client library v1.9. This version of the library brings bug fixes and small feature additions; there should be no B.C. breaks.:

Major work on Callback System

  • Callback system was not loading classes based on XML payload correctly as it wasn’t looking at the correct tag to determine which Dao to hydrate. Thanks to InkGene for the tip on this bug!
  • Typo in default entry point causing failure to bootstrap library
  • Factory createCallback method is now much more robust and should avoid failure by returning a new CtApiNullCallback. The callback does nothing, however will allow useful error information to be sent to CT which, depending on the issue, may be able to fix the issue by making a change on the service side avoiding a client library update! Look for ways to extend this feature in a future release that will let you capture these error messages in a similar manor to the logging system.
  • Default endpoint tested on CT development server. Some of the aforementioned bugs were discovered during testing of the default endpoint as if it were deployed on a client system. We are much more confident in the sufficient usefulness of this component of the client and encourage its use unless you intend to embed the callback system into your favorite framework. Either way the enhancements to the callback system make using the notification endpoint in the provided client much more viable with this release!

Fixes / Additions to Logging system

  • The logging system was not checking the log level from configuration, rather it was comparing to the INFO log level every time to determine whether or not to log. This has been corrected. A tip from Beehive media lead to this discovery, thanks!
  • Standard log handler logic available to custom log handlers. Previously, if you wanted to use the same logic the standard handler uses yet log to a different location than the standard output stream you had to duplicate said logic into your handler. Now the logic is available through a static protected CtApiLog::_shouldLog method, revised documentation will be available on the log page soon.
  • Small bug when checking for default logging handler causing a E_WARNING to be raised. This was a simple fix, thanks MashOn for the tip on this issue!

Patches to core

  • There was a bug in CtApiDao::__toString which would append the current subset of the XML tree to the entire tree. It has been revised to only return the subset of the tree treating the current node as the root, which was the original intention.

More Tests Added

  • More unit tests were added, and additionally PHPUnit has been bundled with the release so you should be able to run the tests on your own. Also, if interested, you should be able to contribute to the test suite more easily now.

Cleaner Source Browsing

  • The source browser has been tweaked. Code snippets will not be displayed in the pages documenting the classes, however you will still be able to navigate to a source view from these pages.
  • Folks were complaining that the docs weren’t so useful which was probably because the leaves of class hierarchies weren’t showing inherited methods so you’d have to climb back up the tree to see these. All members, including inherited ones are now shown on each class in the documentation.

Updates to site

  • Check back frequently as we will be revising the site based on user feedback and observations. There will be several updates to the site over the next two weeks.

off PHP Client library v1.8 Released!

admin to News! — Tags:  

Colorado Timberline is pleased to announce the immediate availability of the PHP client library v1.8. This version of the library brings bug fixes and feature additions, as well as some minor B.C. breaks. We’ll be considerate with B.C. going forward, but please bear with us as this is still rapidly evolving at the moment. Specifically the changes include:

Fix improper handling of HTTP response codes in CtApiGateway

  • Improper detection of HTTP response code was leading to false positives reported by CtApiGateway after order submissions

Robust additions to CtApiConfig

  • CtApiConfig now manages multiple configurations in memory simultaneously
  • CtApiConfig automatically detects configuration files which are environmentally specific
  • CtApiConfig can broadcast notifications when values are changed during runtime to registered observers

Customizeable Logging infrastructure added

  • Introduction of CtApiLog, a mechanism which allows you to direct messages from the core CtApi library anywhere you wish. Read More

Unit Testing via PHPUnit

  • Unit tests are being introduced into the codebase and eventually the bulk of core will be shipping w/ tests
  • PHPUnit has been incorporated as a git submodule so it doesnt ship w/ the download. If you want to develop on the PHP client library pulling PHPUnit into a working copy is as simple as git submodule update!

SPL required

  • The new library now requires SPL, as it makes use of spl_object_hash() to implement Observer pattern internally