GNUe Traffic #11 For 12�Jan�2002

By Peter Sullivan

"The reason why GNUe is so IRC oriented - that has historical reasons. GNUe was a mailing-list project for 3 years with zero implemented code. Then we started irc and within 1 month we had some prototypes"

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. Assertive marketing for GNUe?

1�Jan�2002�-�5�Jan�2002 (5 posts) Archive Link: "Top Ten Questions to ask your proprietary ERP salesman"

Topics: Why GNUe?

People: Peter Sullivan,�Stan Klein,�Derek Neighbors,�Neil Tiffin

Peter Sullivan noted that some ERP salesmen liked to suggest "tricky" questions to ask their competitors, and "wondered what a GNU Enterprise equivalent might look like... Top Ten Questions to ask your proprietary ERP salesman" , together with the answers for GNU Enterprise.

  1. I'm paying how much and I'm not allowed to know how it works?
  2. Am I too small for your package?
  3. What happens if my level of activity increases?
  4. What standards do you support, and how are they licensed?
  5. How does this work with the stuff I already have?
  6. What level of support will I get?
  7. What happens if I want to customise the package?
  8. What happens if you go bust?
  9. What happens if you get taken over?
  10. What happens if we don't get on?
  11. How often must I upgrade?

Stan Klein added an extra question - " What happens if the needs of my business don't match the features of your software?" . He gave an example where one major manufacturer had reviewed an ERP package "and found that the package was based on their principal competitor's way of doing business." . This would have lost them their major competative advantege of a more effective business process. Under the GNU Public License, you could amend GNUe to reflect your own business processes, and keep them private if desired.

Derek Neighbors said "This is good stuff, hopefully some of it will make it into our marketing campaign " , and in the meantime he suggested adding it to the FAQ. Neil Tiffin said the FAQ was quite large already, but "A separate doc would be great." An HTML document would "get indexed by the search engines" , which was important.

2. Two passes in GNUe Class Defintions parser

5�Jan�2002�-�6�Jan�2002�Archive Link: "[IRC] 5th Jan 2002"

Topics: Application Server

People: Daniel Baumann,�Reinhard M�ller

Daniel Baumann (chillywilly) said GNUe Application Server (GEAS) "should use multiple buffers to do includes for the parser - then you only need one pass" to parse a GNUe Class Definition (.gcd). He posted part of the current GEAS code - "kind of a depth-first algorithm - jsut keep following the includes" . However, this meant it had to use two passes. He said he would "fix it to use something similar" , giving some alternative, shorter, code in flex. He commented "hmmm, I am liking this flex guy already ;P" .

