<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

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

<issue num="93" date="09 Aug 2003 00:00:00 -0800" />

<headquote>
"<i>i love SCO - 
all the stupid mistakes i do in a day that i beat myself for - 
i read one SCO article - 
and i feel like einstein again ;)</i>"
</headquote>


<intro>
  This covers the three main mailing lists for the 
  <a href="http://www.gnuenterprise.org">GNU Enterprise</a> 
  project, plus the #gnuenterprise IRC channel.
</intro>


<section 
   title="Triggers in AppServer"
   subject="[IRC] 31 Jul 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.31Jul2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="31 Jul 2003 04:00:00 -0800"
   enddate="31 Jul 2003 04:00:00 -0800">

<topic>Application Server</topic>

<p>Jan Ischebeck (siesel) said that he had not much time to look at GNUe 
recently - <quote who="Jan Ischebeck">busy writing master thesis :(</quote>
By contrast, Reinhard M&#252;ller (reinhard) had used the quiet season 
at work to make <quote who="Reinhard M&#252;ller">some time for gnue hacking
- i'm working at integrating the class repository with the core of 
appserver - good thing is that once we have that, we can make triggers 
work</quote>.</p>

</section>


<section 
   title="Display masks and 'select count distinct'"
   subject="[IRC] 01 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.01Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="01 Aug 2003 04:00:00 -0800"
   enddate="01 Aug 2003 04:00:00 -0800">

<topic>Common</topic>

<p>der.hans (LuftHans) asked <quote who="der.hans">can a displaymask be used 
to mask out dups for that field?</quote> James Thompson (jamest) said 
<quote who="James Thompson">nope, masks are kind of a hack at the 
moment</quote>. der.hans asked what they would be able to do when 
finished. James said <quote who="James Thompson">hard to say</quote> - 
he had done some 
<a href="http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/doc/technotes/00010.txt">initial
notes</a> on them. der.hans suggested including validation in display 
masks - <quote who="der.hans">sort mask, mask to translate public IP addy 
to private IP addy... most is probably best done at the db, but weird 
people like me want to do it client-side :)</quote> In particular, 
<quote who="der.hans">in this particular case I'm using the same data for 
two different self-populating drop downs, but I need different masks on 
both, it seems that client-side manipulation would be better than hitting 
the db twice - then again, if it was a large dataset both would only be 
doing partial displays, so you couldn't do it at the client 
side...</quote> James <quote who="James Thompson">rumages around a 
bit</quote> and came up with a datasource defintion that allowed you to 
<quote who="James Thomspon">build conditional filters on datasources</quote>.
Ne noted that the &lt;condition&gt; tag in datasources 
<quote who="James Thompson">supports all kinds of stuff though - 
&lt;null&gt; &lt;not&gt; &lt;and&gt; &lt;ge&gt; etc etc</quote> - 
<quote who="James Thompson">not sure if they're in the docs</quote> as of 
time of writing. However, the support for 'select count distinct' which 
he thought der.hans would need was not working.</p>

<p>der.hans explained <quote who="der.hans">what I want is one dropdown 
that has date and another that has genre, but I don't want each event in 
the dropdowns, I just want unique dates and genres, then when you choose 
a date or genre the record set that's returned is all of the events of 
that type</quote>. James tried to fix the select count distinct bug, 
<quote who="James Thompson">but no idea if it'll make distinct do what you 
want :) - but looking at the code all it does is add distinct to the std 
sql statement so it _should_ work</quote>. der.hans noted that 
<quote who="der.hans">according to postgresql docs distinct is not std sql, 
so will that cause a prob with other databases?</quote> James said it 
<quote who="James Thomspon">seems to be in the sql92 draft I have</quote> - 
it was the DISTINCT ON statement that was not compliant with the SQL92 
standard. der.hans reported a problem with James' fix - 
<quote who="der.hans">hmm, I'm now on record 5 of 2...</quote> 
James could not <quote who="James Thompson">think of a quick fix for my 
quick fix - nothgin that is portable</quote>. He could come up with 
a solution that would work on PostgreSQL, but he did not think it 
would work on Oracle - <quote who="James Thompson">and I can't use subselects 
as an out - as mysql doesn't do them</quote>. <quote who="James Thompson">the 
only fix I can come up with is crap - which would be to perform the query 
and interate thru the cursor - counting</quote>.</p>

