<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

<author contact="mailto:psu@manorcon.demon.co.uk">Peter Sullivan</author>

<issue num="34" date="22 Jun 2002 00:00:00 -0800" />

<headquote>
&quot;<cite>mommy im gonna cry - 
i had to click a license agreement - 
you know how long its been since i did that?</cite>&quot; - 
&quot;<cite>uh-oh.  you probably agreed to be Steve Case's 
towelboy</cite>&quot;
</headquote>

<intro>

<p>This Cousin covers the three main 
mailing lists for the GNU Enterprise project,
<a href="http://mail.gnu.org/mailman/listinfo/gnue">gnue</a>, 
<a href="http://mail.gnu.org/mailman/listinfo/gnue-dev">gnue-dev</a> and 
<a href="http://mail.gnu.org/mailman/listinfo/gnue-announce">gnue-announce</a>.  
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 
<a href="http://www.gnuenterprise.org/irc-logs/">logs</a>.
For more information about the GNU Enterprise project, see their 
home page at <a href="http://www.gnuenterprise.org">
http://www.gnuenterprise.org</a>.</p>

</intro>


<section 
   title="Normalisation for Contact Management in GNUe/DCL" 
   subject="Contact, Event, and Workshop Managers" 
   archive="http://mail.gnu.org/pipermail/gnue/2002-Jun/003127.html" 
   posts="6"
   startdate="11 Jun 2002 07:53:02 -0800" 
   enddate="12 Jun 2002 23:00:00 -0800">

<topic>DCL</topic>
<topic>CRM</topic>

<mention>Michael Dean</mention>

<p>Chad Walstrom said he had been asked to replace some
<quote who="Chad Walstrom">Workshop and Visitors Management 
software</quote> at his workplace. He 
<quote who="Chad Walstrom">wanted to tap into an existing
project and add my resources rather than reinvent the wheel</quote> 
and was therefore keen to use GNUe. However, 
<quote who="Chad Walstrom">The particulars of the master/detail 
relationship in GNUe Forms eludes me</quote>. He gave his sample 
schema for contact management, using four tables (person, 
person_addr, address and address_type), asking 
<quote who="Chad Walstrom">In highly relational databases,
how do I represent these complex ideas in your forms?</quote>. 
Derek Neighbors said that <quote who="Derek Neighbors">THis 
almost exact example is in our samples, I think some code changes 
have broken it slightly, I have a fixed version I will check in very 
soon, but you can get the general gist of it from the sample.</quote>
This included postgres scripts to create the tables, and Forms to
access them. He had <quote who="Derek Neighbors">started to take this 
sample and replace its structs with real structs from DCL and to make 
a contact_manager that is fully compataiable with DCL for use by the 
Free Software Foundation</quote> (FSF). He was keen 
<quote who="Derek Neighbors">to try iron out a common spec as much as 
possible and have a unified contact manager to help burden work load if 
you are interested.</quote> Chad agreed - <quote who="Chad Walstrom">I 
can see where your tables could benefit from a bit more normalization, 
and some of my tables could benefit from being less generic.</quote> 
He suggested <quote who="Chad Walstrom">Sounds like a package is 
brewing <cite>grin</cite></quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.11Jun2002">
On IRC</a>, Derek Neighbors (dneighbo) explained <quote who="Derek Neighbors">at 
one time i was employed by a health and fitness club (gym/personal 
trainers/sauna/spa) outfit - i started to do their membership management 
stuff with gnue - as some of the early proof of concept stuff</quote>. 
This was the origin of the sample Contact Management forms, which he 
also used <quote who="Derek Neighbors">to track assignments for GNUe to 
FSF</quote>. When he <quote who="Derek Neighbors">started using DCL at 
work</quote> he <quote who="Derek Neighbors">really disliked how it 
handled contacts - i talked to mdean and he needed better contact support 
in dcl as well - so we rewrote a 
<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dcl/dclgw/scripts/install/xml/dcl.xml?rev=1.6&amp;content-type=text/vnd.viewcvs-markup">contact 
spec</a> (data dictionary)</quote> and he and Michael Dean (mdean) 
were now <quote who="Derek Neighbors">in process of modifying DCL to 
use the new schema for contacts</quote>. Also, the FSF 
<quote who="Derek Neighbors">needed donor management 
and some tracking software - they have decided to use DCL and as part of 
that im making some GNUe screens for contact management that will have 
items to do donation management etc - that is part of the fsf-contacts 
project on savannah - the modified sql stuff and forms are in its 
cvs</quote>. He explained how to create a database schema for a 
specific database from the XML definitions using sablotron and 
pysablot.</p>

<p>Derek wondered about writing up the contact management work as 
a case study/tutorial. He wondered if there was any free software 
that <quote who="Derek Neighbors">had a way to screen capture all 
my screen/voice while i worked - so i could do a demo - and capture 
as digital and we could post on website</quote>.</p>

