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