<?xml version="1.0" ?>

<kc>

<title>GNUe Traffic</title>

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

<issue num="57" date="30 Nov 2002 00:00:00 -0800" />

<headquote>
"<cite>It is easy to back off and provide less security.  
All a user has to do is select Windows as the operating
system, and most security goes away. :-)</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 #gnuenterprise IRC channel.</p>
</intro>


<section 
   title="Scope of GNUe Integrator"
   subject="[Gnue-dev] GNUe-Integrator"
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-November/000319.html" 
   posts="10"
   startdate="06 Nov 2002 10:58:20 -0800"
   enddate="21 Nov 2002 11:55:33 -0800">

<topic>Integrator</topic>
<topic>Common</topic>

<p>Jan Ischebeck wanted <quote who="Jan Ischebeck">to discuss 
GNUe integrator, because I probably will need it soon.</quote> 
He felt it should be able to: <quote who="Jan Ischebeck">
<ol>
<li>import data from databases</li>
<li>export data to databases</li>
<li>modify data in a rule engine</li>
<li>keep two tables in different databases in sync</li>
<li>export data to different formats (flat file, csv file, ...,)</li>
<li>load data from different formats (flat file, csv, XML ....)</li>
<li>load data from a logfile (always just load the new added part)</li>
</ol>
</quote>
Jason Cater said this matched his ideas - his personal priority was 
import and export of CSV (Comma Seperated Value) files. He had 
<quote who="Jason Cater">already started on a gmd</quote> (GNUe 
Mapping Definition) file <quote who="Jason Cater">format for 
Integrator.</quote>.
Derek Neighbors agreed <quote who="Derek Neighbors">gnue 
integrator has always been slated to do what you say 
here.</quote> He did not <quote who="Derek Neighbors">see 
it being a database replicator, but with combo of
import/export/triggers you could make it do this.</quote></p>

<p>Stan Klein said he would like <quote who="Stan Klein">to 
be able to store data in XML files and to connect forms and
reports to those files just as though as the data were in a 
database, i.e., changing the data would have the effect of 
editing the XML files.</quote> Jan said this would not be 
done by Integrator as such, but by adding 
<quote who="Jan Ischebeck">an XML-file "database 
driver"</quote> to GNUe Common.</p>

<p>Stan said he would also like to be able to use Integrator 
to do "versioning" on a database, to load completely different 
sets of data, for example for mathematical "what-if" modelling. 
In the past, he had had to import and export as ASCII files to 
do this. As the schema had over 15 tables, this had been quite 
messy. Running the model involved <quote who="Stan Klein">creating 
about 35 additional views and tables that did certain joins of 
the design and workload data and calculated statistical 
parameters for queuing formulas.</quote> He also reported that 
he had found some python code that 
<quote who="Stan Klein">converts from Dbase format to an SQL
equivalent</quote>, and wondered if this might be useful 
for Integrator. Jan agreed - <quote who="Jan Ichebeck">We 
would modify it to become another dbdriver.</quote></p>

<p><a href="http://mail.gnu.org/pipermail/gnue-dev/2002-November/000322.html">
Elsewhere</a>, Jan posted <quote who="Jan Ischebeck">a sample 
mapping definition. It just the first idea. There is still 
some stuff missing (definitions about merging/spliting
rows,...) and some stuff is defined twice (datasources).
Nevertheless the file format should allow some standard
datasource->datasource mappings without needing 
triggers.</quote> Jason asked why there were seperate 
&lt;input&gt; and &lt;output&gt; tags. Jan explained it
<quote who="Jan Ischebeck">was to differentiate between 
between datasources used for loading and storing data: 
But it seems to be better to just define datasources in a 
header and then just use them in the mapping.</quote> 
Jason also asked <quote who="Jason Cater">Why a separate 
&lt;process&gt; tag? Why not keep it part of 
&lt;mapping&gt;.</quote> Jan said that different mappings 
should not interact with each other, 
<quote who="Jan Ischebeck">but processes in a mapping could 
be related.</quote> Jason asked how flexible the 
&lt;merge&gt; and &lt;split&gt; tags would be - 
<quote who="Jason Cater">Perhaps merges and splits should 
be handled only by triggers?</quote> Jan did not think 
<quote who="Jan Ischebeck">we should require people to 
write trigger even for so simple actions. The very basic 
mapping stuff should be possible without any 
triggers.</quote></p>