<p>Chad (^chewie) said he had written a schema for contact 
management as well - he had normalised the data into a person table, 
an address table and a person_address table to link the two together. 
He said <quote who="Chad Walstrom">the idea is that there's less 
duplication of address data</quote> but <quote who="Chad Walstrom">ease 
of mgmt should probably win out for a less normalized schema</quote>.
Jason said <quote who="Jason Cater">we had a long discussion about that 
exact example</quote>. Derek agreed - <quote who="Derek Neighbors">what 
you gain is used to little that the overhead it puts on UI design - 
not only kills the developer but ultimately confuses the user</quote>.
Chad said he had also tried having <quote who="Chad Walstrom">one 
table for all phone, url, email, etc named comm - i.e. person_comm 
table w/a lookup for comm_type</quote>. Derek said he had tried 
this too - <quote who="Derek Neighbors">i think i spread back out for 
a. uncomplicating b. helping with size hopefully helping speed</quote>.</p>

<p>Chad said <quote who="Chad Walstrom">The one thing I disagree with on 
the DCL schema is the separate tables for accounts v.s. contact v.s. 
personel</quote>. Derek agreed in part - <quote who="Derek Neighbors">i 
think they need to be separate tables - but all shoudl use contact</quote>
- <quote who="Derek Neighbors">i.e. you only enter people in a contact 
table</quote>. Chad noted that the Company/account table also had address 
and phone number fields. Derek said that this was designed to allow for
company changes of address as well as contact changes of address - 
<quote who="Derek Neighbors">one could say sure change the company address 
and all employees change - but in theory its more likely sally sue moves 
from the denver to the san francisco branch - some yo yo goes in and changes 
her contact record - and viola now the whole denver branch has moved to the 
san francisco branch</quote>. Good user interface design could reduce the 
chances of this, <quote who="Derek Neighbors">but then it goes back to the 
a. complexity b. less data in specialized tables = better performance</quote>. 
In practice, it depended how many of your contacts/accounts/whatever were 
individuals and how many were (possibly mutli-site) companies. He said 
<quote who="Derek Neighbors">i STRONGLY believe in normalization thats what 
RDBMS were designed for - but i believe there is such a thing as over 
normalization as well</quote>.</p>

<p>Chad asked <quote who="Chad Walstrom">so, if we go about packaging a 
Contact Management package/module for GNUe, how should we go about 
it?</quote>. Derek said <quote who="Derek Neighbors">we need a way to 
do like 'base' module with add-on's - i.e. dcl would usge gnue-crm base 
module and the fsf contact system would use gnue-crm base model - 
for now i have basically been doing duplicate work :(</quote>. 
He was keen to start defining an "official" GNUe CRM package - 
<quote who="Derek Neighbors">the problem is to do that we need to probably 
use the module proposal template yada yada yada and put out for review and 
such - which is great and i want to do that, but i have time constraints for 
FSF - so im torn</quote>.</p>

<p>Later, Chad summarised the problem with address normalisation in 
databases - <quote who="Chad Walstrom">we were discussing the idea that an 
address record shared between personal and the company benefit from being 
edited once and changed everywhere, but if the UI is designed under the 
presumption that data is atonomous of eachother, then 
someone could open up the editor and change the data incorrectly</quote>. 
Possible solutions were:</p>

<quote who="Chad Walstrom">
<ol>
<li>even though the DB is normalized, you never let people share records 
between themselves or between companies</li>
<li>implement a before-commit trigger that counts references to a given 
address record and confirm with the user that it will indeed change for a 
number of users</li>
<li>de-normalize the database</li>
</ol>
</quote>

<p>Jason said that a proper normalised solution meant that users needed to 
<quote who="Jason Cater">understand when to change the id, or when to change 
an address - and that is a tall order - /me has had this problem - repeatedly 
:(</quote>. Daniel Baumann (chillywilly) assertively suggested 
<quote who="Daniel Baumann">I see, so you want to make this more friendly 
to clueless people ;)</quote>. Derek said <quote who="Derek Neighbors">if 
you have a rule that says the user can change the address BUT if the address 
belongs to more than one person it throws a message (hey dummy this is a 
shared address by X people)</quote> then either 
<quote who="Derek Neighbors">a. the user doesnt care and just hits ok
b. the user panics and clicks no and tells the customer, sorry i cant change 
your address c. they create the new address (when there is no need)</quote>. 
In practice, <quote who="Derek Neighbors">shared addresses should be the 
EXCEPTION not the rule</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.13Jun2002">
Two days later</a> Chad came up with another <quote who="Chad Walstrom">argument 
FOR normalized databases</quote> - <quote who="Chad Walstrom">they can actually 
reduce the number of dialogs/forms you need to create to enter data</quote>. 
Jason Cater (jcater) said <quote who="Jason Cater">nobody argued against normalization
iirc - only the level of normalization</quote>. Chad agreed - 
<quote who="Chad Walstrom">it's just that the relationships between those forms are 
slightly more complicated</quote>.</p>

</section>


<section 
   title="Quoting table names in SQL queries" 
   subject="[Gnue-dev] Quoting table names &amp; value type and database dependend value formating for SQL dbDriver" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="3"
   startdate="12 Jun 2002 08:53:18 -0800" 
   enddate="13 Jun 2002 00:51:39 -0800">

<topic>Common</topic>

<p>Jan Ischebeck suggested <quote who="Jan Ischebeck">names 
of tables and columnns should be quoted to allow names to 
contain a) special characters and b) non-ascii characters
c) reserved words</quote>. This would 
<quote who="Jan Ischebeck">make the forms client a bit more flexible in 
case of special fieldnames and special (non 100% ANSI SQL conform) data
types (like the POSTGRESQL Numeric == Float issuse)</quote>, 
as discussed in 
<kcref title="Problems with floating point fields in PostgreSQL" subject="[IRC] 10 Jun 2002"  />. 
However, Reinhard M&#252;ller pointed out <quote who="Reinhard M&#252;ller">not 
all DB backends support quoting (e.g. MySQL</quote>).</p>

