ERRORS: 1. Make it so SERVER_ROOT can be changed in projects configs. 2. Find out what that temp in GUPPS.py line 726 was suppose to be for. Finish Xml, encyrption, and conversion stuff first. Important things to do: DONE 3-15-2002 1. Fully add Python. DONE 7-4-2002 2. Convert Perl script to a Python Script. DONE 2-05-2002 3. Add PHP modules and web scripts. 4. Add ability to change tables where: a. new columns get added. b. deleted columns actually happen in this manner: 0. Warn users data is temporarily going to be doubled, and the archive will contain a copy of the data before changes. 1. Table get renamed 2. New table gets created. 3. New table gets populated with data from old table with only the columns we want. 4. Data/Table deleted get archived. 5. Add run-time options: Mostly finished on DONE 7-4-2002 with just a few more to do. DONE 7-4-2002 a. Select only to recreate the stored procedures. DONE 7-4-2002 b.Select only to output commands,but not to execute them. DONE 7-4-2002 c. Select only one programming language to do. DONE 3-15-2002 (Perl, plpgsql, or Blank -- add Python later) d. Select which programming language to create the clean stored procedures (Perl, Python, etc) or none at all. DONE 7-4-2002 e. Create the database if it doesn't exist. CANCEL f. Add ability to do multiple databases at a time. DONE 7-4-2002 g. Select only portion of stuff to be done, views, sequences, tables, functions, etc. and save anything not done in "TABLENAME.not_executed". Narrow it down to each individual component (view, sequence, etc). We need a gui to have complete control. h. Don't create/delete/alter tables unless specified. Perhaps make this a config option and set the default to be on or off. DONE 7-4-2002 i. Use backup tables as an option (if no, alter stored procedures). j. Use perl, php, python, or psql to connect and execute commands. DONE 7-4-2002 k1. database connection options, port, ip, DONE 7-21-2002 k2. username/password. DONE 3-16-2002 6. Sample setups for perl, php, python, etc. DONE 3-16-2002 7. Include timestamp, all int, all char, and all varchar fields, and numeric in setup of scripts. DONE 7-21-2002 8. STARTED 7-4-2002 Make it so there is a customized section for modules, where add-ons get integrated to defaults modules. Default modules stay separate from add-ons. Basically, if people "upgrade", we don't want their changes to the default modules to get blown away. -- I think Perl has this, check other languages. 9. Add a GUI interface similar to myphpadmin. DONE 3-16-2002 10. Add ability to use choose Perl, Python, or NONE as the language to handle stored procedures to manipulate data for SQL stored procedures. DONE 3-16-2002 11. Create Python stored procedures as samples and switch from Perl to Python for stored procedures by default. -- This is now possible with PostgreSQL 7,2 and has been tested 3/4/2002. DONE 3-15-2002 12. XML modules for Perl. 13. XML modules for Python and PHP. -- DONE for Python. Also, add Xpat for Perl. Create a generic format for parsing XML in Php, Perl, and Python using xpat. DONE in python 7-4-2002 14. The most important thing to do is to have our Perl or Python script connect to our database, see if the tables, views, sequences exist (choose Perl, Python, or PHP), and if they don't (after a successful connection), create them by default. Then, we need the ability to modify tables (add columns and drop columns -- dropping could be renaming a column and not using that column). Thus, the detection can make things automated so you don't have too worry if you clobber live data in your tables and stuff. DONE 7-4-2002 (needs testing) 15. Just like the Perl Misc module, let the PHP and Python Misc modules also work with files for zip, gzip, uuencode, etc so that they are a mirror of the Perl options. 16. Check to make sure all the misc modules in Misc actually work right for Perl, Php, Python with uuencode, binhex, hex, etc. 17. Use XML to define tables. DONE 7-4-2002 18a. Use an install.bat file to select python, php, or perl to execute GUPPS. 18b. Call the main script "GUPPS" with Perl, Python, and PHP versions which do the exact same thing and do the exact same commands. Thus, GUPPS.py, GUPPS.pl, and GUPPS.php. Python will be the default language to develop first and the other languages follow. NEEDS CONVERTINGa. Perl DONE 7-21-2002 b. Python DELAYED c. Php 19. Create ZOPE modules written in Python and Perl which Zope can use. Can they just use the Python Modules and be done with it? 20. For Python, implement all stable DB 2.0 complient modules starting with pygsql, and then PyGreSQL. 21. Create a GUI, web, and line-command versions for all 3 languages. which is a little rediculous. The idea is to be abel to use any of the supported languages under any interface to configure any of the languages. Start with Python and work towards Perl, Php, and others. 22. Add the latest version of Apache (and maybe Zope). and let people enter options to compile, install, and test the webservers on an non-restricted port with GUPPS. 23. Autodetect which languages, database sevrers, webservers, and other stuff the person has on their system. 24. Suppport different databases in the following manner: a. If postgresql, use stored procedures and only postgresql that supports multiple rows with multiple columns. b. If orcale, stored procedures. c. Other, then use a generic sql database calls which simulate stored procedures. 25. Do SDS level 2. 26. Do recursive info get on a row connected to other tables. 27. Do table definitions in XML. 28. Use PostgreSQL 7.3 only and get the new stored procedures which can return multiple rows with multiple fields. Things to do only if someone volunteers: 1. Add JAVA modules and web scripts. 2. TCL modules and scripts. 3. Perl ASP 4. Perl Mason 5. ZOPE -- this is the next one besides perl, python, and php.