<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="-1"><font face="Verdana">I've been considering tackling
this for some time but my major problem is that I only have production
servers and don't have a good dev server for testing stuff. Your $500
peaks my interest more because I could get that testing server and put
it to good use testing this and some PHP/Pear projects I'm starting to
work on, among other things.<br>
<br>
I think one of the most important necessities in a project like this is
it needs to be very configurable and (like you said) extensible.
Organizations could use this in many different ways: as a standalone
application, plugged into their community/corporate website, or part of
a third-party application. It needs to be capable of all of these
things while not actually worrying about the implementation of these
things. It should, as you said, come out of the box able to support the
MySQL and PGSQL backends, but it shouldn't be limited to those nor even
limited to SQL-based backends. It should be extensible for any backend.<br>
<br>
It's conceivable (possibly desirable) that this could eventually become
a PEAR extension, but I think that detail should be left for a later
time.<br>
<br>
I've personally written custom PDNS/MySQL PHP management interfaces for
three different organizations, so I'm very familiar with what it
entails. I do hereby "sign up," so to speak.<br>
<br>
Here's a general idea of what I believe should be the goals of this
project. I'm open to suggestions for additions to and improvements to
this list. Remember don't get too detailed about implementation just
yet, and our goal isn't to support everything out the door ... it's to
build a basic framework that's extensible and initially supports MySQL
and PGSQL. The names of interfaces/classes aren't final and may change
because of or regardless of suggestions.<br>
<br>
- It should be OpenSource (I'm to suggestions as to which license it
falls under) and available on one of the major project sites (I'm
partial to SourceForge and Google Code)<br>
- It should have a PDNSManager interface specifying the basic CRUD
operations for supermasters, records, domains, etc.<br>
- It should have a PDNSMySQL class implementing PDNSManager for the
MySQL backend using the mysqli or possibly
<a class="moz-txt-link-freetext" href="http://pear.php.net/package/MDB2">http://pear.php.net/package/MDB2</a><br>
- It should have a PDNSPostgreSQL class implementing PDNSManager for
the PGSql backend using PHP/PG or possibly
<a class="moz-txt-link-freetext" href="http://pear.php.net/package/MDB2">http://pear.php.net/package/MDB2</a><br>
- It should have a PDNSFactory class that provides you with the correct
PDNSManager for the type you select, and this factory should provide
methods for specifying configuration options (DB connection details,
location of host files, etc).<br>
- It's possible there should be classes for domains, records and
supermasters to simplify the code of the PDNSManagers. Now that I think
about it some more, I think this might be essential.<br>
- It should make use of exceptions (I prefer extensions of
PEARException, personally) for error reporting<br>
- Additionally, there could also be (and I think there probably should
be) an optional, bundled GUI that implements this API for those
organizations not wanting to code a GUI and just wanting to drop
something in place, configure it, and use it.<br>
<br>
Ideas? Suggestions? Comments? Wishes of good luck? :)<br>
<br>
Nick<br>
<br>
</font></font><br>
DORDAL wrote:
<blockquote cite="mid:25228654.post@talk.nabble.com" type="cite">
  <pre wrap="">So we've had a lot of discussion over the last few months about getting an
object oriented PHP API for the PDNS database. I kicked it off back in Feb:
<a class="moz-txt-link-freetext" href="http://mailman.powerdns.com/pipermail/pdns-users/2009-February/thread.html#5935">http://mailman.powerdns.com/pipermail/pdns-users/2009-February/thread.html#5935</a>
and then Pascal chimed in again in June:
<a class="moz-txt-link-freetext" href="http://mailman.powerdns.com/pipermail/pdns-users/2009-June/thread.html#6080">http://mailman.powerdns.com/pipermail/pdns-users/2009-June/thread.html#6080</a>

I keep thinking I'm going to write one, but I don't have the time. So
instead, I wanted to throw out the idea of sponsoring one... I'd be willing
to kick in $500 for somebody to write a 'complete' PHP API and
maintain/bugfix it for at least a year.

What is a 'complete' API? I'd leave that up to the list + anyone else who
wants to contribute, but I'd suggest at least:
- object oriented, extendable design
- ability to work with at least the MySQL and PGSQL backends
- CRUD operations for any type of record, domains & supermasters
- Decent test coverage (using PHPUnit or similar) for all functions

Thoughts?
  </pre>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<br>
<span style="font-family: Verdana,Arial,Helvetica,sans-serif;"><span
 style="font-size: 18px;"><b><i>Nicholas Scott Williams</i></b></span><span
 style="font-size: 12px;"><br>
<br>
"An idea, I have. Share it with you, I will. Change the world, we will
together."<br>
</span></span></div>
</body>
</html>