</section>


<section 
   title="Foreign Key support in Forms" 
   subject="[Gnue-dev] FK Support" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="3"
   startdate="12 Jun 2002 13:33:43 -0800" 
   enddate="13 Jun 2002 07:07:20 -0800">

<topic>Forms</topic>
<topic>Designer</topic>

<p>Derek Neighbors said that foreign key (FK) support in Forms was 
confusing - instead of 
<quote who="Derek Neighbors">
&lt;entry field="type_id" name="inpType" style="dropdown" width="10" x="11" 
y="5" foreign_key="dtsEvent_type.id" foreign_key_description="name"/&gt;
</quote> 
the syntax should be 
<quote who="Derek Neighbors">
&lt;entry field="type_id" name="inpType" style="dropdown" width="10" x="11" 
y="5" fk_datasource="dtsEvent_type" fk_key="id" fk_description="name"/&gt;
</quote>. The foreign key data source could then be selected in the 
Designer module. Jason Cater said <quote who="Jason Cater">I 
am fine with that.  I always have to refer to a sample to remember the
syntax, anyway :)   However, to be consistent with other references to
datasources, it may be better to have fk_source="" instead of
fk_datasource</quote>. Derek agreed - <quote who="Derek Neighbors">Im 
not worried about naming, just moving the source to attribute regardless 
of what we call it.</quote>.</p>

</section>


<section 
   title="WikiWiki for GNUe" 
   subject="[IRC] 12 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.12Jun2002" 
   startdate="11 Jun 2002 23:00:00 -0800" 
   enddate="13 Jun 2002 23:00:00 -0800">

<p>Jason Cater (jcater) noted <quote who="Jason Cater">someone 
here suggested we do a wiki - /me is half-tempted to do that</quote>.
Derek Neighbors (dneighbo) said he <quote who="Derek Neighbors">hates 
wiki, but i suppose like all things i would get used to it</quote>. 
Jason said <quote who="Jason Cater">well, I'm not big on it - 
but it might jump-start better documentation - as in, it makes it 
real easy for other ppl to contribute</quote>. Derek though it was 
<quote who="Derek Neighbors">better to fix docs than enter wiki 
info - and if its bug stuff it belongs in dcl and not wiki</quote>. 
Jason agreed <quote who="Jason Cater">if one of us are doing 
something doc related - then definitely do it properly in 
cvs</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Jun2002">
Two days later</a>, Peter Sullivan (psu) suggested that the 
#gnuenterprise IRC <quote who="Peter Sullivan">channel (plus 
the Kernel Cousins summaries) pretty much give us what we would 
get from a wikki anywya</quote>. The problem was 
<quote who="Peter Sullivan">that the more channels of comm we have 
the thinner they get spread - and the more work is involved in 
keeping an overall picture of the project</quote>. He said he 
<quote who="Peter Sullivan">actually likes the concept of wikki 
and is wondering about using it for project at work - not sure 
if it is a good fit for our org culture, however</quote>. Later, 
Nicholas Lee (esands) gave some web site references about 
<quote who="Nicholas Lee">
<a href="http://twiki.org/cgi-bin/view/Codev/HowToGetInternalBuyInForTWiki">
How to Get Internal Buy In for TWiki</a> and
<a href="http://twiki.org/cgi-bin/view/Main/TWikiSuccessStories">
TWiki Sucess Stories</a></quote>.</p>

</section>


<section 
   title="Auto-populating look up fields in Forms" 
   subject="Selections and Form Completion" 
   archive="http://mail.gnu.org/pipermail/gnue/2002-Jun/thread.html" 
   posts="1"
   startdate="13 Jun 2002 08:47:00 -0800" 
   enddate="13 Jun 2002 08:47:00 -0800">

<topic>Forms</topic>

<p>Chad Walstrom, following through his own logic from 
<kcref subject="Contact, Event, and Workshop Managers" archive="http://mail.gnu.org/pipermail/gnue/2002-Jun/003127.html"  />, 
said that at the moment, users had to find foreign key 
values themselves and enter them. <quote who="Chad Walstrom">I 
would like to give them something that is a bit more user-friendly.  
It may be something as simple as a [SEARCH] button next to each 
input field that launches the appropriate search form.  The trick 
is being able to populate the field with the result of the search.
I know that triggers will be involved, but how would I go about
something like this?</quote>.</p>

</section>


<section 
   title="Converting applications to GNUe" 
   subject="[IRC] 13 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.13Jun2002" 
   startdate="12 Jun 2002 23:00:00 -0800" 
   enddate="12 Jun 2002 23:00:00 -0800">

<topic>Designer</topic>
<topic>Forms</topic>
<topic>Common</topic>

