<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

<author contact="mailto:psu@burdonvale.co.uk">Peter Sullivan</author>

<issue num="56" date="23 Nov 2002 00:00:00 -0800" />

<headquote>
"<cite>Speicherzugriffsfehler = segmentation fault</cite>" - 
"<cite>I love the german word for segfault. 
Pronounced in English, it really *sounds* like something bad 
has happened.</cite>"
</headquote>

<intro>

<p>This Cousin covers the three main mailing lists for the
<a href="http://www.gnuenterprise.org">GNU Enterprise</a>  
project, plus the the #gnuenterprise IRC channel.
Note that we are currently looking for volunteers to help 
us take this Kernel Cousin 
<a href="http://mail.gnu.org/pipermail/gnue/2002-November/003400.html">group 
authored</a> - please <a href="mailto:psu@burdonvale.co.uk">contact 
us</a> for more details.</p>

</intro>


<section 
   title="Designing a Security Framework for GNUe"
   subject="Security Framework Issues"
   archive="http://mail.gnu.org/pipermail/gnue/2002-November/003380.html" 
   posts="7"
   startdate="07 Nov 2002 10:10:54 -0800"
   enddate="20 Nov 2002 04:22:39 -0800">

<topic>Application Server</topic>

<p>Stan Klein said he had <quote who="Stan Klein">been working 
on updating the security framework proposal I drafted in
May 2001</quote>, to give examples of real-world security 
requirements and how they could be implemented in GNUe - 
at the same time <quote who="Stan Klein">trying to infer what 
additional GNUe features, if any, would facilitate 
implementation of the requirements.</quote> However, there 
did not seem to be many <quote who="Stan Klein">examples -- 
even sanitized -- of real security requirements related to 
the business processes and data of real enterprises.</quote> 
He asked if anyone could suggest some, rather than him have 
to <quote who="Stan Klein">I can construct some business 
process security requirements scenarios from scratch</quote>.
Jorge Lehner pointed out that <quote who="Jorge Lehner">at 
UNI/Managua we just realized an implementacion of Role
Based Access Control for the PostgreSQL server</quote>, 
which was <a href="http://sam.uni.edu.ni/">downloadable</a>.
Stan felt this was important, as <quote who="Stan Klein">In 
my view, the underlying security has to come mainly from the
operating system and database management system.  If there is a method of
providing RBAC using PostgreSQL, this could probably become a major
capability for GNUe to use.</quote></p>

<p>Reinhard M&#252;ller (reinhard) said that security for n-tier
(i.e. when using AppServer) consisted of several distinct issues:
<ol>
   <li><quote who="Reinhard M&#252;ller">How appserver connects to 
       the database</quote></li>
   <li><quote who="Reinhard M&#252;ller">How secure the connection 
       between appserver and database</quote> (for example, encrypted, 
       or Virtual Private Network)</li>
   <li><quote who="Reinhard M&#252;ller">How the user authentificates to 
       the application server</quote>.</li>
   <li><quote who="Reinhard M&#252;ller">How secure the connection between 
       the client and the appserver</quote>.</li>
   <li><quote who="Reinhard M&#252;ller">Once the user has logged into 
       appserver, what access he/she has.</quote></li>
</ol>
He said this last point <quote who="Reinhard M&#252;ller">could be a 
system which defines class/condition/property/user/access tuples</quote> 
- who can do what to which properties of which objects, on either an 
inclusive or exception basis - giving some examples.</p>

<p>Stan said that Application Server seemed to mean different things 
to different projects - from GNUe's point of view, it was a mechanism 
to shield client applications (such as Forms and Reports) 
<quote who="Stan Klein">from the details and complexity of the data 
locations and databases or other formats in which the data is 
stored.</quote> As such, <quote who="Stan Klein">Security needs to be 
built-in from the start.</quote> <quote who="Stan Klein">The trend is 
toward security certification under standards</quote>, and 
<quote who="Stan Klein">Tony Stanco at George Washington University has 
a project to security certify Security Enhanced Linux, which will be a 
loadable module of the Linux 2.6 kernel.  This will be a pilot project 
for certifying the security evaluation of a free/open-source software 
project</quote>, which might set significant precedents for GNUe. 
It was also important to consider security not just in the context of 
normal operations, but also against specific attacks. 
<quote who="Stan Klein">If it is feasible to use the operating system 
or database security for protecting the appserver, we should do 
so</quote> as this would be more secure than "bolted-on" security in 
the GNUe code itself. However, <quote who="Stan Klein">There may well 
be some access controls that can only be handled
within appserver.  If these arise, we should recognize ourselves and make
it clear to our users that these functions are insecure against a
sophisticated attacker.</quote> Paul Juckniess disagreed -
<quote who="Paul Juckniess">Since you may have databases scattered 
around the net and different operating systems you would really want 
the security handled within the application in one place otherwise 
administration could become very complex very fast.</quote> Stan 
appreciated the practicalities, but said <quote who="Stan Klein">Anything 
you do in the application that isn't protected by the operating
system can be bypassed or defeated.  The database (which is itself really
an application) can provide protection, but the protection it provides has
to be grounded in the operating system also.</quote> Also, 
<quote who="Stan Klein">Protecting 
software written in a scripting language, such as Python, is
also a challenge.  You need to prevent a malicious user from obtaining a
copy of the script, tampering with it by simple editing, and redirecting
the system to use the tampered copy.</quote>.</p>

</section>


<section 
   title="GNUe Community and Applications"
   subject="short questions"
   archive="http://mail.gnu.org/pipermail/gnue/2002-November/003387.html" 
   posts="2"
   startdate="14 Nov 2002 22:23:12 -0800"
   enddate="16 Nov 2002 02:15:50 -0800">

<topic>Why GNUe?</topic>
<topic>Application Server</topic>

<p>Dirk Riehle asked <quote who="Dirk Riehle">Why is GNUe a "meta-project". 
Is it more than a bundle of the three mentioned projects</quote> on the 
front page of the website. Peter Sullivan said 
<quote who="Peter Sullivan">The "meta-" part relates really to the 
Community aspect, IMHO. As well as the "official" GNUe Applications, 
anything else written using the GNUe Tools can, in effect, tap into 
the resources of the wider GNUe Community.
This is why GNUe has a much wider scope than most other similar projects
(both free and proprietary) - they either focus on providing a toolkit, 
or "shrink-wrapped" applications. GNUe aims to do both, and 
more!</quote>.</p>

<p>Dirk also commented that he <quote who="Dirk Riehle">was surprised to 
see that no implementation work has been done on the actual packages. 
Am I mistaken or did you focus (almost exclusively) on the 
tooling/runtime so far?</quote> Peter agreed - 
<quote who="Peter Sullivan">Although several people are now using 
Forms "in production" with private applications they have written 
themselves,  the main GNUe Applications have always been intended 
to use the Application Server (n-tier), and hence there has been 
little impetus in this area so far.</quote></p>

</section>


<section 
   title="GNUe Small Business"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Small Business</topic>

<mention>ra3vat</mention>