<p><a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.18Nov2002">
On IRC</a>, Derek Neighbors (derek) agreed <quote who="Derek Neighbors">that 
splits and such should be easy - but im not sure they shoudl be implemented 
as you speak or as triggers</quote> - <quote who="Derek Neighbors">nothing 
would prevent the integrator UI from doing all the work. To me the tag set 
you propose seems confusing (and i do lots of integration) - i have seen the 
corresponding 'trigger' way to do things it might be even more confusing. But 
as i learned from my xslt ventures doing complex things in xml SUCKS - so a 
simple split is probably much cleaner in XML as would be a simple mapping. 
However when things get complex the spec would probably be a nightmare</quote>.
He could give some practical examples of how complicated integrations could 
get.</p>

<p>Later, he commented <quote who="Derek Neighbors">the thing that struck me 
was the mapping comment vs process - i can tell you from my experience RARELY 
can you just 'map'. Usually there is some form of conversion process in the 
middle</quote>. Jan Ischebeck (siesel) said <quote who="Jan Ischebeck">I just 
meant that a "user" would like to define mappings instead of a process</quote>. 
Derek replied <quote who="Derek Neighbors">again i state im torn between 
implmentation and UI - hopefully a user never sees the 'definition' file - 
they see a UI to build mappings - and those mappings need to be 
powerful</quote> - not just one-for-one mappings, but concatanations, text 
slicing and splicing and so on. 
He felt that trying to do this in XML was sadistic, and that 
<quote who="Derek Neighbors">the answer is a combination of the two - some 
things will make well as xml elements to map - otehrs will not</quote>. 
Real-life situations tended to be fairly complex. Jason Cater (jcater) 
agreed - <quote who="Jason Cater">an xml mapping approach quickly degenerates 
into a lot of clutter outside of 1:1 or other *very* simple 
combines</quote>.</p>

<p>Jan saw <quote who="Jan Ischebeck">the biggest problem in making trigger 
a MUST, that we have to parse python scripts to edit mappings with 
designer</quote>, giving an example. Derek <quote who="Derek Neighbors">would 
be ok with some of this in xml if the designer is writing it all out - 
my only demand is i can go to triggers and get dirty if i have to</quote>. 
Jan felt that <quote who="Jan Ischebeck">IMHO integerator should support that 
mergemask, splitmask stuff and nothing more</quote> in XML. Jason liked this 
idea - <quote who="Jason Cater">anything more complex would be handled by a 
trigger. Should we make the splitmask capable of handling regular expressions?
That could be powerful, but might not be intuitive for regular users</quote>. 
Jan gave a possible example - he <quote who="Jan Ischebeck">couldn't remember 
how trigger definitions looked in forms ;)</quote> Jason said 
<quote who="Jason Cater">triggers contain or point to python code - not to 
another xml structure</quote>. Jan felt that Integrator triggers should work 
in the same way.</p>

</section>


<section 
   title="Security and Role-Based Access Control"
   subject="[Gnue-dev] Appserver/Common Issues"
   archive="http://mail.gnu.org/pipermail/gnue-dev/2002-November/000321.html" 
   posts="23"
   startdate="07 Nov 2002 15:39:14 -0800"
   enddate="23 Nov 2002 14:02:28 -0800">

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

<p>Jan Ischebeck had <quote who="Jan Ischebeck">some 
points about appserver and forms and 3- and 2- tier 
setups.</quote> On security, GNUe needed to have 
<quote who="Jan Ischebeck">different 
forms/reports/processes(GPD) for different 
users</quote>, probably by adding 
<quote who="Jan Ischebeck">&lt;if user=&lt; code to 
navigators process definitions and let navigator 
provide the right form definition for the right user 
to forms</quote>, assuming that automatically 
generating <quote who="Jan Ischebeck">forms out of 
database/appserver metadata</quote> was not possible.</p>

<p>Stan Klein's view was that <quote who="Stan Klein">security in GNUe 
has to come mainly from the operating system and database maangement 
system.</quote> GNUe's role was <quote who="Stan Klein">to provide 
features that facilitate the use of the operating system and database 
capabilities.</quote> Jan felt that <quote who="Jan Ischebeck">IHMO 
the main job of the operating system is to provide a secure environment, 
authentification can be done by the operating system, but it doesn't have to.
The security provided by authentification done just in the operating system is 
not necessarily more secure as when authentification is done by something 
else.</quote> Authentication could still be spoofed in either direction.</p>

