I am attaching the draft 1-pager for integrating the latest version of
phppgadmin into opensolaris for your review.
Regards,
thava
Template Version: @(#)onepager.txt 1.35 07/11/07 SMI
Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
PhpPgAdmin 4.2 Integration into Opensolaris
1.2. Name of Document Author/Supplier:
Thavamuni Alagu
1.3. Date of This Document:
26 Mar 2008
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The Community you expect to review your project:
Webstack
1.4.2. The ARC(s) you expect to review your project:
LSARC
1.5. Email Aliases:
1.5.2. Responsible Engineer: thavamuni.alagu at sun.com
1.5.4. Interest List:
webstack-discuss at opensolaris.org
databases-discuss at opensolaris.org
2. Project Summary
2.1. Project Description:
phppgadmin is a web-based administration tool for PostgreSQL.
This project integrates this into Opensolaris.
2.2. Risks and Assumptions:
The latest version for phpPgAdmin is 4.2beta2 and
the final 4.2 version is expected to be released soon.
The phppgadmin 4.2 supports all recent versions of postgres
including
the latest Postgres 8.3 targetted for Nevada. This is important
to integrate this latest version along with Postgres8.3 in Nevada.
The earlier released version 4.1.3 does not support Postgres 8.3.
If the release of 4.2 version is delayed, we may integrate 4.2beta2
first and update this to 4.2 final version at the earliest
opportunity.
This will be done after required level of testing for it's
stability.
4. Technical Description:
4.1. Details:
phpPgAdmin is a opensource web-based administration tool for
PostgreSQL
See http://sourceforge.net/projects/phppgadmin for more information.
PhpPgAdmin distribution includes collection of php files. It
does not
need compilation for particular platform. The distribution is
available
for download from the web in .bz2, .gz, .zip formats.
This would be configurable with the default apache server and
PHP that is shipped with Nevada. Note that this depends
on the PHP extension pgsql.so that is by default available and
shipped
with PHP. The source for PHP (including this pgsql.so extension) is
http://www.php.net
4.5. Interfaces
4.5.1. Interface Stability
The phppgadmin is designed to support all recent versions of
PostgreSQL.
For example, the phppgadmin 4.2 is designed to support Postgres 7.*,
8.1, 8.2 and 8.3 versions. Hence upgrading phppgadmin is usually
regarded as hassle free.
4.5.2. Imported Interfaces
NAME STABILITY NOTES
PHP5 Uncommitted PSARC/2007/168
Apache2 Uncommitted PSARC/2004/676
4.5.3. Exported Interfaces
NAME STABILITY NOTES
SUNWphppgadmin committed package
Files Layout uncommitted
All files will be delivered with single package and
will be installed in /usr/postgres/phppgadmin directory.
Package Name: SUNWphppgadmin
The file contents layout is as follows:
/usr/postgres/phppgadmin $ /bin/ls -RCF
.:
CREDITS domains.php privileges.php
DEVELOPERS fulltext.php redirect.php
FAQ functions.js reports.php
HISTORY functions.php robots.txt
INSTALL groups.php roles.php
LICENSE help/ rules.php
TODO help.php schemas.php
TRANSLATORS history.php selenium/
aciur.js images/ sequences.php
aggregates.php index.php servers.php
all_db.php indexes.js sql/
autocomplete.php indexes.php sql.php
browser.php info.php sqledit.php
casts.php intro.php tables.js
classes/ lang/ tables.php
colproperties.php languages.php tablespaces.php
conf/ libraries/ tblproperties.php
constraints.php links.js themes/
conversions.php login.php triggers.php
database.php logout.php types.php
dataexport.php multiactionform.js users.php
dataimport.php opclasses.php viewproperties.php
dbexport.php operators.php views.php
display.php plugin_slony.php xloadtree/
./classes:
ArrayRecordSet.php Reports.php plugins/
Gui.php class.select.php
Misc.php database/
./classes/database:
ADODB_base.php Postgres71.php Postgres74.php Postgres82.php
Connection.php Postgres72.php Postgres80.php Postgres83.php
Postgres.php Postgres73.php Postgres81.php
./classes/plugins:
Plugin.php Slony.php
./conf:
config.inc.php config.inc.php-dist
./help:
PostgresDoc70.php PostgresDoc73.php PostgresDoc81.php
PostgresDoc71.php PostgresDoc74.php PostgresDoc82.php
PostgresDoc72.php PostgresDoc80.php PostgresDoc83.php
./images:
themes/
./images/themes:
default/
./images/themes/default:
AddArguments.png OfferedReplicationSet.png
Admin.png OfferedSubscription.png
Aggregate.png Open.png
Aggregates.png Operator.png
AllUsers.png OperatorClass.png
AvailableReplicationSet.png OperatorClasses.png
AvailableSubscription.png Operators.png
Backup.png Paste.png
Cast.png Path.png
Casts.png Paths.png
CheckConstraint.png PrimaryKey.png
Cluster.png Privileges.png
Column.png Processes.png
Columns.png Property.png
Constraints.png RaiseArgument.png
Conversion.png Record.png
Conversions.png Records.png
Copy.png Redo.png
CorruptedDatabase.png Refresh.png
Cut.png RemoveArgument.png
Database.png Replication.png
Databases.png ReplicationSets.png
Definition.png Reports.png
Delete.png Restore.png
DisabledJob.png Roles.png
DisconnectedDatabase.png Rule.png
DisconnectedServer.png Rules.png
Domain.png Save.png
Domains.png Schedule.png
EnableArgument.png Schedules.png
Erase.png Schema.png
Execute.png Schemas.png
ExecuteSave.png Search.png
Explain.png Sequence.png
Export.png Sequences.png
Favicon.ico Server.png
Filter.png Servers.png
ForeignKey.png SqlEditor.png
Fts.png Statistics.png
FtsCfg.png Step.png
FtsDict.png Steps.png
FtsParser.png Stop.png
Function.png Subscriptions.png
Functions.png T.png
GurusHint.png Table.png
Help.png Tables.png
Histories.png Tablespace.png
History.png Tablespaces.png
I.png Tminus.png
Import.png Tplus.png
Index.png Trigger.png
Indexes.png TriggerFunction.png
Introduction.png TriggerFunctions.png
Job.png Triggers.png
Jobs.png Type.png
Key.png Types.png
L.png Undo.png
Language.png UniqueConstraint.png
Languages.png User.png
Listen.png UserGroup.png
Listens.png UserGroups.png
Lminus.png Users.png
Loading.gif Variables.png
LowerArgument.png View.png
Lplus.png Views.png
Node.png blank.png
Nodes.png title.png
ObjectNotFound.png
./lang:
Makefile english.php portuguese-br.php
afrikaans.php french.php portuguese-pt.php
arabic.php german.php recoded/
catalan.php hebrew.php romanian.php
chinese-sim.php hungarian.php russian.php
chinese-tr.php italian.php slovak.php
chinese-utf8-zh_CN.php japanese.php spanish.php
chinese-utf8-zh_TW.php langcheck swedish.php
convert.awk* mongol.php synch*
czech.php php2po* translations.php
danish.php po2php* turkish.php
dutch.php polish.php ukrainian.php
./lang/recoded:
README dutch.php portuguese-br.php
afrikaans.php english.php portuguese-pt.php
arabic.php french.php romanian.php
catalan.php german.php russian.php
chinese-sim.php hebrew.php slovak.php
chinese-tr.php hungarian.php spanish.php
chinese-utf8-zh_CN.php italian.php swedish.php
chinese-utf8-zh_TW.php japanese.php turkish.php
czech.php mongol.php ukrainian.php
danish.php polish.php
./libraries:
adodb/ errorhandler.inc.php lib.inc.php
decorator.inc.php highlight.php
./libraries/adodb:
adodb-csvlib.inc.php adodb-php4.inc.php license.txt*
adodb-datadict.inc.php adodb-time.inc.php readme.txt*
adodb-error.inc.php adodb.inc.php toexport.inc.php
adodb-iterator.inc.php drivers/ tohtml.inc.php
adodb-lib.inc.php lang/
./libraries/adodb/drivers:
adodb-postgres.inc.php adodb-postgres7.inc.php
adodb-postgres64.inc.php adodb-postgres8.inc.php
./libraries/adodb/lang:
adodb-ar.inc.php adodb-de.inc.php adodb-nl.inc.php
adodb-bg.inc.php adodb-en.inc.php adodb-pl.inc.php
adodb-bgutf8.inc.php adodb-es.inc.php adodb-pt-br.inc.php
adodb-ca.inc.php adodb-esperanto.inc.php adodb-ro.inc.php
adodb-cn.inc.php adodb-fr.inc.php adodb-ru1251.inc.php
adodb-cz.inc.php adodb-hu.inc.php adodb-sv.inc.php
adodb-da.inc.php adodb-it.inc.php adodb-uk1251.inc.php
./selenium:
Blank.html iedoc-core.xml
InjectedRemoteRunner.html iedoc.xml
RemoteRunner.html lib/
SeleniumLog.html scripts/
TestPrompt.html selenium-logo.png
TestRunner-splash.html selenium-test.css
TestRunner.hta selenium.css
TestRunner.html tests/
domviewer/ user-extensions.js
icons/ xpath/
./selenium/domviewer:
butmin.gif domviewer.css selenium-domviewer.js
butplus.gif domviewer.html
./selenium/icons:
all.png pause.png step.png
continue.png pause_disabled.png step_disabled.png
continue_disabled.png selected.png
./selenium/lib:
cssQuery/ prototype.js scriptaculous/
./selenium/lib/cssQuery:
cssQuery-p.js src/
./selenium/lib/cssQuery/src:
cssQuery-level2.js cssQuery-standard.js
cssQuery-level3.js cssQuery.js
./selenium/lib/scriptaculous:
builder.js dragdrop.js scriptaculous.js unittest.js
controls.js effects.js slider.js
./selenium/scripts:
find_matching_child.js selenium-browserbot.js
htmlutils.js selenium-browserdetect.js
injection.html selenium-commandhandlers.js
injection_iframe.html selenium-executionloop.js
js2html.js selenium-logging.js
narcissus-defs.js selenium-remoterunner.js
narcissus-exec.js selenium-testrunner.js
narcissus-parse.js selenium-version.js
se2html.js user-extensions.js.sample
selenium-api.js xmlextras.js
./selenium/tests:
README create_index.php drop_schema_bad.php
TestSuite.html create_schema.php intro.php
add_column.php create_view.php login.php
alter_column.php drop_column.php logout.php
alter_column_bad.php drop_database.php outro.php
config.inc.php drop_domain_fail.php sequence.php
create_database.php drop_index.php table.php
create_domain.php drop_role_bad.php
create_fk.php drop_schema.php
./selenium/xpath:
dom.js misc.js xpath.js
./sql:
reports-pgsql.sql
./themes:
default/
./themes/default:
global.css
./xloadtree:
xloadtree2.js xtree2.js
4.6. Doc Impact:
No additional effort planned for this integration.
The product comes with online help.
The INSTALL, FAQ files already shipped at the top level directory
provides installation/configuration instructions.
4.9. I18N/L10N Impact:
No additional effort required.
The product comes with translation support for wide variety
of languages for displayed messages in web interface.
4.10. Packaging & Delivery:
See section 4.5 Interfaces.
4.11. Security Impact:
By default, the installation of this package does not activate
any webserver (such as apache webserver) to include phppgadmin.
One has to setup the webserver to activate this.
4.12. Dependencies:
Configuring this needs any PHP capable webserver.
The PHP itself should be either configured and compiled with
built-in
support with PostgreSQL support or should have dynamic PHP module
pgsql.so available.
The current apache version 2.2 shipped with Nevada is PHP capable.
The current PHP version 5.2.4 in Nevada includes pgsql.so module.
5. Reference Documents:
Phppgadmin Home : http://sourceforge.net/projects/phppgadmin
6. Resources and Schedule:
6.1. Projected Availability:
6.5. ARC review type: FastTrack