Diff for Doc/Dev/HordePear between 2 and 3


This component delivers a small subset of the functionality required to deal with the data structures established by the [http://pear.php.net PEAR project]. Currently it allows accessing the REST interface of a remote PEAR server and provides utilities to deal with package.xml files. The most important functionality concerning the packaging manifest is the automatic update of the XML data.

Further details can be found in the accompanying documents ((Doc/Dev/HordePear/REMOTE_PEAR_SERVER|REMOTE_PEAR_SERVER)) and ((Doc/Dev/HordePear/PackageXml|PACKAGE_XML)).

+Rationale for this component

This package reimplements some of the code that is being provided on [http://pear.php.net pear.php.net] via various PEAR_* packages.

Of course it should not be necessary to write new code providing PEAR functionality given the available PEAR_* packages. Unfortunately none of these provide anything near a decent and usable developer API. One could hope for the newer [http://pear2.php.net/ Pyrus] code to resolve some of the deeper structural problems the PEAR code has. The currently available code (as of 2011) does not look like a major improvement though.

The decision to reimplement PEAR code has not been taken lightly: originally the Horde components helper had been based onusing the original PEAR code. But the amount of hacks and workarounds required to sustain that basis was too much for a long term solution. As a consequence Horde_Pear was started in order to generate a backend providing the
functionality functionality specifically required by the Horde components helper.