<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

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

<issue num="109" date="27 Mar 2006 00:00:00 -0800" />

<headquote>
&quot;<i>my other famous comment is ... framework X is all the rage right now, but 
in 2 years gnue will be here and foox.com will be a non resolving url :)</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="Unicode characters in wx user interface to GNUe"
   subject="[IRC] 21 Mar 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-03-21"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="21 Mar 2006 12:00:00 -0800"
   enddate="21 Mar 2006 12:00:00 -0800">

<topic>Forms</topic>

<p>A problem was reported with using the wx user interface 
in GNUe Forms - when using unicode characters, such as 
Greek, they would display fine when entered, but would 
not save. Johannes Vetter (johannesV) asked 
<quote who="Johannes Vetter">ah, so 
after jumping to the next field the text disapears ? - i've 
already sent a bug report to the wx mailing list yesterday 
evening</quote>. He explained <quote who="Johannes Vetter">all 
unicode-characters generate a wx.EVT_TEXT event (containing a 
proper unicode-string) - gnue-forms has to process the wx.EVT_CHAR 
event (to make use of it's display-handlers) - and that wx.EVT_CHAR 
event returns a *wrong* unicode-character</quote>. He noted that 
<quote who="Johannes Vetter">2.6.2.1 is broken anyway 
(dropdowns)</quote>, as discussed in 
<kcref title="wx 2.6 and Microsoft Windows version of Forms" subject="[IRC] 16 Mar 2006" />, 
and suggested <quote who="Johannes Vetter">have you tried using 
2.6.1</quote> in the meantime.</p>

</section>


<section 
   title="Mouse Wheel event in GNUe"
   subject="[IRC] 21 Mar 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-03-21"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="21 Mar 2006 12:00:00 -0800"
   enddate="21 Mar 2006 12:00:00 -0800">

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

<p>Johannes Vetter (johannesV) had <quote who="Johannes Vetter">experimented 
with wx.EVT_MOUSWHEEL ... it could be quite easy to fire previous-/nextRecord 
events as a result of a wheel-event</quote>. But the problem was 
<quote who="Johannes Vetter">how to determine the block which needs to be 
scrolled - we could bind such an event to each GFEntry, so one could use the 
wheel to scroll the corresponding block of each control (without havin a 
scrollbar)</quote>. Reinhard M&#252;ller (reinhard) thought 
<quote who="Reinhard M&#252;ller">we should have that in 0.6 when we have layout 
management - and we can define which vbox/hbox would be bound to a block 
regarding mouse wheel events</quote>.</p>

</section>

<section 
   title="Other free and open source software ERP projects"
   subject="[IRC] 21 Mar 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-03-21"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="21 Mar 2006 12:00:00 -0800"
   enddate="21 Mar 2006 12:00:00 -0800">

<topic>Financials (Accounting)</topic>

<p>Reinhard M&#252;ller (reinhard) said he would have preferred it if the 
TinyERP project <quote who="Reinhard M&#252;ller">had approached us for 
cooperation, but they didn't - and now we both are in a project state 
where it's not easy to cooperate much any more</quote>. Derek 
Neighbors (derek) <quote who="Derek Neighbors">believe i contacted tiny 
erp - for 3 years every year i would compile all similar projects and 
email them for collaboration - that is how DCL got bundled under us - 
ARIAS got bundled (or was going to at one time) under us</quote>. He 
explained that Arias <quote who="Derek Neighbors">was the original 
NOLA software - i think jcater and myself helped port to postgres - 
and did some work fixing up directory structures from original NOLA
- even started making some GNUe screens for it at one point - it 
kind of died on the vine</quote>.</p>

</section>

<section 
   title="Null value for checkboxes"
   subject="[IRC] 22 Mar 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-03-22"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="22 Mar 2006 12:00:00 -0800"
   enddate="22 Mar 2006 12:00:00 -0800">

<topic>Forms</topic>

<p>Johannes Vetter (johannesV) reported that <quote who="Johannes Vetter">the 
checkbox-widget could be set up to have three states, true, false and 
'not-set'</quote> - the 'not set' value would be displayed 
<quote who="Johannes Vetter">on xp i think the box is gray - haven't 
checked though on all platforms here right now</quote>. He noted that he 
was <quote who="Johannes Vetter">not sure if gnue-forms supports 
tri-state-checkboxes at all</quote> as of time of writing 
<quote who="Johannes Vetter">but i'm sure we will with the 0.6 series
- since we do have that third state (=NULL)</quote>. He noted that 
several of the databases that GNUe supported allowed NULL values 
for a boolean data type.</p>

</section>

<section 
   title="GNUe Application Platform to replace Navigator?"
   subject="[IRC] 27 Mar 2006"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.2006-03-27"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="27 Mar 2006 12:00:00 -0800"
   enddate="27 Mar 2006 12:00:00 -0800">

<topic>Navigator</topic>

<p>James Thompson (jamest) said <quote who="James Thompson">ok, so about 
a year ago I talked about expanding navigator - now I'd like to actually 
start working on it. My initial goal was a framework the other gui apps 
could build from - and netbeans does this quite well.</quote> He 
explained <quote who="James Thompson">i use gclientapp a lot - but most 
of the time I don't need all it has to offer</quote> - it tended to 
get used by default. For an improved GNUe Navigator, he had done some 
rough notes about required features:</p>

<p><quote who="James Thompson">
<ul>
<li>Non-GUI</li>
   <ul>
      <li>configuration</li>
      <li>debugging</li>
      <li>profiling</li>
      <li>file storage</li>
      <li>authentication</li>
   </ul>
<li>GUI</li>
    <ul>
       <li>menus</li>
       <li>toolbars</li>
       <li>status bars</li>
       <li>windows</li>
    </ul>
</ul></quote></p>

<p>This would be rather more ambitious in scope than the current 
Navigator, which was just a way of launching Forms or Reports. 
He was currently calling it 'GNUe Application Platform,' (GAP) but 
this was not important. It would have a foundation (the primary 
application), a service registry (to manage components - this 
would always be loaded), and then utilities for things like 
logging support, configuration processing, debug support, 
profiler, command line processor and datasources.</p>

<p>Reinhard M&#252;ller though <quote who="Reinhard M&#252;ller">this sounds 
interesting and useful as a development platform</quote>. James 
gave some examples of how it could be used. He added 
<quote who="James Thompson">i could also see the base UI framwork 
being part of</quote> GNUe Application Platform 
<quote who="James Thompson">so then navigator, forms, designer, 
appserver would all derive from gap and only load the components 
they need</quote>.</p>

<p>Jason Cater (jcater) was concerned that this would 
<quote who="Jason Cater">require a complete rewrite of everything, 
as much as a reorganization?</quote> Reinhard was also wary - 
<quote who="Reinhard M&#252;ller">I always thought we have one or two 
abstraction levels too much, not too little ;-) - so I'm wondering 
where the benefits are</quote>. James explained that it would 
allow more changes to be loaded as a config file at runtime, 
rather than change the underlying application. Jason realised 
that <quote who="Jason Cater">addComponent('gap.utility.datasources')
may or may not coincide with a gap.utility.datasources? - 
it could be any class registering itself as providing that 
&quot;service&quot;</quote>. James confirmed this - 
<quote who="James Thompson">the other components of forms wouldn't 
be looking for say gDebug specifically - they'd say "give me whatever 
provides gap.application.debug" - and use that if it's 
loaded</quote> This would mean <quote who="James Thompson">you'd no 
longer have hard coded dependency between the various sections of 
gnue</quote>. This was pretty similar to what the Zope 3 interfaces 
were doing - he gave some examples.</p>