<p>Derek Neighbors (derek) said that converting a simple database 
with three main tables was <quote who="Derek Neighbors">probably 
a day</quote> of work. When challenged, he asked for the schema 
to be posted to him and had a look. Within a few minutes, he had 
written a form to look at the data, using the Designer wizard, 
and then cleaned it up by hand-editing. You needed to to check 
the connections.conf file, then make sure 
that he had a postgreSQL driver installed - 
<quote who="Derek Neighbors">i prefer pyscopg - but thast 
on debian</quote> - there were other alternatives that should 
also work if Red Hat used something different.</p>

<p>Derek asked <quote who="Derek Neighbors">can you give a 
screen shot of their working application?</quote>  The 
application being converted needed Netscape 4.7x to access it, as 
it made heavy use of javascript. Derek found a copy of 
<quote who="Derek Neighbors">Netscape&#174; Communicator 
4.72</quote> on a spare box, but this did not work. After 
a quick upgrade to 4.77, he logged in and had a look 
around. He concluded <quote who="Derek Neighbors">btw: i still 
dont think this is much more than a day or so work</quote> - 
he thought it was <quote who="Derek Neighbors">a pretty slick 
little environment</quote>. If they wanted to keep the 
application web-based rather than use the full-client GNUe 
Forms written in python, <quote who="Derek Neighbors">its quite 
possible the phpForms client would handle</quote> it - 
<quote who="Derek Neighbors">there is a demo on the gnue 
site</quote>.</p>

<p>Derek posted a simple sample form to show how the conversion 
would work - <quote who="Derek Neighbors">you will definitely 
need master/detail</quote> and foreign key entries for a full 
solution, but <quote who="Derek Neighbors">the other tables 
werent there to do that</quote> in the sample data he had.</p>

<p>To convert the tables from Sybase to PostgreSQL 
quickly, <quote who="Derek Neighbors">we have an xml schema 
for databases i.e. you define a database in XML - 
then use XSL and it creates the create_db.sql type file</quote>
for any supported database. There was a sample output 
<a href="http://goats.gnue.org/~dneighbo/fsf/datadictionary.html">on 
the website</a>, and the actual code was in DCL's CVS. 
This was useful not just within GNUe, but 
<quote who="Derek Neighbors">to anyone wanting to make create/insert 
scripts for more than one db - but not maintain files for every db 
vendor - and get a nice documented html file as well</quote>.
At the moment, there was no way to automatically convert from 
a specific database to create the XML schema in the first place, 
but he had discussed doing this <quote who="Derek Neighbors">using 
common's drivers and introspection</quote>.</p>

</section>


<section 
   title="Opening one form from within another" 
   subject="[IRC] 13 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.13Jun2002" 
   startdate="12 Jun 2002 23:00:00 -0800" 
   enddate="12 Jun 2002 23:00:00 -0800">

<topic>Forms</topic>

<p>Marius Gedminas (mgedmin) asked <quote who="Marius Gedminas">is 
it possible to open a second form on a button click?</quote> He 
remembered seeing this discussed before - <quote who="Marius Gedminas">there 
were two solutions -- os.system() and some trigger/event/whatever</quote>. 
Andrew Mitchell (ajmitch) suggested <quote who="Andrew Mitchell">maybe 
look at navigator code to see how it opens form, implement that in 
triggers?</quote> Navigator had got <quote who="Andrew Mitchell">quite 
a bit better lately</quote> - it had not been 
<quote who="Andrew Mitchell">included in the 0.3.0 group release</quote> 
but <quote who="Andrew Mitchell">it's got a bit of luvin since 
then</quote>, as discussed in 
<kcref title="GNUe Navigator development and testing" subject="[IRC] 06 Jun 2002" />. 
Marius reported <quote who="Marius Gedminas">gnue-navigator uses the 
os.system("gnue-forms %s") approach</quote>. Jan Ischebeck (siesel) said 
<quote who="Jan Ischebeck">for the other approach you have to look in 
UIwxpython.py</quote>. Marius asked <quote who="Marius Gedminas">can I 
do that in a trigger script?</quote> Andrew said 
<quote who="Andrew Mitchell">you could try :) - looks like you have to 
tell it to parse form too - seems almost too simple... ;)</quote>. 
Marius agreed - <quote who="Marius Gedminas">only 50 lines of Python 
code ;)</quote>. Jan said <quote who="Jan Ischebeck">there is a trigger 
solution too: look in forms/samples/location/forms/runform.gfd</quote>. 
Arturas Kriukovas (Arturas) noted <quote who="Arturas Kriukovas">this 
does open a new form, but is it possible to avoid that request window 
to enter username\password for the database?</quote> Jan said that 
Navigator did this - this code could be reused in the runforms method, 
or extracted to a separate function that both runforms and Navigator 
could use.</p>

</section>


<section 
   title="Grid support in GNUe Forms" 
   subject="[IRC] 13 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.13Jun2002" 
   startdate="12 Jun 2002 23:00:00 -0800" 
   enddate="12 Jun 2002 23:00:00 -0800">

<topic>Forms</topic>

<mention>Marcos Dione</mention>