<p>It was asked what progress had been made on the Small Business 
edition of GNUe. Bajusz Tam&#0225;s (btami) said that there was a 
project page for it on 
<a href="http://savannah.gnu.org/projects/gnue-sb">savannah</a>, 
the Free Software Foundation's free fork of Sourceforge. On the 
tools, <quote who="Bajusz Tam&#0225;s">0.4.1 coming soon</quote> and 
Dmitry Sorokin (ra3vat) noted that <quote who="Dmitry Sorokin">the 
tools is very useful already - forms, reports are tools to build 
your own application</quote>. The amount of "programming" needed 
to build an application <quote who="Dmitry Sorokin">depends on 
application you need but mostly you do not need programming 
knowledge</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002">
The next day</a>, Andrew Mitchell (ajmitch) asked 
<quote who="Andrew Mitchell">how's gnue-sb going?</quote>. 
Derek Neighbors (derek) said <quote who="Derek Neighbors">good 
but slow - jcater pounded out schema fixes YEAH - so for now 
we have the gsd's fixed and working ! i will be fixing the 
forms to match</quote>. Andrew said he had 
<quote who="Andrew Mitchell">to look at gnue-sb, the description 
looks like interesting stuff - SB is what i mainly care about - 
since we don't really have much bigger than small businesses 
:)</quote> in New Zealand.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.17Nov2002">
Two days later</a>, 
Derek Neighbors (dneighbo) said <quote who="Derek Neighbors">ok 
new gnue-sb committed - item management and contact management 
forms should 'function'. They could be improved a bit and could have 
more features - but the basic schema's and forms are there and do 
work! Basically the two custom pieces i had hodgepodged at one time 
are now functioning.</quote> Having pushed for feature maps for the 
GNUe Tools (as discussed in
<kcref title="Feature plans for GNUe" subject="[IRC] 08 Nov 2002" />, 
<quote who="Derek Neighbors">i will look at 'feature maps' now for 
gnuesb</quote>.</p>

<p>Later, Derek said he was still holding off a public launch 
for GNUe Small Business until the issues with the CVS were 
resolved - it had been given a Savannah CVS web-page at 
www.nongnu.org in error instead of on www.gnu.org. Jeff Bailey 
(jbailey) asked <quote who="Jeff Bailey">Why don't you just 
have gnue-sb under gnuenterprise.org ?</quote> Derek replied 
<quote who="Derek Neighbors">because we dont want people to 
think we have abandoned appserver and more robust SAP R/3 type 
implementation</quote>. However, <quote who="Derek Neighbors">we 
needed something QUICK</quote> for some specific clients 
<quote who="Derek Neighbors">that was two tier and ready to ship 
within a quarter or two - i.e. read not something perfect with 
ultimate planning and documentation - but something worked and 
could be extended</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002">
The next day</a>, Derek confirmed that 
<quote who="Derek Neighbors">currently gnue-sb only supports postgres - 
until the gsd tool is fixed to support the other databases - as soon as 
the tool renders gsd's for a db that db should be supported by 
gnue-sb</quote>. He personally would not recommend MySQL for use 
against gnue-sb - <quote who="Derek Neighbors">mysql is not a kwality 
kode database for this type of application</quote>, nor was sqlite. He 
noted <quote who="Derek Neighbors">my personal goal for gnuesb is not to 
be quickbooks - if someone wants that i will point them to gnucash small 
business project. If someone is willing to do local filesystem for a db 
then gnue-sb is bigger than them (imho) - /me isnt opposed to getting 
sqllite working, but states strongly that is not the target market for 
gnue-sb</quote>. Jason agreed, but said <quote who="Jason Cater">I bet 
we still see the single business owner strolling in - wanting something 
for his PC</quote>.</p>

<p>Christian Selig (lupo) asked <quote who="Christian Selig">does/will 
gnue-sb handle european tax stuff - ie tax on sales</quote>? Derek
said <quote who="Derek Neighbors">right now this is my big pain - im 
torn whether to make gnue-sb US only - or support foreign stuff. The 
problem i have with making it 'anywhere' is you lose a TON of validation 
rules US business love and speed features. Like if US only i can make it 
so you enter a zipcode and it auto populates city and state - i can 
validate phone numbers against states i.e. is that a valid area code for 
a state etc etc. As soon as i make it i18n i end up with very sloppy 
validation and very general data entry. /me realizes there is a huge 
foreign market and doesnt want to discount that</quote>. 
<quote who="Derek Neighbors">if lots of non us people are willing to 
help and use likely i will make it i18n - if not then i will likely 
make US centric as thats my target market</quote>. Christian said 
<quote who="Christian Selig">i think having a market at all is better 
than fulfilling thousand problematic and inconsistent wishes - if the 
resources aren't sufficient, we can still fork. Currently i just don't 
have an enterprise customer who wants to make a switch :( - so i don't 
have big ERP reality touch :-((</quote></p>

</section>


<section 
   title="GNUe Schema Definition (.gsd) format"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="13 Nov 2002 16:00:00 -0800">

<topic>Common</topic>

<p>It was asked what a GNUe Schema defintion (.gsd) format was 
for. Bajusz Tam&#0225;s (btami) explained 
<quote who="Bajusz Tam&#0225;s">its an XML markup for database 
definition</quote>. It was not necessary for building an application, 
but <quote who="Bajusz Tam&#0225;s">it is useful for transferring data 
from one database to another - or filling a database with 
tables/data</quote>. Bill Gribble (grib) explained 
<quote who="Bill Gribble">if you define the database structure 
with XML, you can translate it into idiomatic SQL for a 
specific database variety.</quote> Bajusz said 
<quote who="Bajusz Tam&#0225;s">you can find a good example in zipcode 
sample - in samples/tutorials/forms/zipcode.gsd - and there is 
an ooO doc around, but i can't recall where :)</quote>.</p>

<p>Later, Nick Rusnov (nickr) asked <quote who="Nick Rusnov">is 
there like a standard XML database dump format? Like if Iwere 
to export all the contents of a database into an XML file 
...</quote> Jeff Bailey (jbailey) said <quote who="Jeff Bailey">I 
would just imagine that you'd give each field name to an element 
and dump. XML is really bad for representing databases, though.
You'd have to dump a Schema at the same time to give you 
characteristics of each field. And XML implies that order is 
important.</quote> Nick felt this was <quote who="Nick Rusnov">a 
normal overly-complicated xml solution.</quote> Jeff disagreed - 
<quote who="Jeff Bailey">It's exactly the right level of 
complexity. The problem with tab or CSV is that it's lossy.
You lose the details that you've asked for about structural 
requirements in the cell. If you didn't care about that, then tab 
delimited is probably a better choice anyway.  It's easier to parse.
The other two cases where using XML is worthwhile is:
1) Occasional Binary data, or data that uses the intended 
separators. 2) Where you want to remove the relationships and 
build up complete records</quote> using XSLT.</p>

<p>Later still, Jan Ischebeck (siesel) asked a 
<quote who="Jan Ischebeck">short question about GSD</quote>.
Derek Neighbors (dneighbo) asked <quote who="Derek Neighbors">can 
i ask what you are doing in gsd? we are EXTREMELY overhauling 
it</quote>, which might render anything Jan was doing as moot. 
He explained <quote who="Derek Neighbors">we are moving away from 
xslt to a large degree - certainly it will be supported if someone 
wants to maintain it</quote>. Jan <quote who="Jan Ischebeck">thought 
that xslt was just the option for all the guys who want to have GSD 
but don't want to use python</quote>. Jason explained 
<quote who="Jason Cater">GSD is still a standard markup</quote> in 
XML - <quote who="Jason Cater">no more no less - and we didn't want 
gnue-common as a requirement, not necessarily python - even though, 
to get it working quickly, I am using gnue-common - but that can be 
removed later on</quote>, allowing people to use sablotron or any
other XML processor to parse .gsd files.</p>

<p>Jan, referring back to 
<kcref title="GNUe Schema Definition (.gsd) file formats" 
subject="[IRC] 12 Nov 2002" />, 
said his main concern was <quote who="Jan Ischebeck">why did you 
decided to make GSD using less datatypes.</quote> Jason said 
<quote who="Jason Cater">it was never intended to support</quote> 
as many as it had - <quote who="Jason Cater">somewhere along the 
line it got goat-raped and all those things added</quote>. 
Derek Neighbors (derek) said that the original schema abstraction 
from DCL which had inspired .gsd <quote who="Derek Neighbors">had 
one or two more than we have now - but what wsa in cvs got trashed
- i.e. lots of datatypes added and support in designer broke - 
i was in a pinch so discussed with jcater and we documented and 
revamped back to original vision. I went to make new style sheets 
for XSLT and decided they were more cumbersome to maintain than a 
program - so we are making a program. Certainly any XSLT stud could 
come and modify the XSL to make it a viable alternative - 
not only do we encourage it, we hope it happens - GNUe is about 
choice after all. As for tying to common, im not wholly against 
that as with XSLT one can break that dependency</quote>.
Jason said <quote who="Jason Cater">our first priority has to 
be our tools - I want to design stuff that other projects can 
use - e.g., formats, etc - but that doesn't mean I can put that 
objective ahead of it being usable for GNUe</quote>. Jan agreed. 
Peter Sullivan (psu) felt <quote who="Peter Sullivan">it's like 
the appserver for dotGNU issue</quote> - 
<quote who="Peter Sullivan">we won;t discourage it but we won;t 
compromise making AppServer the best possible business application 
server for our purposes</quote>.</p>

<p>Jan said <quote who="Jan Ischebeck">I just have two 
concerns: 1. how abstract will GSD be? I.e. will it still 
be usable for appserver? 2. what about gsd->sql generation 
in dbdriver and gsd->sql driver in scripter.</quote> Jason said 
<quote who="Jason Cater">we wanted GSD to be abstract - not to 
be an XML version of postgres sql with some translators for other 
dbs</quote>. On the second point, he noted that the 
<quote who="Jason Cater">scripter is in common - so the dbdrivers 
can certainly use it</quote> - <quote who="Jason Cater">eventually, 
a dbdriver can take a schema def and actually create the underlying 
tables - schema scripter (the scripts in debate here) create SQL 
statements - so the dbdrivers could just call scripter to get the 
SQL statements to run. Once again, though, in the scheme of things, 
is not a huge priority</quote>. Jan asked if this meant that 
the scripter would replace <quote who="Jan Ischebeck">the schema 
writing code which is allready in dbdriver</quote>. Jason said 
that all there was at the moment was a dictionary to give the 
correct syntax/equivalent to CREATE table for each supported 
database. Jan asked about the code <quote who="Jan Ischebeck">in 
common/src/dbdriver/_dbsig/DBdriver.py: _buildTableDefinition 
etc.</quote> Jason said <quote who="Jason Cater">imho this is 
putting a lot of stuff in dataobjects - I was hoping they wouldn;t 
get too much more complex</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.16Nov2002">
The next day</a>, 
Dmitry Sorokin (ra3vcat) asked <quote who="Dmitry Sorokin">what 
gcvs is for?</quote> Derek Neighbors (dneighbo) explained 
<quote who="Derek Neighbors">it wraps common - so say you write 
a script myfoo.py that usues common - instead of having to set 
python paths you can just do <code>gcvs myfoo.py</code>.</quote>
This was especially useful as of time of writing
<quote who="Derek Neighbors">since the gsd converter uses common 
but isnt a real script as of yet - <code>gcvs Scripter.py 
mycool.gsd postgresql > newpsql.sql</code>.</quote></p>

<p>Later, Derek Neighbors (dneighbo) reported a possible bug in the 
GNUe Schema Definition import code - you had to include a 
&lt;table name="table_name"&gt; tag to identify which table 
to create, but if the table specified did match that of 
the table to import, then the script failed silently.
<quote who="Derek Neighbors">ie the import 'name' must match 
the table 'name' or the .sql doesnt get created, but no errors 
are generated. I'm not sure if you meant it to force a name 
match or not - if not its a bug - if so, we need an error 
message saying the .sql isnt created</quote>. Jason said that 
was definantly a bug - the parser should 
<quote who="Jason Cater">bomb off with an error</quote>. 
He fixed this and committed it to CVS.</p>

</section>


<section 
   title="Transaction processing in Application Server"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="13 Nov 2002 16:00:00 -0800">

<topic>Application Server</topic>

<p>Bill Gribble (grib) asked <quote who="Bill Gribble">are 
there any plans to provide a gnue transaction processing 
server, or queueing system?  or are most gnue apps tied to 
synchronous database semantics (i.e. client actions block 
until complete)</quote> Ariel Cal&#0242; (ariel__) said 
<quote who="Ariel Cal&#0242;">there are plans for this in the 
appserver</quote>, as discussed in 
<kcref subject="[Gnue-dev] Halloween 1: Terminology" 
archive="http://mail.gnu.org/pipermail/gnue-dev/2002-November/000304.html" />.
</p>

</section>


<section 
   title="Converting Reports XML output to Postscript"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="13 Nov 2002 16:00:00 -0800">

<topic>Reports</topic>

<p>It was noted that Reports produced HTML output, and asked 
how this could used in situations that needed accurate 
positioning, such as printing an invoice on a pre-printed form.
James Thompson (jamest) said <quote who="James Thompson">gnues 
reporting tool outputs an XML markup that can be converted to 
text, html, ps, pdf, whatever - I've had people write letters 
in word processor of their choice - save as PS file via windows 
apple laserwriter - then reports can merge data in. Sent out 
about 600 faxes this way a few months back</quote>.</p>

</section>


<section 
   title="Alternatives to wxPython toolkit with GNUe on Microsoft Windows"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="14 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Designer</topic>
<topic>Common</topic>

<mention>Keith</mention>

<p>James Thompson (jamest) warned that <quote who="James Thompson">our 
win32 support in GNUe Forms via wxPython has issues, we're 
writting a win32 API ui driver during the next release cycle 
because we can't get what we need from wx - it works, but it's a 
bit odd</quote>. Bill Gribble (grib) asked 
<quote who="Bill Gribble">so is wx not quite the x-platform 
miracle it was thought to be?</quote> James said 
<quote who="James Thompson">i think it's the underlying widget 
set for the platform - on X we can get ahold of certain events, 
in windows those events never make it to the wx level</quote>. 
Bill asked <quote who="Bill Gribble">is gtk on win32 too far 
from usability?</quote> James said he had not had time to 
investigate this properly yet - <quote who="James Thompson">but 
my understanding is that the gtk2 client is missing some features 
but is moving along nicely</quote> - 
<quote who="James Thompson">we're getting lots of win32 patches 
it seems and gtk2 patches so it may work better than I 
think</quote>.</p>

<p>Later, Derek Neighbors (derek) said 
<quote who="Derek Neighbors">i think wx is pretty good xplatform 
if you have limited resources (i.e. better than anything else) - 
however its not perfect. I think it has done us well... i.e. quick 
xplatform to get people interested and get us supported with little 
effort - now that we have a bigger base i think it will be nice to 
see naitve, win32, gtk, qt</quote>. James said he had added a 
native win32api Forms UI to the feature plan. Derek said 
<quote who="Derek Neighbors">yeah i noticed :) - i think its a good 
change</quote> - <quote who="Derek Neighbors">i think you are sick 
for being eager to write one, but its a good thing(tm) ;)</quote>. 
James said he <quote who="James Thompson">wanted to rework the gfd 
format to seperate layout from logic - btami asked for a feature 
that would be easy once seperated - so i spoke w/ jcater about it. 
We decided that the forms documentation wouldn't be that good if we 
changed the file format right after we release the docs :)</quote>
He was also <quote who="James Thompson">writting a GNUe Common usage 
guide that shows you how to write non-gnue apps with common - should 
make it into 0.4.1</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002">
The next day</a>, Keith Jagrs (KeithJagrs) asked what the plans were 
to circumvent the problems with wx under Mircrosoft Windows. 
James said <quote who="James Thompson">i know works being done on 
gtk2 driver which works under windows.....however what I believe you 
will see in the next major upgrade is a UIdriver based upon win32all - 
my understanding it that is exposes the win32 api directly which will 
make for a painfull coding experience but should result in us getting 
exactly what we require. I have not looked into this really closely 
yet though (my last copy of the win api book covers the "new" api in 
win 3.1) :)</quote> There were no plans to drop wx in favour of GTK2. 
He explained that the UI (user interface) drivers were abstracted 
from the main Forms code - there were already uidrivers for curses, 
gtk2 and wx - a win32 UIdriver.py could be slotted in the same way. 
<quote who="James Thompson">the idea is we don't want coders to have 
to learn the internals of forms to add a driver - well, not all the 
internals - they just have to provide code to deal with the events 
that are passed into a driver</quote>. Much of GNUe was designed 
to be pluggable in this way - <quote who="James Thompson">our database 
drivers work the same way</quote> and <quote who="James Thompson">designer 
also has plug-in system to extend it's capabilities</quote>.</p>

