Re: Net_Vpopmaild

From: Date: Sun, 04 Nov 2007 16:01:48 +0000
Subject: Re: Net_Vpopmaild
References: 1 2  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-48412@lists.php.net to get a copy of this message
Hello Bill, (lets move the discussion to pear-dev) >> I saw that you requested a pear account to propose a vpopmail >> administration package. >> I created one myself for postfix - it supports a driver based >> interface, so if you would write a vpopmail driver, we'd have the >> same >> API across different mail backends. This in turn would allow us to >> write a GUI that supports this different backends. > Interesting, I had not seen this. Are you proposing a driver > instead of Net_Vpopmaild, or in addition to? Vpopmail has features > outside of standard aliases, accounts, and domains, such as limits > (limit accounts, limit access of pop/imap/smtp on a per account or > per domain level), and in the future support of ezmlm list > management. So my initial reaction is that Net_Vpopmaild should > exist, but a driver for Mail_Admin to access it through your existing > API is also a good idea, and I'd be happy to work on that. My first idea was to have a vpopmail driver only, but then I didn't know about the advanced features. I had the same problem with my Services_Blogging package: There is base functionality across all weblog apis, but nearly every implementation has additional features. The way I went was to create a "basic" and an "extended" driver interface which the drivers could implement. (See http://pear.php.net/manual/en/package.webservices.services-blogging.php section "Drivers") In our case, there won't be enough enough drivers and similarities in advanced functionality IMO to have a base for an extended driver. So the vpopmail driver could just have additional methods that are not in the driver interface, but nevertheless available and documented. As soon as further drivers with similar functionality come out, we could decide about more "extended" interfaces, or even an API to discover supported functionality (eg. by querying "isSupported(Mail_Admin::SOME_FUNCTIONALITY)"). For the question about whether to have a vpopmaild standalone package: Someone using the Mail_Admin package and needing to use advanced functionality that is not covered by the driver, but the vpopmaild package itself, you need to create a "native" object additional to the Mail_Admin driver instance - which is double work. Of course the driver could always wrap all the functionality of vpopmaild, but then the question is whether a separate package is needed at all. In PEAR, we have several packages which use a driver based infrastructure (DB, MDB, MDB2, Services_Blogging, Image_Canvas). Some of them have a main package and release their drivers as independent "subpackages". In all cases, this works quite well and I see no reason why it would not be the same in our case. So I opt for having all the net_vpopmaild code integrated into Mail_Admin and not creating an additional driver that wraps another class's functionality. -- Regards/Mit freundlichen Grüßen Christian Weiske

Attachment: [application/pgp-signature] signature.asc
« previous php.pear.dev (#48412) next »