The next day ( , Daniel wondered " why does reinhard count lines himself instead of using the yylineno option?" . Later, Reinhard M�ller (reinhard) explained that, according to the flex documentation, it was "an undocumented feature of Lex that does not appear in Flex or POSIX."

Daniel had also asked " I don;t get why he would define his own alphanum, etc. either when there's [:alphanum:], etc. classes that you can use" . Later, Reinhard explained " it wasn't documented in my copy of the flex manual" and in any case, "i'm not sure if non-gnu lex does have this feature too" . He would be keen to change it "if you can give me a pointer whether std lex understands [:alphanum:] or not" . He admitted "i have a lex incompatibility somewhere anyway" , as the parser would not work on Solaris lex. The person with the problem had just installed flex (GNU lex) instead, as that was quicker than trying to trace the error.

Earlier, Daniel said he had " got through reading the flex manual" and referred to "the part about multiple inputs streams and their little example about how you could process includes in a depth first fashion" . He wondered if GEAS could use this to "save a whole 2nd pass from having to happen" at all. Reinhard M�ller (reinhard) said "we will not need includes at all - even if some gcd depend on others" He explained "some magic code in depend.c will decide in which order the gcd files should be processed" . This was the reason for the two passes - "first pass: register which symbols are defined in which file - then: find an order in which the files can be processed so that every symbol is defined before it is used - second pass: do the real parsing of the files, in the needed order" . Daniel said " that seems to make things harder" to code. Reinhard agreed, but said it would make writing .gcd files easier. All of the gcds would need recompiling every time anything changed in any case - "for example you could delete an object from a gcd file - and other gcd files could reference that object - so those other gcd files would become syntactically wrong - which you wouldn't know if you didn't process all of them" . It was important to make .gcd files maintainable by non-programmers, if only for "minor changes like adding a field to a class or so" . Daniel said that includes were part of the Object Definition Language (ODL) that GNUe wanted to use. Reinhard hadn't seen the specification, "but i would say if we can be compilant to odl except that we have less constraints then it would be better than to be die-hard odl compilant" .

3. Old and new parser for GNUe Class Definitions

6�Jan�2002 (1 post) Archive Link: "[Gnue-dev] Adventures with geas: strange old parser?"

Topics: Application Server

People: Holger Schurig,�Reinhard M�ller

Holger Schurig reported problems compiling the CVS version of GNUe Application Server. When running it, he was getting multiple errors for "Duplicate class name found " , and the load was aborting with too many errors.

On IRC ( , Reinhard said that, at the moment "parts of the code use the old parser and parts use the new parser :( as i am in the middle of the transition " However, the parsers themselves were independant of each other. He explained "to start geas you would only need the new parser but to do inserts/updates/selects etc. the info is taken from the old parser " as at the time of writing.

He explained that the old parser used a list of reserved words for each supported database to avoid conflicts. Since then, it had been "decided to prefix every column name for the database with the modulename and a double underscore." A by-product of this was that "because no reserved word of (IMHO) no db of the world contains a double underscore - we can be 100% sure that no column name of ours conflicts with a db reserved word" . He added that "this is not yet done to keep compatibility with the old parser as long as some part of the code uses the old parser- but is already marked as TODO in the new parser code " . However, the old check on reserved words had already been removed in anticipation of this.

Holger Schurig (holsch) said this meant " that the current CVS geas-server cannot be used, not even for "finding out what it is"" . Reinhard said "it should run with the old and the new parser in parallel" . Reinhard and Holger did some work on tracking down the problem Holger was having, and discovered that Reinhard's setup worked with "GNU Bison version 1.25" , but Holger's setup failed with "bison (GNU Bison) 1.30" . It was also discovered that there was a "Duplicate class name found" , as the "person" class was being defined twice in different modules. Reinhard felt this vindicated the decision to prefix column names with module names - "this problem is one of the main reasons i rewrote the parser" . He also noted that "the old parser relies on undocumented behaviour of bison and appearently doesn't work under bison 1.30 " .

4. Case insensitivity in GNUe Class Definitions

6�Jan�2002�Archive Link: "[IRC] 06 Jan 2002"

Topics: Application Server

People: Reinhard M�ller,�Daniel Baumann,�Holger Schurig,�Neil Tiffin

Reinhard M�ller (reinhard) said " i think it is better to be case insensitive in gcd files" , saying "it doesn't make sense IMHO to define a symbol foo and another symbol FOO and have different meanings for them" . Daniel Baumann (chillywilly) said "I always hated case-insensative systems " , noting that "C and C++ don't seem to bug me to much with their case sensativity ;)"

Later, Holger Schurig (holsch) said " Basically I like Turbo-Pascal and Delphi and they are both case- insensitive. But then again I hate to look at other's source codes because they uppercase" . Neil Tiffin (neilt) was more emphatic - "i hate upper case" , and added "in direct marketing all upper case is 15% harder to read" . Holger said " I used mixed case for vars and uppercase for keywords in Pascal, that way the keywords did stand out, even without a syntax-highlithing editor" . Neil asked "do non-syntax-highlighting editors exist today" ? He thought "the poor programmers that use those must feel like they live in the 18th century :)"

5. Extending variable types

6�Jan�2002�Archive Link: "[IRC] 06 Jan 2002"

Topics: Application Server, Forms

People: Holger Schurig,�Neil Tiffin

Holger Schurig (holsch) asked if GNUe had considered creating variable types that included "not just the type "char(64)", but also how the label should be named, what lookup-table to use and so on. Whenever you use this variable type in a table or form, it would inherit this" . Neil Tiffin (neilt) said "we have that but forms designers have not warmed up to it - we treat it as a data element" . Holger gave an example of what he meant - " Basically the possibility to define lots of properties." . Neil said GNUe "used a different structure" . Holger said he would investigate further.

6. Load balancing for GNUe Application Server

6�Jan�2002�Archive Link: "[IRC] 06 Jan 2002"

Topics: Application Server

People: Daniel Baumann,�Holger Schurig,�Reinhard M�ller

Daniel Baumann (chillywilly) asked about "replication an load balancing" for GNUe Application Server (GEAS). Holger Schurig (holsch) said "load balancing is often done with transaction monitors ... even built in ones" . Daniel explained that "the dotGNU ppl want an application server but they were talking about writing it in C# to test out" their own complier. He said there was " a good link (,p=AuthClusters) about how IBM does load balancing with Open LDAP on the dotGNU developers list" . Reinhard M�ller (reinhard) said he wanted to get GEAS working first before thinking about load balancing! Holger said he had "seen a similar HA solution for SAP DB." He explained "It used NBD (Network Block Device) from linux to mirror the database and log of two computers and used also ( 's heartbeat for the take-over." .

7. Python XML libraries for GNUe

7�Jan�2002�Archive Link: "[IRC] 07 Jan 2002"

Topics: Forms, Designer

People: Christian Selig,�James Thompson

Christian Selig (sledge_) reported problems installing GNUe - "the programs (forms, designer) tell me that i don't have the python xml libs, but i certainly have them. " James Thompson (jamest) asked " do you have the python xml or the python SIG PyXML installed - you need the PyXML one" . Christian said he had "installed the debian package for " xml support for python 2.x"" . James confirmed that was correct. Christian "was running from CVS, but my last cvs update was about two weeks ago, haven't tried again since then" . James asked "do you still have python 1.5.x installed?" Christian said "no, that was my first guess, 1.5.x interfering with 2.1; i have uninstalled 1.5.x - didn't help" , but he wondered if there might be " some environment variable that points to the old libraries?" James said he had had to remove python 1.5.x, and hadn't had any problems. Christian said the had failed - he had fixed this, but only by commenting out "the "import"s of the xml libs" . James suggested " to install pyxml from source ( " . Christian agreed - " that should be the easiest way - though i don't like it on a system with usually clever package management :-)" . James was still bemused why he hadn't had problems with a very similar set-up. Christian said "if i find the error, i'll drop a mail to the list(s)" .

8. Current Status of GNU Enterprise

7�Jan�2002�Archive Link: "[IRC] 07 Jan 2002"

Topics: Forms, Designer, Application Server, Common

People: Christian Selig,�Reinhard M�ller,�James Thompson,�Jason Cater

Christian Selig (sledge_) noted that " forms seems to be quite good in 2-tier, how well off is geas and designer?" . Reinhard M�ller (reinhard) said "geas is alpha state to be honest - we got an application server contributed by a company and are in the process of adapting it to our needs" . James Thompson (jamest) said "designer works ok" although " our mouse support is alpha quality at best wrt dragging widgets arround" . He confirmed that python was the preferred/only scripting language so far - " we've talked about support other languages inside triggers but we've put no effort into making it happen" . Christian siad "don't worry about other languages; it's better to have one language supported well than having a dozen unmaintained. but you already know that. :)" . He wondered "btw, why have you choosen corba over xmlrpc or soap?" . James said that Jason Cater was working on GNU-RPC as part of GNUe Common " which should (when done) allow you to plug in comm systems like you do database drivers" , so GNUe could ultimately support all three and more.

9. GNUe EWOK and GNU Comm

7�Jan�2002�Archive Link: "[IRC] 07 Jan 2002"

Topics: Bayonne, Integrator

People: Derek Neighbors,�Nick Rusnov,�Daniel Baumann

Derek Neighbors reported an attempted posting to the now-defunct GNUe EWOK mailing list asking "where or how to buy ewoks stuffed animals from the 1980s." EWOK had actually been "enterprise wide office kommunication" , which had been dropped in favour of working with GNU Comm/Bayonne. Nick Rusnov (nickr) asked "is this supposed to be like jabber?" Derek said it was a "generic protocol for phone type devices - specifically fax - though jabber could have been used too" . He was looking forward to some more co-operation with GNU Comm/Bayonne soon, but nothing had been oficially agreed yet.

Derek also noted " at one time we had gedi - gnu enterprise data interchange/ interface" , but this had evolved into GNUe Integrator. Later, Daniel Baumann (chillywilly) lobbied for the "return of the gedi" - "you guys had cool star wars-like names back in da day" .

10. Menus for GNUe Forms

8�Jan�2002�Archive Link: "[IRC] 08 Jan 2002"

Topics: Navigator, Forms, Designer

People: Holger Schurig,�Derek Neighbors,�James Thompson,�Jason Cater,�Nick Rusnov

Holger Schurig (holsch) asked " Is there any means for calling other forms?" . Derek Neighbors (derek) said " i know we are doing it in forms itself - but whether easy way to make it in gfd file im not so certain" . Holger asked if there were any sample forms in CVS that demonstrated this. Derek said no, but " i might have a personal one around here that does - its a fairly simple python call" . Holger asked if " That means that basically you have to program menus on your own " ? Derek said " currently what we have been doing is creating 'speed bars' i.e. make a form that has buttons on it" but "we are starting to make real applicaitons now and MENUS are a MUST" .

Later, James Thompson (jamest) also said " we need a forms browser - I'm getting too many forms for users to remember names of them" . Jason Cater (jcater) asked "What do you think of the process idea we had earlier ( " ? He could " I can get my guy inhouse to do a quick menu based on this xml markup - it wouldn't be hard w/gnue-common" . He needed "something like this soon as well" , as did Derek (dneighbo), who also referred to the earlier discussion.

Holger said "For small projects a static menu would be fine, but for a full-blown ERP you need some access restritions" in "a database-driven menu " . Nick Rusnov (nickr) suggested GNUe could " have a cgi script that generates the list in the form of an xml file" dynamically for the Forms client. Holger though this would make "installation more and more cumbersome." He preferred "Having this inside the CORBA datastream" .

Jason Cater suggested "let's slow down a bit :) I think the current plan of attach is having an XML process definition to send to the navigator/menuing system" . This would eventually include Role Based Access Control, but to start with the XML files would need to be generated manually, or "with designer when it supports it :)" He confirmed the XML would be a fairly abstract list of forms, without physical mark-up - it would be up to the client to work out how to display it. Derek agreed - "we can get more complex as we go " .

Not much later, Jason Cater reported " first draft of GNUe Navigator is in cvs - currently wx only - it's butt-ugly, but functional :)" Derek had a vision that "i could see this go from menu to supporting roles in a workflow like capacity to tying to a 'real' workflow engine - but for now its simply an application container to launch other forms and reports and such" . He asked if it could be made to do actions other than just "calling runForm or runReport" , such as "export data or import data or launch application x" ? Jason said " right now it supports forms and reports but if you look at the XML markup, you can see that can be extended to other things" .

11. Next release of GNU Enterprise

8�Jan�2002�Archive Link: "[IRC] 08 Jan 2002"

Topics: Forms, Designer

People: Charles Rouzer,�Derek Neighbors,�Jason Cater

Charles Rouzer (Mr_You) asked " anyone know if a working web Forms client will be included in next release?" Derek Neighbors (dneighbo) said "probably not" , as he wanted to do another "release before the ui cleanup" . This interim release would be "based on the things that have started to be added - masks/auth/navigation" . Jason Cater (jcater) said "I think jamest and I are ready" but that masks would have to be excluded, as " to get them to work w/0.1.x will require a butt-load of hacks" Derek said he was confused, and had thought the next release would be from head, numbered 0.2.0 or 0.3.0. Jason said the next release would be 0.1.1 - "we have been so busy fixing problems that we haven't make HEAD incompatable w/0.1" yet. He added "we'll rebranch as soon as we are ready to break head - which I'm ready now" .

12. SAP-DB and GNU Enterprise

9�Jan�2002�Archive Link: "[IRC] 09 Jan 2002"

People: Derek Neighbors,�Jason Cater

Leading on from Issue�#7, Section�#5� (10�Dec�2001:�SAP database driver for GNUe) , Derek Neighbors (dneighbo) asked "has anyone here installed sap db?" Jason Cater (jcater) said "I've installed it, but not actually used it " . He added "of course, if SAP R/3 can run on it, I suppose I can ;)" Derek said he was thinking much the same. The licensing was a mixture of GNU Public License and GNU Lesser Public License, and it "looks like they readily support php/python/C/C++" . He felt that "for some enterprises that are a little larger it might be easier to sell sap db over postgres - as there is a 'company' behind it" . He thought that GNUe should still prefer postgres, "but i think it might be worth testing waters with sapdb" as well.

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.