<p>Keith asked <quote who="Keith Jagrs">can curses work on DOS ?</quote> 
Jason said he had <quote who="Jason Cater">looked at curses + DOS - 
went into "python" on a win32 machine - and did "import curses" - and 
it didn't work</quote>. James was not <quote who="James Thompson">too 
worried about text on windows though - personally, i saw the curses 
thing as usefull for someone running text terminals</quote>. Keith 
noted that <quote who="Keith Jagrs">there are some companies working 
with accounting software that runs on DOS</quote>. James agreed -
<quote who="James Thompson">i know text apps are used alot in the real 
world - i myself don't think gui == good by default - however i think a 
dos text client would be a huge investment in time. Now if a person 
could find a python module for manipulating text then it would be 
possible - but doing from scratch would be painful</quote>. Jason 
understood <quote who="Jason Cater">you can get curses libraries 
for win32/dos machines - so you'd probabl;y be able to custom compile 
a python binary - I don't have the time to invest in that route but I 
imagine it's doable</quote>. James noted 
<quote who="James Thompson">ooooo, if we can get a python binary that 
does that then our existing packaging will just work</quote>.</p>

<p>James acknowledged <quote who="James Thompson">that win32 support 
is a big issue - that combined with the desire to work on layout caused 
us to adjust our 
<a href="http://www.gnuenterprise.org/feature-plans/forms.html">feature 
plans</a></quote>. Jason agreed <quote who="Jason Cater">I think a win32 
client will come along very quickly once its started</quote>. In the 
meantime, James suggested <quote who="James Thompson">setup a cheap arse 
"server" running the curses client</quote> accessing this via telnet 
<quote who="James Thompson">w/ putty on the win boxes. It may sound 
sick but when I go places I spend time looking at their 
computer interfaces (at stores, companies, etc) - i always ask myself 
"can forms do that?"</quote> - he saw similar set-ups to this a lot - 
<quote who="James Thompson">which always strikes me as funny - to spend 
XX dollars on a windows license to run as a glorified vt320</quote>.</p>

<p>Later, James tracked down a 
<a href="http://newcenturycomputers.net/projects/wconio.html">web
reference</a> to a text-based client - <quote who="James Thompson">it's 
not curses but at quick glance it looks like it would provide enough 
features to make such a driver possible</quote>. Derek Neighbors 
(revDeke) <quote who="Derek Neighbors">shudders at wincurses - 
i think your idea of vt100 putty connections to GNUe Server would be 
more effective :)</quote> Jason noted <quote who="Jason Cater">that 
looks so close to the underlying curses driver that I bet it could 
be grafted in - so the "widget set" we have created to go over 
curses could also be used over wcon</quote>. He was not sure how it 
worked however - was it really a DOS screen, or a Win32 console?
James felt <quote who="James Thompson">anyone running pure dos solution 
would probably be more open to other setups - unless legacy app forced 
them into it</quote>. Jason agreed - <quote who="Jason Cater">if they 
are in a dos setup we talk them into putting in an ltsp server - 
and make the dos machines LTSP "telnet" clients :)</quote>.</p>

</section>


<section 
   title="GNUe Tools compared to Great Plains toolkit"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="13 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Designer</topic>
<topic>Why GNUe?</topic>

J Mozeleski
<p>J Mozeleski (imoz) asked what ERP backgrounds the GNUe core 
developers had - whether it was mainly J-BOPS 
(<quote who="J Mozeleski">JD Edwards/Baan/Oracle/Peoplesoft/SAP 
high end ERP background</quote>). James Thompson (jamest) said they had 
<quote who="James Thompson">a little of everything, my experiece 
is with a home grown erp at a mfg plant using oracle and their old 
sql*tools. GNUe Forms is somewhat based upon the way Oracle SQL*Forms 
worked - as both myself and jcater like that tool, however we've 
altered things we hated about it</quote>. J Mozeleski said his 
background was more middle-market, including working 
<quote who="J Mozeleski">for a Great Plains VAR writing custom 
enhancements for clients</quote>. He had been thinking about 
<quote who="J Mozeleski">an open source mid-market solution</quote>
but <quote who="J Mozeleski">after finding Gnue 
I'm thinking instead of creating something from scratch I could use 
your toolset to do this?  Except I would have to learn Python 
:-)</quote>. James said <quote who="James Thompson">sorta - 
our trigger system currently only supports python - but quite a bit 
can be done via designer w/o writting any triggers. Even learning 
python you'd only have to learn a small part of it - we have a doc 
in cvs that give a little tutorial on it too - should be in the 
next release due out any day now</quote>.</p>

<p>J Mozeleski noted that <quote who="J Mozeleski">Great Plains works 
virtually identical to this.  They have a custom scripting language 
called Dexterity and a similar forms designer, etc. Same concept 
of triggers, etc. Of course then they got bought by M$ and are now 
porting to .NET...</quote> Also, as proprietary software, 
<quote who="J Mozeleski">you have to buy a very expensive site 
license to use the modified code and only dealers get access to 
the Dexterity tools.</quote>.</p>

</section>


<section 
   title="CSV (Comma Separated Values) 'database' driver for GNUe"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="13 Nov 2002 16:00:00 -0800">

<topic>Common</topic>

<p>Further to 
<kcref title="CSV driver for GNUe" subject="[IRC] 07 Nov 2002" />, 
Andrew Mitchell (ajmitch) <quote who="Andrew Mitchell">wrote 
a simple csv parser last night that handles quoted strings &amp; 
newlines - /mecouldn't sleep :)</quote> This included writing a 
special __GetFieldSchema handler <quote who="Andrew Mitchell">to 
make up field names, or read them from the first row :)</quote>
Derek Neighbors (dneighbo) said <quote who="Derek Neighbors">i 
suppose there should be 3 ways (at least to do schema introspection 
on csv) - one is the header row(s) define the 'table' - two is a 
separate flat file defines the 'table' - three is an separate xml 
flat file defines teh 'table'</quote>. Jason Cater (jcater) 
added <quote who="Jason Cater">four is it could be part of the 
datasource definition</quote>. Andrew siad 
<quote who="Andrew Mitchell">i thought you didn't want this to 
be complex :)</quote> Derek said <quote who="Derek Neighbors">im 
cool with simple and growing it</quote>.</p>

<p>Later, Matt Rice (ratmice) asked why a sample form definition 
contained both a &lt;staticset&gt; &lt;/staticset&gt; tag and 
a &lt;form&gt; &lt;/form&gt; tag - <quote who="Matt Rice">it 
would be much easier if they were seperated so that a single form 
could work with multiple static sets</quote> Jason explained
<quote who="Jason Cater">a staticset is just that, static - 
it isn't updated by a form</quote>. Matt said he really needed a 
dynamic set, but wanted something he could use offline. 
Jan Ischebeck (siesel) suggested <quote who="Jan Ischebeck">you 
can use sqllite for that.</quote> Jason suggested 
<quote who="Jason Cater">if you really wanted something even simpler 
than sqlite - you could use csv files - /me shudders at the thought 
of doing that with forms - but you could</quote>. Andrew confirmed 
that his code defined a class for a CSV_DataObject that was a 
STATIC_DataObject. Jason said that was probably correct for the 
moment - <quote who="Jason Cater">when I was thinking about it
that was my plans too :)</quote></p>

</section>


<section 
   title="i18n in GNUe"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="15 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Reports</topic>
<topic>Common</topic>

<mention>Arturas Kriukovas</mention>