</section>


<section 
   title="Relative stability of old 0.5.0 release and CVS"
   subject="[IRC] 02 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.02Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="02 Aug 2003 04:00:00 -0800"
   enddate="02 Aug 2003 04:00:00 -0800">

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

<p>Derek Neighbors (dneighbo) <quote who="Derek Neighbors">was happy 
with the 0.5.0 release - despite its shortcomings it was fairly 
solid</quote>. However, he would rather use a buggy CVS version of 
GNUe <quote who="Derek Neighbors">than php - btw: i like php, just 
not for non website type of stuff i.e. real applications deserve 
more than a weblication :)</quote> Jason Cater (jcater) said 
<quote who="Jason Cater">I think cvs forms is no less stable than 
0.5.0. Designer on the other hand has probably doubled it's 
featureset. I don't think it's any less stable than 0.5.0 - but 
there's more opportunity to hit a bug now =)</quote>.</p>

</section>


<section 
   title="Multiple data blocks in Forms"
   subject="[IRC] 03 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.03Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="03 Aug 2003 04:00:00 -0800"
   enddate="03 Aug 2003 04:00:00 -0800">

<topic>Forms</topic>

<p>It was asked how to synchronise two data blocks in Forms, so that selecting 
a record in the first block would execute a query in the second block to 
show the related (master-detail) records. Dmitry Sorokin (dimas) explained 
<quote who="Dmitry Sorokin">if two blocks has one datasource the are sinchronized 
already</quote>. der.hans suggested looking in the Forms Developer Guide for 
information about master-detail datasources - <quote who="der.hans">alternatively 
tie in a trigger to explicitly update the other datasource, 
e.g. dtsRestaurants.createResultSet({'name': self.get()})</quote>. To switch 
between the blocks, <quote who="der.hans">there's a give focus mechanism as well 
as a take focus mechanism - don't know if they do what you want. Also, triggers 
can cause events for any datasource - events on the datasource are layout block 
independent</quote>. Alternatively, <quote who="der.hans">I'm presuming a trigger 
could cause two different queries, one for each datasource</quote>. When 
working with multiple blocks, any updates in either block would get applied 
correctly, <quote who="der.hans">but you're right that next/prev isn't working 
in both places, it just looked like it was...</quote> He overcame this by 
adding his own manual <quote who="der.hans">prev and next buttons in the form, 
then tied both to triggers that call prevRecord and nextRecord on both 
datasources</quote>. He also advised <quote who="der.hans">use prequery="Y" if 
you want to pre-populate something at form startup</quote>. And 
<quote who="der.hans">where clauses get done with conditions</quote> in the 
datasource definition - this was covered in the Forms documenation. 
<quote who="der.hans">if you need distinct/unique results you need to get the 
most recent forms engine from cvs</quote>, as discussed in 
<kcref title="Display masks and 'select count distinct'" 
subject="[IRC] 01 Aug 2003" />.</p>

</section>


<section 
   title="Oracle and ODBC with Microsoft Windows versions of GNUe"
   subject="[IRC] 04 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.04Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="04 Aug 2003 04:00:00 -0800"
   enddate="04 Aug 2003 04:00:00 -0800">

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