<p>It was asked if GNUe supported grid widgets. Derek Neighbors 
(dneighbo) said <quote who="Derek Neighbors">well current we 
have highly portable home made grid widgets</quote> which 
were used by setting a rows="" attribute. 
<quote who="Derek Neighbors">Eventually we will with wxGrids as 
well - which will be no more functional, just prettier</quote>. 
Scrolling was not yet supported, but Marcos Dione (StyXman) was
<quote who="Derek Neighbors">beefing up scrollbar support</quote> 
as discussed in 
<kcref title="Scrollbars for grids" subject="[IRC] 10 Jun 2002" />. 
However, <quote who="Derek Neighbors">you can scroll with keys - 
so its not like its not usable - and with mouse you can do so as 
well - by the navigation bar for records</quote>. There was no 
reason why you could not <quote who="Derek Neighbors">troll through 
a grid to find record to edit - and that record shows up in a pretty 
half of the form for editing</quote>, but he was not sure that 
was ideal from a UI (user interface) perspective. James Thompson 
(jamest) said <quote who="James Thompson">you can setup master/detail 
blocks w/ detail displaying same data as master but read only fields - 
i do that here - so that the editable part shows a school - and a rows= 
block shows all schools in that zipcode including the school 
above</quote>.</p>

</section>


<section 
   title="'Open source' alternatives to GNUe" 
   subject="[IRC] 13 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.13Jun2002" 
   startdate="12 Jun 2002 23:00:00 -0800" 
   enddate="12 Jun 2002 23:00:00 -0800">

<topic>Financials (Accounting)</topic>

<mention>Keith</mention>

<p>Keith Jagrs (Keith_Jagrs) asked <quote who="Keith Jagrs">are there 
any other Open Source ERP projects ongoing? besides gnuenterprise?</quote> 
Sacha Schlegel (SachaS) pointed to a 
<a href="http://vip.hex.net/~cbbrowne/finances.html">web page</a> 
that <quote who="Sacha Schlegel">has some infos on finance applications 
on linux etc - might be a bit outdated but .... gives you some 
pointers</quote>. Keith asked <quote who="Keith Jagrs">How far do you 
think is GNUe to be an option like SAP, JDedwards and other ERP 
software?</quote> Sacha said this was the intention, but 
<quote who="Sacha Schlegel">i guess you have to wait a couple of months, 
years or help yourself to boost it.</quote></p>

</section>


<section 
   title="Scrollboxes and other queries" 
   subject="[Gnue-dev] a 'better' patch" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="5"
   startdate="14 Jun 2002 07:17:51 -0800" 
   enddate="14 Jun 2002 23:00:00 -0800">

<topic>Forms</topic>

<mention>Aditya Gilra</mention>

<p>Marcos Dione posted a revised patch to support 
<quote who="Marcos Dione">adds mainmenubar, maintoolbar and the new
widget: scrollbox.</quote> He noted that the scrollwidget 
<quote who="Marcos Dione">has the ability of containing widgets.
which means that widgets declared inside &lt;scrollbox&gt; tags will be
drawn *inside* the scrollbox (as one would expect).</quote>
Co-ordinates of contained widgets were <quote who="Marcos Dione">relative 
to the scrollbox left upper corner, and not the window's one.</quote>. 
He wonder if it would make sense for the &lt;box&gt; widget should also 
be a container - <quote who="Marcos Dione">that would allow to make (I
think) more modular forms.</quote> Jason Cater said he liked 
<quote who="Jason Cater">the concept of containers.</quote> However, 
he was worried about how user interfaces other than wxWindows would 
support scrollboxes - ideally, Forms definitions should be renderable 
in any supported UI. Marcos said that scrollboxes were 
<quote who="Marcos Dione">not really wx-specific.</quote> A curses 
(text-only) version of the scrollbox might take some work, but 
<quote who="Marcos Dione">the html can be easily be
done with IFRAME. that allows you to show pages inside pages in a more
flexible way than FRAME and more like this scrollbox thing 
does.</quote></p>

<p>Later, Aditya Gilra raised some other problems with GNUe Forms. 
Derek Neighbors urged people to raise bugs via the 
<quote who="Derek Neighbors">productname-support@gnuenterprise.org</quote> 
e-mail addresses, as <quote who="Derek Neighbors">There are now so
many developers, feature requests and bug submittal's it is too hard to
address via email.</quote> He raised Aditya's bugs in DCL. 
Aditya also asked about developer documentation. Derek said 
<quote who="Derek Neighbors">In all the tools there is a directory called 
docs/ you can usually find goodies in there, docs, patches and the likes 
are always greatly appreciated. :)</quote>.</p>

</section>


<section 
   title="Hindi support in Forms" 
   subject="[Gnue-dev] i18n patch" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="1"
   startdate="14 Jun 2002 20:41:29 -0800" 
   enddate="14 Jun 2002 20:41:29 -0800">

<topic>Forms</topic>