<p>Further to 
<kcref title="i18n issues with Reports" subject="[IRC] 13 Nov 2002" />, 
Bajusz Tam&#0225;s said <quote who="Bajusz Tam&#0225;s">i have a dilemma - 
1. use sitecuspomize.py for setdefaultencoding() - 2. use 
encoding in every place where it needed - i myself used 1. 
before ,and i was happy - but today i remowed my sitecustomize.py
to test for release and got errors from several places</quote>. 
James Thompson (jamest) asked <quote who="James Thompson">are you 
saying we need a way to modify sitecustomize.py during 
setup?</quote> Bajusz was not sure, as Arturas Kriukovas (Arturas) 
has raised concerns about how this would affect other python 
applications on the same machine. Jason Cater (jcater) said 
<quote who="Jason Cater">in production environments, we will 
probably have a "custom" python install in which it wouldn't make 
a difference. I don't know what else to do though - without changing 
all file open() commands to a codec.open(file, encoding='unicode') - 
which will suck</quote>. James did not 
<quote who="James Thompson">think a small alteration to the file 
(prompted for of course) is that big an issue</quote>. Bajusz
said <quote who="Bajusz Tam&#0225;s">if we can use our sitecustomize.py 
with setdefaultencoding() - then no need for many 
*.encode(encoding) - and python do the rest. The remaining problem, 
how an install process gets the correct encoding - maybe a popup 
like in a debian install</quote>? James said 
<quote who="James Thompson">i think it'd have to be - as this is 
different from the locale setting isn't it?</quote> Bajusz said 
yes - his own locale was hu_HU (for Hungarian/Hungary) but his 
<quote who="Bajusz Tam&#0225;s">encoding in python is iso8859-2 or 
cp1250</quote> - <quote who="Bajusz Tam&#0225;s">python can grab 
encoding from XP/2000 and from LC_ALL in *nix</quote>. Jason 
asked if this was the default behaviour. Bajusz said that this 
was his custom install - <quote who="Bajusz Tam&#0225;s">no 
sitecustomize.py exist per default</quote>. Jason felt 
<quote who="Jason Cater">I really hate that you can't change 
encoding in your app - that is a really bizarre design decision 
for python to make :(</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.16Nov2002">
Two days later</a>,
James Thompson (jamest) asked how well GNUe was working in 
Microsoft Windows for Bajusz. Bajusz said that he had not 
<quote who="Bajusz Tam&#0225;s">put site.py/sitecustomize.py into</quote> 
the McMillan packages (used to create stand-alone *.exe files for 
python applications in Microsoft Windows - 
<quote who="Bajusz Tam&#0225;s">so i tend to use encodings thing 
:(</quote>. Forms and Designer themselves were reasonably stable, 
but there were a significant number of 
<quote who="Bajusz Tam&#0225;s">event issues</quote> which he had raised 
as <quote who="Bajusz Tam&#0225;s">collected win32 bugs in DCL :)</quote>. 
He had also <quote who="Bajusz Tam&#0225;s">failed with making forms/reports 
with simple wizard if i used non ascii title - when i want to save 
them</quote>. James said he needed to move the formFontEncoding 
code from Forms into Common. Jason Cater (jcater) asked 
<quote who="Jason Cater">what outside of forms will use it?</quote>
James asked <quote who="James Thompson">wasn't designer going to 
support all languages in its menus/dialgos?</quote>.</p>

<p>Bajusz reported <quote who="Bajusz Tam&#0225;s">huh, finally i 
reproduced my error :)</quote> in Reports. It appeared to be 
treating the %s paramter literally as an invalid XML tag, rather 
than replacing it with the value of the paramter - this was 
<quote who="Bajusz Tam&#0225;s">without sitecustomize.py</quote>. 
James was surprised <quote who="James Thompson">it's really 
putting the %s in there?</quote> Jason suggested putting a 
print statement in to print some relevant variable values. 
Bajusz said that the debugging print statement itself then 
errored out - <quote who="Bajusz Tam&#0225;s">UnicodeError: ASCII 
encoding error: ordinal not in range(128) - python always 
wants to convert unicode strings into ascii</quote>. This 
was not normally a problem <quote who="Bajusz Tam&#0225;s">cose 
python is clever - but it allways uses unicode in XML</quote>. 
Bajusz realised that Arturas' patch to Reports was not 
ideal, as it used FontEncoding code originally meant for 
Forms - <quote who="Bajusz Tam&#0225;s">but as jamest said, a simple 
fontEncoding in [common] is a solution</quote>. Jason felt that 
<quote who="Jason Cater">fileEncoding? or textEncoding</quote>
would be a better name, as fonts per se were not the issue. 
James asked <quote who="James Thompson">did we ever get a 
global section working in config file?</quote> to be able to 
set options like this for all the tools - 
<quote who="James Thompson">/me thinks he worked on a [default] 
section</quote>. Bajusz wondered what <quote who="Bajusz Tam&#0225;s">if 
someone wants to use different lang for forms and for 
reports</quote>.</p>

<p>Dmitry said he had <quote who="Dmitry Sorokin">a mail from 
python gettext author</quote>. He had recommended using ugettext, 
which would always return a Unicode object, or several other
complicated-looking alternatives. Dmitry would forward this to 
the mailing list.</p>

</section>


<section 
   title="New (0.4.1 etc.) releases for GNUe Tools"
   subject="[IRC] 14 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.14Nov2002"  
   startdate="13 Nov 2002 16:00:00 -0800"
   enddate="18 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Reports</topic>
<topic>Designer</topic>
<topic>Common</topic>
<topic>Navigator</topic>

<mention>Bajusz Tam&#0225;s</mention>

<p>Further to 
<kcref title="Planning for next release" subject="[IRC] 12 Nov 2002" />, 
Derek Neighbors (derek) noted that people had commented 
<quote who="Derek Neighbors">that 0.4.0 windows version on win2000 
is very broked (i experienced same) - so if we can get some prelease 
of 0.4.1 for windows it would be great - /me realizes we are doing 
native win32 for 0.5.0 - but still we need an interim</quote>. 
Jason Cater (jcater) said <quote who="Jason Cater">bug btami when 
you see him - he's completely set up to do it fairly quickly.
It'd take me a while to get back set up</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002">
The next day</a>, Jason announced <quote who="Jason Cater">New 
prereleases (-pre3)</quote>, which included several fixes and 
<quote who="Jason Cater">Demo-able curses support in 
forms</quote>.</p>

<p>Later, James Thompson (jamest) said <quote who="James Thompson">i 
know jcater and I are ready to release - so 0.4.1 may be today</quote>
if people were happy with the pre-releases. Jason confirmed 
<quote who="Jason Cater">each of the tools has a ChangeLog - 
and a NEWS file with an executive summary of changes</quote>. 
Derek Neighbors (revDeke) said that if James wanted any more testing 
from him on GNU/Linux, that would have to wait until later on. Also, 
<quote who="Derek Neighbors">we need 
windows prereleases - /me is waiting to pounce on btami</quote>. 
James said that he did not feel the need for any more GNU/Linux 
testing, as <quote who="James Thompson">i've ran all my work forms thru 
it - and I'm implementing something today pretty big using just designer 
and forms. I think we'll be ok - plus I think we've time today - my 
weekend is iffy at best</quote>. Derek empathised, and said 
<quote who="Derek Neighbors">certainly release if you feel ready - 
/me gets to maintain the 0.4.2 release - so if i find stuff and it gets 
fixed i can always release 0.4.2 :)</quote>.</p>

<p>Later, Peter Sullivan (psu_) said he had updated the website to 
urge people to test the pre-releases, suggesting the tag line 
<quote who="Peter Sullivan">Pre-releases - when *everyone* gets to 
act like derek, and we're grateful</quote>. Jason suggested 
<quote who="Jason Cater">Pre-releases - for the derek in 
you!</quote>.</p>

<p>Later, Derek asked <quote who="Derek Neighbors">you 
releasing tonight or doing another pre-release - and will 
there be a windows release for 0.4.1 - or will we be saying 
windows support is gone until 0.5.0</quote>? Jason said he 
and James were both busy, <quote who="Jason Cater">so it 
looks like it's later this weekend - though I might stop 
in and do -pre4's</quote>. Derek said his 
<quote who="Derek Neighbors">fear is no one has pre-release 
tested any windows</quote>. Jason said 
<quote who="Jason Cater">I think some were testing under 
windows</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.17Nov2002">
Two days later</a>, 
Jason Cater (jcater) and James Thompson (jamest) went on a 
final bug-squishing frenzy, before Jason announced 
<quote who="Jason Cater">cvs is being tagged</quote> 
for a release. Derek Neighbors (dneighbo) said 
<quote who="Derek Neighbors">jcater/jamest MAJOR kudos to 
this release - it is by far the best gnue we have seen to 
date</quote> - incrementing the version number just from 
0.4.0 to 0.4.1 <quote who="Derek Neighbors">hardly seems 
fair</quote>. Jason said <quote who="Jason Cater">actually, 
it was mostly cleanup</quote>.</p>

<p>James asked Jeff Bailey <quote who="James Thompson">we 
released/are releasing today - any chance we can get new 
debs marked same version # but 0.4.1b instead of a</quote>. 
Derek asked <quote who="Derek Neighbors">why cant we use 
0.4.1 ?</quote> Jeff said that the existing Debian packages, 
based on CVS, had been designated 0.4.1a and 
<quote who="Jeff Bailey">0.4.1 is lexically a lower version 
that 0.4.1a</quote>, which would cause problems for the 
Debian packaging system, as discussed in 
<kcref title="GNUe Project organisation - version numbers, roadmaps, testing and branches" 
subject="[IRC] 05 Nov 2002" />.</p>

<p>Later, Jason warned <quote who="Jason Cater">make sure 
you are somewhat happy with this release - as cvs will 
break for a little while (not too long, but it will 
break)</quote>. He then did <quote who="Jason Cater">a 
happy dance</quote> as he announced the new releases -
Forms 0.4.1, Reports 0.1.0, Designer 0.4.1, Common 0.4.1 
and Navigator 0.0.2. Derek said he would do the 
annnouncements to Freshmeat - Jason confirmed that he had 
e-mailed the gnue-announce mailing list.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002">
After midnight</a>, Derek Neighbors (dneighbo) noted 
<quote who="Derek Neighbors">ok freshmeat updated with all 
releases - i had to add navigator i guess i never released 
it at 0.0.1</quote>. The freshmeat administrators approved 
the postings straight away - Derek had been hoping they 
would have done it in the morning. Freshmeat's 
<quote who="Derek Neighbors">biggest audience is US</quote> 
and <quote who="Derek Neighbors">with a little luck they 
would stick on the front page till about 12 my time i.e. 
most of the US audience would see them during morning or 
lunch break</quote>. He noted 
<quote who="Derek Neighbors">on days we run releases at 
freshmeat our web traffic jumps WAY up</quote>. Andrew 
Mitchell (ajmitch) suggested 
<quote who="Andrew Mitchell">that's when jamest turns 
the</quote> air cooling <quote who="Andrew Mitchell">on 
for the webserver :)</quote>.</p>

<p>Later, Bajusz Tam&#0225;s (btami) and Peter Sullivan (psu) discussed 
the arrangements for getting the Microsoft Windows setup.exe
versions of the 0.4.1 releases onto the website - 
Bajusz said he would do two versions again, one with the 
python console window visible (for debugging purposes) and 
one without.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Nov2002">
Two days later</a>, Peter Sullivan (psu) announced 
<quote who="Peter Sullivan">btami's setup.exes now on the 
<a href="http://www.gnuenterprise.org/news/news117.php">website</a>.
</quote> Jason Cater (jcater) was surprised at the size - almost 
10MB each. Peter suspected <quote who="Peter Sullivan">that the extra 
drivers (sapdb, firebird, etc) are the main causes of the bloat</quote>.
Bajusz confirmed that the setup.exes included GNUe Reports as well, 
now that this had reached version 0.1.0. The main reason that the 
files were so big was the inclusion of wxPython, which was 6MB 
all by itself, rather than the database drivers.</p>

</section>


<section 
   title="Feature plans for 0.5.0 and later"
   subject="[IRC] 15 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002"  
   startdate="14 Nov 2002 16:00:00 -0800"
   enddate="14 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Designer</topic>
<topic>Navigator</topic>

<mention>Keith</mention>

<p>Derek Neighbors (revDeke) said he might need to do a 
few point releases of 0.4.x, depending on how long James and Jason 
took to do 0.5.0. James Thompson (jamest) said 
<quote who="James Thompson">most of 0.5.0 
shouldn't be major, we've been looking into it - it'll be major on the 
user visible side of things, but internals shouldn't kill us</quote>. 
Derek was <quote who="Derek Neighbors">thinking the win32 driver and 
curses drivers will be the biggies - not necessarily in 'dev' time but 
in testing time - assuming basic curses support didnt make it into 
0.4.1</quote>. James said <quote who="James Thompson">i'm pretty sure 
it will be _almost_ feature complete for 0.4.1 - but I haven't tested 
in a few days</quote>. Derek was impressed - <quote who="Derek Neighbors">i 
dont think it needs to be 'complete' for 0.4.1 just like i dont think win32 
would need to be complete for 0.5.0 - but more 'reasonably' complete 
'first preview' give us lots of feedback :)</quote></p>

