<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

<author contact="mailto:psu@manorcon.demon.co.uk">Peter Sullivan</author>

<issue num="23" date="06 Apr 2002 00:00:00 -0800" />

<headquote>
'<cite>i only squash bugs because i'm too stupid to design 
new code</cite>' - '<cite>well in that case we like stupid coders - 
have any friends? ;)</cite>'
</headquote>

<intro>

<p>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 
<a href="http://www.gnuenterprise.org">
http://www.gnuenterprise.org</a>. Details of the mailing lists 
can be found at 
<a href="http://mail.gnu.org/mailman/listinfo/gnue">
http://mail.gnu.org/mailman/listinfo/gnue</a>, 
<a href="http://mail.gnu.org/mailman/listinfo/gnue-dev">
http://mail.gnu.org/mailman/listinfo/gnue-dev</a>,
<a href="http://mail.gnu.org/mailman/listinfo/gnue-announce">
http://mail.gnu.org/mailman/listinfo/gnue-announce</a>.</p>

<p>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 at <a href="http://www.gnuenterprise.org/irc-logs/">
http://www.gnuenterprise.org/irc-logs/</a>.</p>

</intro>

<section 
   title="i18n support for GNUe Forms"
   subject="[Gnue-dev] customized (non-ascii) forms" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-March/000079.html"
   posts="2"
   startdate="27 Mar 2002 13:02:33 -0800" 
   enddate="03 Apr 2002 00:00:00 -0800">
<topic>Forms</topic>


<mention>ra3vat</mention>

<p>Dmitry Sorokin said that <quote who="Dmitry Sorokin">The very next 
thing for those of us living in non-ascii part of the world
after we successfully downloaded, installed GNUe Forms is trying to customize
example forms to our native language.</quote>. He reported the 
exception he had got trying to do this, but noted 
<quote who="Dmitry Sorokin">Just setting encoding=&quot;koi8-r&quot; to xml 
header I've got it running back again.</quote> He asked 
<quote who="Dmitry Sorokin">Can anyone from non-ascii part of the world 
change that form.gfd to your native langiage, test it on your system and 
send it to me in any cases? Please provide encoding which it in.</quote>
Jason Cater suggested getting <quote who="Jason Cater">an i18n sample 
directory in CVS. We should try to gather as many forms like this as 
possible so the developers can have a test suite of forms.</quote></p>

<p>Some days later, 
<a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.01Apr2002">
on IRC</a>, Dmitry (ra3vat) said that fixing the problems  
required <quote who="Dmitry Sorokin">minor changes in site.py</quote>. 
James Thompson (jamest) asked <quote who="James Thompson">isn't site.py 
a python installed config file? - is there a way to do this from within 
our app?</quote>. Dmitry said <quote who="Dmitry Sorokin">i think it is 
- but not one step action</quote>. Alternatively, 
<quote who="Dmitry Sorokin">it might help to have that setting in binary 
snapshot - and some readme for others distribution</quote>. Derek 
Neighbors (dneighbo_) suggested <quote who="Derek Neighbors">i think the 
question would be can we make linux binaries as well that include our own 
version of python etc - but thats a whole other topic</quote>. James 
wasn't keen - <quote who="James Thompson">i'd hope we can implement a 
solution in GClientApp.py</quote> for the i18n problems. Derek said 
<quote who="Derek Neighbors">my desire to have COMPLETE binaries on all 
platforms has nothign to do with i18n - rather i see it much easier to 
support shipping a disk that is completely self contained</quote>, the 
way that other GNU/Linux-based applications did it. James said 
<quote who="James Thompson">i think this ties into the need for a 
gnue-setup which</quote> he had previously discussed with Jason Cater.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002">
The next day</a>, Arturas asked for James' advice on the problems 
with <quote who="Arturas Kriukovas">no i18n data on forms</quote>. 
He explained <quote who="Arturas Kriukovas">we have a label in form
with i18n characters and instead of those characters something like
A[] appears on screen</quote>. Based on testing so far, 
<quote who="Arturas Kriukovas">i18n are handled correctly inside</quote>
python, <quote who="Arturas Kriukovas">but when they come up to the wx-forms
something goes wrong</quote>. James said <quote who="James Thompson">this 
sounds very familure - someone from india 
<kcref subject="[gnue-discuss] many-many relations" startdate="18 Nov 2001 01:23:21 -0800">a while back</kcref>
patched forms to work with some type of i18n stuff - said something about 
requiring a special gtk</quote>. Arturas said that Dmitry had forwarded 
him that e-mail, <quote who="Arturas Kriukovas">but i found 
nothing about special gtk module there (i might have missed 
something)</quote>. Dmitry confirmed <quote who="Dmitry Sorokin">i do not 
know (understand) what's wrong with current gtk - and there was no details 
on that in Aditya's message</quote>.</p>

<p>James asked <quote who="James Thompson">has this been tested on win32 
yet?</quote> Dmitry said <quote who="Dmitry Sorokin">it worked for me 
with one-byte encoding, seems it is very depend on different settings
- like locale, fonts ...</quote> He had <quote who="Dmitry Sorokin">started 
to reinstall gnue under w32 to test again</quote>. Later, he confirmed 
<quote who="Dmitry Sorokin">got the same behaviour under w32 - title and 
tips work, labels don't</quote>. He confirmed that GNUe in Microsoft 
Windows used wxPython as well. Arturas felt this supported the idea that 
<quote who="Arturas Kriukovas">there is problem in wx</quote>.</p>

<p>Later, Bajusz Tam&#0225;s (btami) confirmed he was seeing the same 
problem - <quote who="Bajusz Tam&#0225;s">they are OK for me in labels
but not in messages in gnue.conf</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.03Apr2002">
The next day</a>, Arturas suggested <quote who="Arturas Kriukovas">i 
have one idea about i18n (internationalization) - why i doesn't work in 
forms</quote>. Since <quote who="Arturas Kriukovas">UTF-8 is unicode 
variable-width encoding</quote>, some characters (the normal ASCII 
range) would be one-byte and others two-byte. If you used a non-ASCII 
single-byte character set such as Cyrillic, it worked. He guessed 
<quote who="Arturas Kriukovas">that Aditya has not made support for UTF-8
but only support for his local one-byte width fonts</quote>. Dmitry 
wasn't sure - <quote who="Dmitry Sorokin">he did much more then me - 
with one-byte encoding there are not much problem - just setting 
everithing up properly</quote>. Arturas thought that 
<quote who="Arturas Kriukovas">his fonts had to be one-byte width</quote> 
as <quote who="Arturas Kriukovas">he had had the same problems as we
if his fonts were real unicode</quote> but he asn't sure. 
Dmitry thought <quote who="Dmitry Sorokin">forms works properly with 
utf or unicode strings right now - we should look closely on wxpython 
and system level</quote>. Arturas said that some documentation on the
<a href="http://www.wxwindows.org">wxWindows</a> website stated 
<quote who="Arturas Kriukovas">'unicode is not yet fully supported' 
:(</quote>. Dmitry wondered if <quote who="Dmitry Sorokin">there 
is differences between linux and w32</quote>. Arturas didn't think 
so, but Dmitry noted <quote who="Dmitry Sorokin">the reference was 
to wxpython problem that encoding=wxFONTENCODING_UTF8 is not 
supported yet under linux - that's why i'm trying to test it under 
w32</quote>.</p>

<p>Later, Arturas confirmed he was trying i18n on Microsoft 
Windows as well - <quote who="Arturas Kriukovas">downloading python for 
win32 now - half an hour left :\</quote> James sympathised - 
<quote who="James Thompson">modems suck</quote>. Arturas said 
he was actually <quote who="Arturas Kriukovas">on university lan :) :)
- (maybe all my university is on modem? ;)</quote>. Calum Morrell 
(drochaid) thought <quote who="Calum Morrell">that would certainly 
explain the speed problem :)</quote>.</p>