<p>Aditya Gilra attatched some files <quote who="Aditya Gilra">that 
allow us in India to enter data in Hindi (forms driver)</quote>, 
which <quote who="Aditya Gilra">should work for a lot more 
locales.</quote>. He explained that wxWindows did 
<quote who="Aditya Gilra">not support the various context dependent 
ligatures required to display Hindi since it is based on gtk
1.2</quote>. However, <quote who="Aditya Gilra">gtk 2.0 uses pango 
1.0 which renders Hindi quite well. Until wxgtk is based on gtk 2.0, 
we need to use pygtk2.0 (1.99.10) to be able to enter Hindi.</quote>. 
Therefore, <quote who="Aditya Gilra">I'm using utf-8 throughout - 
in database and in forms and in the ui driver. It's the easiest for 
Hindi as it is requires no modifications in postgresql and very simple 
modifications in forms.</quote></p>

</section>


<section 
   title="Problems with PostgreSQL booleans using Forms checkboxes" 
   subject="[IRC] 14 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Jun2002" 
   startdate="13 Jun 2002 23:00:00 -0800" 
   enddate="13 Jun 2002 23:00:00 -0800">

<topic>Forms</topic>

<p>Marius Gedminas (mgedmin) reported problems trying to use boolean fields in 
PostgreSQL with check boxes in GNUe Forms. Adding a boolean field to the form 
meant that it was being used in the WHERE clause for update queries, as 
discussed in 
<kcref title="Problems with floating point fields in PostgreSQL" subject="[IRC] 10 Jun 2002" />
However, <quote who="Marius Gedminas">comparing a boolean value 0/1 is not 
supported by PostgreSQL</quote>. He was getting similar problems with 
date/time fields, but <quote who="Marius Gedminas">with DATETIME it works 
for some records and fails for others</quote>. John Lenton (Chipaca) noted 
that PostgreSQL was very sensitive as to how numeric values were quoted - 
he suggested <quote who="John Lenton">use 'true' and 'false'</quote> instead, 
by editing the checkboxTrueValue in gnue.conf. Marius said he would try this -
<quote who="Marisu Gedminas">problem is that it <cite>gets</cite> the value as 
0 or 1 from the db - puts it into a text entry field - then tries to store it 
back</quote>. Later, Marius summarised <quote who="Marius Gedminas">1. 
updating a boolean field through a checkbox does not work due to UI issues - 
2. updating a boolean field through a text entry does not work because of typecasting 
issues</quote>. However, this latter problem was <quote who="Marius Gedminas">because 
of my fixes <cite>sigh</cite></quote>, which he went on to re-fix. John felt that 
it was PostgreSQL that was at fault, not Marius' code.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Jun2002">
Some days later</a>, 
John Lenton (Chipaca) asked <quote who="John Lenton">is there a 'cleaner' 
way to query the value of a field in the current recordset other than 
&lt;datasource&gt;._object._currentResultSet.current.getField('&lt;field&gt;')
?</quote> James Thompson (jamest) said <quote who="James Thompson">not that 
I recall but it would be easy to extend the trigger namespace - and I did add 
a simpleQuery() to it - that returns a a list of dictionaries - based upon a 
query mask</quote>. John asked for more details, saying he was 
<quote who="John Lenton">hacking a button to behave like a checkbox</quote>. 
James said <quote who="James Thompson">we need to just fix the !@#!@ checkboxes 
:) - biggest problem there is how to handle queries - as a checkbox needs three 
states in a query</quote>. John agreed but noted 
<quote who="John Lenton">checkboxes work in the query part, it seems to be the 
UI&lt;=&gt;data bid that fais. I mean, it displays whether the database has a 'y' 
or 'n' correctly with a check or no check - and I can change it from checked to 
unchecked no problem - it's that checkin/unchecking that never reaches 
the data</quote>.</p>

</section> 


<section 
   title="Branching CVS to split bug fixes and new features"
   subject="[IRC] 15 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Jun2002" 
   startdate="14 Jun 2002 23:00:00 -0800" 
   enddate="14 Jun 2002 23:00:00 -0800">

<topic>Forms</topic>
<topic>Designer</topic>
<topic>Common</topic>
<topic>Reports</topic>
<topic>Application Server</topic>