<p>James said 
<quote who="James Thompson">i imagine 0.5.0 will have the new gfd format 
and maybe the start of win32 - the new gfd format will be a HUGE gain 
for forms - as you'll be able to do l33t things in it</quote> due to 
the <quote who="James Thompson">complete seperation of layout from 
logic</quote> - <quote who="James Thompson">you'll be able to mirror 
fields on multiple pages, mix things about any way you like. I think 
0.5.0 is this year - it's become an itch we've got to scratch - you 
should get a layout manager system as well</quote>. Keith Jagrs (KeithJagrs) 
noted <quote who="Keith Jagrs">there's only one month and a half left to new 
year's eve</quote>. Jason Cater (jcater) said <quote who="Jason Cater">our 
history is to release either right before or on a major holiday</quote>. 
Derek agreed - <quote who="Derek Neighbors">well 0.5.0 before end of Q4 
02 would be great - while there are lots of holidays generally that means 
time off work - which means to a degree gnue time :)</quote> He was 
<quote who="Derek Neighbors">worried about this gfd switch - will we 
have conversion tools? or open in design and save - /me is only worried 
as im getting ready to do a boat load of forms</quote>. James said 
yes - <quote who="James Thompson">I think we're pretty good about 
changing things and hiding it</quote> - <quote who="James Thompson">it's 
worth it in any case - this is something I wanted from day 1</quote> - 
<quote who="James Thompson">it's how sql*forms from oracle did it</quote>. 
Jason said <quote who="Jason Cater">jamest and I were discussing and 
decided we really couldn't wait any longer - as the closer to 1.0 we get, 
the more stable the gfd format must be - so if we are going to do a 
"correction" in our format - we better get it on!</quote>. Also, 
James pointed out that they were planning much more documentation 
with the 0.5.0 releases, so would rather change the format before 
documenting it rather than after! He had always wanted to 
<quote who="James Thompson">seperate the logic from the layout in 
gfd - when I started I wanted something out the door fast - so I blended 
them which was a bad, bad thing - but it was quick, i was just learning 
python while coding, i was young and needed the money</quote>. 
Nick Rusnov (nick) sympathised - <quote who="Nick Rusnov">we've all been 
domn that route - but you end up just spending all your money on gold 
chains and skintight pants.</quote></p>

<p>Jason noted <quote who="Jason Cater">you realize with this separation
I will quite literally be able to do a converter</quote> to get 
existing Oracle SQL*Forms working as GNUe Forms instead - the only 
other issue was Oracle's specialist PL/SQL trigger logic. Derek 
said <quote who="Derek Neighbors">well i think ultimately we will be 
better than sql*forms for many reasons</quote> James said 
<quote who="James Thompson">we are better now in many respects</quote>. 
<quote who="James Thompson">layout they have us - stability of the 
painter they had us - abilities of the painter we kill them - painter 
= deisigner</quote> But <quote who="James Thompson">forms is more 
powerfull than their client IMHO</quote>.</p>

<p>Later, looking at the feature plans, as discussed in 
<kcref title="Feature plans for GNUe" subject="[IRC] 08 Nov 2002" />, 
Derek Neighbors (derek) asked <quote who="Derek Neighbors">for 
forms what happened to 0.4.1 release? we should leave them on 
there as complete, no?</quote> - <quote who="Derek Neighbors">i 
think it makes for a nice history as well</quote>. James said 
that the feature plans <quote who="James Thompson">start w/ 
0.5.0</quote>. Derek said <quote who="Derek Neighbors">there 
are features that are missing (i assume these are possibly not 
comprehensive) - in which case i will throw out the feature 
and you all can determine where it best fits</quote>. He 
emphasised that it was up to James and Jason, as the main 
coders, to decide which version a feature belonged to -
<quote who="Derek Neighbors">i.e. you could say we will never 
support that, we will support it after 1.0 sometime or yeah we 
need that lets decide where it goes</quote>. James noted that 
he and Jason were looking to tidy these up as part of the 
0.4.1 release anyway - they knew there were some duplicates 
and inconsistancies.</p>

<p>Derek asked <quote who="Derek Neighbors">what is grid view 
mode?</quote> James explained it 
<quote who="James Thompson">converts a std form to look like 
pgaccess - it's a 'shut up users that keep asking for pgaccess 
on my systems even though pgaccess is slow and buggy' 
feature</quote> Derek asked about a <quote who="Derek Neighbors">a 
native grid widget</quote> to replace the current rows="10" 
functionality, as discussed previously in many threads, as far 
back as <kcref title="GNUe vs E/AS" subject="[IRC] 28 Jan 2002" />. 
He realised this was mostly cosmetic, but 
<quote who="Derek Neighbors">again this is high priority it 
could be post 1.0 - but thats what im asking ... should it be pre 
1.0 and if so, how pre 1.0 - im thinking the blocks/fields things 
might make it easier to implement</quote>. He also questioned 
<quote who="Derek Neighbors">the need for a qt driver pre 
1.0</quote> - ideally he would like to find a volunteer from 
outside the core developers to write this 
<quote who="Derek Neighbors">like happened with gtk2 one -
i.e. i would like to see a qt driver - just hate to see critical 
resources on it, again i understand the scratch an itch so its 
comment not a complaint</quote>.</p>

<p>He added <quote who="Derek Neighbors">most of my other stuff 
was questions for designer, but looks like its plan isnt produced 
yet. The three things i have there 
<ol>
  <li>good mask editor</li>
  <li>starting of schema editor</li>
  <li>trigger editor capabilities</li>
  <li>cvs integration</li>
  <li>project capabilities</li>
  <li>gpd editor</li>
</ol>
- schema and gpd</quote> (GNUe Process Definition - the file format 
for Navigator) <quote who="Derek Neighbors">editor are becoming a 
big weakness i see as i am starting to write applications</quote>. 
<quote who="Derek Neighbors">project capabilities and trigger 
editor would be nice but i can hobble ok w/o - mask editor and cvs 
integration would be gravy :)</quote> - also a 
<quote who="Derek Neighbors">reports design capability</quote>.</p>

<p>Andrew Mitchell (ajmitch) said <quote who="Andrew Mitchell">a 
good mask editor could have a set of preset masks to use</quote>. 
Jason said there was already some functionality for this, but it 
needed some more polish. The way it worked at the moment was that 
you defined a format in the gnue.conf file, and could then 
reference it from GNUe Forms Definitions (.gfd).</p>

<p>Derek also asked 
for a <quote who="Derek Neighbors">calendar picker</quote> for 
date format fields - <quote who="Derek Neighbors">i think about 
every platform can support as well - i see it as nothing mroe 
than attribute of entry of some kind</quote>. James was not sure 
of the need. Derek gave a practical example - 
<quote who="Derek Neighbors">im planning airline travel - i want 
to travel week of christmas - i want ot leave monday before christmas
and return friday after christmas - do you know those dates w/o 
looking at a calendar? unfortunately i dont - its much easier for 
the application to show me a calendar than to hunt one down 
:(</quote> Andrew asked <quote who="Andrew Mitchell">hmm, when was 
wxCalendarCtrl added to wxpython? is it in 2.2.x ? :)</quote> 
Derek agreed  it was not a <quote who="Derek Neighbors">high priority 
thing - it was one of those ithink we need, could be post 1.0 pre 
1.0 thats your call</quote>. James wondered if this would be better 
done as a plug-in. Derek felt this was pretty core, but 
<quote who="Derek Neighbors">im not opposed to abstracting it so 
that other things can be done as well - i.e. i realize there will be 
lots of similar requests some we agree with some we dont</quote>.</p>

<p>Andrew, after carefully donning a 
<quote who="Andrew Mitchell">flameproof suit</quote> asked 
<quote who="Andrew Mitchell">what sort of timeframe are we 
estimating for these releases? :)</quote> Derek said 
<quote who="Derek Neighbors">there was talk about trying to have 
0.5.0 by end of december early january if real life (tm) treats 
everyone well - i think predicating anything beyond that for other 
releases makes little sense</quote>.</p>

</section>


<section 
   title="Merging GNUe and Papo CVS code"
   subject="[IRC] 15 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002"  
   startdate="14 Nov 2002 16:00:00 -0800"
   enddate="19 Nov 2002 16:00:00 -0800">

<topic>Common</topic>
<topic>Forms</topic>

<p>Marcos Dione (StyXman) was <quote who="Marcos Dione">finishing 
the merge</quote> to include all the changes to GNUe's CVS in 
Papo's CVS. <quote who="Marcos Dione">but I want to be sure we 
didn't break anything. should I use the samples to test, and that 
would be enough, or are better test somewhere else?</quote> 
James Thompson (jamest) said <quote who="James Thompson">i think the 
samples are fine - once you've merged can you get us a list of 
differences between your code and ours</quote>.</p>

<p>Later, Marcos noted that <quote who="Marcos Dione">almost all the 
DBdirver.py's have the same $driver_DataObject_Object._buildQuery 
method - they're all the same (ok, just the first few ones)</quote>. 
Derek Neighbors (derek) commented <quote who="Derek Neighbors">good 
eyesight you have young jedi</quote>. Marcos suggested 
<quote who="Marcos Dione">why not move it to DBSIG_DataObject_Object 
or above?</quote> Jason Cater (jcater) said <quote who="Jason Cater">if 
you look closer, they can't be moved up - this is forcing the DO to not run 
the parent's DO, but a second parent's one</quote> - 
<quote who="Jason Cater">/me remembers hating to do that, but it was 
necessary</quote>. Marcos noted he had to change this in each of the 
16 database drivers.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002">
Some days later</a>, 
Marcos asked <quote who="Marcos Dione">what would 
be that 'kstructural changes'that you tal about in (one of) your last 
commit?</quote> Derek Neighbors (dneighbo) speculated 
<quote who="Derek Neighbors">evil doings :)</quote>, mainly the 
<quote who="Derek Neighbors">seperation of logic and layout</quote>, 
as discussed in <kcref title="Feature plans for 0.5.0 and later"
subject="[IRC] 15 Nov 2002" />. This made it even 
urgent to <quote who="Derek Neighbors">merge our trees (i had hoped 
you would have merged for 0.4.1 release) - but if you guys dont hop on 
it in next day or two it will likely be really BAD - i.e. the guts will 
change significantly and merging will be near impossible</quote>. 
Marcos said <quote who="Marcos Dione">I can send the big patch 
*now*</quote>. James asked 
<quote who="James Thompson">does it have to be one huge patch?</quote> 
Marcos said he could <quote who="Marcos Dione">(try to) separate it in 
functional patches</quote> but that would take some time. James said to 
send it anyway. Marcos disclaimed <quote who="Marcos Dione">some features 
added are maybe deprecated. those you think are ugly, pleasse feel fre 
to discuss them either in your mailing list or in ours.</quote> Marcos 
sent the main large patch as a single 143k diff file to James for 
review.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Nov3003">
The next day</a>, Marcos noted that <quote who="Marcos Dione">the 
simplest of our patches</quote> had now been applied to the main 
GNUe code tree. James said he had some queries on the other 
parts of the patch. Marcos explained that 
<quote who="Marcos Dione">genericBox is for asking questions with 
more options than 'yrs' and 'no'</quote>, whilst 
<quote who="Marcos Dione">atomic* is to make sure only one person 
can modify a what-would-be-called database register at a 
time</quote>. James asked <quote who="James Thompson">could the same 
result be accomplished by adding an atomic="" to the datasource 
tag</quote>? Marcos said it was more subtle that that - by applying it 
to an individual entry, <quote who="Marcos Dione">only that entry must 
be atromic. the others may not be midified atomically</quote>. 
This was called from a trigger - he pasted an example.
James explained <quote who="James Thompson">the reason I ask this is 
that we want datasources to support record locking which this appears 
to be - if we were to add a atomic or locking="" attribute to a 
datasource that locked records after they were modified - would that 
serve the same purpose? and I think it may require less work on the 
trigger writters part :)</quote>.</p>