</section>

<section 
   title="DCL for GNUe Project"
   subject="[Gnue-announce] GNUe Starts Using DCL for Internal Management" 
   archive="http://mail.gnu.org/pipermail/gnue-announce/2002-March/000019.html"
   posts="1"
   startdate="27 Mar 2002 22:06:06 -0800" 
   enddate="03 Apr 2002 00:00:00 -0800">
<topic>DCL</topic>


<p>Derek Neighbors announced <quote who="Derek Neighbors">We 
started using GNUe DCL for internal project management of the GNUe 
project a few months back.  Since the merger of our projects we have 
jumped full swing and have instituted the email gateway for support 
requests. Which means end users of GNUe can now easily submit bug reports 
and/or feature requests via email!</quote></p>

<p>He added <quote who="Derek Neighbors">As we start using the system more 
religiously as developers we be able to do our project timelines and 
roadmaps within GNUe DCL and paint a better picture for those monitoring 
the project.  I am going to try to commit to giving some sort of update 
via news story at least once a month as well</quote> to supplement the 
weekly Kernel Cousins.</p>

<p>Some days later, 
<a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.03Apr2002">
on IRC</a>, Harald Meyer (Harald1) asked <quote who="Harald Meyer">am I 
right, that gnue depends on python > 2.1? If yes should I report code 
whose only purpose</quote> was python 1.5.2 compatibility as a bug?
Derek Neighbors (dneighbo_) asked Harald to report it via the 
new DCL-email gateway, unless there was an attatchment to go 
with it, <quote who="Derek Neighbors">because dcl gateway 
appears to be eating attachments</quote> as of time of writing.</p>

<p>Bajusz Tam&#0225;s (btami) <quote who="Bajusz Tam&#0225;s">made my first 
work order in DCL - responsible:jcater :)</quote> Jason Cater 
(jcater) sighed <quote who="Jason Cater">I'm starting to not 
like dcl - ppl expecting me to work :)</quote>. Seriously, he 
did <quote who="Jason Cater">have concerns about people submitting 
bugs against cvs head - as that's a given :)</quote>. Daniel 
Baumann (chillywilly) suggested that a bug tracking system 
<quote who="Daniel Baumann">should be more than just users 
reporting bugs, I think it should be more like a TODO type 
thing for developers too ;)</quote>
Later, Derek (dneighbo) noted that the Free Software Foundation, 
who were starting to use DCL internally, had requested the 
addition of <quote who="Derek Neighbors">'nagware' :) - 
i.e. you can set a 'date' on a ticket and have it notify you if 
the date passes</quote>. The discussion as to whether this was 
a good idea or not degenerated rapidly.</p>

</section>

<section 
   title="mx.DateTime dependancy for Forms"
   subject="[Gnue-dev] Bugs, bugs, bugs *g*" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-March/000081.html"
   posts="3"
   startdate="28 Mar 2002 05:24:38 -0800" 
   enddate="28 Mar 2002 07:13:40 -0800">
<topic>Forms</topic>


<mention>Derek Neighbors</mention>

<p>Christian Selig reported <quote who="Christian Selig">Setup from 
CVS (checkout five minutes ago) works well, except</quote> for some 
bugs he posted, including <quote who="Christian Selig">ImportError: 
No module named mx.DateTime</quote>. He said 
<quote who="Christian Selig">I &quot;fixed&quot; the problem by 
commenting out the import line *g*</quote>, but then a simple 
test form would not work. Harald Meyer suggested 
<quote who="Harald Meyer">Maybe you just need to install it from
<a href="http://www.lemburg.com/file/python/mxDateTime.html">
http://www.lemburg.com/file/python/mxDateTime.html</a>.</quote> 
Derek Neighbors confirmed this. Harald also suggested 
<quote who="Harald Meyer">You should use Python 2.1.x and not 2.2, 
as it has some bugs, which let designer crash</quote>. </p>

</section>

<section 
   title="Problems with MySQL driver?"
   subject="[IRC] 28 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002"
   startdate="28 Mar 2002 00:00:00 -0800" 
   enddate="28 Mar 2002 00:00:00 -0800">
<topic>Common</topic>


<p>Christian Selig (lupo_) asked <quote who="Christian Selig">is it possible 
that gnue&lt;-&gt;mysql interaction sucks a bit, or is it me?</quote> 
Reinhard M&#252;ller (reinhard said <quote who="Reinhard M&#252;ller">well most of us 
use postgres</quote> but <quote who="Reinhard M&#252;ller">it _should_ 
work</quote>. Christian pasted his error messages, and proposed some fixes, 
but he <quote who="Christian Selig">rerun it and there is still a 
problem</quote>. James Thompson (jamest) explained what was happening. 
Christian said <quote who="Christian Selig">okay, gforms now complains about 
a missing key msg_first when calling gconfig.get('msg_first')</quote>. James 
said he wasn't getting that problem. Reinhard pasted 
<quote who="Reinhard M&#252;ller">a part of derek's commit from last night</quote>. 
He wondered if anonymous CVS access was <quote who="Reinhard M&#252;ller">a bit 
behind - i think it gets synced nightly (U.S. night that is)</quote>. James 
said <quote who="James Thompson">nope, it's instantaneous - pulls from 
the same tree, I use anoncvs for gnue installs other than my own :)</quote>
He explained that the code used fetchmany(0) rather than fetchmany() because 
<quote who="James Thompson">we use the cursor arraysize attribute later in 
the code which is supposed to be used if size isn't specified - it defaults to 
5 - so by setting that to 0 for everyone it seems it'd seem to disable our 
prefetching system</quote>. He said that <quote who="James Thompson">fwiw - 
the mysql db driver may be perfectly fine - what we've noticed is that the 
driver authors all read the spec differently</quote>.</p>

<p>Christian said <quote who="Christian Selig">i have &quot;fixed&quot; the 
problem for now by changing the mysqldb driver - gnue forms now starts and 
after &quot;execute query&quot;, the first five entries are displayed correctly 
- the sixth one is empty and no further browsing is possible :-(</quote>. James 
suggested <quote who="James Thompson">a quick workarround that sucks - on your 
&lt;datasoure&gt; tags add a cache=####### (some number bigger than the records 
in your db :)</quote>. Christian thought <quote who="Christian Selig">okay, that 
sucks too much :)</quote>. Alternatively, James suggested 
<quote who="James Thompson">replace fetchmany with fetchall() IIRC that should 
work - we had to do that in pygresql driver </quote>. Christian said this 
<quote who="Christian Selig">bears similar problems</quote>. James said he 
wasn't <quote who="James Thompson">a mysql user - so I can't really test this 
out</quote>. Christian said he would <quote who="Christian Selig">try to squash 
them when i have some time</quote>.</p>

</section>

<section 
   title="Adding first and last record navigation to Forms"
   subject="[IRC] 28 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002"
   startdate="28 Mar 2002 00:00:00 -0800" 
   enddate="28 Mar 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Derek Neighbors (derek) had <quote who="Derek Neighbors">added
