GNUe Traffic #40 For 3 Aug 2002
By Peter Sullivan
An endorsement (I think) - "python might be crap, but we consider it a polished
turd - not diarreha like java ;) - or bloated gas cramps like C# (i.e. a crap
waiting to happen)"
Table Of Contents
* Standard Format
* Text Format
* XML Source
* Introduction
* Threads Covered
1. 24 Jul 2002 xml2sql utility and .gsd (GNUe Schema
Definitions)
2. 24 Jul 2002 GNU Enterprise's influence on other projects
3. 24 Jul 2002 CVS access issues
4. 24 Jul 2002 - 25 Jul 2002 Using the DCL e-mail gateway to accept
tickets from other applications
5. 25 Jul 2002 Using CVS or official releases on Microsoft
Windows
6. 25 Jul 2002 - 28 Jul 2002 Primary keys in Forms and hand-editing GNUe
Form Definitions (.gfd)
7. 26 Jul 2002 Application Server planning
8. 26 Jul 2002 - 28 Jul 2002 Visual Schema plug-in for Designer
9. 29 Jul 2002 Application Server API and multi-language
support
10. 29 Jul 2002 Contact Management and extreme database
normalisation
11. 29 Jul 2002 Navigator search path for Forms
12. 29 Jul 2002 GNU Enterprise tools as an alternative
application development environment to PHP
13. 29 Jul 2002 Status of GNUe Applications
14. 30 Jul 2002 Config for encoding in Reports and Forms
15. 30 Jul 2002 Walk-through on installing and running GNU
Enterprise
16. 30 Jul 2002 Preparing for Linux World Expo in San
Fransisco
Introduction
This Cousin covers the three main mailing lists for the GNU Enterprise project,
gnue (http://mail.gnu.org/mailman/listinfo/gnue) , gnue-dev (http://
mail.gnu.org/mailman/listinfo/gnue-dev) and gnue-announce (http://mail.gnu.org/
mailman/listinfo/gnue-announce) . It also covers the #gnuenterprise IRC
channel. A great deal of development discussion for this project goes on in
IRC. You can find #gnuenterprise on irc.openprojects.net:6667, or you can
review the logs (http://www.gnuenterprise.org/irc-logs/) . For more information
about the GNU Enterprise project, see their home page at http://
www.gnuenterprise.org (http://www.gnuenterprise.org) .
1. xml2sql utility and .gsd (GNUe Schema Definitions)
24 Jul 2002 Archive Link: "[IRC] 25 Jul 2002"
Topics: Common, Designer
People: Ariel Cal?, Jason Cater, Jay Felice, Derek Neighbors, Jan Ischebeck
Further to Issue #39, Section #11 (22 Jul 2002: Using schema creation tools to
set up GNUe Applications) , Ariel Cal? (ariel_) noted "the syntax for foreign
keys that you and jan are definining is not what the xsl's are expecting" .
Jason Cater (jcater) said he "has not defined any foreign keys - that whole
thing needs to be discussed - as jan is doing a lot of stuff in there" . Ariel
asked "so it is better that i speak to jan" ? Jason said "well - that wasn't my
point - but sure" .
Later, Jay Felice (Eraserhd) asked "Anyone with authority on xml2sql, .gsd in
here?" He was "not using gnue or working on it, but in the spirit of not
inventing wheels, would like to use xml2sql." Jason said "xml2sql is really in
the early stages - I don't think we are satisfied with its current state" .
Derek Neighbors (dneighbo) said "the idea of xml2sql is it will be part of
common - any product with a gpl compatiable license may use it. I dont
necessarily seeing us packaging it outside common - as ultimately in will be a
tool too small in the toolbox of GNUe to segregrate out. I think the idea is
that integrator and designer will provide solid interfaces to it" . He asked
that "before more changes are made to .gsd that they be documented and sent to
dev list" to keep everyone involved and up-to-date.
Jay said he "would like to collect multiple schemas into a composite schema."
Derek said "im thinking you do this with includes" . Jay said "the includes
could conceivably overlap, so the "combinator" would have to be smarter" - "I
need a schema to be able to add a field. ... or one row, or a table, or an
index." . Derek invisioned "we would provide update schemas" as an alternative
to the full scheme for new installs, addoing "we will have similar issues for
'package' management. Another idea i had was a schema 'diff' program or updater
so to speak - so if you have an existing schema/database and you want want it
to now look like schema X you could run this compare/diff utility and it would
create the schema necessary to do the updates" . Jay said this "is something
that I very much need. I wrote a dbdiff utility a long time ago, but it only
works on PostgreSQL databases and has some flaws."
Derek suspected "the first phase will be providing tags that do alter/drop etc"
which would allow you to have seperate schema definition files for upgrade and
new install. "Its not great because you have to maintain a separate update file
by hand - but it provides upgrade mechanism - ultimately a program should be
able to do compare 1.0.gsd to 1.1.gsd" and work out the differeces for itself.
Jay felt, based on his experience writing his own dbdiff utility, that "there
is no way for the database to "know" how to upgrade data structure without
destroying data." Jan Ischebeck (siesel) said "you need a: GNUe schema
transformation hint file" . Jay suggested "The hints would have to be fairly
complex" and gave some examples. He did not think "there's a way around a
tested upgrade script" written by someone who understood the logic behind the
changes "but the diff utility (which prompts) is useful for developing on one
db and publishing to another."
Derek said he would expect to do an upgrade script from each previous version
to the next - if people skipped upgrades, they would need to "simply apply the
upgrades in succession" . Jay still was not sure "why would the upgrade be a
.gsd?" Derek said that, by adding alter/drop/add to the existing insert/create/
update syntax in GNUe Scheme Definition (.gsd) files, .gsds could support both
- but if it would "make everyone feel warm and fuzzy to have a .gud gnue update
defition and maintain yet ANOTHER .xsl file?" he would not object, although he
did not see any real need. Jay said "I'm thinking that how I plan to use this
is tainting the conversation... at this point, I don't care about db
independence for my project."
Derek said "to me that is only reason xml2sql is around (db independence)" -
and to provide "a quick migration path" for converting from, say, PostgreSQL to
SAP-DB. Although "postgres is a good little database" , he was increasingly
finding "it has friggin issues - not as many as mysql but still" , giving some
examples involving type casting - "which is fine if you only want to use
postgres - but if you are doing any kind of x DB stuff you are hosed as its so
non standard" . He felt that "from what i have seen of SAP-DB i think thats
where its at - especially because its supported on windows exponentially
better" . It was "GPL - so even a better license than postgres ;)" , with all
the tools released under either the GNU Public License (GPL) or Lesser GNU
Public License (LGPL). He had had a really good response from their developers
with queries, and "we have committment from the SAP-DB team to work with us on
any issues we find in the python driver for SAP-DB" . He felt "from what i have
seen SAP AG might be one of the few big boys that actually gets free software -
i.e. SAP-DB was not a money maker for them anymore (oracle and mssql and db2)
were always chosen instead - but they wanted to keep it for those customers who
do use it and believed in it - they figured making it GPL would help draw some
new blood outside SAP R/3 users" .
Jay explained what he would want to use xml2sql for - as a way of doing a
consolidated schema from a number of php files, each of which defined "it's own
"interface" to the database." Derek felt "this is outside scope of our toolset"
as "gsd is mainly way to get cross db definitions." xml2sql could be used to
produce .gsds "then write a program that uses an xml parser to aggregrate them"
but "that doesnt solve your issue" . Jan suggested "the merging of schemata s
hould be done with gnue-designer - its quite easy to add wizards" , now that
support had been added for plug-ins, as discussed in Issue #39, Section #7 (
18 Jul 2002: GNUe Designer plug-in support) , "so writing a "merge schema X
wizard" should be quite easy." . Even if the underlying application was in PHP,
that "doesn't mean that he cannot use a GNUe Development tool" .
For the .gsd format, Jan asked "any objection against
?" Jay did not "like
uniqueKey/index/primaryKey, those should be the same, though. but all said, I
just care if it works." Jan said "I can understand why differentiating between
index and uniq index (=primary key), but doing 2 ways of specifying uniq keys
possibly makes programming a bit complicated :)" . Derek said "i need time to
look at what we have and where we are giong" but in principle "i like the idea
of