GNUe Traffic #12 For 19�Jan�2002

By Peter Sullivan

Telekinetic debugging techniques - "masta just needs to think about a program and he can make it's the gedi mind trick ;P "

Table Of Contents


This Cousin covers the three main mailing lists for the GNU Enterprise project, gnue, gnue-dev and gnue-announce. For more information about GNUe, see their home page at ( . Details of the mailing lists can be found at ( , ( , ( .

It also covers, on an intermittant basis (i.e. when I have time), the #gnuenterprise IRC channel. A great deal of development discussion is still going on in IRC. You can find #gnuenterprise on, or you can review the logs at ( .

1. IBM DB2 and GNUe

10�Jan�2002�Archive Link: "[IRC] 10 Jan 2002"

Topics: Common

People: Derek Neighbors,�James Thompson,�Jason Cater

Derek Neighbors (dneighbo) said he was " trying to get db2 to work natively on windows w/o odbc driver w/ gnue" . He had found some native DB2 python drivers on a Korean site ( and wondered where the drivers should be placed - the postgres and MySQL drivers appeared to be in different places. He wondered if he could test in directly in python without having to use GNUe Forms. James Thompson (jamest) said "i don't think that'll work with the prebuilts" Windows executables, " as the exe's create an image of a python install - thus you don't need python installed" .

Derek said "this could be a MAJOR thing if we can get to work here" as his employer could then use GNUe to replace Microsoft Access and a proprietary ODBC driver for IBM DB2 that cost $250 per user. They used this to access mainframe DB2 database tables for which "there isnt a 'mainframe' screen" . They had only made limited use of this so far "because odbc is so costly and pain to setup" .

Jason Cater (jcater) said the drivers should go in "c:\program files\gnue\extras" , creating it if necessary, but cautioned " I wouldn't recommend "developing" gnue code with the win32 prebuilt executables - as they are designed to be usable as is, so file locations may not make sense to a python developer" . James confirmed that " README.databases and from GNUe Forms Users Guide" explained how the connections.conf should be set up for IBM DB2. Jason explained that for DB2, you specified either " host and dbname OR service not both" - "oracle is the same way" .

Derek asked "how do you get debug to work for designer in windows?" . James said "isn't there a win32 and win32debug available on the site - install the debug" version instead. Derek did, and posted his debug output, saying "i think perhaps 'wizards' were broken ?" as it wasn't working even without the IBM DB2 driver. James said the wizards might have problems with DB2 as " i don't think we had any way to do introspection on db2 because none of us had it - so the drivers may not work w/ the wizards anyway" . Jason said this could be added "if you can point me to some docs on how to get a list of tables in DB2" . Derek said the problem seemed more fundamental - "Error: No database driver found for provider type 'db2'" . He would look at this later on GNU/Linux.

Later, he reported that he couldn't get the drivers to compile on GNU/Linux, as it was missing some libraries. He looked at downloading the IBM DB2 Personal Developers Edition to get the missing libraries. He confirmed that it appeared that the python drivers needed DB2 client libraries, which were not available "on windows for free" . James and Jason said Oracle was the same. Derek said it was sad as "the db2server license fee is per processor which i thought pretty cool - now they just ding you for seat licenses by making you have CLI libs" . He noted that the libraries for GNU/Linux were free, and wondered if he could use these on Windows via an emulator. However, this would probably be unwieldy due to the size of the files involved.

2. DotGNU and GNUe

10�Dec�2001�-�11�Dec�2001�Archive Link: "[IRC] 10 Jan 2002"

Topics: Why GNUe?, Application Server, Common

People: Barry Fitzgerald,�Derek Neighbors,�Daniel Baumann,�Jason Cater,�Reinhard M�ller

Barry Fitzgerald (fitzix) said "we're going to be using GEAS to some degree in DotGNU - and possibly other parts of GNUe" . He explained that DotGNU was "in the process of designing an alternative to .Net and Hailstorm - The premise being that webservices have a place in the future, regardless of what anyone thinks, and that MS shouldn't stand un-answered in that arena - that control of network authentication through passport and control of internet execution environment through .Net - even if it's only the potential control - would be devastating" . .Net consisted of an "intermediate langauge" called IL and languagues that compiled down to it, plus a set of libraries for "any component that communicates with XML-RPC or SOAP" .

Derek Neighbors (dneighbo) said that he thought Microsoft .Net was a threat to free software, " as it removes more control from the user when the doctrine of free software is to put power back in that very persons hand" . But he said he would "applaud (loudly) the efforts of dotGNU to not be like mono and just follow in .net's shadow " Barry agreed, but said "ignoring it won't make it go away, so we have to face it and turn it around on them" . Daniel Baumann (chillywilly) said DotGNU's main focus was freedom from Microsoft .Net "while also putting together a better system and downwardly supporting M$ .NET - so ppl can choose different providers" . Jason Cater (jcater) said it was not so much freedom from Microsoft "as "freedom" period!" . GNU as a whole was more than just anti-Microsoft.

Later, Derek said he thought web applications in general were over-hyped - "the applications that matter (payroll, human resources, procurement and finance) they run on an ibm mainframe w/ windows boxes that act as dumb terminals [...] the technology from 30 years ago is still winning [...] cause it does its job and when someones po or pay check is on the line, people dont mess with that" . Barry agreed - "I think Unix is far better in basic form than any new OS out there." . Derek said he feared that DotGNU could be seen as free software validating " that moving the business model from license fees to service to use (leasing) is ok" . The business model for free software such as GNUe was service-based, but the service was the "bandwith, processor and hardisk" not the software itself. The current GPL could not prevent free software ASPs (Application Service Providers) from keeping their modifications private, which could help them to acheive the kind of lock-in that GPL was meant to prevent. Jason said "I don't think derek is saying "modify the license"... I think he's saying that if software goes the webservices route we WILL lose freedoms... we can't stop it, but LET'S NOT PROMOTE IT" . Barry clarified "DotGNU is not simply about ASP's - that's not even our focus and it never has been" .

Later, he put forward a "hypothetical situation: what if the gov't mandates the use of a digital identity - would you prefer one that is Free and has multiple vendors, or one that is not and has only one?" Having to own or access proprietary software as a pre-requisite of being an effective citizen would be a bad thing. He said "The model is coming, one way or another - we have to decide whether we want to influence it or not" . Derek said " i can live with that answer" .

Earlier, Barry suggested "DotGNU and GNUe could benefit from an official relationship - starting with our endorsement and development of GEAS and moving on from there" . Daniel suggested involving Reinhard M�ller, "as he's the official GEAS maintainer " . Jason asked what DotGNU was " looking for in an App Server - as that's quite a broad term" ? Daniel said "same thing we are, imho - a general purpose app server where you csn describe the objects and execute their methods, etc." . Later, Barry asked about "any network protocol work" . Derek mentioned GNU-RPC (as discussed in Issue�#5, Section�#11� (26�Nov�2001:�The GNU Project - Meeting of the Minds) ), which was intended to be "an implementation agnostic rpc - i.e. an abstraction that speaks soap, xml-rpc, corba, dcom etc etc etc" . At the moment, this was being written in python, GNUe's preferred language, "BUT what would be REALLY valuable would be someone to do it in C" and other languagues.

3. Debian packages for GNUe

11�Jan�2002 (5 posts) Archive Link: "gnue in debian pool"

Topics: Application Server, Bayonne, Forms, Designer, Common

People: Maurizio Boriani,�Derek Neighbors,�David Sugar,�Reinhard M�ller,�James Thompson,�Jason Cater

Maurizio Boriani said " I've packaged and uploaded on debian pool all released geas sotware" . He also volunteered to make Debian packages for the other parts of GNUe. Derek Neighbors asked if Maurizio could talk on IRC, " As we really need our other packages in debian." David Sugar noted that " There is already a Debian maintainer for GNU Bayonne, so this one is covered." .

Reinhard M�ller thanked Maurizio for his work on packaging GEAS - " My believe is that a good communication between the packager and the "upstream" maintainer is highly important" . Maurizio agreed.

On IRC ( , Derek (dneighbo) explained they would like to see Debian packages for each part of GNU Enterprise - "gnue-geas, gnue-forms, gnue-common, gnue-designer - and eventually would like to make a task-gnue " . Maurizio (baux) said " task are deprecated" - this was now done by having a particular flag in the package description. Derek said this kind of information was exactly why they needed a Debian maintainer around! Maurizio volunteered " ok, could I be on navy?" and was welcomed aboard.

Derek explained that, as well as the external dependancies, Designer had a dependancy on Forms and Common, and Forms had a dependancy on Common. Maurizio said he had taken account of all of these. James Thompson (jamest) and Jason Cater (jcater) offered any support Maurizio needed - they were both very excited at the prospect of having GNUe Debian packages. Maurizo said that it could take up to 10 days for the packages to go through the approval committee, but in the meantime, he had put them " on my personal home page ( ."

James wondered if "IIRC python .pyc files are platform independent correct? if so the .i386 files may work on other platforms too" . Maurizio said he thought so, but said "don't worry usually debian porters'll check this point" . Derek asked if "we can try to get people to start testing them - or i suppose its better to wait until they " had been approved.

4. GNUe Application Server meta-discussions

11�Jan�2002�Archive Link: "[IRC] 11 Jan 2002"

Topics: Application Server

People: Reinhard M�ller,�Daniel Baumann,�Jason Cater,�Derek Neighbors,�Phil Cole

Reinhard M�ller (reinhard) said " i am sorry and highly unsatisfied with the current state of geas " . There had been lots of changes, some incompatible, since the last release 5 months ago. He hadn't had a chance to do any significant development for over a month and this was likely to continue for 2-3 weeks. He explained that they had rewritten the code that parses GNUe Class Definitions, but "some parts of geas use the new parser and some parts use the old one" This meant "i have to keep the new one compatible with the old as long as both are active - even for things we want to change in syntax" . Derek Neighbors (dneighbo) asked whether someone was looking at rewriting GEAS to use the GNUe Common database drivers. Reinhard said this had been discussed, but "we didn't end it because of my lack of time" .

Later, Daniel Baumann (chillywilly) asked for opinions "about collaboration with dotGNU and them wanting to use GEAS" , as discussed in Issue�#12, Section�#2� (10�Dec�2001:�DotGNU and GNUe) . Jason Cater (jcater) said he didn't "see how GEAS is related to generic application serving" , as it was a fairly specific "Object-to-Relational mapper with nifty features" . He said "I don't think you want GEAS to become overly all-inclusive" or over-reaching. Daniel said "well this is really reinhard's call and we all know GEAS needs help" . Reinhard M�ller (reinhard) said "the design goal of geas is to be the application server of the GNUe project and do everything GNUe needs - if others find they can use geas for other purpose this is their decision - i will neither talk them into it nor out of it - i would rather give them objective information if they ask for some - and of course i will be happy if they find geas even more useful than it was initially designed for " . He didn't know how other Application Servers worked, so couldn't say whether GEAS was generic or not, but said " that's not important for me" . Derek Neighbors (dneighbo) said "i dont think i see it as being 'object neutral' " - "i.e. i expect it to always derive its objects off gnue definitions" . Daniel said "I think we should use odl definitions" . Derek admitted "i am starting to have 'mixed' feelings on geas" and wondered if it should just be "a transport layer and remote methods" and not bother with mapping a relational database to objects, at least to just get something up and running to start with.

Later, Daniel pointed out that the original GEAS had been a "quick hack" and "no one likes it" . Jason said that Derek had only suggested "that maybe more effort could go into the transport and remote methods code instead of so much time being put in the object-to-relational part" . Daniel said " that part has been done" . He said " the only problem leaves the current code is much to be desired and no one really wants to build on it but rewrite it" .

Later, Derek said "btw: i have ALWAYS ALWAYS ALWAYS ALWAYS stated im pro designing software - but over all i will take something that works today than something that is most beautiful architected that never sees light of day" . He felt that the priority was to get GEAS working with GNUe Common, both for database access and RPC, and "get trigger language for both geas and forms sketched out" . He said "if that stuff gets doneand we are still at a stalled point then i say perhaps make a non object n tier option" . He added "in many ways i think we should be doing it all in python" . Phil Cole (fil_c) was "worried about the speed issue with python (but leave that until after it's done in python)" . Jason said " python is the perfect prototyping language - because it is so easy to pull slow python code out and replace w/optimized C code" .

5. Diagnosing problems with python

11�Jan�2002�Archive Link: "[IRC] 11 Jan 2002"

People: Jason Cater

Jason Cater (jcater) said that he had written "a fairly complex " diagnostics" script [...] it will show you all the pythons you have installed and whether each one has the requirements for GNUe" . This would help make support queries relating to the the Python dependancies for GNUe much easier.

6. Using Designer to design Navigator screens

11�Jan�2002�Archive Link: "[IRC] 11 Jan 2002"

Topics: Designer, Navigator

People: Jason Cater,�Derek Neighbors

Jason Cater (jcater) announced he was working on an extension to GNUe Designer to handle GNUe Naviagtor. This was proving easier than expected and showed that "Designer was less of a "hack " than I realized" . Derek Neighbors (dneighbo) asked if there was any documentation for Navigator yet.

7. GNUe Designer tutorial/masterclass

11�Jan�2002�-�12�Jan�2002�Archive Link: "[IRC] 11 Jan 2002"

Topics: Designer, Forms

People: Jason Cater,�Phil Cole,�Kenneth Reiszner,�Derek Neighbors

Jason Cater (jcater) explained that " Designer 0.1.0 is our first hack at a visual design environment for GNUe Forms" and, eventually, other parts of GNUe. He explained that, at the time of writing, "Designer could only "peek" into the table structure of Postgres when using "Wizards ", an automatic method of generating forms." Once you were "in the main design session you tell Designer what "text box" is associated with what postgres "field" and Designer takes your word for it." Kenneth Reiszner (kreiszner) asked what happened if you got it wrong. Jason said Designer wouldn't check, but Forms would "simply forward to you the error message that the database backend gave it" when you ran it. He said he was "in the process of adding drag-and-drop support so it shows you the tables in a side window and all the fields of that table."

Jason explained some Designer/Forms terminology:

Data Source
typically, a datasource corresponds to a table
or multiple tables.
these basically control the displaying of data sources. In other words, you can use a block to tell forms to display 10 rows from the data source at a time
These define the text fields, combo boxes, and check boxes.

Jason hoped he wasn't putting everyone to sleep, but several lurkers confirmed they were listening in intently! He explained "when using Combo Boxes, you have to specify a datasource that will be used to populate it " . When opening a sample form in Designer, " the first thing you should see is a window with a tree on the left and a gridded area on the right" .

Derek and Jason got Kenneth and Phil Cole (phil_c) set up with a Designer installation. Phil reported that "designer has just wiped out helloworld2.gfd when it had a problem saving a change i'd made " . Jason pointed to the Designer README, which warned that "WARNING: GNUe Designer 0.1.0 is not perfect code. Odds are, it will crash on you at some point (many points?), so if using on production forms, work from a copy and save often."

Later, Kenneth said he had been looking at the Contact Manager sample form, "and my 1st q is how is the data stored for address when there are multiple address types" ? Jason explained " the "Address" area of the screen is a single block even though the block only displays one record on the screen at a time, it can hold multiple records - that is what the < and > buttons are for" . Kenneth clarified "I mean how is it stored in the postgres db in multiple tables or what" ? Jason said "yes - each block corresponds to a table " . Kenneth said "then there is some kind of sql going on in the backgroud or at least relational arangement" .

Kenneth also asked "How do you create a boxes and buttons" ? Jason dismissed boxes as "screen eye candy" , but explained how to create them. Buttons were the same, " however a button can be associated with a "trigger" which is a piece of python code" . He suggested "I'd stick with basic forms (boxes, labels, and entries) and learn how that works before digging into buttons and triggers" - simple forms did not need them.

Jason fully recognised that "we still have some bugs to work out :)" . Kenneth said that "When MS Access first came out MS had the audacity to chg. $100 for a program that had bugs everywhere and much functionality missing so don't feel badly" .

The next day, ( Kenneth asked "When you are designing in forms, how do you create a field that is not already there, i.e. do you have to create the field or table in Postgres and then access it in forms or what?" . Derek (derek) said " You can right click on the form, and i think there is an option new-> then you select the object like -entry- and it will place it on the form (top left corner i think). Then you can drag it where you want it and open the property editor and you can change the properties that bind it to data" . This also meant " You can have entry fields that are NOT tied to databases" . This could be used for calculated or derived fields which then updated "via a trigger" . He added "if you are doing a NEW form i woudl use the 'wizard' as you simply point it to a database" and it would look up all the fields for you.

Kenneth asked how you would tie a trigger to a field. Derek said "I know there is a 'trigger' editor in deisgner but i havent used it yet. I think you right mouse click and to add trigger you create the type, go to shared triggers on the right hand tree and do right mouse click and choose add new shared trigger. Then double click on the new trigger branch that was created, change the name property to something meaningful, then go to a widget you want to bind the trigger to and double click it (on the tree in the left). It will bring up property dialog. Then change the tab to events. On the event tab you should get diff events like pre-focus-out and such. Then you can set it to call the trigger you just created. Then in the trigger editor you can write code for the trigger" . However, he warned "i think the designer in the 0.1.0 release is pretty buggy with regards to triggers " .

Later, Derek expressed a need for "a designer users guide w/ purdy screenshots" . Jason said " we hare the start of GNUe Designer's Guide: Forms in designer/docs - I was gonna wait until the new Designer before adding screenshots" . He later noted that "hopefully by the end of the day, designer will have a real event/trigger editor" .

Kenneth started using the GNUe Designer wizard - "should I be in blank form" ? Derek said yes, "then click on menu item File -> New -> From Wizard. This should launch a dialog box. In the box should be 'simple form wizard' (highlight it if it isnt already) and click 'run wizard' button - it should launch another dialog. Type 'Test Form' in the title and from the connection drop down box, choose the one that has your gnue database - i.e. it should say '[gnue]' at the end - then click continue." You would then be asked for database user name and password. Kenneth had some initial problems, as his postgres database wasn't starting up automatically, but later reported "I got the wizard to work in gfdesigner." .

8. HTML client for GNUe Forms

13�Jan�2002�-�15�Jan�2002�Archive Link: "[IRC] 13 Jan 2002"

Topics: Forms

People: Michael Maluck,�Jason Cater,�James Thompson

Michael Maluck (madlocke) said he was " working on layout managers" for the HTML client for GNUe Forms. He said "now boxlayout and gridbaglayout is working - much code is from java's awt and swing. It now spits out absolute x,y cooridates as relative ones too " . Jason Cater (jcater) said they had been holding off making any changes to the main GNUe Forms client until they saw Michael's changes. Michael gave an example of the XML structure he was using within the HTML client. Jason asked whether " you are only working in the UI stuff currently?" Michael confirmed he had been doing some work on the event system, but the priority was the layout manager - "other things are ideas i have to discuss" . He was trying to make sure "that basic ui stuff is really in UIbase and not in UIwxpython" - he wanted "to do wx and web at same time so i don't put ugly dependencies in the drivers" . Jason said other people could help out where possible - "that's one reason we would like to see the code" . Michael said he would send it tomorrow - "not all widgets are supported yet, but i think as soon as the basic stuff works good it is no problem to add other widgets" , although "scroll pane can be something more difficult for web driver maybe" .

Two days later, ( Michael e-mailed the files to James Thompson (jamest) and Jason. He said that the HTML code "it is a bit further than wx" . James said "once we get this stuff folded into cvs then we'll be able to lend a hand w/ cleanup - as the return of multi ui support will be huge" . Michael confirmed "the layout managers spit out absolute coordinates too ;) so it will be usable for curses " . For the moment, he was doing absolute positioning in HTML "using css absolute positons... this will change later maybe..." James said " we'll look it over - probably bundle up a common/forms release - or at least tag cvs for such a release - then start merging in ideas and code" .

9. Additional functionality for GNUe Designer

13�Jan�2002�Archive Link: "[IRC] 13 Jan 2002"

Topics: Designer

People: Jason Cater,�Derek Neighbors

Jason Cater (jcater) said he had added " code-coloring (syntax highlighting) and autocomplete" to GNUe Designer, although auto-complete wasn't yet finished. Later, Derek Neighbors (derek) said "i like how you made object navigator 'floating' but i think it should be 'dockable' i.e. you should be able to dock it where it used to be " . He also asked "are there 'hotkeys' for focus? if not can i add those?" He had used these a lot in Borland.

Three days later ( , Jason Cater (jcater) pointed at one ( or two ( new screen shots from GNUe Designer. He explained "the "Schema" tab is a list of fields from the database - and yes they can be dragged onto the canvas to automatically create "Entries"" . Derek Neighbors (dneighbo) thought this "is pretty damn cool" , and that he would have to start writing the User Guide soon, as Jason was adding features faster than he could document them! He confirmed that "i ASSUME that the schema tab isnt 'odbc' friendly" , as ODBC couldn't do introspection to find out what tables and fields were available. Jason confirmed this, but said "it shouldn't crash - it should just stay blank" Derek suggested "it might be worth either throwing a dialog box" or some other kind of "cant introspect" error message.

10. Testing GNUe Navigator

13�Jan�2002�Archive Link: "[IRC] 13 Jan 2002"

Topics: Navigator

People: Derek Neighbors,�Jason Cater

Derek Neighbors (derek) installed GNUe Navigator and commented "its MUCH different than i expected " . Jason Cater (jcater) explained " this is what jamest and I needed at first" but "I expect GNUe Nav to be several different things" He added "gnuenav --install-gnome-menu will actually install shortcuts to the forms in your GNOME menu - this is completely different than just plain gnue-nav. I expect later on to have a menu plugin to forms - not sure if you see where I'm going or not" . Derek said he was, for himself, "somewhat disappointed as if its not contained w/ in app is not a big step for me personally " . However, "its a damn good start though - as just getting an xml definition and having it readable is a big deal - the navigator portion is definitely functional from what i am looking at" .

11. GNUe 'Official' Applications

16�Jan�2002�Archive Link: "[IRC] 16 Jan 2002"

Topics: Why GNUe?

People: Daniel Baumann,�Derek Neighbors,�Neil Tiffin

Daniel Baumann (chillywilly) asked, if people wrote applications using the existing 2-tier tools - " with forms, reports, etc. how does this fit in with GNUe, what things will constitute an official GNUe package?" . He said he was working on "sofwtare to manage a TRIO program - I wanto use forms and convert our stinking PHP code to using GNUe Forms + python. I was wonder how such a solution would fit into the grand scheme of GNUe - any ideas?" . He said "I suppose we are going to have generic packages that one would extend to a specific enterprise?" .

Later, Derek Neighbors (dneighbo) said that several GNUe team members had used the GNUe tools for particular projects, but they were "not for redistribution - the reason why is because they were bolted on to existing systems i.e. highly customized" and dependant on existing proprietary systems. They were thus not a sensible basis for a generic GNUe Application under the GNU Public License. Daniel said that " this app that I have is useful to programs all over the country (potentially anyway ;) )"

Derek said that he and Neil Tiffin had discussed how accrediting "'official' gnue apps" might work, "but i dont think we have an 'official' view yet" . He said "my thinking is at this point write what you need, but try to adhere to 'similar' philosphies - or if you want it to be official right of box step up and be the first :) i.e. force us to make the decisions we havent had to yet :)" This wasn't just procrastination, "as on many items we ahve 'discussed' but havent been happy w/ a single answer and we felt it best in some respects to let the first 'application authors' hit the wall so we could have more 'real' data in which to base our decisions" . He added that, as at the time of writing, provided an application was released under the GNU Public License and used GNUe Form Definitions, "there is good chance it will get plenty of press from us :)" .

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.