GNUe Traffic #93 For 9�Aug�2003

Editor: Peter Sullivan

By Peter Sullivan

"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 ;)"

Table Of Contents

Introduction

This covers the three main mailing lists for the GNU Enterprise (http://www.gnuenterprise.org) project, plus the #gnuenterprise IRC channel.

1. Triggers in AppServer

31�Jul�2003�Archive Link: "[IRC] 31 Jul 2003"

Summary By Peter Sullivan

Topics: Application Server

People: Jan Ischebeck,�Reinhard M�ller

Jan Ischebeck (siesel) said that he had not much time to look at GNUe recently - "busy writing master thesis :(" By contrast, Reinhard M�ller (reinhard) had used the quiet season at work to make "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" .

2. Display masks and 'select count distinct'

1�Aug�2003�Archive Link: "[IRC] 01 Aug 2003"

Summary By Peter Sullivan

Topics: Common

People: der.hans,�James Thompson,�James Thomspon

der.hans (LuftHans) asked "can a displaymask be used to mask out dups for that field?" James Thompson (jamest) said "nope, masks are kind of a hack at the moment" . der.hans asked what they would be able to do when finished. James said "hard to say" - he had done some initial notes (http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/doc/technotes/00010.txt) on them. der.hans suggested including validation in display masks - "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 :)" In particular, "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..." James "rumages around a bit" and came up with a datasource defintion that allowed you to "build conditional filters on datasources" . Ne noted that the <condition> tag in datasources "supports all kinds of stuff though - <null> <not> <and> <ge> etc etc" - "not sure if they're in the docs" as of time of writing. However, the support for 'select count distinct' which he thought der.hans would need was not working.

der.hans explained "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" . James tried to fix the select count distinct bug, "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" . der.hans noted that "according to postgresql docs distinct is not std sql, so will that cause a prob with other databases?" James said it "seems to be in the sql92 draft I have" - it was the DISTINCT ON statement that was not compliant with the SQL92 standard. der.hans reported a problem with James' fix - "hmm, I'm now on record 5 of 2..." James could not "think of a quick fix for my quick fix - nothgin that is portable" . He could come up with a solution that would work on PostgreSQL, but he did not think it would work on Oracle - "and I can't use subselects as an out - as mysql doesn't do them" . "the only fix I can come up with is crap - which would be to perform the query and interate thru the cursor - counting" .

3. Relative stability of old 0.5.0 release and CVS

2�Aug�2003�Archive Link: "[IRC] 02 Aug 2003"

Summary By Peter Sullivan

Topics: Forms, Designer

People: Derek Neighbors,�Jason Cater

Derek Neighbors (dneighbo) "was happy with the 0.5.0 release - despite its shortcomings it was fairly solid" . However, he would rather use a buggy CVS version of GNUe "than php - btw: i like php, just not for non website type of stuff i.e. real applications deserve more than a weblication :)" Jason Cater (jcater) said "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 =)" .

4. Multiple data blocks in Forms

3�Aug�2003�Archive Link: "[IRC] 03 Aug 2003"

Summary By Peter Sullivan

Topics: Forms

People: Dmitry Sorokin,�der.hans

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 "if two blocks has one datasource the are sinchronized already" . der.hans suggested looking in the Forms Developer Guide for information about master-detail datasources - "alternatively tie in a trigger to explicitly update the other datasource, e.g. dtsRestaurants.createResultSet({'name': self.get()})" . To switch between the blocks, "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" . Alternatively, "I'm presuming a trigger could cause two different queries, one for each datasource" . When working with multiple blocks, any updates in either block would get applied correctly, "but you're right that next/prev isn't working in both places, it just looked like it was..." He overcame this by adding his own manual "prev and next buttons in the form, then tied both to triggers that call prevRecord and nextRecord on both datasources" . He also advised "use prequery="Y" if you want to pre-populate something at form startup" . And "where clauses get done with conditions" in the datasource definition - this was covered in the Forms documenation. "if you need distinct/unique results you need to get the most recent forms engine from cvs" , as discussed in Issue�#93, Section�#2� (1�Aug�2003:�Display masks and 'select count distinct') .

5. Oracle and ODBC with Microsoft Windows versions of GNUe

4�Aug�2003�Archive Link: "[IRC] 04 Aug 2003"

Summary By Peter Sullivan

Topics: Common, Designer, Forms

People: Jason Cater

Problems were reported trying to use the pre-built Windows version of GNUe with Oracle. Jason Cater (jcater) said "I've hit that problem as well - and don't have an elegant solution. We use oracle here too." He believed that the cxOracle (http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-3.0a.win32-py2.3.exe) driver to allow python applications like GNUe to talk to Oracle databases "had win32 binaries now" . However, it was not really possible to use these with the pre-built Windows version of GNUe "as our installer encapsulates its own python environment" - 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 "a bigger headache" , although it gave much "more flexibility" . He explained that, for the pre-built Windows version, "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" , as the Oracle SQL*Net client software was definantly not freely redistributable! "another option would be to connect to the Oracle backend via ODBC" , as ODBC support was included in the pre-built Windows version, although "I'm personally not a big fan of ODBC" . 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 "introspection does not work" 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.

He hinted that "we've actually come up with a workaround for the ODBC+introspection stuff - but haven't had a chance to implement" . 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 "what database driver to use" (i.e. ODBC) "but also what database "personality" to use" 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 Issue�#14, Section�#17� (28�Jan�2002:�IBM DB2 and GNUe) .

6. Character-only (curses) User Interface for Forms

5�Aug�2003�Archive Link: "[IRC] 05 Aug 2003"

Summary By Peter Sullivan

Topics: Forms, Common

People: Derek Neighbors

It was asked if there was a non-GUI interface for running Forms. Derek Neighbors (derek) said a curses (character-only) interface was supported - alternatively, if you meant "non gui as no interaction" then "you could make python scripts that use common and have them be unattended" . He explained "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" .

7. GNUe Small Business and arias

5�Aug�2003�Archive Link: "[IRC] 05 Aug 2003"

Summary By Peter Sullivan

Topics: Small Business

People: Mike Vincent,�Jason Cater,�James Thompson

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

Sharon And Joy

Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.