<p>James noted <quote who="James Thompson">so where we'd end up 
is - a system made of components with a well defined API via an 
interface - loaded components would register with some type of 
manager - components could ask for the component that provided the 
"Foo Service" then use that service without hard coded links between 
components</quote>. Reinhard was <quote who="Reinhard M&#252;ller">still 
trying to understand how we would use this in gnue-forms - I can't 
imagine a situation where I would want to, say, replace the GDebug 
system with something different</quote> for instance. But 
<quote who="Reinhard M&#252;ller">I could really imagine something like 
this useful for adding new GF* elements to forms - like we have no 
tree view, so I can write my own and plug it in</quote> - 
<quote who="Reinhard M&#252;ller">but I think that could be done with 
python's abilities to dynamically load modules</quote>.</p>

<p>James explained <quote who="James Thompson">eventually forms, 
designer, appserver, navigator all use this system - so instead of 
saying &quot;what can I do in forms&quot; - we pull back and say, what 
can I do in the app. Here I have lots of GClientApp stuff - lots - 
but</quote> each business application written using the GNUe Tools 
would only need to load the options it needed, not the whole of 
each tool. If an application needed some functionality that 
wasn't in any of the existing tools, the GNUe Application Platform 
would provide a standard way of plugging it in. He gave some 
possible examples of this.</p>