<p>Stan felt that Jan's suggested approach for Navigator to provide 
the right definition file for the right user would  
be easier if definition files - such as .gpd (GNUe Process
Definitions), .gfd (GNUe Forms Definitions) and .grd (GNUe Report 
Definitions) - had a basic "includes" functionality. He felt that
<quote who="Stan Klein">if this can be done without being vulnerable 
to bypassing, it is probably the easiest way to get a version of Role 
Based Access Control</quote>. Reinhard M&#252;ller felt this would become 
unmaintainable on large systems. Stan disagreed - with developments 
like Security Enhanced Linux, <quote who="Stan Klein">I 
don't see how maintaining such a system is any more difficult than
maintaining an equivalent system implemented a different way, such as
internally within appserver.</quote></p>

<p>Alternatively, Stan suggested 
<quote who="Stan Klein">I think there are some database systems that 
provide access control by field.  If such a database system is 
available, I would recommend using it</quote> with GNUe. AppServer. 
as the interface between the database and the Forms client, 
would need to be aware of this. Reinhard felt this could work, 
but would mean AppServer using a seperate login for each Forms user -
he had been working on AppServer having just one login to the 
database server. He added <quote who="Reinhard M&#252;ller">If 
we want to remain portable and database independent, we don't have
another choice IMHO than doing access control within Appserver. Whether
this is secure or not only depends on the quality of our own 
code.</quote> Stan agreed that GNUe's own security would provide 
the minimum, but would like to give users <quote who="Stan Klein">the 
option of increasing security and implementing
particular enterprise security policies by configuring the system to make
the operating system or database responsible for providing the
authentication, access control, and security logging.</quote> He 
gave some examples of how this would work. The "hooks" for this 
probably belonged in the existing database adapters, plus a new 
set of operating system adapters, in Common.
Derek Neighbors felt strongly that 
<quote who="Derek Neighbors">Security/Authentication should be 
happening inside of common</quote> as <quote who="Derek Neighbors">The 
same security must work the same for all products and it can NOT 
require appserver.</quote> He noted <quote who="Derek Neighbors">There 
are some security adapter plugins and documentation for them in
CVS.  They are not the end all of what security should be, but rather a
practical starting implemenation.</quote> Stan emphasised that he 
was <quote who="Stan Klein">not talking about *requiring* the use of 
anything</quote>, but different systems in different organisations 
needed different levels of security. Low level security would indeed 
be acheivable just by using the security within GNUe. 
However, to achieve the higher levels of security needed in other 
cases, then operating system security and database security were also 
needed, as part of the overall secuity strategy.</p>

<p>Earlier, Jan also thought <quote who="Jan Ischebeck">we 
need a delegates/plugin architecture for common</quote> to 
get <quote who="Jan Ischebeck">a common which can be very powerfull 
and very lean at the same time.</quote> This would enable developers 
of two-tier applications (i.e. Forms talks direct to database) to 
access functionality like <quote who="Jan Ischebeck">authentification 
adapters</quote> without using the AppServer. Jason Cater said 
<quote who="Jason Cater">That's pretty much how everything in 
GNUe-Common works and why we keep pushing the AppServer guys to 
reuse Common as much as possible.</quote></p>

<p>Stan made some general comments about authentication systems, 
which were usually based on either something the user knows 
(e.g. password or an encryption key) or something the user has
(e.g. biometric checks). <quote who="Stan Klein">There are 
a wide variety of means for attacking authentication 
systems</quote>, including sniffing passwords sent across the 
network, social engineering (e.g. <quote who="Stan Klein">tricking 
a legitimate user into revealing a password to a malicious 
intruder</quote>), and password guessing (possibly testing entire
dictionaries of words). <quote who="Stan Klein">However, the most 
serious potential attacks would be those that exploit programming 
errors and other vulnerabiilties to bypass the authentication
system and gain access to the platform and database without logging 
in.</quote> For example, an attacker might try to crash AppServer to 
get <quote who="Stan Klein">to a Python traceback and Python
prompt, or to a system prompt</quote>, giving them 
<quote who="Stan Klein">a foothold for further entry.</quote>
<quote who="Stan Klein">That's why I think that GNUe should base 
as much of its security as possible on the operating system</quote>. 
Jan said he was not sure how popular high security operating systems 
like <quote who="Jan Ischebeck">NSA Linux, or the Linux Security 
Modules will become in the next years</quote>, which was 
<quote who="Jan Ischebeck">why I would like that gnue gets a very 
flexible security structure. A structure which let the user choose 
about using the very secure version of GNUe possibly bundled with 
NSA Linux, or a less secure one with some more features :).</quote>
Stan agreed about flexibility - he might appear 
<quote who="Stan Klein">focused on the high security requirements</quote>
but that was because <quote who="Stan Klein">they are the greatest 
challenge.  It is easy to back off and provide less security.  
All a user has to do is select Windows as the operating
system, and most security goes away. :-)</quote> It was wrong to 
assume that all Small or Medium Enterprises would only need low 
security - <quote who="Stan Klein">a small law firm or
accounting firm might have very stringent security requirements 
arising from the kinds of legal or accounting matters they 
handle.</quote></p>

