Google Summer of Code Proposals

Revision 1 Revision 2

Proposal 2: Multi DB support (MySQL, PostgreSQL, ODBC)

It will be possible to choose the database (mysql, mysqli, postgres, or odbc
supported databases). With ODBC, it is theoretically possible to support the
following databases:

Detailed description:
I am Edvard Ananyan, a 19 years old undergraduate student at Yerevan State
University majoring in Applied Math and Applied Physics (Department of Physics)
and highly interested in computer science. For more info about me, please visit

I offer to develop a method for using Joomla with databases other than MySQL.

The project consists of the following steps:
  1. Creating a new library (in libraries\Joomla\database\database). It
    will be like mysql.php or mysqli.php libraries: first, postgres.php,
    and then odbc.php.
  2. The changes will be made in the procedure of installation, so that it
    will be possible to choose one of the available databases.
  3. Installing Joomla based on postgres, and solving all the problems that
    will appear during the process of installation.
  4. Testing with postgresql. (This is to be done before the mid-term)
  5. Installing it based on odbc and solving all the problems that will
    appear during the process of installation, and paying attention to
    specific odbc problems.
  6. Testing with odbc (e.g. for Oracle or Sybase)
  7. Developing documentation with the detailed descriptions and
    specifications of databases. The documentation is to be taken into account
    while creating new Joomla features.
I will use the following tools:
  1. PHP
  2. As much Joomla API as possible
  3. ODBC matching drivers on both Unix and Windows

With my participation in GSoC I hope to make new contacts with my colleagues around
the world, and, of course, to get valuable knowledge, skills, and experience.
Buy Oil Paintings, Acrylic Paintings, order custom painted Murals, Portraits, Landscapes, Still Lifes, Flowers, Replicas and Art Prints on
Translate and make your website multilingual with GTranslate.