<p>Jason Cater (jcater) announced that he was 
<quote who="Jason Cater">branching CVS today for 0.3.x stable branch</quote>
for Forms, Designer and Common <quote who="Jason Cater">if 
no one has any objections (we have too many feature requests in DCL 
now :( </quote> Derek Neighbors (dneighbo) agreed - he would like 
to see DCL organised so that tickets for bugs stayed as tickets, but 
tickets for new features were assigned as work orders. This would 
help to make it clear what needed to be applied to which branch 
in CVS. He also thought <quote who="Derek Neighbors">we need to go to 
model of NO cvs commit is done without a DIRECT reference to a ticket or 
a workorder</quote>. Jason agreed <quote who="Jason Cater">but only for 
the stable branches - at least for now</quote>. Derek said 
<quote who="Derek Neighbors">i think for everything - as we really need 
better roadmaps and planning</quote>, using DCL as 
<quote who="Derek Neighbors">the 'todo' list</quote>. Jason said 
there was no need to branch the tools (such as AppServer and Reports) 
that were still at version 0.0.1. Derek agreed.</p>

</section>


<section 
   title="Loading CSV files into DCL" 
   subject="[IRC] 17 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.17Jun2002" 
   startdate="16 Jun 2002 23:00:00 -0800" 
   enddate="16 Jun 2002 23:00:00 -0800">

<topic>DCL</topic>

<p>Derek Neighbors (dneighbo) asked about problems he was 
having with the CSV (Comma Separated Values) upload into 
DCL - <quote who="Derek Neighbors">i put same code i do elsewhere 
for uploads and for whatever reason php behaves differently</quote>. 
He <quote who="Derek Neighbors">basically had to verify if file was 
coming from http upload or if file name was being 'spoofed' - i fixed 
everywhere except workorder csv uploads - as it appeared to be being 
'spoofed' even when not 'spoofing'</quote>. Michael Dean (mdean)
asked <quote who="Michael Dean">I thought the is_upload_file (or 
whatever) was available in</quote> version 3 of php? Derek said it 
was only <quote who="Derek Neighbors">available in like 3.0.17 or 
something (a rather new version) - i figured if the other method was 
just as valid, but would work on ANY version we were better off using 
that</quote>. Michael said that <quote who="Michael Dean">anything 
older than 3.0.18 has some security holes, IIRC</quote> and was hence 
depreciated. Derek said he would try it again the other way.</p>

<p>Jason Cater (jcater) liked the idea of being able to do bulk 
uploads into DCL - <quote who="Jason Cater">/me needs to try that 
out</quote>. Derek said <quote who="Derek Neighbors">its how i 
planned to give FSF command line batch process</quote>. Derek and 
Michael did some more debugging on the spoof protection part of 
the code.</p>

</section>


<section 
   title="Container widgets in Forms" 
   subject="[Gnue-dev] scrollbox" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="4"
   startdate="18 Jun 2002 11:09:46 -0800" 
   enddate="18 Jun 2002 12:01:15 -0800">

<topic>Forms</topic>

<p>Continuing 
<kcref subject="[Gnue-dev] a 'better' patch" startdate="14 Jun 2002 07:17:51 -0800" />, 
Marcos Dione said he thought <quote who="Marcos Dione">that 
scrollboxes are the first step to make a good grid available. and 
are generic enough to support other specific requirements, like forms 
that would not fit in one screen (think in curses).</quote> 
Derek suggested a more generic solution of 
<quote who="Derek Neighbors">containers of some 
sort or bind to a block.  I think concept is right and that we need 
scrollbars to bind so that we can do a 'grid'.</quote> 
Marcos suggested that a generic container widget that could have the 
scrollbar switched on or off on demand might be better. 
Jason Cater felt this was <quote who="Jason Cater">the wrong 
approach.</quote> He liked <quote who="Jason Cater">introducing container 
elements to ease importing.</quote> However, he felt that the current 
suggestion would break existing forms, and (more importantly) 3
<quote who="Jason Cater">is very GUI specific and has no place in our forms
definitions.</quote></p>

</section>


<section 
   title="License issues for applications using GNUe Application Server" 
   subject="[IRC] 18 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Jun2002" 
   startdate="17 Jun 2002 23:00:00 -0800" 
   enddate="17 Jun 2002 23:00:00 -0800">

<topic>Application Server</topic>
<topic>Why GNUe?</topic>

<p>Andrew Mitchell asked <quote who="Andrew Mitchell">what issues will 
you have with methods that fall under different licenses</quote> to 
the GNU Public License (GPL) that GNUe Application Server was licensed 
under? Reinhard M&#252;ller (reinhard) said that the GNUe applications 
would not use any methods that were not GPL. If other companies wanted 
to write, sell and distribute applications using the Applications Server 
under different licences, <quote who="Reinhard M&#252;ller">that would 
be ok - however we would of course recommend to release GNUe apps under 
a free license</quote>. In any case, <quote who="Reinhard M&#252;ller">it 
could be hard to write "closed-source" software in python, as it is an 
interpreted language :)</quote>. Andrew said that people could 
<quote who="Andrew Mitchell">compile to bytecode</quote>. 
Jan Ischebeck (siesel) asked whether <quote who="Jan Ischebeck">is 
bytecode compatible over different python versions?</quote>. Andrew said 
<quote who="Andrew Mitchell">i think it can be, just not 
sure</quote>.</p>

</section>


<section 
   title="DTD for GNUe XML" 
   subject="[IRC] 18 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Jun2002" 
   startdate="17 Jun 2002 23:00:00 -0800" 
   enddate="17 Jun 2002 23:00:00 -0800">

<p>Charlie Navarro (yogurt2unge) said he had been working with the GNUe 
DTD (XML Document Type Definition) and discovered a few errors. 
James Thompson (jamest) confirmed that the DTD 
<quote who="James Thompson">isn't in use yet</quote>. 
Jason Cater (jcater) said <quote who="Jason Cater">gnuedtd is a hack 
script that isn't actually supported - it's something I did overnight - 
I think it has an infinite loop issue hat I haven't had a chance to look 
at</quote>. Charlie supported the idea of using a DTD.</p>

</section>


<section 
   title="Login and security in Application Server" 
   subject="[IRC] 18 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Jun2002" 
   startdate="17 Jun 2002 23:00:00 -0800" 
   enddate="17 Jun 2002 23:00:00 -0800">

<topic>Application Server</topic>

<mention>Michael Dean</mention>
<mention>Stan Klein</mention>

<p>Alejandro Pronotti (aprono) asked where to 
<quote who="Alejandro Pronotti">set the username to test appserver 
example?</quote>. Reinhard M&#252;ller (reinhard) said that, as of 
time of writing, <quote who="Reinhard M&#252;ller">the default 
username is your login name you started appserver with - i think 
when starting test.py directly you have some options</quote>. You 
could also change the source code to hard-wire the user name 
directly. Later, he confirmed that 
<quote who="Reinhard M&#252;ller">test/test is username/password to 
log into the appserver</quote> for the test example.</p>

<p>Earlier, Reinhard said that Jan Ischebeck's (siesel) geasAuthAgent 
code was <quote who="Reinhard M&#252;ller">much like what i was 
thinking about - but i believe we need something more flexible - not 
only access to tables/classes - but also access to fields, methods - 
and maybe even to instances depending on conditions</quote>. Jan said 
his proposal was just for <quote who="Jan Ischebeck">the "SIMPLE" auth 
agent for geas 0.0.4 or so</quote> - further functionality could be 
added later. Reinhard agreed, as did Derek Neighbors, who said 
<quote who="Derek Neighbors">role based access control should be high 
priority just not immediately :)</quote>, referring to the proposals 
already done in this area by Stan Klein (sklein) and 
Michael Dean (mdean).</p>