<p>Elsewhere, Robert Jenkins said <quote who="Robert Jenkins">Security 
and access control are very important, but please don't go to
impractical levels. The most vulnerable part of the system is the 
database itself - unless you are going to encrypt all stored data, 
there is nothing to stop someone with either physical or program 
access to the database server from reading what they like.</quote> 
To determine what parts of the application users could see and use, 
<quote who="Robert Jenkins">All the business apps I've worked with 
have been based on either</quote> assigning users and forms/fields 
<quote who="Robert Jenkins">a numeric level, &amp; only
visible /  editable to the user if that user's security level is &gt;= 
to the form or field level</quote> or a similar approach but using 
<quote who="Robert Jenkins">User-group type Bitmasks - each user has 
(e.g.) a 32 bit security mask which enables viewing or editing for 
forms / fields with matching bits.</quote> He agreed with Reinhard 
that <quote who="Robert Jenkins">Having multiple forms for different 
levels is just not practical for a serious application.</quote></p>

<p>He also said <quote who="Robert Jenkins">Presumably the usernames 
&amp; passwords will be stored in the main database, so the program 
must have a built-in or configured 'fixed' password to be able to 
verify user logins</quote>. Neil Tiffin felt <quote who="Neil Tiffin">This 
sounds good for phase I, but having user passwords in the 
database will be suboptimal in any situation that has more than a few 
users. From a maintenance standpoint we should be able to use LDAP or 
Active Directory to validate passwords and not store them in the 
database.</quote> Reinhard said <quote who="Reinhard M&#252;ller">We 
were talking about using PAM for authentication, which would mean
(from my understanding) that we can use at least LDAP as well as simple
shadowpasswords and more. IMHO there are a _lot_ of thing that make
sense to generally store in the database, but not the passwords.</quote>
Neil found 
<a href="http://www.pangalactic.org/PyPAM/">some</a>
<a href="http://www.tummy.com/Software/PyPam/index.html">references</a>
to using PAM with python on the web, but nothing more recent than 
1999.</p>

</section>


<section 
   title="Prequery and record caching in Forms"
   subject="[IRC] 21 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.21Nov2002"  
   startdate="20 Nov 2002 16:00:00 -0800"
   enddate="20 Nov 2002 16:00:00 -0800">

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

<p>John Lenton (Chipaca) asked <quote who="John Lenton">is 
there any way to do a limited select? i.e. select foo 
from bar where baz limit 5</quote>. Jason Cater (jcater)
said not. John was <quote who="John Lenton">wanting to 
do a lazy load of some stuff, but to bring _something_ on 
startup</quote>. James Thompson (jamest) said 
<quote who="James Thompson">you do that anyway in our 
system - the default is 10 records - set the datasource 
to prequery</quote>. Jason expanded 
<quote who="Jason Cater">our system only loads records 
as it needs them</quote>. James said that, to change the 
default, you just set the cache="" attribute of the 
datasource tag. This interacted with the rows displayed 
on a form, so that <quote who="James Thompson">if you 
have a entry on screen that has rows set to 15</quote>, 
it would load two lots of 13 records and display the 
first 15.</p>

</section>


<section 
   title="Non-web based DCL"
   subject="[IRC] 22 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.22Nov2002"  
   startdate="21 Nov 2002 16:00:00 -0800"
   enddate="21 Nov 2002 16:00:00 -0800">

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