first and last record calls and corresponding menu options</quote>, initially 
for use with DCL. He <quote who="Derek Neighbors">still need to add buttons 
to the toolbar for them - and bind the keystrokes -  but via menu they work</quote>. 
James Thompson (jamest) reminded Derek <quote who="James Thompson">but you did 
know that jump to record exists right?</quote> Derek agreed, but said his additions 
were useful where <quote who="Derek Neighbors">i do not know exact record i 
want</quote>. He pointed out that there was a potential problem with the jump to 
record, in that <quote who="Derek Neighbors">it traps for if you exceed bound of 
lastRecord - BUT some of our DBdrivers dont support lastRecord</quote>, most notably 
ODBC. James said <quote who="James Thompson">my users want a find function - so 
that they can scan the records in memory for a string of text in any field</quote>. 
Derek said he had been looking at something similar.</p>

<p>Later, Derek asked how he could <quote who="Derek Neighbors">map compound 
keystrokes in forms</quote> for his new navigation functions. He wanted 
<quote who="Derek Neighbors">to make last record ctrl+down and first record ctrl+up 
- but i soon found sawfish uses those - so i changed to shift+down &amp; 
shift+up</quote>. Jason Cater (jcater) suggested <quote who="Jason Cater">Ctrl+Home 
or Ctrl-End</quote>. Derek said he wasn't too fussed, but 
<quote who="Derek Neighbors">we have screwed concept of blocks :) so pgup/pgdn 
are used (imho) in correctly</quote> which was <quote who="Derek Neighbors">one 
reason i had to do a first/last</quote>. He also asked 
<quote who="Derek Neighbors">say i make a 'grid' by doing rows=&quot;10&quot; - 
and i load 100 records into that grid - the gripe is you have use arrows to 
navigate - instead of being able to do pg dn/up - to jump like 10 records at a 
time - i realize we have a 'jump' and now a first and last - but how are your users 
responding to this? - or is there another key that will do this kind of navigation? 
- or will this navigation come with the 'scrollbar'</quote>? Jason said he was 
planning to do <quote who="Jason Cater">row jumping - just not a high 
priority</quote>. He defended <quote who="Jason Cater">our block concept</quote>. 
Derek said he still wasn't convinced <quote who="Derek Neighbors">as to their 
usefulness :)</quote></p>

</section>

<section 
   title="HTML clients for GNUe"
   subject="[IRC] 28 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002"
   startdate="28 Mar 2002 00:00:00 -0800" 
   enddate="28 Mar 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Howard Shaw (grum) asked about the <quote who="Howard Shaw">status of 
GNUe forms for HTML/CSS</quote>. Derek Neighbors (dneighbo) said there were 
<quote who="Derek Neighbors">2 different implementations being built concurrently 
- neither implementation in cvs or being done by core team - one is a 
<kcref title="PHP client for GNUe Forms" startdate="13 Feb 2002 00:00:00 -0800">new forms client written in php</kcref> 
but using gnue common via xml-rpc (iirc) - it seems to work fairly well but 
havent seen jens for over a week so dont knwo if it will re surface - 
other implementation is in 
<kcref title="HTML Client for GNUe Forms" startdate="18 Jan 2002 00:00:00 -0800">webware/python server pages</kcref> 
and basically is just a 'ui driver' for existing forms implementation - 
havent seen madlocke for month or more so that avenue could be dead</quote>.
Howard asked <quote who="Howard Shaw">have you ever looked at 
<a href="http://erw.dsi.unimi.it/">ERW</a> (Entities and Relationships on 
the Web)</quote>?  It was <quote who="Howard Shaw">hosted on GNU's 
equiv of SourceForge, but I don't think it is a GNU proj.</quote> He had 
<quote who="Howard Shaw">thought of it when I read the comments in the 
<kcref title="GNUe as a free alternative to Microsoft Access - and more" startdate="18 Mar 2002 00:00:00 -0800">last kernel cousin</kcref> 
about GNUe becoming an Access replacement.</quote>. Derek said 
<quote who="Derek Neighbors">we dont AIM to be an access replacement - 
more the comment is right now we are a suitable access replacement with 
REAL databases</quote>.</p>

<p>Howard felt GNUe was selling itself short by not having samples 
readily accessible on the website. Derek agreed - 
<quote who="Derek Neighbors">we are too heads down in the framework and are 
losing people - because we dont have applications - if we had applications 
(even one moderately sophisticated one) - so people could see the 'power' 
of the framework -  i think many more folks would be using gnue</quote>.</p>

</section>

<section 
   title="Auto-creating databases in GNUe"
   subject="[IRC] 28 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002"
   startdate="28 Mar 2002 00:00:00 -0800" 
   enddate="28 Mar 2002 00:00:00 -0800">


<p>Howard Shaw (grum) asked <quote who="Howard Shaw">does any part of GNUe 
currently handle DB creation? I.e. the actual design and installation of 
tables?</quote>. Derek said that <quote who="Derek Neighbors">we have a 
generic XML formate - that will then create a script for about any db - 
the idea was we would make it so you could do table def in DIA - run a 
style sheet to convert it to our xml db format - and run a style sheet 
to make the create script - at SOME point we will have all a tool do 
this</quote>. Howard said he had uncovered 
<quote who="Howard Shaw">a java app that takes an XML doc describing a 
set of Entity/Relationships and generates SQL to create the 
tables.</quote> Derek said <quote who="Derek Neighbors">that woudl be a 
fairly trivial task for gnue</quote> but wasn't a priority as they 
<quote who="Derek Neighbors">lack resources</quote>. Howard said he 
was <quote who="Howard Shaw">thinking about taking this guy's java 
app and rewriting in Python to give a basis for porting to GNUe</quote>. 
Derek said the reason he thought this would be fairly trivial was 
<quote who="Derek Neighbors">its all xml transformation - so if i make 
something in DIA, DIA makes xml  - i simply author an XSLT style sheet 
to convert from DIA to the XML table schema standard of gnue - and gnue 
alread has a set of XSLT style sheets to convert form our table schema 
standard to dbs like mysql, oracle, postgres, etc etc etc - so really 
the only 'task' is to write  style sheet to go from DIA XML to GNUe Table 
Schema XML</quote>. He recognised that <quote who="Derek Neighbors">getting 
it to point where its a nice gui tool - and not using files but rather 
streams etc etc - is a much more laborous venture - but at gnue we like 
to start small that gets a good return on effort and build up</quote>. 
A good palce to start would be with <quote who="Derek Neighbors">straight 
up table definitions in DIA as they are less 'complex' and still get a good 
'bang' for the buck - as if i can basically 'document' my schema in dia - 
i now have a way to generate the actual db w/o doing additional 
work</quote>. </p>

</section>

<section 
   title="GNUe Application Server - ODL vs XML"
   subject="[IRC] 28 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002"
   startdate="28 Mar 2002 00:00:00 -0800" 
   enddate="29 Mar 2002 00:00:00 -0800">
<topic>Application Server</topic>


<p>Daniel Baumann (chillywilly) said he was 
<quote who="Daniel Baumann">working on a geas proposal</quote>. Jason Cater 
(jcater) wondered <quote who="Jason Cater">what the definition files will 
look like</quote>. Daniel gave some sample class definitions, written in 
Object Definition Languague (ODL). Jason said he thought they should be 
in XML, as:</p>

