by Alan Knowles(alan_k@php.net)
A very interesting read this week on the pear development list, with 4
New Releases, 1 New package proposed, and discussions on PHPDoc Tags, OpenOffice
Docbook converters, Permission Management and an upgraded Net_Whois package.
Antônio Carlos Venâncio Júnior asked about the standards for PHPDoc tags (the tags inside the PHP classes that help produce automated documentation), having reviewed the current range of uses in pear, Antônio offered to write a clear quick reference for the PEAR site, at present you can find the list of standard tags and formats a
http://www.phpdoc.de/kongress/tags.html
To integrate better with the SOAP module, Baba Buehler added ISO 8601 to the format() method of the Date class. You can use it by with the following syntax.
%o - gives the raw timezone offset in ±hh:mm
%O - gives the dst-corrected offset in ±hh:mm
eg.
Date::format("%Y-%m-%dT%H:%M:%S%O");
Pierre-Alain Joye has been busy making a Open office to Docbook converter. Thanks to Éric Bellot (http://www.chez.com/ebellot) to let us use his work and the given help during this job. For the next releases, more formats will be added (Microsoft word 'save as HTML' to Docbook, or Docbook to others formats). You can try out the current version at
http://www.pearfr.org/docconvert/Doc_Convert-0.1.tgz
There was continuing discussion of adding support to PHPDoc to generate Docbook from the comments, and Alan Knowles posted his first effort at doing this using his PHP_CodeDoc tool, Noting that the task is not as simple as it appears to be....
Radek Maciaszek mentioned he was working on a class to do mail queue management for sending large quantities of email, he was going to send it to Richard Heyes to review it after adding a few comments.
Wolfram Kreising was testing PHPUnit and discovered that it was being far too strict for a loosely typed language, eg. failing when comparing "1" == 1 within arrays. He was still looking for ideas on how to solve this.
Always a topic of much interest to all developers is that of a coherent Authentication, Authorization, Permissions and Users mechanism. This got one step closer as there was considerable of discussion over the LiveUser Package that Marcus Wolff has been working on. This looks like it will provide a flexible standard API, that would enable back ends for a variety of applications to accessed using a single API. Enabling you to integrate bulletin board or forum packages within your applications without having to modifying code to suit each application.
The only remaining matter was how to integrate this into the PEAR class naming structure, Suggestions that got better reviews where along the lines of Auth_LiveUser, Perm_LiveUser. The use of a top level category combined with a more distinct name 'LiveUser' was prefered over a more generic name like Auth_Simple or Auth_Complex.
On a side issue to this, it may be worth researching some of the discussion on php-dev recently that has dealt with the security issues behind sessions, both trans-sid, cookees and HTTP in general (another topic of heated debate, but eventually ending with intelligent suggestions). Hopefully a full summary will be available in the php manual soon.
Seamus Venasse had built a new Net_Whois, and wondered how to deal with competitive classes in PEAR, since his Whois package offered a richer set of features, than the current one. After some discussion it became clear that just merging the existing funcitonality and API into his and replacing the old Net_Whois would be a far better solution. The final decision on this did rest with Sebastian Nohn (the current maintainer of Net_Whois).
Thanks to these people for spotting and fixing some bugs, Radek Maciaszek, Arnaud Limbourg, Tim White and Roman Neuhauser
Alfredo Rahn offered a package to calculate distances between sets of points,
with the aim of estimating clustering of data un multidimensional sets.
This package can use different metrics to calculate the distances.
Active on CVS this week has been Auth, Benchmark, Cache_Lite, Date, DB, DB_DataObject, HTML_Javascript, HTML_TreeMenu, I18N, MDB, Net_DNS, Net_Ping, PECL::Soap, PHPDoc, Tree, XML_RSS, XML_XPath, System.