This Cousin covers the three main mailing lists for the GNU Enterprise project, plus the #gnuenterprise IRC channel.
Kernel Cousins GNUe is now group-authored: if you'd like to join the team, let us know.
Neil Tiffin had revised the
color
diagram based on the whitepaper
- this would go on
the main web site if people were happy with it.
Reinhard Müller asked if you
tried to combine 2-tier mode and appserver mode into a single diagram
(for example you have a direct link between forms client and data
interface, which actually only happens in 2 tier mode).
If not, Ariel Calò had already done an AppServer-only diagram.
Neil said I was trying to get across
the ideas of common without going into too much detail. I think
it is important to understand where there is significant overlap
between common and appserver. Derek seemed a bit frustrated
that we were discussion Security as if it was Appserver
only and I wanted to make it clear how it all fits
together.
Derek Neighbors agreed -
and I like that you are trying to
visually document it so we can all be clear. My frustration only
lies in that not doing it in common means doing it twice. :)
Certainly it doesnt mean it shouldnt be done.
On
terminology, he would call it Database
Server instead of SQL Server. Partially because it could be a
nonSQL database server but mostly because most windows folks
think SQL Server mean MS SQL Server.
Likewise,
I would consider using RPC instead
of RPI. Most programmers will know that RPC is Remote Procedure
Call, I think Remote Procedure Interface sounds better, but we
might be better using something more familiar.
Reinhard was not sure if forms
would directly access the authentication interface. Other than
that, I think the drawing is perfect.
Stan Klein
agreed - PAM is a *nix operating system
service for modularly integrating authentication methods and
applications. It can handle a wide variety of authentication
methods
, not all of which would necessarily involve
Forms using the authentication interface in Common.
Stan also raised the issue of 'tracability' of data -
whether it is possible, given the
way a data item is defined on one side of appserver, to
identify the data item on the other side of appserver
?
This was an issue where there was not a one-to-one
relationship between business object and database field,
e.g. for calculated or derived objects. Where people
needed higher levels of security than the base level
appserver security (e.g. combining this with operating
system and/or database security), the interaction between
the less-secure business objects and the more-secure
database might be an issue. Reinhard agreed this was
important, and said how
table and field names ("backside of appserver") are created
from class and property names ("frontside of appserver") will
be well documented, straightforward and easy to
understand.
Stan was reassured, but worried about
possible problems from the difference between the relational
(database) paradigm and the object (appserver) paradigm,
and compatability with the 2-tier model (Forms talking
directly to the database using Common), which was always
relational. Reinhard said that a business object was not
really "object" as in "object
oriented programming", it's more "object" as in "thing".
We use the terms "class" and "property" not because we want
to refer to OOP, but we use them because they fit best for
what we mean. Of course, there's some overlap between the
classical OOP model and our business object definition.
The main part of the overlap is the concept of
"encapsulation", which means that we define the data elements
and the code to operate on them side by side.
Stan said this sounded good - in effect, both sides of the
Appserver were ultimately relational. I
think this would be quite different from the old GEAS, which to the
extent I understood it, mapped an object paradigm onto a relational
database with all the attendant complexities.
Bernardo Clavijo asked how, as
kind of sysadmin from Argentina
,
he could get involved in GNUe. John Lenton noted that
the Fundacion Via Libre will be
deploying the first pilot tests of PAPO, a GNUe-based ERP,
in Cordoba during the month of December
. Bernardo
asked if this would include stock. John confirmed this.
Bernardo asked if there anything similar to Via Libre in
Buenos Aries. John said that they were thinking about having
people based there, but so far nothing had been agreed.
Stan Klein forwarded a Call for Papers for a conference
on Open Source for National and Local
eGovernment Programs in the U.S. and EU
in Washington
D.C. in March, noting There are
lots of potential topics that related to GNUe.
David Sugar of Bayonne said I actually
do a number of free software related events any given year where
we do get to talk at least a little about GNUe as well as
Bayonne :)
, the GNU telephony project.
Actually, if there was a general GNUe
interest in participating in this event, I might look at going to
speak seperately about GNU Bayonne and the recent discussions in
using it to provide e-government services for the blind.
Further to
provided for posting, comment,
and feedback my latest draft (0.3.1) of the security framework
proposal document.
It identified different categories,
based on size of company and security requirements, and
suggested appropriate security strategies for each of them -
either using just the security features built into GNUe, or
supplementing these with additional security specific to the
target operating system or database where appropriate.
Peter Sullivan (psu) said: we don't set out to
be an M$ Access replacement but we're a pretty good
one
. He was critical about mysql too I know
is that mysql is not popular
with the GNUe developers
and many of our
dbdriver problems seem to be mysql specific
.
Derek Neighbors (revDeke) preferred SAB-DB - there is a channel on this network #sapdb that regularly has sap
developers in it (europe time)
. However as
SAPDB was pretty complex, Jason Cater (jcater) expressed his opinion that
PostgreSQL was simplier and it's one of the better
supported databases
.
Andrew Mitchell (ajmitch) asked what
shall we do about that mysql fix & the runForm issue
for the
0.4.2 releases. Jason Cater (jcater) said if
its a biggie for anyone, I say we do 0.4.3
. Andrew said
probably only for me :) - and i've got
the fixes in my local copy
. Derek Neighbors (revDeke) said
if 0.5.0 will be after jan 1st we need a
0.4.3 to fix the runform - as i will need it before then. If 0.5.0 will
be around jan 1st i think i can wait
. Andrew said that
to fix runForm, you just uncomment one
line
. Derek was willing to package
a 0.4.3 with the two fixes runform and mysql patches - especially if
they are done and applied in the branch - /me would suspect a release
wouldnt take long and would be worth it
.
Jason said I certainly have no
problem
with doing a 0.4.3 release, but would probably not
have time to do this himself.
Earlier, Jeff Bailey (jbailey) asked I'm
thinking I might have a moment now to do 0.4.2 updates. Should I take
the release tarballs, or update to the recent CVS branch?
Andrew replied we're still discussing whether
to do 0.4.3 after the uncovering of a couple of bugs :)
.
Derek said he could apply the patches to the CVS stable (0.4.x) branch
if necessary. He asked Jeff how to make
gnue debs from what you have? so that we can make the debs? and then give
to you for update
. Jeff said that it was just a few commands from
the command line. Derek said that, even if they were not immediately
uploaded to sid, the Debian unstable distribution,
we can get those in our gnuenterprise.org
site - so i can start alpha testing them :)
.
Jeff said There are three places you need to
change
for a new release - 1) The tarball.
2) debian/changelog 3) The hardcoded date in debian/rules - It basically
needs to know what the tar directory is set to. Also, you might have to
touch all of the files in debian/patches since dbs updates with -p0 instead
of -p1
He was looking at changing from dbs
to cbs to accomidate that better, though.
He explained
'dbs' is "Doogie's build system". 'cbs' is
"Colin's Build system". Basically all Debian requires for your packaging
is that you take a "ar" archive of all of the files you want in the final
distro, and another "ar" archive of all of the control files (preinst,
postinst, etc). And it doesn't much care how you get them there.
So a series of tools have appeared over the years to make that a little
easier on the developper.
Andrew confirmed
colin being colin walters?
Peter Sullivan announced The 0.4.2 release
of Forms, Designer and Common and the 0.1.0 release of Reports are now
available as a single setup.exe for Microsoft Windows, including many of
the supported database drivers
, in both debug and non-debug
versions Thanks to Bajusz Tamas for all his
work on this.
Dmitry Sorokin (ra3vat) noted that he had found out why
ON-SWITCH trigger is not fired
.
Dmitry corrected it, however now the trigger is
fired even with empty datasource that require to put checks in
trigger code
. He thought that some additional checking was
needed to make sure that datasource is initialised with real
data.
Derek Neighbors (derek) said he had added the ON-SWITCH trigger,
which he personally had needed to trigger not just on switches, but
also when forms with the 'pre-query' attribute (to open the form
with data already loaded) were opened. However, this meant the
ON-SWITCH trigger was now being called whenever a form was opened,
even if there was no pre-query. He suggested
we could probably switch back to
making it only work on 'switching'
and have a seperate
ON-FORM-LOAD trigger.
Derek Neighbors (derek) said if you have
things you want to see in 0.4.3 (bug fixes outstanding etc) please pipe
up now - the mysql master/detail, runform and schema upgrades have been
added for 0.4.3 - if there are other things that are 'quickie' bug fixes
not dealing with ui - let me know. I hope to bundle tonight or tomorrow
morning.
He asked James Thompson (jamest) and Jason Cater (jcater)
to let him know of anything else that should
move 'backwards'
- bug fixes in CVS head that needed back-porting
to the stable branch. He suggested that Jeff Bailey hold off producing
a new Debian package from CVS, and wait for the offical release.
Daniel Baumann (chillywilly) asked what
does importable mean? for an xml tag
. Jason Cater (jcater)
explained if set to true - then gcommon
automatcally creates an <import-????> tag for it - e.g.,
<datasource> is importable, so <import-datasource
library="filename.gfd" name="mydatasource"> is a valid tag in a
.gfd file - without us having to actually create the
<import-datasource> tag definition
. Daniel asked
whether this lets you use external files
then?
Jason confirmed yeah, automatic
support for importing from another file
.
Daniel also asked what exactly does
single instance mean again? single instance in the xml document
or..
Jason said single instance is
*supposed* to mean per the parent tag
He thought
there is some code in there that's forcing
on a per-XML basis - but that wasn't the purpose - so it's
broked
. He suggested if something
should be singleinstance - I'd add it, but comment it out - so when
fixed, we can just uncomment
.
It looked like GNUe might have got another developer. Reinhard Müller
(reinhard) ran a small tutorial for him, then Peter
Sullivan (psu) joined Reinhard and discussion turned to copyrights, history and
then back the whole circle to user interfaces. Peter said
Our "quick and dirty" solution was to use the wx
toolkit with wxpython, the wrapper that lets this C+
library be used with python. This gave us GNU/Linux, Win 32, Mac OS etc GUIs
all at once. However, the wx toolkit is a bit flakey
sometimes so alongside the wx strategy we are currently developing "native"
UIs. The GTK2 one is there already (but still buggy).
Next on the list is Win32 native API, which should be... interesting.
Further discussion mentioned wxpython for win32,
drawbacks with wx, touched different GNUe parts (designer, forms client), new .gfd
format and arrived at current GNUe status.
Peter informed that we have about 6 people
working on it a lot and probably several times more who hang around and help
where they can
. Jeff Bailey (jbailey) thought they were
poking derek with
sticks.
There are also about several hundred following the project on
the mailing lists.
Jeff Bailey (jbailey) said GNUe is deployed at my
office and people are using it in
production.
It took 3 days to move to GNUe (time was spent while
navigating around some bugs) and some time was still
needed to finish it.
Daniel Baumann (chillywilly) asked am I
wasting my damn time writing a parser for godl and odl?
Reinhard Müller (reinhard) said we
talked about the odl parser in frankfurt - we basically agreed that it
would be a good thing to have a tool that can import odl into appserver
- however it's very unlikely that we will use odl as the "native" storage
of appserver
. Daniel asked so no one
ever has looked at the architecture document that I started?
Reinhard said he had, and had discussed it with Daniel, as reported in
it is very likely that appserver will store
its class definitions in a database - for a number of reasons. But it is
also very likely that there will be a lot of (external) utilities -
to "import" class definitions from different formats
.
Daniel noted you can make tags importable
now - like <datasource> - so I am going to make <module>
importable
into the Gobject tree form
an external file
, giving an example. Reinhard asked about
automatic conversion from odl to
xml?
Daniel said i have an odl
markup - see thekicthensink.[g]odl
.
Ariel Calò (ariel__) noticed some errors in GNUe Application Server
documentation and asked what the "remove objects" code should do
if one of the ids is missing
already.
Reinhard Müller (reinhard) thought that we
have to think about the policy for the delete function
, but spontaneously
suggested if any id is invalid then do nothing and
throw exception as it most probably indicates an error
. He would like to hear
the views of Jan Ischebeck (siesel) on this as well
.
Christian Selig (lupo) asked what
is "SKU" and "UPC"
in the item maintenance form from GNUe
Small Business. Jason Cater (jcater) said SKU was
stock-keeping unit
. Peter Sullivan
(psu) noted that this was needed as you could
e.g. Order in boxes of 1000, keep in
stores in inner boxes of 100, issue as individual items
.
Jason said that UPCs were the barcoded
numbers that appear on items at a store
. He wondered
how hard do you think it'd be to do a
dictionary for gnue-sb? should it be in gnue-sb/doc? or just a web
thing (like a faq?)
Peter thought
in the docs - but I have no idea what
the docs for gnue-sb will/do look like
.
Christian asked what are item
sources?
Peter guessed this might be
what derek was talking about some time
ago, that item foobar may be made from item foo and item bar -
both of which are also in stock.
Christian said
thats "stuecklisten" in german -
"part lists" - where you can put together things you sell as a
single product from various things you buy
.
Jason suggested I have the perfect example
schema for our sample apps - a bookstore!!! or a book
collection
- maybe a book collection
would be better than a store - as I wanted to avoid a business theme.
derek wanted a music collection - but I wonder if books would be more
universal (plus we can avoid trademark issues easier :)
Jeff Bailey (jbailey) suggested Mp3 collection?
Get sued by lots of people then.
Alternatively,
if you did a book collection and allowed for
an interface to the dewey decimal system, you could probably tag it as
software for libraries. Which might actually get you some users.
That's been on the FSF's wishlist for
ages.
Jason agreed - a card catalog
system? I think I like this
as the standard
sample schema
for GNUe documentation.
Keith Jagrs (KeithJagrs) asked if the announce
of JBoss and Sun about the Open Source J2EE 1.4 spec aap server would have
any effect in the development of GNUe - because as I understand, one of the
reasons to chose Python was that Java wasn't open source
.
Peter Sullivan (psu) said that open source was not the same as free software,
and, to be fair, the preference for python over
java isn't just about freedom
- python is
a better lang for a large, volunteer project like this as it produces fairly
claen code - and is, if anything, more multi-platform than java
.
Jason Cater (jcater) said java is not scalable for
client stuff
- before I joined GNUe I did a
complete forms-equiv package in java - we abandoned it because on our
high-end windows machine it was barely usable - and only a few people had
high-end machines :) /me considers himself to be a fairly efficient coder
too - but even then, the free/open source aspect was huge too - but
regardless we LOVE python
, adding you
couldn't pay me to switch back to java
. James Thompson (jamest)
agreed - dude - don't even get me started on
java based solutions :)
Keith asked Do
you think GNUe App Serv could be the JBoss of the Python World?
Jason said GNUe App Serv will be the JBoss of the
GNUe World - that's all we are worried about. If it moves beyond that,
then great!
Keith Jagrs (KeithJagrs) asked Are there
experiences in setting GNUe clients in PDAs?
Perry Lorier
(Isomer) noted theres a python interpreter
for palms I think - but I don't think that there is a GUI layout for
them yet, you might have to code that
. Keith said
another option would be via HTML - or
WML
(the WAP phone equivalent of HTML). Derek Neighbors
(revDeke) did not know if gnue will ever
work on a palm pilot - they are severely underpowered for gnue type
applications. I would expect the gnue core team target for PDAs will be
Sharp Zaurus and iPAQ - not to say someone else couldnt make a palm or
that palmOS may improve
. Matthew Emmett (memmett) suggested
an ssh client when the curses interface
matures
. Keith said Well it doesnt
have to be Palms in this case
. Derek thought that
iPAQ and Zaurus show extreme
promise
- i KNOW iPAQ will about
run gnue as it sits - i hope to be in position to prove it after Xmas
:) - as virtually anything available in debian is available to iPAQ.
Zaurus would be a stronger stretch as we would likely need a qtopia
client for forms
. He thought these were
the only current PDAs worthy of devoting
time and energy to at this point
. Keith said that iPAQs came
with Windows CE on ROM. Jason said debian runs
on the newer iPAQs iirc
. He offered anyone
who wants to dropship me an iPAQ - I'll get a GNUe driver working for them
:) - or a Zaurus. /me is only halfway joking btw - ya never know when
it might be cost effective for a consulting job. Of course, if someone
wants GNUe running on an AS/400 - I'll take one of those too. Wife might
get upset though - as I think we'd have to keep it in the living
room
. The conversation went off-topic fairly rapidly...
Matthew Emmett (memmett) asked re: navigation
in forms (curses): how do i move the cursor into a detail block?
James Thompson (jamest) said page down or page
up
. Matthew reported that his terminal emulator
isn't playing nice with pgup and pgdown
- both with his own form and the sample intro.gdf. James said
keymapper support has never been officially
announced but in your gnue.conf (systemwide or local .gnue/gnue.conf file
put
.
Matthew confirmed this worked -
[forms]
key_NEXTBLOCK=F3
key_PREVBLOCK=F4
- replacing F3 and F4 with a character you'd like to testwoohoo. gotta
love that curses interface.
.