<p>Jason could see how <quote who="Jason Cater">all of this could 
be done without the component system jamest is describing, going on 
like we're doing now - but I do see true value in this 
direction</quote>. Reinhard <quote who="Reinhard M&#252;ller">won't stop 
you anyway - but I'm slightly worried about the overhead this adds to 
gnue</quote> in terms of <quote who="Reinhard M&#252;ller">complexity and 
number of abstraction levels - which probably means higher learning 
curve for people wanting to hack gnue</quote>. James felt the 
opposite, as did Jason - by having a single, unifying, interface 
to the rest of GNUe, GAP could actually make things simpler.</p>

</section>

<section 
   title="New releases of GNUe tools"
   subject="[Gnue-announce] GNUe Common Library 0.6.2 released"
   archive="http://lists.gnu.org/archive/html/gnue-announce/2006-03/"
   posts="3"
   author="Peter Sullivan" 
   contact="mailto:psu@burdonvale.co.uk" 
   startdate="26 Mar 2006 23:10:00 -0800"
   enddate="27 Mar 2006 00:17:00 -0800">

<topic>Common</topic>
<topic>Forms</topic>
<topic>Application Server</topic>

<p>Reinhard M&#252;ller (reinhard) announced new releases of 
several of the GNUe tools:</p>

<p>GNUe Common Library 0.6.2 featured the following fixes and 
changes for datasources: <quote who="Reinhard M&#252;ller">
<ul>
   <li>Fixed requery in multy level master/detail relationships</li>
   <li>Fixed requery for deletion of more than one detail record</li>
   <li>Updated appserver driver for Appserver's new RPC interface</li>
   <li>Don't mark a record set as dirty if a field is set to old value</li>
   <li>Support for defining ownership of created databases</li>
   <li>Fix for databases for which cursor's don't survive commits</li>
</ul>
</quote>
And the following fixes for definitions:
<quote who="Reinhard M&#252;ller">
<ul>
   <li>Iterator for child tags</li>
   <li>Check if a tag is allowed under its parent</li>
   <li>Fixed some XML saving bugs</li>
</ul>
</quote></p>

<p>Meanwhile, on Remote Procedure Calls, code had been added to 
<quote who="Reinhard M&#252;ller">Clean up all objects on lost connection 
by calling _destroy() on them</quote> and in Utilties, he had 
<quote who="Reinhard M&#252;ller">Fixed uuid generation for 64bit 
architectures and Mac OS.</quote> There was also a 
<quote who="Reinhard M&#252;ller">New splash screen image</quote> as 
well as code cleanup, documentation updates and several smaller bug 
fixes.</p>

<p>GNUe Forms 0.5.14 now supported the new wx26 user interface 
drive and allowed user defined keystroke handlers. He had also 
fixed parameter handling and done several other minor bug 
fixes.</p>

<p>GNUe Application Server 0.5.0 had a <quote who="Reinhard M&#252;ller">New 
(object oriented) RPC interface</quote> and now used Python's in-built 
datetime library instead of the external mx.DateTime module. It also 
now had <quote who="Reinhard M&#252;ller">Support to run as a service 
under windows</quote>.</p>

</section>

</kc>