<p>Derek Neighbors (revDeke) noted that he had developed some 
GNUe Forms for use with DCL for people who did not want to 
use the normal web-based front-end - 
<quote who="Derek Neighbors">note they are pretty ugly as 
they are created with a wizard</quote> in Designer, but they 
had required <quote who="Derek Neighbors">almost no 
effort</quote> to create. He noted that the same 
GNUe Form Definition (.gfd) files could soon be used on 
<quote who="Derek Neighbors">a curses interface - short of 
that i think we plan on making some 'email' clients - so that 
you can update things back and forth better via email - /me 
isnt really all that sold on it, but its do able - and the fsf 
would like such a thing</quote>. He did not see the 
justification for <quote who="Derek Neighbors">an emacs mode
for somethign that is not emacs like at ALL - an editor shouldnt 
be a project management application :)</quote> With current 
functionality, you could set up DCL to accept tickets via an 
e-mail gateway from any mail client, including emacs. He felt 
<quote who="Derek Neighbors">you might like request tracker 
better</quote> - <quote who="Derek Neighbors">i think its 
seriously lacking in features compared to dcl - but to some 
people emacs mode is more important than actually doing productive 
work :(</quote> He was not <quote who="Derek Neighbors">bagging 
on emacs... you can ask jcater its the first thing i install on 
a new machine - but emacs really is crappy for many things - 
the things its good at, its REALLY good at</quote>. Discussion 
drifted to a general text editor debate (emacs or vi, with kate 
mentioned as a possible third way).</p>

</section>


<section 
   title="Nola/acclite original author spotted in #gnuenterprise"
   subject="[IRC] 24 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.24Nov2002"  
   startdate="23 Nov 2002 16:00:00 -0800"
   enddate="23 Nov 2002 16:00:00 -0800">

<topic>Financials (Accounting)</topic>
<topic>Small Business</topic>
<topic>Forms</topic>
<topic>Why GNUe?</topic>

<mention>Peter Sullivan</mention>

<p>Ryan Fox (larsu) was <quote who="Ryan Fox">the original developer of Nola.
i saw some mailing list posts about what you're trying to do with acclite, 
and wanted to offer my assistance with code, or just giving you insight as to 
what I was thinking :)</quote> Peter Sullivan (psu) said that GNUe's 
involvement with Nola had started as just patching it, but they had ended up 
forking it as acclite, and were now looking at using it as the financials part 
of GNUe Small Business.</p>

<p>Ryan was <quote who="Ryan Fox">no longer with Noguska</quote>, 
but though it was unlikely they would have accepted the patches anyway - 
<quote who="Ryan Fox">the latest i heard was they were doing a complete rewrite 
of nola anyhow.  my guess is so they aren't bound by the gpl/other people's 
copyrights on the new version</quote>. Peter said it was generally accepted 
that submitting patches implied transferring the copyright to the owner of 
the patched code, but that there were some legal concerns about this. This 
was part of the reason GNUe asked all people submitting code to do a formal 
copyright assignment to the Free Software Foundation (FSF) to avoid problems
later. Jason Cater (jcater) clarified that <quote who="Jason Cater">the 
Copyright Assignment, iirc, does not take any copyright rights away from the 
person writing the code - but it extends the rights to the FSF as well - 
so in essence, you are granting them the right to defend your 
code</quote>.</p>

<p>Later, Derek Neighbors (derek) said he had 
<quote who="Derek Neighbors">talked for sometime to a lady at noguska 
about the gpl and submitting patches to them - probably about the time you 
stopped working on nola</quote>. He explained 
<quote who="Derek Neighbors">long term we felt that we were better 
doing a fork - as it seemed as though it would be hard to get changes to 
happen going that route - and since we were not tied to php frontend much 
likely it would be cumbersome to maintain that</quote>. He was now
<quote who="Derek Neighbors">doing gnue-sb (gnue small business) which 
will be a gnue framework approach to the similar domain</quote>. 
He noted <quote who="Derek Neighbors">the other issue i had with nola was 
some dependencies/leaning towards print shop</quote>. Ryan said he did 
not <quote who="Ryan Fox">know anything about GNUe forms, but intend to 
learn.</quote> Derek asked whether Ryan was 
<quote who="Derek Neighbors">looking to take nola and mold it from where 
it sits etc - is web frontend high priority to you etc</quote>? Ryan 
said <quote who="Ryan Fox">i don't have any vision for it at the moment, 
except i'd like to see it integrated to the GNUe way of doing 
things</quote>.</p>

