[Postfixadmin-devel] refactoring
Brought to you by:
christian_boltz,
gingerdog
From: David G. <da...@co...> - 2008-07-22 20:47:52
|
Hi, I'm wondering if we should refactor the codebase into having a distinct object layer which : a) Could be exposed via xmlrpc or soap (useful for 3rd party integration) b) Could be more easily tested (unit tests etc) c) Will move some logic from the controllers into a model layer. Pseudo example: Mailbox object: -> login($u, $p); -> addMailbox($name, $domain) -> deleteMailbox($name, [$domain]); -> updateMailbox($assoc_array_of_params); Vacation object: -> setAway($msg, $mailbox); -> setReturned($mailbox); Domain object: -> addNewDomain($name, $other, $parameters); -> listDomains(); -> addMailbox($name); Alias object: -> addNewAlias($source, $dest); -> listAliasesForDomain($domain_name, $paging, $parameters); -> removeAlias($source, $dest); So these objects would encapsulate all the required SQL logic, and should also have authentication checks (as appropriate). They could then be exposed via e.g. xmlrpc or soap - however this might require all methods having an additional two parameters (username, password) etc, or writing a simple proxy object. I've made a vaguely related blog post - http://codepoets.co.uk/using-soap-and-xmlrpc-php5-newbies-findings Feedback welcome :) I've also released postfixadmin 2.2.1. David. -- David Goodwin [ david at codepoets dot co dot uk ] [ http://www.codepoets.co.uk ] |