<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

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

<issue num="111" date="10 Apr 2006 00:00:00 -0800" />

<headquote>
&quot;<i>would that be what the user expects?</i>&quot; - 
&quot;<i>I have found it hard to predict what users expect :-)</i>&quot; - 
&quot;<i>we want intuitive user interface</i>&quot; - 
&quot;<i>and free whisky</i>&quot; - 
&quot;<i>and world peace</i>.&quot;
</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="Differences between packaged releases and source code version"
   subject="[IRC] 04 Apr 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-04-04"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="04 Apr 2006 12:00:00 -0800"
   enddate="04 Apr 2006 12:00:00 -0800">

<topic>Common</topic>

<p>Reinhard M&#252;ller (reinhard) said that the version of 
GNUe running as a Debian package read the connections.conf 
file (which told GNUe which databases to connect to, and how) from 
<quote who="Reinhard M&#252;ller">/etc/gnue/connections.conf</quote>.
Andrew Mitchell (ajmitch) confirmed this, saying that the 
version of this file in /usr/local/gnue/etc was used when set 
up from source code <quote who="Andrew Mitchell">since /usr/local 
should never ever be seen in a package</quote> in order to comply 
with Debian packaging guidelines. He would do 
Debian packages for the new releases soon - 
<quote who="Andrew Mitchell">I just need to get around to it 
:)</quote>.</p>

</section>

<section 
   title="Behaviour of Clear button"
   subject="[IRC] 05 Apr 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-04-05"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="05 Apr 2006 12:00:00 -0800"
   enddate="05 Apr 2006 12:00:00 -0800">

<topic>Forms</topic>

<p>Bajusz Tam&#0225;s (btami) noted that <quote who="Bajusz Tam&#0225;s">the 
clear form button now gives an empty resultset, but most users want 
to clear the form (the last record you edited) - and dont want to 
lose the last queried resultset</quote>. Johannes Vetter (johannesV) 
commented that <quote who="Johannes Vetter">it is not &quot;clear 
form&quot; but &quot;rollback&quot;, isn't it ?</quote> Tam&#0225;s said 
<quote who="Bajusz Tam&#0225;s">my users think it's an undo like button - 
but they are disappointed after clicking it</quote>. Reinhard M&#252;ller 
agreed - <quote who="Reinhard M&#252;ller">actually I can't see any 
advantage of &quot;clear&quot; against &quot;undo&quot;</quote>, 
but <quote who="Reinhard M&#252;ller">undo might be tricky with appserver
- for 2-tier, undo can simply reset all records to original 
state</quote> He noted that &quot;undo&quot; would also have to start 
a new transaction - <quote who="Reinhard M&#252;ller">so also changes 
from other users would/should become visible then</quote> as 
<quote who="Reinhard M&#252;ller">we would have to requery anyway</quote>.  
This would involve storing <quote who="Reinhard M&#252;ller">the last 
query and simply redoing it</quote>.</p>

<p>Later, Jason Cater (jcater) said he wasn't sure what the issue 
was - was it <quote who="Jason Cater">just the wording of that buttun isn't 
clear (no pun intended?)</quote> He <quote who="Jason Cater">would agree 
&quot;Clear&quot; maybe isn't the best word to describe it - 
to me &quot;Revert to Database&quot; or &quot;Reset&quot; or something 
might be clearer</quote>. Reinhard replied that 
<quote who="Reinhard M&#252;ller">the basic point was that a function to 
undo all changes since the last save (but &quot;stay&quot; in the current 
resultset) would be more useful than replacing the current result set 
with an empty one</quote>. James Thompson saw this 
<quote who="James Thompson">as 2 separate functions - i wouldn't mind 
seeing an undo - and clear used to be called rollback but users didn't 
grok the meaning. I'm not sure how other places do it but here users 
will query something to edit it</quote> then clear, then 
<quote who="James Thompson">enter a new record</quote>. 
Reinhard didn't understand this behaviour - 
<quote who="Reinhard M&#252;ller">why do they clear instead of insert?</quote> 
James said <quote who="James Thompson">i think it's mental, they want 
a clean slate to work with - they also know with a blank screen they 
aren't accidentally changing a previously loaded record</quote>. Reinhard 
said that, in that case, he could <quote who="Reinhard M&#252;ller">see use 
for both undo and clear</quote>. James noted that 
<quote who="James Thompson">fwiw: users are completely oblivious to 
the MOD, INS, OK status bar - i gave up trying to get them to use 
it</quote>.</p>

<p>Reinhard asked whether <quote who="Reinhard M&#252;ller">you would 
still make &quot;clear&quot; destroy all unsaved changes? or would 
we clearly separate the function of destroying unsaved changes and 
clearing the resultset?</quote> James felt that 
<quote who="James Thompson"> in my mind clear is nothing but a 
rollback - and the current behaviour of not prompting for &quot;save 
unsaved changes&quot; is bad</quote>. Reinhard agreed.</p>

</section>

<section 
   title="Input Masks for Numeric, Date and Text data"
   subject="[IRC] 06 Apr 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-04-06"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="06 Apr 2006 12:00:00 -0800"
   enddate="06 Apr 2006 12:00:00 -0800">

<topic>Forms</topic>

