[dev] Re: [PEAR-DEV] Re: [PEPr] Comment on Networking::Net_Cyrus

Damian Fernandez Sosa (DESC) damlists at cnba.uba.ar
Sat Feb 14 09:51:29 PST 2004


Quoting Jan Schneider <jan at horde.org>:

> > I Think I can instantiate Net_IMAP as a private object instead of using
> > inheritance if it is a problem. Can you tell me what problem do you see?
>
> Ah, now I remember we had this discussion a year or so ago. My comment
> indeed doesn't make much sense, because your package uses Net_IMAP that
> uses Net_Socket while ours uses Net_Socket directly.
>

Yes I remember that talk. Horde's Net_Cyrus had 5 1+ but It has never uploaded
to PEAR. I supposed that it was because Net_IMAP had implemented all Net_Cyrus
methods except
renameUser()
copyQuota()




> Your package trades code reuse (Net_IMAP) with bloat (and thus probably
> performance hit) because users of your package would need to install, load
> and parse the huge Net_IMAP class while they only need a very small
> functionality from it.

Net_IMAP also implements DIGEST-MD5,CRAM-MD5, LOGIN and PLAIN auth
methods (and automaticaly chooses the best method) so we can use those methods
to add passwd's encryption to remote Net_Cyrus connections. Horde's Net_Cyrus
doesn't

Suppose you'll create an user or folder whith non-us characters (á,é ñ, etc)
Horde's Net_Cyrus don't handle that situation! Net_Cyrus based on Net_IMAP does
(because all that class's bloat)

Also Suppose you have a newer version of cyrus (v. 2.1.12 or up) . It is not
true that the folder deliniter will allways be '.' it can be  '/' also (see
unixhierarchysep's imapd.conf parammeter). Horde's Net_Cyrus don't handle this.

Net_IMAP's size is about 48kb and IMAPProtocol.php's size is about 82kb (130kb
total)

Net_Cyrus can directly use IMAPProtocol.php and reduce about 48kb. and a lot of
less methods so the parsing speed will increase a lot.



Also I'm planning to split the Generic IMAP Parser from IMAPProtocol and
directly use it in Net_IMAP and Net_Cyrus reducing the size to 60kb (50%
decrement in size) and allowing to use only the methods needed. Again, the
parsing and load speed can be increased








> Regarding Etienne's question on dev at lists.horde.org, this package is
> probably not necessary if you have a recent imap extension and c-client.
>
And a CVS's version of PHP 5

If this package is not necessary, also horde's Net_Cyrus isn't (it also does'nt
use the newest c-client)

You must have the newest version of c-client and compile it you can't use the
php that comes in redhat, mandrake, suse, etc. I think debian has the support
as a package in unstable . Also, that support is _ONLY_ in PHP 5 CVS. so you
can only use c-client version in PHP 5.







-------------------------------------------------
Mail enviado desde el CNBA
http://www.cnba.uba.ar/





More information about the dev mailing list