<p>Earlier, James noted that 
<quote who="James Thompson">function calls in python are a hideous 
performance hit - we switched from a getFoo() to self._foo with the 
_ meaning private</quote>. They had not realised this at first 
either! Later, John Lenton (Chipaca) said 
<quote who="John Lenton">how is less than 10% a 
major performance hit? or, how is less than 10% reason enough to 
through the whole OO thing out the window?</quote> James 
said <quote who="James Thompson">that 10% isn't much on 
occasional calls but our UI system had lots of such things going 
on</quote>. Jason felt that 
<quote who="Jason Cater">self._form is as much OO as 
self.getForm() - just maybe not by the java definition</quote>. 
John said <quote who="John Lenton">I have no problem wiht self.form, 
in fact, I kind of like it. It's the /^_/ that bothers us, as that 
is always an indication of "this is private" - and in fact you agree
- but then you expect people to call that, so it's no longer 
private</quote>. Jason said that the underscore prefix in code was used 
to indicated that something <quote who="Jason Cater">is considered 
to be a settable attribute - ala XML files</quote>. It was only 
in the context of the connections.conf config file that it meant 
"private." James said <quote who="James Thompson">i don't think we 
have a hardfast rule on private</quote>.</p>

<p>Earlier, James asked whether they had got scrollbars 
<quote who="James Thompson">working with gridlayouts now?</quote>.
Marcos explained <quote who="Marcos Dione">scrollbars associate to 
its surrounding block. - they 'register' to them - so, when the data 
source is updated, and the block is notified, the scrollbar gets 
updated too. what I can't make work is 'free scrolling'. wx is very 
ugly reporting these ind of events</quote>.</p>

<p>James also noted <quote who="James Thompson">you exposed some gnue 
internals via some of those trigger functions - i was wondering why?
i know we did hacks like this at one time - but started to try to move 
away from them as internals can change and will alot :) So if we can 
figure out what is making you have to drop to internal levels we can 
adust the code - every time I've done this the workaround makes the 
triggers easier to maintain :)</quote> He was aiming to 
<quote who="James Thompson">get a fair bit of this in for 0.4.2 but 
not all of it - as I'm pressed for time and have other bugzzz to 
address ;)</quote></p>

<p>Marcos said <quote who="Marcos Dione">I guess you're also puzzled 
by that history tables thing...</quote> Derek Neighbors (revDeke) said
<quote who="Derek Neighbors">i think your history tables need to be 
implemented as tables and triggers and not embedded in forms (read 
hardcoded) - i had same need for gnue-sb - was going to do all in 
triggers though there has been talk of making some 
'convience functions' for such things so triggers would be nice and 
clean</quote>. To save recoding the trigger for every field, 
<quote who="Derek Neighbors">you should be able to make it a shared 
trigger and just reuse it</quote>. Jason said that 
they had not wanted to use papo's solution as the general GNUe 
solution for transaction/history tables because 
<quote who="Jason Cater">we can't have harcoded schemas in 
common</quote>. Derek agreed - <quote who="Derek Neighbors">not 
everyone wants it - and HARDCODING it is not a solution</quote>. 
Marcos said <quote who="Marcos Dione">we done it that way because 
appserver (what would like to use) was not available when we 
started coding things</quote> in a stable version. But he felt 
papo <quote who="Marcos Dione">we can live with an external patch 
'till we recode, I gues...</quote>.</p>

<p>Derek said that <quote who="Derek Neighbors">after this merge 
there will need to be some ground rules</quote>. He wanted to avoid 
papo having to maintain a seperate CVS, and would prefer patches 
function-by-function, rather than mega-patches like the current 
one. Marcos agreed - <quote who="Marcos Dione">remember that the 
patch was sent 'as is', as I had no time to filter out what I 
thought it won't get anyways.</quote> Derek said 
<quote who="Derek Neighbors">we are willing to do what it takes 
to merge the repositories best we can - but we dont want 
'resyncing' to be a regular thing... we want one repository and 
patches :)</quote> Marcos, as the person responsible for 
re-syncing, was fully in agreement!</p>

<p>Later, John said <quote who="John Lenton">We really, really 
need some way to tell when it's ok to go in and use 
the stuff and when we must write an accessor for it</quote>. 
Jason said <quote who="Jason Cater">if there's not an accessor 
now, then we didn't intend for it to have one</quote>. 
James said <quote who="James Thompson">if it requires any type 
of logic at all to get what you require then you need an 
accessor</quote>.</p>

<p>Earlier, Derek emphasised that quibbles like this 
on papo's patch was not a rejection of the functionality - just some 
concerns over how it had been implemented. James agreed - 
<quote who="James Thompson">dude, there's some cool stuff in that 
patch</quote> - <quote who="James Thompson">I'm happy to see a 
working scrollbar setup</quote> for example, and 
<quote who="James Thompson">you're menubar patches inspired jcater 
to add trigger to flip them off and on (I think)</quote>. 
Also, <quote who="James Thompson">the whole atomic* stuff has me 
seriously looking at replacing the TODO lock record here crap in 
datasources</quote>.</p>

<p>Earlier, Derek wondered if some of the issues with the patch were 
just a matter of personal coding style - like where to put braces or 
how much indentation to use. John asked about indentation. Jason said 
<quote who="Jason Cater">we are actually *very* standardized on 
indentation... any variancies are oddities that someone likely 
committed - we do two space indents, with no tabs</quote> - 
<quote who="Jason Cater">I don't think we want patches that do 
nothing but fix indentation levels - but that is what we try to 
code at</quote>. John said he would make this the standard for 
future papo patches.</p>

<p>Later, Jason asked what the new <quote who="Jason Cater">&lt;entry 
style="textlookup"&gt;</quote> was for - it seemed to be just the 
sames a label. John explained <quote who="John Lenton">textlookup _is_ 
a label, except that it goes and fetches the labelee in a dictionary 
table - rather like a cross between label and dropdown - the name 
might be less than perfect... but we couldn't find anything better 
:)</quote>. James asked <quote who="James Thompson">how large are the 
dictionaries this thing is pulling from ?</quote> John said 
it was typically used where doing a normal query would involve 
bringing back many rows of un-needed data. James agreed - 
<quote who="James Thompson">if we did this via a normal datasource 
with prequery="" and the result set it huge we kill memory (a 
shortcomming on our end)</quote> - but <quote who="James Thompson">if 
we're scrolling thru a partlist and it's having to pull 
the values each time from the backend the UI would get choppy 
(a shortcomming of the way you've set it up, i think)</quote>. 
However, <quote who="James Thompson">our datasources already have a 
very stupid cache system built in</quote> which could help. 
Alternatively, <quote who="James Thompson">this could easily be 
accomplished as a post-change trigger via the simpleQuery function 
(i think)</quote> or <quote who="James Thompson">could we merge the 
concepts and use the datasources for now and concentrate on improving 
the cache system in datasources</quote> long term. Jason said that, 
<quote who="Jason Cater">for *this* particular case</quote>, the 
first way of doing it was the best <quote who="Jason Cater">although 
I do want to see cache system improvements</quote>.</p>

<p>Jason also suggested using the "foreign key refresh" 
functionality recently added for dropdowns, triggered by the 
on-change trigger. John asked how this would work. James 
suggested <quote who="James Thompson">it'd be a style=label with 
the same attribs as a dropdown?</quote> John asked 
<quote who="John Lenton">wouldn't that amount to overloading of 
label?</quote> - not that overloading was necessarily bad. 
James said this <quote who="James Thompson">allows a uidriver that 
doesn't know how to deal w/ style=dropdown to still display a 
normal entry</quote> - such as <quote who="James Thompson">the old, 
forgotten curses driver - it didn't do dropdowns but it did handle 
entries - our sample form had a dropdown where I could select Kansas 
in the dropdown - the text client let me type ks</quote>, degrading 
gracefully.</p>

<p>John said that <quote who="John Lenton">another reason for not 
fetching everything is that these things might change between the 
first fetch and the time one wants to display them, so in effect you 
have to fetch it every time anyway</quote>. James agreed -
<quote who="James Thompson">/me understands that you want the field 
to update if the backend data changes</quote>. John said 
<quote who="John Lenton">this is taking one more step down the road 
of "dropdowns need their own datasource"</quote>. Jason said this 
was the case anyway - <quote who="Jason Cater">all references to a 
database are done via a datasource - when you consider what all else 
datasources can do this opens up a lot of possibilities - e.g., with 
our static datasources - we can have combo boxes that pull from a 
static set of values defined within the form, not pulled from a 
table - that's just one example - remember we are abstracted from a 
relational database</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.20Nov2002">
The next day</a>, James apologised for not getting more patches 
applied yet. Marcos was not worried - he said he had printed off 
James' comment about "some cool stuff in that patch" 
<quote who="Marcos Dione">in big black letters</quote> -
<quote who="Marcos Dione">we're gonna get that sheet of paper 
framed :)</quote>.</p>

</section>


<section 
   title="Getting involved with GNUe"
   subject="[IRC] 15 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.15Nov2002"  
   startdate="14 Nov 2002 16:00:00 -0800"
   enddate="14 Nov 2002 16:00:00 -0800">

<topic>Why GNUe?</topic>

<p>Peter Sullivan (psu) said <quote who="Peter Sullivan">I have added a 
"<a href="http://www.gnuenterprise.org/community/involve.php">Get 
Involved</a>" page to the website - mainly for 
a link to a good external article</quote> Jason Cater (jcater) 
wondered <quote who="Jason Cater">does it involve "Send 
donuts"?</quote> Derek said <quote who="Derek Neighbors">we need a 
HOW DO I HELP PAGE - as that is number one question we get at 
info@gnue.org - hmmm this page might do the trick :)</quote>. 
He asked for the contact address for documentation bugs/patches 
to be changed to docs-support@gnuenterprise.org rather than 
info@gnue.org, so they would feed directly into DCL via the 
e-mail gateway. The <quote who="Derek Neighbors">other thing we need 
if it doesnt exist is either a 'license page' or better yet right on 
the home page - add somethign that says gnue tools/packages are GPL
- as i know my pet peeve in getting new software is hunting down what 
license its under before downloading. We make lots of reference to 
freesoftware and even fsf, but i dont see clarification where we state 
we are GPL</quote> Peter agreed - <quote who="Peter Sullivan">most 
people should hopefully be able to guess that GNU* == GPL, but why not 
tell 'em outright?</quote> He would add it to the front page.</p>
 