<quote who="Jason Cater">
<ol>
<li>we already have the interface to load those as objects</li>
<li>we already have the infrastructure to create a designer</li>
<li>otherwise, that's another grammar we'll need to parse</li>
<li>xml is sexy and solves all the world's problems :)</li>
</ol>
</quote>

<p>He added <quote who="Jason Cater">I'm game for whatever - 
but just an observation that we already have an infrastructure for xml</quote>. 
Reinhard M&#252;ller (reinhard) said <quote who="Reinhard M&#252;ller">basically my 
plans are that [...] the appserver will take the object definition from the 
database and will not mind how they got into the database</quote>. People 
could write filters to get object definitions from their own preferred format 
to the object database. Derek Neighbors (dneighbo) said 
<quote who="Derek Neighbors">i think if we dont do xml on the class defs we 
will pay fo rit - and this is a change from my original stance</quote>. Reinhard 
said <quote who="Reinhard M&#252;ller">eventually we will have a business object 
designer where i can model my objects visually</quote> at which point the object 
definition file format would be less important. Derek hoped this would be sooner 
rather than later - <quote who="Derek Neighbors">as we can use existing 
designeer :)</quote>. People <quote who="Derek Neighbors">could always just edit 
the xml file or whatever the definition is in that way too</quote> using their 
favourite text editor, whether emacs or vi.</p>

<p>Daniel <quote who="Daniel Baumann">just whipped</quote> up 
<a href="http://www.gnuenterprise.org/~baumannd/geas-schema-compiler.png">a 
quick diagram</a>. Looking at it, he concluded <quote who="Daniel Baumann">xml 
would be asier to parse... [...] ok, jcater you just may indeed get your xml 
definitions ;)</quote>. He said <quote who="Daniel Baumann">we just need designer 
to let us design business objects then ;)</quote> Jason confirmed that Designer 
was meant to be <quote who="Jason Cater">all purpose - it's modularized 
:)</quote> Daniel suggested <quote who="Daniel Baumann">I think odl vs. xml is a 
debate for another time as those are implementation issues that can be worked out 
after the apis are defined - but I think I like xml too - I'm torn</quote>. 
Derek said <quote who="Derek Neighbors">one of the reasons we keep saying 
XML is designer is good at reading/writing XML :) - so with a lot LESS work - 
we can have an visual appserver tool</quote>. </p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.28Mar2002">
The next day</a>, Daniel and Reinhard discussed Daniel's diagram further. 
Daniel explained that Object Definition Languague would be the 
equivalent of GNUe Class Definitions (.gcd), and the ODL compiler would 
be the equivalent of the GCD parser. The arrows on the diagram 
represented <quote who="Daniel Baumann">flow of direction</quote>. 
The <quote who="Daniel Baumann">odl compiler creates code stubs 
(generation)</quote> - <quote who="Daniel Baumann">I figured why not 
since we are using a dynamicaly typed langauge 
and we could have the methods then hook into the methods adapter</quote>.
Reinhard warned <quote who="Reinhard M&#252;ller">not sure if i am a friend 
of self modifying code</quote>. Daniel pointed out that 
<quote who="Daniel Baumann">everytime you change the idl interfaces in 
current geas the idl-compiler modifies the stubs ;)</quote> Reinhard 
agreed, <quote who="Reinhard M&#252;ller">but not at runtime - 
in normal use the interface doesn't get changed</quote>. 
He said <quote who="Reinhard M&#252;ller">i can imagine it could be hell 
to debug such a thing - not sure if it's easy to debug code that doesn't 
even exist as a source file</quote>.</p> 

<p>Daniel emphasised <quote who="Daniel Baumann">we can just have tools 
that use the api too and go backwards to odl descriptions, in fact we can 
go either way - that was the point of the diagram - say you used a tool 
that add a Class class - then it could generate an odl and that can be 
preprocessed into python code stubs</quote>. Reinhard suggested 
<quote who="Reinhard M&#252;ller">those python stubs would be
class definitions for the business objects</quote>, and said 
<quote who="Reinhard M&#252;ller">i think i like that :)</quote>.</p>

<p>Reinhard was <quote who="Reinhard M&#252;ller">not too hot about 
odl</quote>. Daniel said <quote who="Daniel Baumann">it's very similar 
to current gcds - has 'relationships' to maintain referntial intergrity - 
like if one object has a relationship to another and then object goes 
away you can clean it up so it doesn;t refer to it anymore - 
it's just idl witha  few extras</quote>. Reinhard said that 
<quote who="Reinhard M&#252;ller">it should not need a programmer to define 
objects [...] we have to think in user space</quote>. Daniel asked 
<quote who="Daniel Baumann">ok, but how do you envision us bridgin the 
gap? odl is just our internal object description format (or could be) - 
we need tools to make describing business processes easy right - 
and then from that meta info we generate code and methods?</quote>
He said <quote who="Daniel Baumann">you would need to map business 
concepts to object concepts right? for code generation - now, can we do 
this in layers? like deal with an appserver that uses object descriptions 
etc, then abstract that up to a business process mapping?  or would it be 
better to include a busines process thing at the core somwhere?</quote>. 
Reinhard said he did not <quote who="Reinhard M&#252;ller">see much difference 
between a business object and a &quot;normal&quot; object</quote>. Daniel 
asked <quote who="Daniel Baumann">do we use odl and then have a business 
process mapping to objects or do we use some format already that 
incorporates business process stuff</quote>?</p>

<p>Reinhard said that a business process would be something 
<quote who="Reinhard M&#252;ller">like - first a order is entered, then it 
must be printed out - then the boss must check it - then it is faxed to 
the supplier etc.</quote> - <quote who="Reinhard M&#252;ller">this is what 
derek calls &quot;workflow&quot; and i don't think this should be _in_ 
the appserver</quote> Daniel agreed <quote who="Daniel Baumann">but it 
could be an easy way for people to 'design' thier business software
instead of writing gcds [...] say if it was gra[hical and we had more 
'concepts' and components - a sorta 'dummy' layer for them to customize
GNUe</quote>. Reinhard commented <quote who="Reinhard M&#252;ller">i would 
say that navigator will do such a thing - like listing the actions in the 
logical order - like you have a menu where you see all actions in the 
order they have to happen</quote>. Daniel said 
<quote who="Daniel Baumann">I thought right now all it did was make 
menus</quote>. Reinhard agreed, but said <quote who="Reinhard M&#252;ller">geas 
will provide business objects - and workflow is the way how these objects 
are _used_ -  but doesn't have impact on their definitions</quote>.</p>

<p>Daniel asked <quote who="Daniel Baumann">how does the business guy designa 
GNUe pacakeg then? ;)</quote> - <quote who="Daniel Baumann">wouldn't that 
visual designer somehow eventually create the object definitions to carry out 
theri design? and maybe even generate method code if it was generic 
enough?</quote>. Reinhard suggested <quote who="Reinhard M&#252;ller">the 
visual designer _will_ create the object definition - it will probably not 
create method code however</quote>. Daniel suggested 
<quote who="Daniel Baumann">well stubs at least</quote>. 
Reinhard agreed - <quote who="Reinhard M&#252;ller">it is a software to software 
information transfer -  not a human to software information transfer - 
and for software to software transfers XML is the best method</quote>. 
Daniel suggested <quote who="Daniel Baumann">well you could markup odl in 
an xml format - just like you could for any format - to make the xml gods 
happy ;)</quote> - or should that be 'gurus'? He noted that 
<quote who="Daniel Baumann">OIF is a data exchange format for the objects - 
and someone was nice and made an xml markup of that and you can download it 
off the odmg site</quote>. He suggested <quote who="Daniel Baumann">so 
mayeb having that be xml would appease everyone</quote>. However, 
<quote who="Daniel Baumann">that really doesn't define the 'schema' of the 
object(s) though as ODL (GCD) does</quote>.</p>

