GNUe Traffic #35 For 29 Jun 2002
By Peter Sullivan
"the gnue mascot is a weird creature with the wings of a kiwi, head of a goat,
wings of a penguin, and tail of a grue - that is eating donuts, drinking Mt
Dew, and chewing Dots - with a nerdy 40-something millionaire in its mouth"
Table Of Contents
* Standard Format
* Text Format
* XML Source
* Introduction
* Threads Covered
1. 19 Jun 2002 Application Server triggers
2. 21 Jun 2002 - 22 Jun 2002 (2 Bayonne and GNUe Workflow
posts)
3. 20 Jun 2002 Checkboxes and button triggers in
Forms
4. 23 Jun 2002 Using XML to describe database
schemas
5. 23 Jun 2002 Testing the 0.3.0 releases on
Microsoft Windows
6. 24 Jun 2002 Tooltips in Forms
7. 24 Jun 2002 GNUe Documentation
8. 24 Jun 2002 Foreign Key drop-down boxes
9. 24 Jun 2002 Multi-table Datasources
10. 24 Jun 2002 Head and branch in CVS
11. 25 Jun 2002 Spam on GNUe's bug-tracking e-mail
gateway
12. 25 Jun 2002 Two-column drop-down boxes for
foreign keys
13. 25 Jun 2002 NOLA as a free alternative to GNUe
Financials
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. Application Server triggers
19 Jun 2002 Archive Link: "[IRC] 20 Jun 2002"
Topics: Application Server, Forms
People: Daniel Baumann, Jan Ischebeck, Derek Neighbors, Jason Cater, Reinhard
M?ller
Daniel Baumann (chillywilly) asked "what do you think about doing an xml markup
of ODL?" (Object Definition Languague). Jan Ischebeck (siesel) said he did not
think it was necessary. Daniel said "so just use straight ODL?" , which was a
standard. Jan said he thought "we should take the things we need to create our
own XML format" . Daniel noted that Reinhard M?ller wanted support for non-XML
mark-up as well. Jan said "I just think that it is easier (for the first step)
to have an own XML format, which is quite similar to the internal appserver
structures" for things like "the (still has to come) class definitions" and
"the (still has to come) method definitions" . Daniel wondered "how do you base
your own format on something that does not exist?" Jan said "thats the point
which makes me get headakes ;)" .
Later, Derek Neighbors (dneighbo) said "i think it should be mandatory our"
GNUe Class Definitions (.gcd) for the Application Server "is xml - as from xml
we can make it ANYTHING else easily" . Daniel agreed - "XSLT is cool" . Jan
also agreed, but noted that both the old .gcd format and ODL had the drawback
that "the method code has to be separatly defined" . Derek said that "remote
methods(triggers) and normal db wuold be HUGE to start with" - none of the
existing .gcds had any methods defined in them anyway. Jan said that was "not
quite right: there is ONE full coded method in there ;)" Daniel said "so the
idea is to include the method code in the object description? does this rule
out supporting other languages in a decent way?" Jason Cater (jcater) said "I
think the idea is to just get method code out there - regardless of an object
description :)" . Derek said "basically what that gives us is xplatform db
triggers" . He was "not against object to relational mappers in any way shape
or form" in the future "but i want best bang for buck" in the short term. He
said "if we do remote triggers/ remote db - we are n-tier as advertised - and
gain the benefits from that" .
Jan asked how triggers would be defined - would they be " stored in a
datastructure (i.e. in the database, i.e. in a table) - and if a form wants to
call a trigger it calls it" ? Daniel said this implied that "appserver would
need to know something about the forms definition right? assuming you keep the
trigger declarations in the gfd" . Jason said that the aim was to avoid
actually defining the triggers in the .gfd (GNUe Forms Definition) - "the form
would access triggers via the common "appserver" driver - which would use grpc"
.
Later, Derek said that the remote application server triggers would replace the
database-level triggers - "im thinking in the client you define 'trigger'
spaces to import or include - then you can call triggers in those spaces" . A
trigger might be something like validating a bank account number - the Form
could just call something like "accounts.isValid" , which the Application
Server would then execute and return the result. He added "personally i see
data going remotely too - this was part of my problems with putting data
functionality in blocks - as my long term goal was that you would have local
datasources or remote datasources so in an n-tier application you would point
your datasource to a remote datasource" . Jan said that "if you have local and
remote triggers, then in case of remote triggers you should distinguish between
data bound triggers and gui bound triggers" .
2. Bayonne and GNUe Workflow
21 Jun 2002 - 22 Jun 2002 (2 posts) Archive Link: "New developer"
Topics: Bayonne, Forms
People: Jason Spence, David Sugar
Jason Spence said that Bayonne, the GNU telephony project, needed "a package to
do workflow management" , He was busy at the moment with other coding, but was
reading GNUe code "in preparation for the day when I can spend some sponsored
time working towards using GNUe" for workflow.
He noted that Open Office used XML as its file format, and wondered about
writing "a OpenOffice forms to GNUe forms translator - as I understand it, both
are XML based. That would allow people to easily get a chance to migrate to
GNUe if they've already used Star/OpenOffice to create database apps." .
Jason also asked "what's the status of the Bayonne Forms client?" David Sugar
said he had "been doing a lot of recent work on the Bayonne XML transcoding
system. If it's an XML document, it should be possible to create a transcoder
for Bayonne to directly parse a gnue form :). This actually was why we choose
transcoding rather than implementing a specific xml parser." .
3. Checkboxes and button triggers in Forms
20 Jun 2002 Archive Link: "[IRC] 21 Jun 2002"
Topics: Forms
People: John Lenton, Chad Walstrom, Reinhard M?ller
John Lenton (Chipaca) noted that there were problems with checkboxes -
"basically if you're just using them for displaying data from the db they'll
work, but they don't modify the data" . Chad Walstrom (^chewie) confirmed this,
"using BOOLEAN type in a PostgreSQL table" . John said he was "using char(1)" ,
but was getting the same issue.
Using a button instead of a checkbox, John reported "the trigger to the button
is called *twice* - how can I stop that happening?" Chad suggested "scold it
vehemently" . John discovered that "I'm getting it once for click, and once for
unclick :/ - and I can't just assume that is the case, because it the user
clicks on the button and then moves the mouse off, I get the click but not the
unclick" . Reinhard M?ller (reinhard) said that best practice was to tie the
trigger to the unclick event - "if the user clicks the button and moves away
from it nothing should happen" - "the trigger should be fired if and only if
the butten receives an unclick after it has received a click and there was no
other unclick in between" . John agreed, but noted "two different events are
snagging the trigger: wxMouseEvent, and wxCommandEvent" . He went "to look for
the wxMouseEvent thing to kill it with extreme prejudice" and reported "ROTFL,
that fixed it" . He felt "there must be a way (at least in wx) to say 'I've
handled this, don't propagate it any further'" .
4. Using XML to describe database schemas
23 Jun 2002 Archive Link: "[IRC] 24 Jun 2002"
Topics: Application Server, DCL
People: Derek Neighbors, Jan Ischebeck, Stuart Bain
Jan Ischebeck (siesel) looked at the XSLT scripts available in DCL for
converting XML database definitions into database creation scripts for specific
databases, as referred to in Issue #34, Section #1 (11 Jun 2002: Normalisation
for Contact Management in GNUe/DCL) and Issue #34, Section #6 (12 Jun 2002:
Converting applications to GNUe) , and felt this could be used to create the
default database tables for the GNUe Application Server. He asked where these
should be placed in GNUe's CVS. Derek Neighbors (dneighbo) asked Jan to "check
in the .xml file as well as the processed .sql files (so we dont make xslt
processing a requirement for cvs users) yet :)" . HE personally would like to
restructure CVS to "move samples and things like this out as well as docs of
the modules - but thats a major undertaking and we certainly dont all feel that
way :)" Jan asked whether the DCL code had been assigned to the Free Software
Foundation - "i.e. can I directly copy it" into GNUe's CVS.
The next day (http://www.gnuenterprise.org/irc-logs/gnue-public.log.25Jun2002)
, Derek Neighbors (dneighbo) and Stuart Bain (stbain) were trying out some
other GPL-ed finance packages to look at the database schemas. Derek did not
have Oracle, so talked Stuart through extracting the schemas in the XML format.
Derek noted that Jan was moving the code that used this from the DCL CVS into
GNUe Common (GNU-RPC). Jan said he had not done so yet, as he was not sure
where it should go. Derek said "basically we have the python script that wraps
the xslt processor (though any xslt processor could be used)" .
Derek gave an example of what a standard SQL CREATE TABLE statement would look
like in the XML format. As well as being a quick way of supporting multiple
databases, it also produced excellent schema documentation - he pointed ( ) to
a sample. Instead of converting to XML manually, he was hoping "to use gnue
common and its introspection and have it auto create XML" . Stuart posted some
sample CREATE TABLE statments in MySQL and Oracle formats.
5. Testing the 0.3.0 releases on Microsoft Windows
23 Jun 2002 Archive Link: "[IRC] 24 Jun 2002"
Topics: Designer, Common
People: Jason Cater, Stuart Bain, Derek Neighbors, Andrew Mitchell
Andrew Mitchell (gnukiwi) and Stuart Bain (stbain) did some testing of the
*.exe versions of the 0.3.0 releases on Microsoft Windows. Jason Cater (jcater)
confimed there was not a common 0.3.0 exe, as it was "included in designer.exe
and forms.exe" . Stuart reported that Designer "likes to save me the trouble of
closing designer whenever I" tried to select a connection. Derek Neighbors
(dneighbo) suggested running Designer from the command line "and pass it
--debug-level=10" to see what the error message was. Jason asked "are you sure
it's a valid connections.conf entry?" Derek said that Stuart's connections.conf
"seemed somewhat sane - but regardless even with a hosed connections.conf it
shouldnt just crash :)" Stuart reported that the error message was "Could not
load MySQLdb" - he had "tried it with both 'localhost' and the IP address" .
Jason said that the Windows executables should have support for "odbc, mysql,
pypgsql" compiled in.
Derek said "fwiw we have had lots o issues with mysql driver" . Stuart
suggested trying the ODBC driver in the meantime. Andrew reported that "mysql
odbc driver has issues on current debian" . Jason noted that the README for the
ODBC driver, "written by Marc-Andr? Lemburg" advised that "1. This driver has
not been fully tested. If you are successfully using this driver, please let us
know. 2. This driver does not yet support schema introspection, so you will not
be able to use Wizards in GNUe Designer." Stuart confirmed "you're right... no
Wizards" . Andrew asked "so who's going to add introspection support to the
ODBC driver then?" . However, standard ODBC did not support introspection at
all, and Jason said that "the underlying odbc driver (C driver)" that was being
used "doesn't support the ODBC extensions" to support introspection - "so until
someone sends them a patch, not much we can do :)" This might be a good project
for any fans of C who had been put off contributing to GNUe by its python-based
culture.
Stuart said "I Think I may see the problem" - he had python already installed,
"and it looks like it's picking up the Python in c:\Python21 and trying to use
the MySQL driver from there" . Jason said that the "McMillan installer should
pickup our drivers before searching the python path" . Stuart said he had "no
PYTHONPATH set - but I'm betting there are some registry entries" . Andrew
reported "the same 'Cannot load MySQLdb' error - and this is on a clean box, no
other python stuff installed" . Stuart wondered if "py2exe embedded that path
somehow" as "it's referencing libraries in c:\python21\gnue\ that I uninstalled
before I downloaded the .exe installers today" .
Stuart said that the ODBC drivers were working fine, but Designer without
introspection was a bit pointless. Derek said that the "other option is to
install from source - please remember these are developer releases and none of
the developers use windows - we put up preleases and begged people to test -
you just happen to be one of the first to test mysql on windows for 0.3.0 :)"
Stuart reported that "I can't even edit the properties of any widgets" . Derek
said "i believe that is a wxwindows scrollbox issue - if you move the property
editor to upper left of your screen then make it large enough that all
scrollbars disappear - i will bet you can edit properties" . He noted "this
behavior is pretty erratic and so its hard for us to submit bugs to wx on it
i.e. we are trying ot isolate to see if its us being stupid or real bugs in wx
- fwiw: windows and certain themes in linux seem to make it more consistent :)"
.
The next day (http://www.gnuenterprise.org/irc-logs/gnue-public.log.25Jun2002)
, Andrew reported the same problem - "none of the text widgets seem editable,
so i can't change labels, names, etc :) - (this only on winXP, on a decent OS
it works fine)" . Derek siad "take your property editor - move it to upper left
corner of your desktop - then make it big enough that all scrollbars disappear"
. He added "even decent OS's see this problem though not as consistently as
windoze" . Andrew reported "it fixed that part of it, but the entry widgets
down the bottom of the main screen still don't like me" . Derek said that most
items in this section could be edited graphically rather than having to type in
the properties box - "its far from perfect, but once you learn the quirks it
can make you pretty darn productive :)"
6. Tooltips in Forms
24 Jun 2002 Archive Link: "[IRC] 25 Jun 2002"
Topics: Forms
People: John Lenton, Derek Neighbors
John Lenton (Chipaca) asked "how do I get a tooltip?" . Derek Neighbors
(dneighbo) said it used the options tag, and gave an example: " " .
7. GNUe Documentation
24 Jun 2002 Archive Link: "[IRC] 25 Jun 2002"
People: Calum Morrell, Stuart Bain
Calum Morrell (drochaid) asked "are there any noddy guides for GNUe yet?"
Stuart Bain (stbain) suggested "GNUe for Dummies - how about a GRIP - Guide for
Reasonably Intelligent People" ? Several people volunteered to do training/
consultancy at typical high ERP consultancy rates. Later, Calum volunteered to
do a first draft.
8. Foreign Key drop-down boxes
24 Jun 2002 Archive Link: "[IRC] 25 Jun 2002"
Topics: Forms
People: Calum Morrell, Derek Neighbors
Calum Morrell (drochaid) asked "what's the fast way to populate a drop-down box
with entries from a table different to the one the block the box is on is
attached to?" Derek Neighbors (dneighbo) said "i would say look at a sample BUT
i think jcater took my suggestion and changed how dropdowns work :)" Derek
explained the basic scenario, with bar having foo as a foreign key. You needed
to add the foo look-up table as an additional datasource for the form. "Then go
to tableBar.fooid entry and open up property inspector change its type(style)
to dropdown then go up to foreign key seciont. In foreign key data source put
name of datasource you just made - in lookup/key put fooid - in fk description
put foodesc" . This was new functionality "as lookups used to only have two
fields not three" - it had been added since the 0.3.0 releases, but CVS had it.
You also needed to set prequery="true" on the new foreign key datasource to
ensure that the look-up was automatically populated whenever the form was
opened.
9. Multi-table Datasources
24 Jun 2002 Archive Link: "[IRC] 25 Jun 2002"
Topics: Forms
People: John Lenton, Derek Neighbors, Jason Cater, Marcos Dione
John Lenton (Chipaca) said "we're needing a datasource that accesses multiple
tables" and asked how to do that. This was "a 1:1" rather than a master-detail
or foreign key lookup, both of which were already supported. Jason Cater
(jcater) suggested two possible syntaxes, using a tag.
Marcos Dione (StyXman) said he had thought of something similar to Jason's
first suggestion. John said that the type="join" was probably unecessary as
"because the name ("table1,table2") is easily reckognizable" as a join. Derek
Neighbors (dneighbo) suggested "why not do this in the db? why not make a
'view' or such" ? Jason said that "to do a view each time is a biotch" , and
Marcos pointed out that not all databases supported them. Derek conceeded this,
but said he was not keen on the proposed syntax. Jason said he was "trying to
think of a better way and can't - using conditions makes sense to me, though -
as sometimes the joins can be complex" . He wanted to avoid creating a
tag, as this might be needed as a reserved word elsewhere. John suggested
keeping it simple to start with, and dealing with complications like inner and
outer joins later. Jason agreed - "that's been our approach in the past :) get
something working - then make it "proper" later on :)" Everybody started
throwing parties (or other objects) to celebrate.
10. Head and branch in CVS
24 Jun 2002 Archive Link: "[IRC] 25 Jun 2002"
Topics: Forms, Designer, Common
People: Jason Cater
Jason Cater (jcater) confirmed that "CVS head is marked as 0.4.0-devel" - the
stable branch was for 0.3.x, as announced in Issue #34, Section #13 (
14 Jun 2002: Branching CVS to split bug fixes and new features) . People might
get spurious warning messages from CVS when switching from head to branch or
vice versa.
11. Spam on GNUe's bug-tracking e-mail gateway
25 Jun 2002 Archive Link: "[IRC] 26 Jun 2002"
Topics: DCL
People: Derek Neighbors
Derek Neighbors (dneighbo) noted that the email gateway to the GNUe project's
bug tracking system "is getting spammed how sad" . Various people speculated as
to why spammers thought that a bug tracking system might want to buy Viagra, or
get a bigger bust within 30 days, although it might conceivably be interested
in "a faster, more reliable Windows..."
12. Two-column drop-down boxes for foreign keys
25 Jun 2002 Archive Link: "[IRC] 26 Jun 2002"
Topics: Forms
People: Derek Neighbors, Jason Cater
It was asked if a drop-down box could contain two columns from the foreign key
table - it could already show the foreign key description but populate the
foreign key value. Derek Neighbors (dneigho) said this had been discussed, "but
i dont think we ever implemented it" . Jason Cater (jcater) said this would be
"not hard at all - shall I hack it up quickly?" The "only problem is, not sure
if wx supports multicolumn combos - so I would have to concatenate them" . He
would check the wx documentation. Derek raised this as a work order in DCL. Not
very much later, Jason reported "if anyone wants to test - Work Order 73 is
done" . He have an example of how it could be used to list both U.S. state code
and description in a drop-down box.
13. NOLA as a free alternative to GNUe Financials
25 Jun 2002 Archive Link: "[IRC] 26 Jun 2002"
Topics: Financials (Accounting), Why GNUe?
People: Stuart Bain, Derek Neighbors, Peter Sullivan
Stuart Bain (stbain) said he had "just talked my customer into giving Nola (
http://www.nola.noguska.com/main.html) a whirl - his accounting firm is trying
to sell him on Great Pains" .
(ed. [Peter Sullivan] I think that's a typo, but have left it in just in case.)
Stuart asked if anyone was using NOLA "in a production environment right now?"
Derek Neighbors (dneighbo) said he might be able to find out - "they are highly
specialized vertical industry shop (speciallying in print shops) - so im
certain a few of their printshop clients are using it" .
He said he had changed his opinion of NOLA - "i think they get it without
getting it" . They "are not boned up on free software, lingo liguistics and the
such" but had found that releasing NOLA under the GNU Public License made sound
business sense for them - "accounting isnt their main 'package' - so to cover
their arse they GPL'ed it, hoping others would help maintain it and keep it
going for them" . In fact, "when i told them i was adding fund accounting the
response was - hey a lot of people ask for that, can we send them to you" .
They had also said "that NOLA was their free product so it got least of their
'developer' attention - so it would be a week or so until they could review the
patches" , which he thought was still fairly speedy!
He thought that Noguska had developed NOLA because they had been asked by their
print shop customers "if they had accounting" and rather than do a "deal with
other vendors (quickbooks and such) interfacing to their real products" they
had "figured lets whip together somethign and basically give it to customers in
hopes we dont have to jerk around with someone elses software" .
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
kernel.org. All pages on this site are copyright their original authors, and
distributed under the terms of the GNU General Public License version 2.0.