<p>Earlier, Reinhard asked <quote who="Reinhard M&#252;ller">btw could 
it be this auth stuff breaks test.py?</quote> Jan re-tested it, and 
noted <quote who="Jan Ischebeck">its quite strange, it works if I'm in 
the appserver directory but if I'm out it stops working.</quote> Later, 
he confirmed <quote who="Jan Ischebeck">if I remeber right test.py uses 
a default authAgent which lets everybody in.</quote>. Earlier, he said 
that <quote who="Jan Ischebeck">the next big step will be that GEOR 
stuff I think</quote>, to start implementing the GNUe Object Repository 
within AppServer.</p>

</section>


<section 
   title="Using XML for Application Server definition files" 
   subject="[IRC] 18 Jun 2002" 
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Jun2002" 
   startdate="17 Jun 2002 23:00:00 -0800" 
   enddate="17 Jun 2002 23:00:00 -0800">

<topic>Application Server</topic>

<mention>Derek Neighbors</mention>

<p>Jan Ischebeck (siesel) summed up Derek Neighbors' (dneighbo) 
short-term goals for an initial non-object orientated Application 
Server, as previously discussed in 
<kcref title="GNUe Application Server meta-discussions" subject="[IRC] 11 Jan 2002"  />
and other occasions, 
saying <quote who="Jan Ischebeck">for that we should 1. define a 
new XML format for appserver triggers and table descriptions 2. a 
GParser tranforming files like this into an object tree 3. GTrigger 
objects in that object tree listening to events on 4. 
GDatasource/GField objects also in the object tree.</quote>. 
Reinhard M&#252;ller (reinhard) felt that 
<quote who="Reinhard M&#252;ller">we shouldn't _base_ appserver on 
that xml stuff - like forms is totally based on the xml - because i 
am 100% positive we will support other formats of object definitions 
than xml</quote>. Jan agreed <quote who="Jan Ischebeck">but if we want 
to use GTrigger from common without many modifications we have to go 
that way.</quote> Reinhard said that 
<quote who="Reinhard M&#252;ller">trigger definitions (and later object 
definitions)</quote> should be a separate module, in order to allow 
<quote who="Reinhard M&#252;ller">a more dynamic approach</quote> 
instead of just using static XML file definitions. Daniel Baumann 
(chillywilly) suggested using ODL (Object Definition Languague) as 
the basis - <quote who="Daniel Baumann">you can make some xml markup 
based on it or support it outright</quote>.</p>

</section>


<section 
   title="Old GEAS (GNUe Application Server) now obsolete"
   subject="[Gnue-dev] Newbie" 
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-Jun/thread.html" 
   posts="2"
   startdate="19 Jun 2002 04:27:33 -0800" 
   enddate="18 Jun 2002 22:20:16 -0800">

<topic>Application Server</topic>

<p>Sukotjo S. Bambang reported a problem with GEAS - 
<quote who="Sukotjo S. Bambang">I have always get a message 
error UUID header.</quote>. Reinhard M&#252;ller said that 
<quote who="Reinhard M&#252;ller">The geas package is obsolete</quote>, 
noting <quote who="Reinhard M&#252;ller">The appserver package
replaces geas.</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Jun2002">
On IRC</a>, Reinhard asked <quote who="Reinhard M&#252;ller">is 
it possible to remove geas tarballs from the download section?</quote>
Derek Neighbors (derek) said it <quote who="Derek Neighbors">would 
be nice to get it out of cvs some how too - well i would like to keep 
it in cvs just somewhere where it doesnt get downloaded with cvs update 
or cvs co of gnue - only to lessen the bloat of cvs (i would like to 
have docs be separate module as well)</quote>. Reinhard said 
<quote who="Reinhard M&#252;ller">for now i added some comments to README 
and autogen.sh that one shouldn't try to build this program - 
my concern is not primarly bloat of cvs but the regular questions</quote> 
on the mailing list.</p>

</section>

</kc>