</section>

<section 
   title="Re-writing GNUe Application Server in python"
   subject="[IRC] 29 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.29Mar2002"
   startdate="29 Mar 2002 00:00:00 -0800" 
   enddate="29 Mar 2002 00:00:00 -0800">
<topic>Application Server</topic>
<topic>Why GNUe?</topic>


<p>Jason Cater (jcater) said that Forms and Designer were <quote who="Jason Cater">coded 
in python</quote>. GNUe Application Server (GEAS) had originally been written in 
C, <quote who="Jason Cater">but it is being rewritten in python - we have an extensive 
common library for python - that all the other tools already used - that was already far 
ahead of geas - so it made sense to reuse a lot of this</quote>. Some doubts were 
expressed whether python would be fast enough for an Application Server. Jason said 
<quote who="Jason Cater">the beauty of python is its integration with c - it's trivial 
to prototype an app in python and get it going quickly and find the pieces that are slow
and recode those in C - of course, we've yet to have to do that for any of the other 
tools - so we're pleased w/python - but the main benefits are speed of deployment and 
ease of maintenance</quote> He added <quote who="Jason Cater">incidentally, from 
experience, I don't buy the &quot;it needs to be in C or C++&quot;, myself - I do 
understand where that comes from - esp. when people try to do such servers in java
and they churn along slowly</quote>. Later, Derek Neighbors (derek) added 
<quote who="Derek Neighbors">python is like delphi/powerbuilder done properly w/o an 
ide - i.e. it isnt as strongly typed (as pascal) but implements lists and dictionaries 
as data types and is highly object friendly - i.e. python the language is better than 
pascal the language - but as a visual tool delphi wins as it has a much better visual 
component model in the VCL - but it isnt really xplatform</quote> like python. On the 
issue of using python for GEAS instead of C, <quote who="Derek Neighbors">i will start 
by saying 95% of the appserver market today is contained in java based appservers - i 
believe in many areas python is faster than java or equal to - so if java is up to the 
task i see no reason to believe python is not</quote>. He said 
<quote who="Derek Neighbors">because a vendor says C++ is only way to do appserver i 
dont believe it</quote>, adding <quote who="Derek Neighbors">i have long ago learned 
that using a 'faster' tool doesnt always make for a 'faster' product - example our old 
appserver was in C - yet our python common libraries were beating it in 
performance</quote>. He liked python's error handling - <quote who="Derek Neighbors">it 
is a 'safe' language much as java was supposed to be</quote>. He thought python was the 
right choice for the new GEAS as <quote who="Derek Neighbors">a. its being done in a 
distributed development environment (so readability and maintainibity) are HIGH priority 
for productivity</quote> and <quote who="Derek Neighbors">b. most businesses will 
sacrifice speed in favor of having a maintainable system that is stable</quote>. If some 
parts needed to run quicker, <quote who="Derek Neighbors">since we are highly modular - 
we can port modules to C to get performance</quote>.</p>

</section>

<section 
   title="Triggers in GNUe Forms"
   subject="[IRC] 30 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.30Mar2002"
   startdate="30 Mar 2002 00:00:00 -0800" 
   enddate="03 Apr 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Derek Neighbors (derek) posted a list of the 24 available triggers in GNUe Forms, 
classified as <quote who="Derek Neighbors">Entry</quote>, 
<quote who="Derek Neighbors">CurrentEntry (all commented out currently)</quote>, 
<quote who="Derek Neighbors">Block</quote>, <quote who="Derek Neighbors">Page</quote> 
and <quote who="Derek Neighbors">Form</quote>. He asked <quote who="Derek Neighbors">what 
happened to the one time functioning On-New-Record trigger</quote>?</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.30Mar2002">
The next day</a>, Derek said <quote who="Derek Neighbors">i meant to bug you about
on new record trigger support</quote> which <quote who="Derek Neighbors">used to 
exist *iirc* and now it doesnt</quote>. He was trying to set up a database where
records stored <quote who="Derek Neighbors">modified on , modified by</quote>. 
He wanted to use <quote who="Derek Neighbors">pre-commit post-commit triggers 
at 'form' level iirc but i dont know how i would change the records that had been 
'updated'</quote>. Jason Cater (jcater) said <quote who="Jason Cater">for your 
contact manager, we used pre-commit irrc [...] which isn't a good solution, 
but it is a solution</quote>. This was for the <quote who="Jason Cater">primary key 
sequence</quote>. He said he would write the code for the datasource-level 
triggers <quote who="Jason Cater">next week if you need it - shouldn't be hard now 
that jamest has the common-based trigger system</quote>. Daniel Baumann (chillywilly) 
asked <quote who="Daniel Baumann">is that common based trigger system supposed to 
support multiple languages?</quote>. Jason confirmed this - 
<quote who="Jason Cater">the common trigger system defines namespaces - which is a 
small step from language-independence</quote>, although <quote who="Jason Cater">we 
haven't experimented with other languages</quote> other than python as at time of 
writing. Daniel said he was interested because <quote who="Daniel Baumann">we 
have this thing we called GEMA - GNUe Methods Adapter</quote> which was in the 
proposals for the new GNUe Application Server (GEAS) - 
<quote who="Daniel Baumann">it's the multi-langauge methods thing</quote>. 
He wondered if GEAS could use this part of GNUe Common as well.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.03Apr2002">
Some days later</a>, 
Jason warned <quote who="Jason Cater">we've changed the 
block-level triggers a little bit on you - so beware</quote>. 
He explained <quote who="Jason Cater">&lt;pre-commit&gt; no 
longer gets called &quot;for each block&quot; but gets 
called &quot;for each pending record&quot; plus
you have &lt;pre-insert&gt;, &lt;pre-delete&gt; and 
&lt;pre-update&gt; which all get called for records that 
were inserted, deleted, and modified (but not inserted or 
deleted)</quote>. James said <quote who="James Thompson">autofill 
will break though - but it's fixable</quote>. Jason warned 
<quote who="Jason Cater">note that &lt;pre-commit&gt; will get 
called even if the other 3 get called</quote>.</p>

</section>

<section 
   title="Debian packages for DCL"
   subject="[IRC] 30 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.30Mar2002"
   startdate="30 Mar 2002 00:00:00 -0800" 
   enddate="30 Mar 2002 00:00:00 -0800">
<topic>DCL</topic>


<mention>Jeff Bailey</mention>

<p>Derek Neighbors (derek) said that <quote who="Derek Neighbors">jbailey is making debs 
for most recent dcl and is the new 'debian maintainer' (i.e. has authority to upload the 
packages)</quote>. However, now that Andrew Mitchell (ajmitch) was back, 
<quote who="Derek Neighbors">im sure he would LOVE some one to really 'maintain' the 
packages - and then he can act as the 'uploader'</quote>. He said 
<quote who="Derek Neighbors">we just needed emergency debians - as its a requirement 
somewhere</quote>. Andrew said <quote who="Andrew Mitchell">i'll talk to jbailey when i 
see him next, i'll see what he thinks :)</quote>. Derek said 
<quote who="Derek Neighbors">actually if you were willing to do it, it would surely get 
you debian maintainership i.e. im sure he would sponsor you - and you would just need to 
get your keys signed</quote>. Andrew said that was already in hand. Derek said that 
Jeff Bailey had <quote who="Derek Neighbors">only 'adopted' dcl as its old maintainer 
'abandoned it'</quote>.</p>