<p>Jason wondered why Nola had been written in <quote who="Jason Cater">php 
+ mysql</quote> in the first place. Ryan said MySQL had been chosen 
<quote who="Ryan Fox">because a requirement was to run server cross platform, 
and be $$ free</quote>. Derek asked <quote who="Derek Neighbors">did anyone 
(clients) ever use nola? we tried to call noguska and ask for references 
that were using it at got nowhere - it seemed they considered it doa - 
and were using non free non web for most clients</quote>. Ryan said it had 
never been a priority product for Noguska - <quote who="Ryan Fox">originally, 
they developed accounting (and print shop mgmt) in qbasic, dos based</quote> 
and Nola was intended to provide an upgrade path for this. He was 
<quote who="Ryan Fox">not aware of it being 
heavily tested in production anywhere</quote>.</p>

<p>Derek said he had <quote who="Derek Neighbors">installed and 
configured</quote> Nola <quote who="Derek Neighbors">and messed with 
it</quote>, but had now <quote who="Derek Neighbors">started to go 
more from scratch witth gnue-sb - as it was easier than dissecting 
what was there (and i had no intentions to maintain the php web part) 
- so as soon as we decided we were not going to try to be nola 
compatiable upstream i started view it as a 'reference' instead  of 
a bsae - though for accounts receivable and payable and general ledger 
i might change my mind</quote>. Ryan asked <quote who="Ryan Fox">what 
are your thoughts on the schema? do you think that'll stay mostly 
intact, or vastly different?</quote> Jason, 
<quote who="Jason Cater">as the person doing the initial research</quote>, 
said <quote who="Jason Cater">nola had one of the better schemas - 
we looked at sql-ledger as people raved about it</quote> but thought 
that Nola's looked more mature.</p>

<p>It was asked about looking at commercial applications' schemas, but 
Jason said <quote who="Jason Cater">no way we can do that - no way at 
all</quote> as schemas were copyright, and strongly protected by 
most commercial application vendors. For example, his own organisation
used Great Plains, but he <quote who="Jason Cater">will not even glimpse 
at it - as that's a conflict of interest big time</quote>. In any 
case, he <quote who="Jason Cater">thinks it's dangerous to just try to 
emulate a commercial package's schema and fields - even if you avoid 
any legal trouble</quote> - free software should aim to provide 
<b>better</b> functionality than similar proprietary systems.
For example, he recognised that Oracle SQL*Forms had influenced the 
initial design of GNUe Forms, but <quote who="Jason Cater">we are not, 
however, trying to do a duplicate</quote> - <quote who="Jason Cater">we 
do things differently than they do - some things very 
differently</quote>. <quote who="Jason Cater">it's like one's cooking 
style - if you grow up in a Southern kitchen and you start up your own 
restaurant with your own home-made original recipes - odds are
anyone eating at your restaurant can tell you were influenced by southern 
styles :) - that's my analogy for the day</quote>.</p>

</section>


<section 
   title="New 0.4.2 release for stable branch?"
   subject="[IRC] 25 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.25Nov2002"  
   startdate="24 Nov 2002 16:00:00 -0800"
   enddate="24 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>

<p>James Thompson (jamest) said he had <quote who="James Thompson">heard 
very little</quote> about bugs with the 0.4.1 release, 
<quote who="James Thompson">but i guess we could wrap up a 0.4.2 
release</quote>. Andrew Mitchell (ajmitch) asked 
<quote who="Andrew Mitchell">why roll 0.4.2 when there's no 
changes?</quote> James said <quote who="James Thompson">there are 
changes, just not alot of them</quote>. Jason Cater (jcater) said 
<quote who="Jason Cater">curses didn't install - someone complained 
about that</quote>. James said that he and Jason had done sundry 
bug-fixes, and he had <quote who="James Thompson">merged in some 
papo stuff too</quote> as discussed in 
<kcref title="Merging GNUe and Papo CVS code" subject="[IRC] 15 Nov 2002" />.
Jason said <quote who="Jason Cater">curses mostly works now in 
0.4.2 - I would like to finish it up - but I honestly don't see me 
having time to do that anytime soon</quote>. What was broken was 
<quote who="Jason Cater">just really odd things - buttons don't 
fire, menus don't exit once they've fired an event. Right now the 
curses thing is good for demoing - but not for using</quote>. 
James asked <quote who="James Thompson">are these issues in cursing 
or issues in uidriver or unknown?</quote></p>