<p>James Thompson was <quote who="James Thompson">trying to 
regrok the input mask system</quote>. This, as of time of writing,
allowed you to have input masks that were a mix of alpha, number 
and date elements, but not a mix of just number and date elements - 
he had removed this restriction <quote who="James Thompson">as I thought it 
somewhat arbitrary</quote> Reinhard M&#252;ller (reinhard) felt that 
<quote who="Reinhard M&#252;ller">combining something else with dates 
sounds odd to me</quote> anyway. James agreed - just about 
<quote who="James Thompson">the only thing I could think of where 
I'd posibly use that is a made up code</quote> with a date-stamp
element like <quote who="James Thompson">YY-MMDD###### or some such 
thing</quote>. Reinhard felt that this could still cause problems 
if the numeric part was right-padded with spaces, which would be 
the normal behaviour for numbers.</p>

<p>Reinhard added that <quote who="Reinhard M&#252;ller">the question 
is what kind of value you want to get from the mask, 
actually</quote>.James said <quote who="James Thompson">right now 
it's always a string</quote>. Reinhard felt that was inefficient, as
it implied doing two type conversion when 
<quote who="Reinhard M&#252;ller">we get datetime from the 
database, and we need to push datetime into the database</quote>. 
James said that there would need to be at least two different 
input masks anyway - one for display, and one for editing, but 
this would mean Forms would need <quote who="James Thompson">to 
store two values per field then?</quote>. Reinhard said that this 
was 'sort-of' the case already - <quote who="Reinhard M&#252;ller">the 
displayhelpers have a &quot;value&quot; and a &quot;work&quot; 
variable</quote>.</p>

<p>James suggested <quote who="James Thompson">in the case of 
numbers - we'd always return a Decimal instance or a Decimal and/or 
int</quote>. Reinhard wasn't sure whether all of the backend 
databases that GNUe worked with supported decimals.</p>

<p>Later, Jason Cater (jcater) noted that <quote who="Jason Cater">input 
masks were supposed to return the appropriate data type - it does 
separate out 3 types of masks - numeric, date/times, and general 
strings - each set having its own set of mask elements - so MMDD isn't 
gonna work in numeric</quote> without changing the code. He had 
actually put most of the effort into the numeric input masks to start 
with, so it was possible that the date input masks were not as fully 
featured. He had started with numeric <quote who="Jason Cater">as it 
in my mind is by far the hardest to get right - with comma-addition, 
fixed or floating decimal support, and support for optional 
characters</quote> such as currency signs.</p>

</section>


<section 
   title="Block navigation in Forms"
   subject="[IRC] 07 Apr 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-04-07"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="07 Apr 2006 12:00:00 -0800"
   enddate="07 Apr 2006 12:00:00 -0800">

<topic>Forms</topic>

<p>Johannes Vetter asked <quote who="Johannes Vetter">what was the 
intention behind setting the initial focus to the first focusable 
entry of the *first* block defined in a gfd ? instead of using the 
first focusable entry of the *first* &lt;page&gt; defined ?</quote>
It was also noted that the way the focus moves in the 
order the fields appear in the block was also 
annoying. Johannes noted <quote who="Johannes Vetter">you'd 
have to define a focusorder to avoid it, right ?</quote> Reinhard 
M&#252;ller (reinhard) felt that <quote who="Reinhard M&#252;ller">the order 
of the entries appearing in the</quote> GNUe Forms Definition file 
(gfd) <quote who="Reinhard M&#252;ller">would make up a good default focus 
order - in any case a better focus order than the fields in the 
block</quote>. This was agreed - if people wanted to change 
the default order, they could always set the focusOrder on 
each widget. Reinhard still could not 
<quote who="Reinhard M&#252;ller">understand the whole concept behind 
block based navigation - I mean - when we separate logic and ui
it makes no sense to bind focus navigation to the logic instead of 
to the ui</quote>.</p>

<p>Later, James Thompson (jamest) said this might cause him 
problems - <quote who="James Thompson">i'll have to do tests but I 
imagine the focus order change will break every form I have - not 
that I'm really against the change though, i haven't thought it thru 
yet :)</quote> The reason for having block-based naviagtion was 
<quote who="James Thompson">it allowed you to hold navigation to a 
specific set of your data - off the top of my head invoice entry 
might be a good example - the master invoice block at the top of 
the page would be for contact info, totals, etc - the detail block 
of line items would be at the bottom.</quote> You could then 
use blocks for efficient navigation to allow both selection 
from a drop-down list and direct entry of new items. He added 
<quote who="James Thompson">i guess if form had true container 
widgets like an expanded &lt;box&gt; then those could replicate 
and eventually replace the block functionality - but we'd also have 
to think about the 1:N field:entry relationship - as now a focus 
trigger on a block would fire for each entry linked to that 
field</quote>. Jason Cater (jcater) added <quote who="Jason Cater">a 
group of multi-row entries linked together by a block is much more 
than just a &quot;layout&quot; issue - they have fundamentally 
different logic. I'm not opposed to moving to a layout-based 
&quot;container&quot; for that - but just keep in mind, you're 
shifting from one set of problems to another set - as then you need 
to move logic concepts into the layout</quote>. Reinhard could 
<quote who="Reinhard M&#252;ller">see the logic of the block-based focus 
navigation when it comes to master/detail - it seems I need to think 
more about it</quote>.</p>

</section>

</kc>