PHPPGADMIN TODO LIST FOR DEVELOPERS
-----------------------------------

phpPgAdmin is an open source project which means that if you see something on 
this list that you would like to implement, just send us a patch.  You can find
our project page here:

	http://sourceforge.net/projects/phppgadmin/

An item is marked 'claimed' when a username in brackets is put after the TODO
item.

An item is marked with a '-' if it has been completed.

Users
-----

* 7.3 user variables (eg. ALTER USER SET .. TO ...)

Groups
------

* -Alter group (chriskl)

Permissions
-----------

* Grant ... on all tables, views, ... to user, group, public

Databases
---------

* -Fix failure to drop database even tho seemingly no-one is connected to it (chriskl, bryan)
* Add alter database for 7.3+
* -Dump database using pg_dump streaming (chriskl)
* Comments on databases

Tables
------

* -Not using proper attFields array for attribute info (i was being lazy) (wontfix)
* -Rename table
* -Change table owner
* -Cluster support
* -Vacuum & analyze (bryan)
* -ORDER BY in Select function (can do so after the fact now - chriskl)
* -Unify Select and Browse functions (chriskl)
* Add option for showing table size counts

Views
-----

* Display, add, edit and drop rules on views

Sequences
---------


Functions
---------

* Browse function (set-returning-functions only)
* Syntax highlighting?

Indexes 
-------

* -Partial indexes (chriskl)
* Functional indexes

Types
-----

* Support new 7.3 anonymous composite types

Operators
---------

* -Properties (chriskl)
* -Drop (chriskl)
* Create

Operator Classes
----------------

* Unimplemented

Triggers
--------

* -Alter trigger (7.3+) (eg. rename trigger) (chriskl)

Aggregates
----------

* Properties
* Drop
* Create

Languages
---------

* -Display (chriskl)
* Drop
* Create

Domains (7.3)
-------------

* Done 

Conversions (7.3)
-----------------

* -Display (chriskl)
* Properties
* Drop
* Create

Casts (7.3)
-----------

* -Display (chriskl)
* Properties
* Drop
* Create

Settings
--------

* -Postgres 7.3 returns SHOW ALL as a proper result set - makes it easy to do a phpMyAdmin style 'view settings'.

Miscellaneous
-------------

* Support 7.5 functions for killing backend processes
* Printable view of things
* Allow simultaneous logins to different clusters (mark gibson)
* Show comments for all objects (Dan Boren)
* Allow setting/dropping comments for all objects (Dan Boren)
* Show owner for all objects
* Allow changing owner for objects that have this feature (7.4+ generally)
* -Config option to disallow pgsql and postgres logins
* Do David Smith's redireect idea to prevent refresh login resending password
* Translated FAQ

Exotic
------

* Support contrib/tsearch2 for easy full text indexes
* -Search for object feature (chriskl)
* Pivot reports (ADODB has a feature for this)
* Parameratised reports (use prepared queries)
* Full web accessability conformance

Principles
----------

* register_globals off support
* maximum error_reporting support - enforces code quality, reduces bugs and 
  improves security
* PHP 4.2 features used
* No HTML font, colour, layout tags.  Use CSS for everything
* One day we should make it all XHTML
* everything properly escaped - prevent sql injection and cross-site scripting 
  probs
* Support Postgres 7.0 and upwards
* psql -E is a cool way of seeing how to do schema queries
* Checking out older versions of describe.c in src/bin/psql in the postgres 
  distro is a good way of seeing how to query older versions of postgres for 
  schema information
* Put functions in the highest class possible.  For instance, simple selects 
  should be in BaseDB, whereas something that works for 7.1+ should be in the 
  7.1 class.  This will minimise bugs and duplicated code.
* Adhere to current coding standards
* Avoid using global variables if possible