</section>

<section 
   title="GNUe Application Server re-write planning"
   subject="[IRC] 31 Mar 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.31Mar2002"
   startdate="31 Mar 2002 00:00:00 -0800" 
   enddate="01 Apr 2002 00:00:00 -0800">
<topic>Application Server</topic>


<p>Daniel Baumann (chillywilly) asked <quote who="Daniel Baumann">are you happy that we 
will have a GOAT modules in GEAS ;)? - GNUe Object Access Translator</quote>, 
disclaiming <quote who="Daniel Baumann">hey, it wasn't my idea) - it's in the 
architecture guide reinhard did</quote>. He added <quote who="Daniel Baumann">and I 
guess it is now tie for return of the GEDI</quote>. Jason Cater (jcater) suggested 
<quote who="Jason Cater">we should call the reporting engine NIAGRA - 
that's a cool recursive name - Niagra Is A Great Recursive Acronym</quote>. 
David McWherter (dtm) suggested <quote who="David McWherter">yeah well just 
ocme up with acronyms -- we'll figure out  their meaning and what to implement behind 
them, later</quote>.</p>

<p>Later, Andrew Mitchell (ajmitch) returned, claiming he had 
<quote who="Andrew Mitchell">heard you were doing GEAS in 
python so i decided to come back &amp; hack some ;)</quote>. 
Reinhard M&#252;ller (reinhard) said that although 
<quote who="Reinhard M&#252;ller">i'm supposed to lead the 
development</quote> he was 
<quote who="Reinhard M&#252;ller">buried in real work 
:(</quote>. Andrew said he would read up some of the 
proposals so he could comment.</p>

<p>Later, Daniel confirmed <quote who="Daniel Baumann">we 
are rewriting in python and integrating with common ;)</quote> He felt 
<quote who="Daniel Baumann">they really need to document common better though - 
as I read the code and I immediately get lost in the details ;)</quote>. He had 
been <quote who="Daniel Baumann">looking at the triggers stuff and GObject</quote>. 
He thought <quote who="Daniel Baumann">the triggers look very formsish though</quote> 
and wondered how this would fit with GNUe Application Server (GEAS).
He had <quote who="Daniel Baumann">I thought the 'methods' or 
'trigger' system was going to be more of a generic object thing that 
could be shared</quote>.</p>

<p>He had also <quote who="Daniel Baumann">thought GObject might 
also fit the ODMG Object Model by adding that api to it - the 'Object' 
api</quote>. He liked <quote who="Daniel Baumann">Gnome's concept 
of</quote> GObject and <quote who="Daniel Baumann">i see no reason why 
we shouldn't have something similar</quote>. Andrew suuggested 
<quote who="Andrew Mitchell">a GNUeObject?</quote>. He said 
<quote who="Andrew Mitchell">neilt's pic for GEAs makes stuff a bit simpler 
to understand - so everything will basically be a python object? :) -
you want them to all derive from the mighty GNUeObject, so that 
they all have common methods, attributes?</quote>. Daniel thought 
<quote who="Daniel Baumann">that would be cool</quote>.
Andrew felt <quote who="Andrew Mitchell">it's a logical way to do 
things, in my limited experience :)</quote>, adding 
<quote who="Andrew Mitchell">for each .gcd defined object, they 
implicitly derive from the base GNUeObject</quote>. Daniel said 
this linked to his ideas on ODMG, <quote who="Daniel Baumann">because 
odmg calls for one that implements certain metods for persistence, and
they use one for an object that cna be described using xml</quote>.</p>

<p>Andrew said that <quote who="Andrew Mitchell">we're in agreement 
then over GObject/GNUeObject</quote>, and the next step was 
<quote who="Andrew Mitchell">we'd need to agree on what common 
methods/attributes each child inherits</quote>. Daniel said he 
<quote who="Daniel Baumann">was thinking that the 'Object' inteface in 
odmg would be implemented by the current GNUeObject/GObject that lives 
in GObjects.py</quote> This could support not only ODMG stuff, but also
<quote who="Daniel Baumann">all common things that are base to our object 
system, imho</quote>. Andrew said this would 
<quote who="Andrew Mitchell">make it easy for people writing business 
objects, give them a nice base to work with :)</quote>.</p>

<p>He thought <quote who="Andrew Mitchell">the object repository will be 
interesting to build</quote>. Daniel said <quote who="Daniel Baumann">I 
see that as a ODL or ODL markup langauge repository</quote> which could 
be used in several ways, similar to <quote who="Daniel Baumann">smalltalk 
binding</quote>. He would explain more later. Andrew asked 
<quote who="Andrew Mitchell">what holds the state of each object instance? 
the database?</quote>. Daniel said <quote who="Daniel Baumann">ODL also 
does 'state' of an object rather than just 'interface' - tha database will 
have the 'state'; of source</quote>. Andrew noted that 
<quote who="Andrew Mitchell">the state is basically just the attribute values 
anyway :)</quote>. Daniel suggested <quote who="Daniel Baumann">you could do 
lazy loading via a proxy - use a reference and only hit the db for the object 
state if it is used - lieka  smart pointer in c++</quote>.</p>

<p>Andrew clarified <quote who="Andrew Mitchell">so objects &amp; methods are 
still quite separate?</quote> Daniel agreed, but suggested 
<quote who="Daniel Baumann">we should have a methods adapter or 'server' 
even</quote>. That way <quote who="Daniel Baumann">you could get the meta objects - 
process the odls - go in any direction - get the python stubs</quote>. 
Andrew asked about multi-threading, warning <quote who="Andrew Mitchell">python 
doesn't scale wonderfully when doing MT, from what i hear</quote> Daniel 
said there were several ways of doing this: <quote who="Daniel Baumann">one 
thread per transaction, one thread doing database operations, under one transaction,
multiple threads each with their own separate transaction</quote> and so on. 
However, <quote who="Daniel Baumann">programmers must not pass objects from one 
thread to another running under a different transaction - multiple threads sharing 
one or more transactions is difficult and requires the client to do concurrency 
control</quote>. He noted that <quote who="Daniel Baumann">the 'Object' interface 
also support locking and concurrency</quote> according to the code.</p>

<p>He also liked <quote who="Daniel Baumann">the metadata 
interface - and the Database interface support a schema() 
operations which wil allow you to traverse the metaobject 
graph of the 'object repository' - every object will have 
a class and a metaobject describing the object - so you get 
your intropection</quote>. He also thought 
<quote who="Daniel Baumann">the Database and Transaction 
interfaces are very cool - they are the last 2 in 
odmg.txt</quote> He liked the idea of using ODMG, as 
<quote who="Daniel Baumann">I just didn't want to bother 
designing my own interfaces when there's something out there 
already ;)</quote>.</p>