</section>


<section 
   title="Old format .gfds do not work with CVS head"
   subject="XML Changes for Forms 0.5.x"
   archive="http://mail.gnu.org/pipermail/gnue/2002-November/003414.html" 
   posts="4"
   startdate="26 Nov 2002 19:00:37 -0800"
   enddate="27 Nov 2002 07:52:39 -0800">

<p>Jason Cater announced that <quote who="Jason Cater">the 
forms GFD</quote> (GNUe Forms Definition)
<quote who="Jason Cater">specification is undergoing some changes.
The main goal of James and I is to separate layout from
logic.</quote> This would mean that all old forms would 
stop working. <quote who="Jason Cater">We do not take changing 
the GFD format very lightly. However, these are changes we 
have wanted to make for quite some time now</quote> and 
sooner was better than later <quote who="Jason Cater">the 
closer we get to Forms 1.0</quote>. To ease the transistion, 
<quote who="Jason Cater">There is a utility in 
gnue/forms/utils called gfd04to05.py</quote>. He listed 
the changes to the format, and gave an example of a simple 
form in both the old and new formats. He also noted that 
the new format had <quote who="Jason Cater">hooks for layout 
management. Don't expect other layout managers any time soon.  
However, we wanted to break our format only once and be done.  
Also, for the foreseeable future, Designer will only support 
the existing character-based format, even after a few layout 
manager plugins are written.</quote> He also noted that the 
convertor script would try to convert trigger code as well, 
<quote who="Jason Cater">but it can only do so much</quote>, 
giving examples of the sorts of cases it could not handle.
<quote who="Jason Cater">All of these changes have been made 
in cvs head for the Forms product. However, Designer is still 
broken and will not read the new format. We are currently 
working to correct this.</quote></p>

<p>Some days later, 
<a href="http://www.gnuenterprise.org/irc-logs/gnue-public.log.27Nov2002">on 
IRC</a>, a bug was reported running a GNUe Form Definition (.gfd) 
with the CVS head version of GNUe Forms. James Thompson (jamest) 
pointed out <quote who="James Thompson">cvs head is way different 
gfd format</quote> which had been introduced for what would become 
version 0.5.0 of Forms - <quote who="James Thompson">so i imagine 
that's the issue. There is a converter in forms/utils - or we have 
branches of the 0.4.x stuff that has most the curses 
updates</quote>. The documentation had not yet been changed to 
reflect the new format.</p>

</section>


<section 
   title="Dropdown list boxes for foreign key values"
   subject="[IRC] 25 Nov 2002"
   archive="http://www.gnuenterprise.org/irc-logs/gnue-public.log.26Nov2002"  
   startdate="25 Nov 2002 16:00:00 -0800"
   enddate="25 Nov 2002 16:00:00 -0800">

<topic>Forms</topic>

<p>Jeff Bailey (jbailey) asked <quote who="Jeff Bailey">Anyone 
around who knows about making listboxes in designed that pull 
their values from other tables? The designer wizard just confused 
me. =)</quote> He wanted <quote who="Jeff Bailey">a drop 
box list of my provinces</quote>, as defined in a tblProvinces 
table, to populate a foreign key field in a tblFoo. Derek Neighbors 
(derek) said <quote who="Derek Neighbors">you need to make a 
datasource for both tblFoo and tblProvinces - i.e. 2 separate 
datasources</quote>. Jeff said <quote who="Jeff Bailey">It looks 
like the wizard did that for me.</quote> Derek said 
<quote who="Derek Neighbors">then put an entry on your form
that belongs to tblFoo and is for field province_id - then go to 
property inspector for that entry</quote> - there would be three 
properties that needed to be filled in:

<ol>
<li>fk_datasource - the name of field in tblFoo that needed 
populating</li>
<li>fk_key - the name of the field in tblProvince that was the 
primary key of that table</li>
<li>fk_description - the name of the description field in the 
tblProvince table</li>
</ol>

He added <quote who="Derek Neighbors">you need not have a new 
form</quote> - <quote who="Derek Neighbors">i believe you can 
from schema editor drag the table to the form and it will 
autocreate the datasource for tblProvinces - then you just need 
to go to the province_id entry you originally had and put in 
those fk_* property values</quote>.</p>

</section>


</kc>