<p>Problems were reported trying to use the pre-built Windows version of GNUe with Oracle.
Jason Cater (jcater) said <quote who="Jason Cater">I've hit that problem as well - 
and don't have an elegant solution. We use oracle here too.</quote> He believed that the 
<a href="http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-3.0a.win32-py2.3.exe">cxOracle</a> 
driver to allow python applications like GNUe to talk to Oracle databases 
<quote who="Jason Cater">had win32 binaries now</quote>. However, it was not 
really possible to use these with the pre-built Windows version of GNUe 
<quote who="Jason Cater">as our installer encapsulates its own python 
environment</quote> - it was not a standard Win32 python installation. 
The other alternative was to install GNUe from source. On GNU/Linux, this was 
as easy as pre-built, but on Microsoft Windows platforms it was 
<quote who="Jason Cater">a bigger headache</quote>, although it gave much 
<quote who="Jason Cater">more flexibility</quote>. He explained that, for 
the pre-built Windows version, <quote who="Jason Cater">what our installer does
is basically takes a snapshot of someone's GNUe + Python + Needed Libraries 
installation and creates a frozen-in-time image that others can install on their 
system. Advantage of this approach is our program behaves like any other windows 
program i.e., single executable, single installation, etc (no searching for 
prerequisites). The downside is you can only use the libraries that this particular 
person has installed. And, obviously, we can't have our windows packager install 
the oracle clients as that'd be a not-so-small license violation</quote>, as 
the Oracle SQL*Net client software was definantly not freely redistributable! 
<quote who="Jason Cater">another option would be to connect to the Oracle backend 
via ODBC</quote>, as ODBC support was included in the pre-built Windows version, 
although <quote who="Jason Cater">I'm personally not a big fan of ODBC</quote>. 
At his work place, he had side-stepped the issue by installing X clients 
on the Windows 98 machines so that they could run GNUe on a remote GNU/Linux 
server instead. He noted that <quote who="Jason Cater">introspection does not 
work</quote> on ODBC, so GNUe Designer would not be able to query the database 
to find out what tables and fields the database had - ODBC was therefore only 
really suitable for end-users rather than people trying to develop forms.</p>

<p>He hinted that <quote who="Jason Cater">we've actually come up with a workaround 
for the ODBC+introspection stuff - but haven't had a chance to implement</quote>. 
This involved writing add-ons to the standard ODBC support in GNUe to provide 
the commands specific to each database to get introspection information for a variety 
of supported databases. Then, when using the ODBC driver, you could specify 
not only <quote who="Jason Cater">what database driver to use</quote> (i.e. 
ODBC) <quote who="Jason Cater">but also what database "personality" to use</quote>
when doing introspection. This concept of database "personality" could also be 
used with the database-specific (non-ODBC) drivers, where the commands for 
introspection had changed from version to version, 
which he understood was the case with IBM's DB2 database, as previously 
discussed in 
<kcref title="IBM DB2 and GNUe" subject="[IRC] 28 Jan 2002" />.</p>

</section>


<section 
   title="Character-only (curses) User Interface for Forms"
   subject="[IRC] 05 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.05Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="05 Aug 2003 04:00:00 -0800"
   enddate="05 Aug 2003 04:00:00 -0800">

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

<p>It was asked if there was a non-GUI interface for running Forms. 
Derek Neighbors (derek) said a 
<kcref title="Status of Curses (text-only) version of Forms" 
subject="[IRC] 20 Nov 2002">curses</kcref> (character-only) 
interface was supported - alternatively, if you meant 
<quote who="Derek Neighbors">non gui as no interaction</quote>
then <quote who="Derek Neighbors">you could make python scripts 
that use common and have them be unattended</quote>. He 
explained <quote who="Derek Neighbors">curses was poorly maintained 
for a long time - then it got a lot of attention just before 0.5.0 
and was brought to a nearly working state - but likely with the 
changes in cvs it has fallen to less than maintained again - 
but shouldnt need a ton of work to get it going again</quote>.</p>

</section>


<section 
   title="GNUe Small Business and arias"
   subject="[IRC] 05 Aug 2003"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.05Aug2003"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk"  
   startdate="05 Aug 2003 04:00:00 -0800"
   enddate="05 Aug 2003 04:00:00 -0800">

<topic>Small Business</topic>

<p>Mike vincent (Vee2d2) explained that <a href="http://arias.sf.net">arias</a> 
was the <quote who="Mike Vincent">reincarnation of nola</quote>. Jason Cater 
(jcater) added <quote who="Jason Cater">they are merging</quote> with the 
GNUe Small Business sub-project. James Thompson (jamest) asked 
<quote who="James Thompson">what's the status of all this?</quote> 
Jason said <quote who="Jason Cater">"Started"</quote> - 
<quote who="Jason Cater">some usable stuff - but not ready for the masses</quote>.
James said <quote who="James Thompson">well, i need inv control/shipping dept 
stuff ASAP - with barcoding, picklists, etc</quote>. Jason felt 
<quote who="Jason Cater">that's outside of the arias merge</quote> but 
<quote who="Jason Cater">that's what Vee2d2 has been working on - pester 
him</quote>.</p>

</section>


</kc>