<p>Daniel concluded <quote who="Daniel Baumann">see I have a 
bunch of ides to organize ;) - then we can get down to bidness 
;)</quote>. Andrew said he was <quote who="Andrew Mitchell">ready 
to help out</quote>. Daniel said <quote who="Daniel Baumann">mayeb 
after i geta rough draft out someone can catch on and help me 
organize - that someone being you ;)</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.01Apr2002">
The next day</a>, Daniel asked <quote who="Daniel Baumann">why 
do triggers look so form-like? - wouldn't it be nice to have a 
common object model that was ui independent</quote>? James 
Thompson said <quote who="James Thompson">it's not ui dependent - 
any object in a gfobj tree can expose itself to 
triggernamespace</quote>. Daniel pointed out that 
<quote who="Daniel Baumann">it uses the 'events' that the forms 
like</quote>, such as 
<quote who="Daniel Baumann">pre-focus....blah</quote>, saying 
<quote who="Daniel Baumann">that's a ui widget thing is it 
not?</quote>. Derek Neighbors (derek) said that 
<quote who="Derek Neighbors">because you can specify something 
that uses ui doesnt mean its ui dependent</quote>. James said 
<quote who="James Thompson">those are forms triggers [...] 
triggers don't have to be tied to forms</quote>.</p>

<p>Daniel said that what he was talking about was 
<quote who="Daniel Baumann">a common object model</quote> and 
asked <quote who="Daniel Baumann">you do agree there can be some 
refactoring?</quote> He added that he would 
<quote who="Daniel Baumann">like to add this interface toe GObject 
to support persistence</quote>. James said <quote who="James Thompson">i 
don't think we'll need refactoring so I guess I can agree to it - 
as i think we're flexible now - triggers are implemented in common and 
are applicatoin independent - so they'll work in reports with NO UI 
:)</quote></p>

<p>Derek said that <quote who="Derek Neighbors">until common is either 
fully documented</quote> Daniel would probbaly have to look at the 
source code to answer many of these questions - 
<quote who="Derek Neighbors">i think you have some darned good 
ideas - but talking in abstract is not very fruitful right now :)</quote>
Daniel said <quote who="Daniel Baumann">I have loked at code</quote>, 
which was how many of these issues had come up. Derek suggested 
<quote who="Derek Neighbors">what would really really really really help
is if you could take the code and walk through it doing some sort of 
doc based on it - i think it would get you to point where your common 
questions are answered and we have a common ground to discuss geas 
on</quote>. James said <quote who="James Thompson">I'm starting that 
this week - as reinhard requested it but this is first time I've had 
the chance</quote>. Derek felt it was better to focus James and 
Jason Cater <quote who="Derek Neighbors">on other needs :)</quote>
Daniel said <quote who="Daniel Baumann">documenting is too crucial at 
this stage especially if we are to intergrate things, however I would 
settle for more jcater and jamest channel occupancy to answer questions ;)
- even a 'meeting' or two</quote>.</p>

<p>Daniel uploaded 
<a href="http://www.gnuenterprise.org/~baumannd/object.txt">some 
documentation</a> for his ideas <quote who="Daniel Baumann">to help in 
object identity (as every object would get an id in geas) and for 
concurrency control (multiple people access business objects)</quote>. 
James said that python handled much of this internally. Daniel 
said <quote who="Daniel Baumann">we still need a locking mechanism of 
our own</quote> to avoid phantom reads and similar problems. 
His proposed <quote who="Daniel Baumann">locking model is consistent 
with OMG's concurrency service model althought we can do more 
sophisticated locking than their 'pessmistic' locking model - 
basicaly we want the system to remain consistent and users to have 
isolation until someone commits the transaction</quote>. James 
said he would <quote who="James Thompson">have to think about this 
some - as it may graft in ok to our datasource model</quote> but he 
would need to give <quote who="James Thompson">it some 
thought</quote>.</p>

</section>

<section 
   title="User customisable forms"
   subject="[Gnue-dev] user-customizable forms?" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-April/000085.html"
   posts="2"
   startdate="31 Mar 2002 22:35:44 -0800" 
   enddate="01 Apr 2002 06:57:33 -0800">
<topic>Forms</topic>


<p>Harald Meyer suggested users should be <quote who="Harald Meyer">able 
to customize the forms</quote> to <quote who="Harald Meyer">select 
which fields are visible and in which order. I
understand that this is already possible with gnue using the designer,
but I don't think this is a good way, because the user sees too much
and maybe changes something which he/she doesn't understand.</quote>
He had <quote who="Harald Meyer">tried to implement a trigger-based
solution and failed</quote>, using several different approaches. 
James Thompson said <quote who="James Thompson">Access to various 
properties is a relatively new feature of triggers.
The UI has not yet been restructured to take advantage of it :(  When that
happens then what you reqest should be possible via triggers.</quote> 
Other planned features for GNUe Forms included:</p>

<quote who="James Thompson">
<ul>
<li>a grid view that displays the blocks in seperate grids.  So many people
    want forms to look like spreadsheets.</li>
<li>sort by user specified fields</li>
<li>a Find function within loaded records</li>
</ul>
</quote>

</section>

<section 
   title="GNUe Designer tutorial"
   subject="[IRC] 01 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.01Apr2002"
   startdate="01 Apr 2002 00:00:00 -0800" 
   enddate="01 Apr 2002 00:00:00 -0800">
<topic>Designer</topic>


<p>Christian Selig (sledge_) said <quote who="Christian Selig">i've 
tried out the simple wizard which does it's job perfectly well - 
but i don't underschtand the master/detail wizard</quote>. 
James Thompson (jamest) explained <quote who="James Thompson">
master/detail relationships are primary/foreign key setups - 
you choose a table that is the master - 
then link other tables to it via a matching field</quote>. 
He explained <quote who="James Thompson">master/detail is old 
oracle terminology that jcater and I are both used to using</quote>. 
He remembered <quote who="James Thompson">one thing I still need to 
add to that wizard is page support</quote>. He explained 
<quote who="James Thompson">pages are just like pages of a book - 
you can have a form that is several pages long</quote>.</p>

<p>Christian asked <quote who="Christian Selig">why aren't the position
(x,y,w,h) attributes in the properties window?</quote> James explained 
<quote who="James Thompson">the x, y, width, height properties are in 
the properties window - they are also at the bottom of the screen - 
you may have to scroll down a bit to see them</quote>. There was a known 
bug that <quote who="James Thompson">sometimes you can't edit the properties
on a window with a scrollbar - if you increase the size of the property 
window to get rid of the scroll bar then it will work - major PITA i 
know</quote>.</p>

<p>Christian also asked <quote who="Christian Selig">is it possible to
create a form which only gives a &quot;basic info&quot; on a data set, 
and on clicking a button, opens a more complete view?</quote> James 
replied <quote who="James Thompson">right now, no - it's easy to 
create the two forms and have a button launch the more detailed form - 
however we don't have a system for seeding the detail form with query 
values - it would be a very nice feature though</quote></p>

<p>James asked <quote who="James Thompson">dneighbo_: did you start a 
tutorial on desginer/forms?</quote> Derek Neighbors (dneighbo_) said 
<quote who="Derek Neighbors">i had a 'tutorial' started in the form of an 
'article' for linuxjournal - i think it might be in cvs - i want to finish 
it as an article (intro) - but we really need a raw tutorial as 
well</quote>.</p>

</section>

<section 
   title="Absolute and relative paths in GNUe Forms"
   subject="[IRC] 02 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002"
   startdate="02 Apr 2002 00:00:00 -0800" 
   enddate="02 Apr 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Derek Neighbors (deke) said that <quote who="Derek Neighbors">it 
appears that the paths in the gpd are relative to where gncvs runs?
not where the .gpd lives?</quote>. James Thompson (jamest) said 
<quote who="James Thompson">IIRC you can set that in gnue.conf</quote>.
Derek said <quote who="Derek Neighbors">the problem there is its 
still relative i think - but more so if you have lots of different 
gnue apps by different developers - you wouldnt want this to be the 
same</quote>. He confirmed that if you used an absolute path in 
gnue.conf, it was just appended: <quote who="Derek Neighbors">No 
such file or directory:
'/home/dneighbo/gnue//home/dneighbo/cvs/fsfoffice/contacts/phone_type.gfd'
</quote>. However, <quote who="Derek Neighbors">absolutes in the 
gpd do work</quote>.</p>

</section>

<section 
   title="Running applications from Navigator"
   subject="[IRC] 02 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002"
   startdate="02 Apr 2002 00:00:00 -0800" 
   enddate="02 Apr 2002 00:00:00 -0800">
<topic>Navigator</topic>
<topic>Forms</topic>
<topic>Designer</topic>
<topic>Reports</topic>


<p>Derek Neighbors (deke) asked <quote who="Derek Neighbors">you 
mind if alter navigator?</quote>. He noted that 
<quote who="Derek Neighbors">you define 'type' yet you 
always</quote> start GNUe Forms. <quote who="Derek Neighbors">I'm 
thinking we define in gnue.conf runCommands for report, designer, 
forms, etc</quote>. James Thompson said 
<quote who="James Thompson">i added a type=app - 
where you can use any valid shell command</quote>. Derek 
found the _runApp functionality, and commented 
<quote who="Derek Neighbors">thats what you get for misleading 
docs :)</quote> This was the cue for the usual round of 
'Documentation? We have doccumentation?' comments. Derek said he 
<quote who="Derek Neighbors">would take a stab at</quote> adding 
support for the other GNUe tools - <quote who="Derek Neighbors">unless 
you want to save it for arturas -  should be able to pretty much use 
the form code. The big problem is reports isnt full fleshed out so 
its kind of a moving target - well i guess not too much</quote>.</p>