<p>Andrew Mitchell (ajmitch) suggested <quote who="Andrew Mitchell">you 
may want to reassure people that using GNUe doesn't make their stuff 
GPL - as i've heard people worry about that before (interesting problem 
there)</quote>. Derek said <quote who="Derek Neighbors">true... maybe 
point to gpl faq as well</quote>. Andrew asked 
<quote who="Andrew Mitchell">applications that hook into GNUe common, 
what license would they fall under?</quote> Derek said 
<quote who="Derek Neighbors">if you used common via 'import type 
statements and such' i think your resulting application would need to 
be GPL - if you used it via RPC it could be anything you 
like</quote> as you were simply using rather than linking to the code.</p>

</section>


<section 
   title="Structure of Debian packages for GNUe"
   subject="[IRC] 16 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.16Nov2002"  
   startdate="15 Nov 2002 16:00:00 -0800"
   enddate="15 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Common</topic>

<p>Derek Neighbors (dneighbo) suggested that the Debian packages 
should eventually be structured with a 
<quote who="Derek Neighbors">gnue-forms-base</quote>, with a 
seperate gnue-forms package for each user interface - 
<quote who="Derek Neighbors">gnue-forms-gtk2, gnue-forms-curses, 
gnue-forms-wx, gnue-forms-html etc</quote>, each with their 
own dependencies. Likewise, there could be a 
<quote who="Derek Neighbors">gnue-common-base</quote> and 
then seperate packages for each database driver - 
<quote who="Derek Neighbors">to give people finer grain control 
of the install</quote>. Jeff Bailey (jbailey) agreed -
<quote who="Jeff Bailey">I think that's the plan.
certainly for forms anyway. The hard part with doing it too much 
is that people will never figure out what to install.</quote>
Derek suggested <quote who="Derek Neighbors">couldnt we do 
something like task-gnue - for the people that dont want 
control</quote>.</p>


</section>


<section 
   title="Format Masks for GNUe"
   subject="[IRC] 16 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.16Nov2002"  
   startdate="15 Nov 2002 16:00:00 -0800"
   enddate="15 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Common</topic>

<p>Derek Neighbors (dneighbo) continued to make progress on the 
item maintenance screen for GNUE-SB. He needed format masks, 
but according to the Developers' Documentation, it 
<quote who="Derek Neighbors">looks like masks arent quite there 
yet</quote>. He <quote who="Derek Neighbors">just committed the 
item_maint.gfd that actually manages the items - so item management 
is now officially in gnue-sb cvs - its basic but its a 
start</quote>.</p>

<p>Later, he said he had worked around not having format masks for 
the moment, but wondered where this fitted in the Feature Plans -
<quote who="Derek Neighbors">we need to add number/currency 
format/input masks - and documentation of masks :)</quote>. 
Jason Cater (jcater) said <quote who="Jason Cater">input masks are 
a BIG todo - we are very close - but no cigar quite yet (that 
should be in 0.5.0 plans, if not, I'll add)</quote>, 
<quote who="Jason Cater">although most of the backend is in 
there</quote>.</p>

</section>


<section 
   title="Transaction stamping and getSequence"
   subject="[IRC] 16 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.16Nov2002"  
   startdate="15 Nov 2002 16:00:00 -0800"
   enddate="16 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Common</topic>

<p>Derek Neighbors (dneighbors) said <quote who="Derek Neighbors">we 
need an easy way to do transaction stamping i.e. createdon/by, 
modifiedon/by</quote>. Jason Cater (jcater) said there was 
<quote who="Jason Cater">a REAL easy way to do transaction 
stamping - they're called Pre-Update and Pre-Insert triggers</quote>
- <quote who="Jason Cater">same principle as setting the sequence 
value on an insert</quote>. James Thompson (jamest) said 
<quote who="James Thompson">no, we need a real, real way :)</quote> 
- just like the getSequence function, <quote who="James Thompson">you 
also have getTimestamp</quote>.</p>

<p>Coincidentally, Derek then came up against a case where he 
needed to use getSequence - <quote who="Derek Neighbors">the classic
'the parent needs to create its id in order to store in the child' 
problem - do you have a sample form that this works in 
currently?</quote> Jason asked <quote who="Jason Cater">are they 
set up as master/detail? as it does all that behind the scenes if 
so</quote>. Otherwise, <quote who="Jason Cater">check the recipe's 
chapter in the dev guide</quote>.</p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.17Nov2002">
The next day</a>, Jason said <quote who="Jason Cater">we have 
a createdon recipe - but createdby - who is "by" ?</quote> 
James said <quote who="James Thompson">i think he wants the 
username of the logged in user</quote>. Derek agreed - he
<quote who="Derek Neighbors">wasnt sure how to get that info 
via trigger</quote>. Jason said <quote who="Jason Cater">I 
know we can do that via triggers - but we probably need to add 
a convenience method</quote>. Derek asked 
<quote who="Derek Neighbors">what if you are using a custom 
'authenicator'</quote>? He had <quote who="Derek Neighbors">had 
to make all my 'transactional' stuff like that nullable for now 
in gnue-sb - until i get good trigger way to do it (or a 
convenience method) - then i will add it back in. /me thinks 
the date part is taken care of - if the db is setup properly</quote>
then the "created on" field <quote who="Derek Neighbors">should 
use function that posts timestamp if null else 
nothing if there - and the modified should use function that 
posts timestamp no matter what - though it would be better to 
amke it in application i think</quote>.</p>

</section>


<section 
   title="Auto sequences for primary keys in GNUe with mySQL"
   subject="[IRC] 17 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.17Nov2002"  
   startdate="16 Nov 2002 16:00:00 -0800"
   enddate="16 Nov 2002 16:00:00 -0800">

<topic>Common</topic>

<p>Andrew Mitchell (ajmitch) said he was trying to get a 
form to work - <quote who="Andrew Mitchell">like automagically 
inserting sequence numbers for master/detail</quote>. 
James Thompson (jamest) said <quote who="James Thompson">that 
should be in the docs as a recipe IIRC</quote>. Andrew noted 
<quote who="Andrew Mitchell">mysql's auto_increment doesn't 
work for master/detail, nor is it friendly :)</quote>. James 
suggested <quote who="James Thompson">i think if you implenet 
sequenceNumber in the mysql driver then you'd have them - i 
_think_</quote>. Andrew said <quote who="Andrew Mitchell">all 
i want is for the primary key (id) to be set for each record 
:) - and the value being set to be visible to the detail 
portion</quote>. James said <quote who="James Thompson">that's 
automatic on a commit in common - however getting the initial 
value from the db isn't IIRC - if you do the assignment on the 
database side then you have issues IIRC</quote>. He suggested 
<quote who="James Thompson">a db side trigger or a default 
value set to a function</quote>. Andrew pointed out 
<quote who="Andrew Mitchell">triggers? what's that? this is 
mysql i'm using :)</quote> James asked how the primary keys 
were being generated. Andrew said 
<quote who="Andrew Mitchell">at the moment, i have the primary 
key field set to auto_increment in the db - which sucks</quote>.
James said <quote who="James Thompson">hey! auto_increement == 
db side trigger! see, it's more advance than i give it 
credit</quote>. Jason Cater (jcater) asked 
<quote who="Jason Cater">do you know the name of the sequence 
it created?</quote> Andrew did not think that sequences had 
names that could be referenced in mySQL. Jason went 
<quote who="Jason Cater">googling for the answer</quote>.</p>

<p>Daniel Baumann (chillywilly) said <quote who="Daniel Baumann">the 
lesson here kiddies - mysql sucks ass</quote>. Andrew said he did 
not have much choice as he was <quote who="Andrew Mitchell">developing 
something for systems already with mysql</quote>. Daniel suggested 
using the GNUe Schema Definition (.gsd) format to migrate to another 
database.</p>

<p>Andrew suggested that it <quote who="Andrew Mitchell">would probably 
be easier for me to get the current id value, increment it, and save it 
back</quote> - this would work with even simpler databases like sqlite 
and gadfly. James said the only sensible solution might be to get the 
GNUe triggers to handle assigning the primary keys - 
<quote who="James Thompson">create a table gnue_seed</quote>. Jason 
suggested <quote who="Jason Cater">that, or  select max(id)+1 from 
table;</quote> James added <quote who="James Thompson">then make the 
getSequence in the db driver read the seed via a select for update, 
update it, then have it print to the debug log "compensating for the 
lack of a sane database"</quote>. Andrew commented that he 
<quote who="Andrew Mitchell">would have thought this would be a 
2-minute thing with mysql, at most</quote>.</p>

</section>


<section 
   title="Branching CVS for stable and unstable branches"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<p>James Thompson (jamest) warned 
<quote who="James Thompson">stay away from cvs head - 
it should still work but jcater has commited the start of 
changes for 0.5.0. I will be branching 0.4.1 tomorrow to 
apply some patches and will be releasing 0.4.2 of at least 
forms later in the week</quote>.</p>

<p>Later, Derek Neighbors (derek) asked <quote who="Derek Neighbors">is 
new gnue in sid?</quote> Jeff said <quote who="Jeff Bailey">No - 
Maybe tommorow or the day after</quote>, or maybe a bit longer 
for technical reasons to do with marking it as suitable for 
all/any of the Debian architectures - as a python application, it 
did not have to be recompiled from the i386 version of Debian to 
other versions. James Thompson (jamest) said 
<quote who="James Thompson">i hope to have a 0.4.2 out later in the 
week or early next - to address some issues and include some of the 
Papo stuff</quote>. Jeff noted <quote who="Jeff Bailey">That will 
solve the versioning problem nicely, then.</quote> He asked 
<quote who="Jeff Bailey">Are the versions in CVS now going to be 
lexically sane</quote> from then on?</p>

</section>


<section 
   title="GNUe Tools as a Microsoft Access replacement"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>
<topic>Reports</topic>

<p>It was asked whether GNUe would be a suitable replacement
for Access for someone desperately trying to break their M$ 
habit. Jason Cater (jcater) said 
<quote who="Jason Cater">we are not an access replacement, per 
se - but could definitely be a substitute - we are comparable 
to the Forms and Reports parts of access (only with a lot more 
power, imho) - we don't have a database, so you'd use PostgreSQL, 
for example, as the database backend (or SAP-DB, ....)</quote>. 
On the programming side, he said <quote who="Jason Cater">we use 
Python for any triggers/events... it's a VERY newbie-friendly 
language - it would be a small step from</quote> Visual Basic 
for Applications (VBA) to Python.</p>

