Apache-LoggedAuthDBI
view release on metacpan or search on metacpan
please consider sponsoring its development. Work is performed
rapidly, and usually on a fixed-price payment-on-delivery basis.
Contact me for details.
Using such targeted financing allows you to contribute to DBI
development, and rapidly get something specific and valuable in return.
=head1 ACKNOWLEDGEMENTS
I would like to acknowledge the valuable contributions of the many
people I have worked with on the DBI project, especially in the early
years (1992-1994). In no particular order: Kevin Stock, Buzz Moschetti,
Kurt Andersen, Ted Lemon, William Hails, Garth Kennedy, Michael Peppler,
Neil S. Briscoe, Jeff Urlwin, David J. Hughes, Jeff Stander,
Forrest D Whitcher, Larry Wall, Jeff Fried, Roy Johnson, Paul Hudson,
Georg Rehfeld, Steve Sizemore, Ron Pool, Jon Meek, Tom Christiansen,
Steve Baumgarten, Randal Schwartz, and a whole lot more.
Then, of course, there are the poor souls who have struggled through
untold and undocumented obstacles to actually implement DBI drivers.
Among their ranks are Jochen Wiedmann, Alligator Descartes, Jonathan
Leffler, Jeff Urlwin, Michael Peppler, Henrik Tougaard, Edwin Pratomo,
Davide Migliavacca, Jan Pazdziora, Peter Haworth, Edmund Mergl, Steve
Williams, Thomas Lowery, and Phlip Plumlee. Without them, the DBI would
not be the practical reality it is today. I'm also especially grateful
to Alligator Descartes for starting work on the first edition of the
"Programming the Perl DBI" book and letting me jump on board.
The DBI and DBD::Oracle were originally developed while I was Technical
Director (CTO) of the Paul Ingram Group (www.ig.co.uk). So I'd
especially like to thank Paul for his generosity and vision in
supporting this work for many years.
=head1 CONTRIBUTING
As you can see above, many people have contributed to the DBI and
drivers in many ways over many years.
If you'd like to help then see L<http://dbi.perl.org/contributing>
and L<http://search.cpan.org/~timb/DBI/Roadmap.pod>
If you'd like the DBI to do something new or different then a good way
to make that happen is to do it yourself and send me a patch to the
source code that shows the changes. (But read "Speak before you patch"
below.)
=head2 Browsing the source code repository
Use http://svn.perl.org/modules/dbi/trunk (basic)
or http://svn.perl.org/viewcvs/modules/ (more useful)
=head2 How to create a patch using Subversion
The DBI source code is maintained using Subversion (a replacement
for CVS, see L<http://subversion.tigris.org/>). To access the source
you'll need to install a Subversion client. Then, to get the source
code, do:
svn checkout http://svn.perl.org/modules/dbi/trunk
If it prompts for a username and password use your perl.org account
if you have one, else just 'guest' and 'guest'. The source code will
be in a new subdirectory called C<trunk>.
To keep informed about changes to the source you can send an empty email
to dbi-changes@perl.org after which you'll get an email with the
change log message and diff of each change checked-in to the source.
After making your changes you can generate a patch file, but before
you do, make sure your source is still upto date using:
svn update
If you get any conflicts reported you'll need to fix them first.
Then generate the patch file from within the C<trunk> directory using:
svn diff > foo.patch
Read the patch file, as a sanity check, and then email it to dbi-dev@perl.org.
=head2 How to create a patch without Subversion
Unpack a fresh copy of the distribution:
tar xfz DBI-1.40.tar.gz
Rename the newly created top level directory:
mv DBI-1.40 DBI-1.40.your_foo
Edit the contents of DBI-1.40.your_foo/* till it does what you want.
Test your changes and then remove all temporary files:
make test && make distclean
Go back to the directory you originally unpacked the distribution:
cd ..
Unpack I<another> copy of the original distribution you started with:
tar xfz DBI-1.40.tar.gz
Then create a patch file by performing a recursive C<diff> on the two
top level directories:
diff -r -u DBI-1.40 DBI-1.40.your_foo > DBI-1.40.your_foo.patch
=head2 Speak before you patch
For anything non-trivial or possibly controversial it's a good idea
to discuss (on dbi-dev@perl.org) the changes you propose before
actually spending time working on them. Otherwise you run the risk
of them being rejected because they don't fit into some larger plans
you may not be aware of.
=head1 TRANSLATIONS
A German translation of this manual (possibly slightly out of date) is
available, thanks to O'Reilly, at:
( run in 0.854 second using v1.01-cache-2.11-cpan-6aa56a78535 )