</section>

<section 
   title="Entering query mode clears all blocks on a Form"
   subject="[IRC] 02 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002"
   startdate="02 Apr 2002 00:00:00 -0800" 
   enddate="02 Apr 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Derek Neighbors (deke) noted that, where 
<quote who="Derek Neighbors">querys span pages</quote> then 
<quote who="Derek Neighbors">if i go to tab one and do a query - 
then go to tab two and do a query - then go back to tab one - 
the result set is gone in tab one</quote>. He had been trying to 
do a contact manager databse as <quote who="Derek Neighbors">one 
form - and each one of the tables on a 'tab' - but i think instead 
will go back to original way of individual forms and use 
navigator</quote>. James Thompson (jamest) noted 
<quote who="James Thompson">entering a query clears all blocks on the 
form - i guess it should only clear the current block and it's 
children</quote>. Jason Cater (jcater) said <quote who="Jason Cater">I'm 
torn</quote>, adding <quote who="Jason Cater">my knee-jerk reaction is 
a user-initiated query should clear the entire form - but a 
trigger-generated query should be able to do both - I do think 
detail blocks would always be cleared</quote>. Derek said 
<quote who="Derek Neighbors">fwiw i ran into this before but slightly 
different scenario - i know that THIS usage of forms is not typical
and have no problem doing single forms for it</quote>. However, 
<quote who="Derek Neighbors">some day a more realist need could 
come up</quote>. James said <quote who="James Thompson">I've some forms 
where i could use something similar but I'm not 100% sold on the idea 
either - it's a pretty simple change IIRC</quote>. Derek said 
<quote who="Derek Neighbors">this is one of those we have some time 
to sit on if we choose</quote>.</p>

</section>

<section 
   title="Login functionality for Navigator"
   subject="[IRC] 02 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002"
   startdate="02 Apr 2002 00:00:00 -0800" 
   enddate="02 Apr 2002 00:00:00 -0800">
<topic>Navigator</topic>
<topic>Forms</topic>


<p>Derek Neighbors (deke) asked whether Navigator could define 
<quote who="Derek Neighors">a default source for login and having 
it persist?</quote> as <quote who="Derek Neighbors">it really sucks 
being prompted for login on every form</quote>. James Thompson (jamest) 
agreed, but <quote who="James Thompson">I have no clean, secure way 
to pass username/password info around - and putting it on the gfclient 
command line would be insane</quote>. Jason Cater (jcater) 
said <quote who="Jason Cater">the plan was to not use 
&quot;gfclient formname&quot; but to create an actual GFClient.py 
instance and pass it the formname and the connections object</quote>.</p>

</section>

<section 
   title="GNUe Error messages"
   subject="[IRC] 02 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Apr2002"
   startdate="02 Apr 2002 00:00:00 -0800" 
   enddate="02 Apr 2002 00:00:00 -0800">
<topic>Forms</topic>


<p>Derek Neighbors (deke) reported <quote who="Derek Neighbors">an 
interesting debug message :)</quote> - 
<quote who="Derek Neighbors">DBdriver.py You've got your bar in my 
foo! And you've got your foo on my bar!  Two great reams that ream 
well together!</quote> James Thompson (jamest) confessed 
<quote who="James Thompson">that was my error message to tell me 
something went to shit - however I don't recall what that something 
was :(</quote>. Jason Cater (jcater) suggested 
<quote who="Jason Cater">you need to enclose those messages in _() 
(the gettext interface) - so we can get those translated</quote>. 
Nick Rusnov (nickr) said <quote who="Nick Rusnov">I'd like to see 
that message in italian - or esperanto</quote>. Daniel Baumann 
(chillywilly) suggested <quote who="Daniel Baumann">Catalan 
please</quote>.</p>

<p>James referred back to the source and confirmed 
<quote who="James Thompson">what this means is you've hit an error 
in the sql code used to pull the next sequence value</quote>. Derek 
confirmed he <quote who="Derek Neighbors"> had wrong sequence 
name</quote> - he was <quote who="Derek Neighbors">actually not 
working with my own tables so forgot naming</quote>.</p>

</section>

<section 
   title="Choice of RPC for GNUe Application Server"
   subject="[IRC] 03 Apr 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.03Apr2002"
   startdate="03 Apr 2002 00:00:00 -0800" 
   enddate="03 Apr 2002 00:00:00 -0800">
<topic>Application Server</topic>
<topic>Common</topic>


<p>It was asked why the old version of GNUe Application Server used 
CORBA instead of SOAP. James Thompson (jamest) suggested 
<quote who="James Thompson">CORBA is very close to COBRA and snakes are 
cool.  SOAP implies bathing and no one in here does that. Actually 
CORBA was mature at the time that was decided...we really want to be 
transport independent</quote>. Later, Derek Neighbors (dneighbo) 
added <quote who="Derek Neighbors">the most important thing is that 
with gnurpc in common soon we can support any RPC you want - 
XML-RPC will be teh first to be heavily tested as its the protocol the 
FSF has decided to make its standard for interoperation for now - when 
we chose CORBA it and MS DCOM were the only VALID choices (read that 
worked (this was nearly 3 years ago) - well there was Java RMI too but 
since dont java that wasnt valid either</quote></p>

</section>

</kc>