<p>Later, Derek Neighbors (dneighbo) added 
<quote who="Derek Neighbors">always someone coming from msaccess
- suggest that pgadmin has a MIGRATION tool - that will migrate 
all tables + data for them</quote> from Microsoft Access to 
PostgreSQL - <quote who="Derek Neighbors">which is a huge part of 
the work if they have not done anything too 'fancy' code wise 
(standard vb forms) - designer will putty in their hands especially 
with wizards. /me has half considered writing a vb forms (and delphi 
forms) conversion tool.</quote> He added 
<quote who="Derek Neighbors">the biggest thing we are missing (and 
so is pgadmin) is a 'query designer' - i think eventually it would 
be nice to have that in designer(schema tools). If you all add the 
quick table view stuff (what someone was calling grid view) - the 
'query designer' would be about only thing we are missing to be 
close to access replacement (imho) - and unfortunately i have seen 
a LOT of access ;)</quote></p>

</section>


<section 
   title="Encoding option for PostgreSQL to move from gnue.conf to connections.conf"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Common</topic>

<mention>ra3vat</mention>

<p>Dmitry Sorokin (ra3vat) noted that <quote who="Dmitry Sorokin">encoding 
param in gnue.conf is only relevant for postgresql - so it understand 
specific pgsql names - encoding is the client encoding</quote> and could 
have various values for normal ASCII or other specific character sets. 
Jason Cater (jcater) thought <quote who="Jason Cater">that belongs in 
connections.conf if its specific to postgres - actually I thought it was 
already there?</quote> Dmitry said this dated back to before there was a 
separate connections.conf file, and agreed it should be moved. So did 
Arturas Kriukovas, who said <quote who="Arturas Kriukovas">i 
would like to believe there was some reason why i did put it here, but 
i don't remember :\</quote> - he would fix <quote who="Arturas Kriukovas">it 
in a few days</quote>.</p>

</section>


<section 
   title="Options for tabbed forms"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>

<mention>ra3vat</mention>

<p>Dmitry Sorokin (ra3vat) asked <quote who="Dmitry Sorokin">what 
is caption attribute for page?</quote> Jason Cater (jcater) said 
<quote who="Jason Cater">for notebook pages, that can be the notebook 
tab caption/label - if missing, and you have a notebook page, caption 
defaults to the name value</quote>. Dmitry asked 
<quote who="Dmitry Sorokin">what does transparentBlock attribute 
mean?</quote> Jason explained this controlled the behaviour of the 
tab key - <quote who="Jason Cater">If you are on the last field of a 
block and there is another block in the form then if transparentBlock 
is true a tab will take you to the next block - if false it will take 
you to the first field of the same block</quote>. Dmitry asked how you 
could get to the other notebook tab in this case. Jason said the Page 
Down key always took you to the next tab - for triggers, 
<quote who="Jason Cater">I think you can do a 
form.setFocus(otherBlock)</quote>.</p>

</section>


<section 
   title="Scrollbars in Forms"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>

<mention>ra3vat</mention>

<p>Dmitry Sorokin (ra3vat) asked <quote who="Dmitry Sorokin">how 
to set scrollbar over myltirow entry?</quote> James Thompson 
(jamest) said <quote who="James Thompson">our code doesn't support 
scrollbar's yet - papo guys seem to have it as part of their patch 
- if time permits I'll be going into the 0.4.1 branch - and then 
into head</quote>. Dmitry asked <quote who="Dmitry Sorokin">it 
seemed to me you did some work on scrollbar already?</quote> James 
admitted <quote who="James Thompson">i added the code it display it 
but never tied it into the event system</quote> so it would respond 
to mouse clicks or key presses like a "proper" scrollbar.</p>

</section>


<section 
   title="Multi-column unique constraints in SQL"
   subject="[IRC] 18 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002"  
   startdate="17 Nov 2002 16:00:00 -0800"
   enddate="17 Nov 2002 16:00:00 -0800">

<topic>Common</topic>

<p>Nick Rusnov (nickr) asked <quote who="Nick Rusnov">theres no way 
to express in SQL the kind of uniqueness that says 'the combination 
of these two columns must be unique' is there?</quote> -
<quote who="Nick Rusnov">like a constraint</quote> but 
<quote who="Nick Rusnov">instead, this row is uniquified by two 
columns instead of just one</quote>. Jason Cater (jcater) asked 
<quote who="Jason Cater">isn't it just "unique (field1, 
field2)"</quote> James Thompson (jamest) agreed - 
<quote who="James Thompson">you can create a unique index on 2 fields
or setup the primary key constraint at the end of the table def instead 
of behind one field</quote>. Jason noted that there was a distinction 
between unique and primary key - <quote who="Jason Cater">unique does 
not enforce nullness like primary key does - so if you want "unique 
and not null" you need to specify not null for those columns</quote>. 
He used multi-column unique constraints quite often - 
<quote who="Jason Cater">example, we sell magazines - so we have a 
table that holds our offers. it contains the magazine id and the number 
of issues - so only one combination of (magazine, issues) can exist in 
that table</quote>. <quote who="Jason Cater">there can be plenty of 12 
issue magazines - and plenty of offers for People magazine - but only 
one offer for People at 12 issues</quote>.</p>

</section>


<section 
   title="Twisted as an alternative to GNUe Application Server"
   subject="[IRC] 19 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Nov2002"  
   startdate="18 Nov 2002 16:00:00 -0800"
   enddate="18 Nov 2002 16:00:00 -0800">

<topic>Application Server</topic>

<p>Bill Gribble (grib) asked <quote who="Bill Gribble">have you guys 
thought about working with twisted?  seems like there 
could be a lot of redundancy between gnue and wtisted.</quote> 
Derek Neighbors (revDeke) said <quote who="Derek Neighbors">i think 
we existed long before twisted so one should ask why isnt 
twisted working with us :) - specifically they iirc are much more web 
oriented. Likely the appserver team would be the best to address 'twisted' 
stuff</quote>. Bill said <quote who="Bill Gribble">seems like there's 
mission overlap but not enough to point a finger and say somebody's 
wasting time.  they don't handle any of the forms/reports/etc, just the 
wiring and app-service.</quote> Derek agreed - 
<quote who="Derek Neighbors">i think they are more similar to our 
appserver than gnue as a whole - i think jan or jcater mentioned offering 
an appserver provider for them or something</quote>. Bill said 
<quote who="Bill Gribble">anyway their stuff looks pretty interesting.  
it is sort of kitchen-sinky and the code/doc ration is a little high but 
I think there's useful stuff.</quote></p>

</section>


<section 
   title="GNUe Small Business and project papo - overlap?"
   subject="[IRC] 19 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.19Nov2002"  
   startdate="18 Nov 2002 16:00:00 -0800"
   enddate="18 Nov 2002 16:00:00 -0800">

<topic>Why GNUe?</topic>
<topic>Small Business</topic>

<p>John Lenton (Chipaca) asked why Derek Neighbors (revDeke) 
had started gnue-sb as a seperate project, rather than working 
with project papo. Derek said he had understood that papo was 
aimed specifically at the Argentinan market and was in Spanish. 
John explained <quote who="John Lenton">the PAPO team's medium-term 
objective is to replace an Argentine-specific ERP. There is, as 
far as we know, nothing in the design of PAPO that's 
Argentina-specific - the screens are in spanish because that is 
_our_ target audience, but</quote> internationalisation was planned 
for after November. Derek said that <quote who="Derek Neighbors">when 
i looked at papo it wasnt what i was after - specifically you 
appeared to be making what we want final GNUe to be</quote> - 
<quote who="Derek Neighbors">with gnue-sb we plan to be much simpler 
than what official end game gnue would be - specifically there is no 
intention to use appserver with it - if you think we can work together 
great</quote>. John said that papo had been started as a seperate 
project, as the GNUe tools were mostly there, but the packages were 
<quote who="John Lenton">a *long* way away of what we need</quote>. 
Derek agreed - that was why he had started gnue-sb.</p>

<p>John said that papo was <quote who="John Lenton">pointed more 
towards small-to-medium organizations, while gnue (as it name implies) 
is aimed at fully fledged enterprise-level stuff, that is, IOHO, over 
papo's head - which is why gnue-sb called our attention... it seems to 
be more or less what papo is getting to be</quote>. Peter Sullivan 
(psu) said that some of the discussions about adding functionality 
to the Tools had indicated <quote who="Peter Sullivan">that papo has 
compatible but different way of approaching things</quote> - 
this wmight have been even worse on the Packages, and lead to a fork. 
He asked whether papo's long-term goals included AppServer. 
John said <quote who="John Lenton">long term appserver is by far the 
cleaner approach, but there is nothing wrong with 2-tier if the needed 
functionality is hidden away in dbsig, for example</quote>. Peter 
felt that the overlap, if there was one, was between the GNUe Packages 
and papo rather than between gnue-sb and papo - but this had always 
been recognised. John felt <quote who="John Lenton">there are some 
rough edges between what papo aims to do and what gnue seems to aim 
to do, mostly related to who the intended users are, but those are all 
confined to the UI AFAIR</quote>.</p>

<p>Derek said that papo appeared <quote who="Derek Neighbors">much more 
geared to 'manufacturing' - my needs are more on wherehouse management 
than assembly line</quote>, which was the focus of gnue-sb. But he had 
<quote who="Derek Neighbors">no problem working together</quote>. 
John said that papo's entity relationship diagram (ERD) 
<quote who="John Lenton">tries to contamplate SB product mangling, but 
that's about it</quote> - he was going to set 
<quote who="John Lenton">up a friendly web thingie to browse our ERD, 
as it is rather huge</quote>. He used Zot for ERD documentation, and 
was even considering writing a zot2gsd to enable GNUe Schema 
Defintion Files (.gsd) to be automatically converted from Zot.</p>

<p>Derek said that the point of gnue-sb was to ramp something up 
quickly - <quote who="Derek Neighbors">/me doesnt have time to debate 
argue and make things feature complete for the world - but rather 
something that is usable and shippable and easily extensible - 
so while i have no problems working papo or other projects, very much 
gnue-sb is a [no] nonsense 'get it done' application</quote>. 
The alternative approach - <quote who="Derek Neighbors">long toying 
with trying to incorporate a ton of varying opinions - that is what 
GNUe official packages will tackle :)</quote></p>

</section>


<section 
   title="Status of Curses (text-only) version of Forms"
   subject="[IRC] 20 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.20Nov2002"  
   startdate="19 Nov 2002 16:00:00 -0800"
   enddate="19 Nov 2002 16:00:00 -0800">
 
<topic>Forms</topic>

<p>It was asked what the current state of the console version of GNUe 
Forms was. Jason Cater (jcater) said <quote who="Jason Cater">very 
close, but still a few issues - I am looking to design gnue forms 
and have a curses based forms client.</quote> There were 
<quote who="Jason Cater"><a href="http://www.gnuenterprise.org/~jcater/curses-intro.png">some</a>
<a href="http://www.gnuenterprise.org/~jcater/curses-login.png">screenshots</a> 
some screenshots from a couple of weeks ago. Current issues with 
curses: button support hasn't been finished, no notebook page 
support - um - and a few other small things - but it's VERY close.
I can actually use it to edit and save data. oh, yeah, the menubar 
doesn't work - that and the buttons are the biggies right 
now.</quote></p>

</section>

</kc>
