Installable with Pyrus

Net_RouterOS is now a part of PEAR2

You can easily install the latest version with
pyrus install PEAR2_Net_RouterOS-alpha

I'm still somewhat reluctant to replace the download link though. The documentation is less complete, because I can't generate the tutorials anymore. I'll have to rework them into the Wiki first.

Still, the old tutorials apply, so... I encourage you to try this release.

Alpha?!?

The "-alpha" deserves some explanation... it's not what it looks like.

One other thing that was done simultaniously with the addition to PEAR2 was the separation of Net_RouterOS into two components - the part that deals with RouterOS (PEAR2_Net_RouterOS), and the part that deals with the sockets (PEAR2_Net_Transmitter). Although PEAR2_Net_RouterOS is considered "beta" by the PEAR2 policy, the PEAR2_Net_Transmitter is considered alpha by it. If you were to just ask for "PEAR2_Net_RouterOS" or even "PEAR2_Net_RouterOS-beta", you'll get an error, because there's no beta version of PEAR2_Net_Transmitter to give.

For anyone unfamiliar with the PEAR2 policy on versioning, I should also clarify what the stability states really mean.
"alpha" - has incomplete documentation and/or test suite with under 50% coverage and/or there are disagreements between PEAR developers in regards to what the API should be like.
"beta" - has none of the above (i.e. has full documentation, a test suite with 50% coverage or more and PEAR developers agree on the API), but is still subject to API changes.
"RC" - API is frozen, only bug fix releases may follow.
"stable" - everything is OK, development moves on the same route with a new version number.

(see versioning standards and PEAR2 policy for details)

PEAR2_Net_RouterOS has 100% test coverage and full API documentation, which is why it qualifies as a beta. The story is much different with PEAR2_Net_Transmitter though. I previously used PseudoServer.php to test some of its more obscure features, but even the pseudo server relied on Communicator. I need to rework it to be independent from it.

Chagelog

Changes between Net_RouterOS-1.0.1 and PEAR2_Net_RouterOS-1.0.0b1

Changelog pre proposal:

  • Changed the channel to pear2.php.net
  • Changed the name from Net_RouterOS to PEAR2_Net_RouterOS
  • Full compliance of the source with PEAR2 coding standards.
  • Added PEAR2 to the namespace and folder structure, per PEAR2 coding standards.
  • A lot of the exception structure has been changed to use SPL exceptions, and implement an Exception interface, per PEAR2 coding standards RFC (in wiki).
  • Renamed dispathNextResponse() to dispatchNextResponse().

Changelog post proposal:

  • [2011-09-06 00:47 UTC]

    • [Inspired by feedback directed at other packages...] Made all setters (with the exception of setStreamResponses()) fluent, as well as a few of the Client class' methods that previously returned null.
    • Made length verification use static:: instead of self::, allowing its override in hypothetical Communicator extensions.
    • Some minor documentation fixed and source code reordering.
  • [2011-09-10 21:43 UTC]

    • Added the ability to convert between charsets on-the-fly using the new get/setCharset() and get/setDefaultCharset() methods (particularly useful for making output appear consistent between MikroTik's Winbox and the web). iconv is now an optional dependency because of this.
    • All "array of responses" are now a ResponseCollection, with this class offering some convenience methods for filtering the responses (e.g. by type). Implements SPL interfaces to mimic an array.
    • Added and altered a lot of the test suite, since it often assumed an array. Also made it comply with PEAR coding standards (minus doc blocks).
    • Other miscellaneous changes.
  • [2011-09-17 18:57 UTC]

    • For the sake of performance, made receiving of streams use the (currently undocumented BTW) convert.iconv.* filter instead of the custom function, and reworked Transmitter accordingly.
    • Fixed the package.xml tasks.
    • Made the ResponseCollection seekable.
    • Minor doc fixes.
  • [2011-09-26]
    • Splited Net_RouterOS into PEAR2_Net_RouterOS and PEAR2_Net_Transmitter
    • Renamed Transmitter to StreamTransmitter and reworked PEAR2_Net_RouterOS accordingly.
    • Added timeout and buffer setting functions to StreamTransmitter
    • Added ServerSocketConnectionTransmitter
Posted by boen_robot 2011-09-27 Labels: PEAR2 Pyrus stability