GNUe Traffic #52 For 26 Oct 2002 By Peter Sullivan "chillywilly 's initials make him a 'deb' package ;) - I was born to run debian ;) - "It is your..... desssssssssstinyyyyyyyy. << mechanized breathing apparatus sound >>" Table Of Contents * Standard Format * Text Format * XML Source * Introduction * Threads Covered 1. 12 Oct 2002 - 22 Oct 2002 (8 Problems with PostgreSQL python posts) drivers on RedHat 2. 13 Oct 2002 - 17 Oct 2002 (4 Installing GNUe and PySablot on SuSE posts) GNU/Linux 3. 14 Oct 2002 - 19 Oct 2002 (7 Roadmaps and other project planning posts) issues 4. 15 Oct 2002 - 19 Oct 2002 (8 Forms graphical resolution and other posts) feature requests 5. 17 Oct 2002 Free Entity Relationship Diagram tools 6. 18 Oct 2002 - 21 Oct 2002 (1 Fixes to 0.4.0 releases setup.exe on post) Microsoft Windows 7. 19 Oct 2002 - 22 Oct 2002 (2 Frustrations with Release Process posts) 8. 19 Oct 2002 - 23 Oct 2002 (4 GSParser and the GNUe XML DTD posts) 9. 19 Oct 2002 (8 WikiWikiWeb for GNUe posts) 10. 19 Oct 2002 - 21 Oct 2002 (10 Strong commercial interests and free posts) software projects 11. 19 Oct 2002 - 20 Oct 2002 (2 Problems updating GNUe CVS server posts) 12. 19 Oct 2002 GNUe packages included in GNUWin 13. 19 Oct 2002 Non-free alternatives to GNUe Reports 14. 19 Oct 2002 Other Payroll projects and GNUe 15. 20 Oct 2002 - 22 Oct 2002 (3 Focus problem with multi-line Forms posts) 16. 21 Oct 2002 - 22 Oct 2002 (5 Status of GNUe Tools and Packages posts) 17. 20 Oct 2002 GNUe Navigator for classic workflow 18. 20 Oct 2002 acclite/nola or sql-ledger for simple Financials 19. 20 Oct 2002 - 21 Oct 2002 Reports server not currently used 20. 20 Oct 2002 - 21 Oct 2002 Field names in GNUe Schema Definitions 21. 20 Oct 2002 - 22 Oct 2002 GNUe App Server as a business application server 22. 20 Oct 2002 Javascript forms client 23. 20 Oct 2002 New Developer's Guide to Forms 24. 21 Oct 2002 GNUe Developers meeting in Germany 25. 21 Oct 2002 Python for GNUe triggers and scripting 26. 21 Oct 2002 Forms usability issues 27. 21 Oct 2002 GNUe on linuxfund.org 28. 21 Oct 2002 Triggers and Application Server 29. 21 Oct 2002 DCL web site and Gantt Charts 30. 22 Oct 2002 Documentation and support for GNUe Introduction This Cousin covers the three main mailing lists for the GNU Enterprise (http:// www.gnuenterprise.org) project, plus the the #gnuenterprise IRC channel. 1. Problems with PostgreSQL python drivers on RedHat 12 Oct 2002 - 22 Oct 2002 (8 posts) Archive Link: "A quasi-CVS install of 0.4, a problem with database drivers, and more" Topics: Common People: Stan Klein, Jason Cater Stan Klein described "my quasi-CVS install of" the 0.4 official releases on Red Hat GNU/Linux. He had done this because "I wanted to install 0,4 locally in my user space (/home/stan)." This had involved setting some symbolic links, and then running the setup-cvs.py script rather than the normal setup.py script. He had "downloaded and installed the pypgsql package." Because the Red Hat package management had located the file in a different place to where GNUe expected to find it, he had had to create a symbolic link, but after doing this, "I think the driver is available and visible." However, he was getting an error from Designer "No database driver found for provider type 'pypgsql'" . He did some more checking, and reported "The pypgsql driver has a .pyc file with it, so I know something has been happening there." These set-up problems could have proved very embaressing if GNUe had been "selected to do a demo at the e-government conference this week" , as referred to in Issue #45, Section #20 (4 Sep 2002: GNUe at open source e-Government conference) . Later, he noted that "there is another e-gov conference (state and local focus) planned for next March." Jason said he might be able to make this, as it co-incided with his quiet time at work. Jason Cater recommended "either do a real installation, where you untar each package and run it's setup.py, or install a CVS copy." He personally preferred psycopg as a python-PostgreSQL driver, which was available from http:// initd.org - it was "better tested" and what he used "in production" . He also asked "Have you installed Egenix's mx-base (http://www.egenix.com/files/python/ mxDateTime.html) package. Most of the dbdrivers (pypgsql included) need mxdatetime internally." He suggested trying "to manually import your pypgsql package" from the python command line - if that failed, "PyPgSQL isn't installed properly. If not, I imagine it has something to do with mxDateTime." Stan confirmed that it appeared the default RedHat set up of PostgreSQL was the issue - "The access for language API's is through port 5432. I probably need to figure out how to create a configure string for connections.conf that will accomplish that kind of connection." Jason said "I *think* there is a port= option for connections.conf. I would have to check to see. Either way, I think 5432 is the standard Postgres port that GNUe (and any other pg tools) default to." He still wondered if "Postgres is actually listening on a TCP/IP port? On Debian, Postgres, by default, only listens via a sockets file." The postgresql.conf needed "tcpip_socket = 1" adding to it to change this. "Also, you'll need to set permissions in your pg_hba.conf file for the appropriate interface" - for testing purposes, you would probably "trust" connections from localhost (127.0.0.1) and "reject" connections from everyone else. "On a production machine, you would probably want something besides "trust". With trust, the password supplied is ignored." Running the postgreSQL client as "psql -h localhost Template1" would force it to use TCP/IP, and test whether this was the issue. Later, Stan reported "My problem turned out to be the pypgsql rpm's that I downloaded from ftp.tummy.com. They had been configured for an installation other than my Red Hat 7.2 system, with "include" files and libraries expected in places that Red Hat doesn't put them." He had had to obtain "the source rpm package" and make the necessary changes that way. "I also had to install the rpm with the "--nodeps" option because I knew I had the dependencies and didn't want to try to straighten out the dependency tracking issue." He attatched details of his patches for reference. Jason was pleased Stan was now up and running, but asked whether "the rpms of psycopg" from the initd.org website did "not work for you? If so, we need to report that to the psycopg people." Stan said he could not remember if he had tried these - "I found psycopg packages at an ftp site together with the deb packages, but the rpms seemed to be marked as deprecated (or something similar) and when I tried to download them nothing happened." Earlier, Stan said he had considered using the psycopg driver instead, but it "only comes packaged in deb format." He had downloaded the "alien" utility "that converts back and forth between rpm and deb formats" but had not had time to install or try it yet, and he was not keen to "install from tarballs in root-controlled areas, because I lose configuration control of my system that way." Jason asked whether the (unofficial) RedHat package (rpm) at http:// initd.org/pub/software/psycopg/python-psycopg-1.0.9-1.i386.rpm (http:// initd.org/pub/software/psycopg/python-psycopg-1.0.9-1.i386.rpm) did "not work for you?" . Earlier, Stan suggested "an improvement in the error messages and/or diagnostic capability. I had a syntax error in one line of the connections file (a "-" where a "=" belonged). The only message I got was that the connections file was in a wrong format and could not be parsed." "It would help if there were some way to provide a further indication of the nature or location of the parsing error." 2. Installing GNUe and PySablot on SuSE GNU/Linux 13 Oct 2002 - 17 Oct 2002 (4 posts) Archive Link: "mini-GNUe-SuSE-HOWTO and compiling PySablot" Topics: Reports People: Arjen Runsink, Peter Sullivan, Derek Neighbors Arjen Runsink had almost resolved his problems getting GNUe 0.4 to work with SuSe GNU/Linux 8.0, and had "written down what I did in a mini-HOWTO" , both to help others and himself. However, he had one outstanding problem "compiling PySablot, it needs to be linked to libxmlparse.a, libxmltok.a and libiconv.a But when compiling expat only libexpat.a is created." Later, he reported the solution, which involved setting some soft symbolic links for some of the libraries - "And now it will build" . Peter Sullivan and Derek Neighbors both asked for a copy, so that they could add it to the Documentation section of the GNUe website, which was done (http://www.gnuenterprise.org/docs/ GNUe-SuSE-HOWTO.html) . 3. Roadmaps and other project planning issues 14 Oct 2002 - 19 Oct 2002 (7 posts) Archive Link: "Kudos - keep up the hard work!" Topics: Application Server People: Bill Witherspoon, Jan Ischebeck, Derek Neighbors, Derek Neighors, Jason Cater Bill Witherspoon wanted "to pass on my congratulations on a fine effort so far! " He had got Forms up and working, but was now having problems with Application Server, even after resolving "some initial problems getting the right version of py-xmlrpc (the 2.2rpm is actually 1.5??)." He was now getting an error message saying "'NoneType' object has no attribute 'keys'" . Jan Ischebeck said that "The problem you are running into is caused by an changed thread model in python 2.2. To solve it just replace the file /usr/local/gnue/lib/python/gnue/ common/commdrivers/_helpers/ObjectLibrarian.py with the cvs (http:// subversions.gnu.org/cgi-bin/cvsweb/~checkout~/gnue/common/src/commdrivers/ _helpers/ObjectLibrarian.py?rev=1.4&content-type=text/plain) version." . Bill confirmed that this resolved the problem. Derek Neighbors said "This and some other release type issues makes me wonder about road maps. Should we fix a few things and do a 0.4.1 release of things or a 0.5.0 and then begin roadmapping for the future?" . Bill said "I, for one, would love to see a roadmap. I suspect many savy IT managers are watching your progress and would love to see dates beside some of the modules." Derek said "Being free software you will likely never see 'dates'. That is for proprietary marketing. ;) Roadmaps should serve as a path for developers to follow and an expectation for users to know what is there." He felt that previous reluctance to do roadmaps for GNUe was precisely because of the potential for pressure on dates - "When you are a volunteer without repayment often times this makes things no fun, as then its like work. :) So while I am advocating strong roadmaps, I have no intention to push putting dates on them. :)" . Bill accepted "Dates would be wonderful, but yes, realistically in a volunteer effort, they are a little too much to ask or expect." Jan Ischebeck felt that "the main problem with this release seems to be that there were many changes and too little testing of the prereleases. Although roadmapping could solve some release type issues" , they would not resolve this. He felt that more organised testing was the way forward, with "1. a list of platforms/configurations to test" , "2. a list of tests to run" amd "a way to document which testcases were tested on which configurations and if they worked or not" , preferably on a web page. He cited examples of this from other free software projects. He felt this would "help to increase the QA of gnue, and there will be one point in the nearer future, when it will become mandatory." . Derek said that a roadmap would help with some of the problems there had been with the last release: " 1. We dont have a good vision of what is in the release to help for testing. (ChangeLogs and such help with this) 2. Features get thrown in last minute and are not done in a reliable way. (this is what killed much of this release) 3. Outstanding bugs that are important are overlooked " . He regonised Jan's points about "formal testing. We have always not 'pushed' this too much because of minimal resources. As the product gets more and more functional and stable it becomes more and more important" . Jason said that changelogs were normally kept up to date from the first release on. He also ensured the NEWS file was updated early on in the release cycle as well- "This is a 6-10 line condensed changelog that gives anyone a feel for what has happened." Derek agreed, but said he would really like to find a way of doing this automatically throughout the development process, rather than having to wait for the first pre-release - "theoritically testers could obtain lists of 'completed' parts of a release via a report and start whacking on testing." On outstanding bugs, Jason said "One thing I would like to see is a tool for our DCL setup that creates a BUGS file from outstanding tickets (or TODO, from the workorders)." Later, he said "After thinking about this for a minute, I realized this should be a GNUe Report example. Doh!" Derek agreed - in the long term, "Roadmaps should be built out of DCL as well." "This way file bugs with 'version' targets and workorders with version targets. Then run a report of what is slated for version X and a roadmap falls out. :)" . 4. Forms graphical resolution and other feature requests 15 Oct 2002 - 19 Oct 2002 (8 posts) Archive Link: "Forms definition features request" Topics: Forms, Designer People: Robert Jenkins, Jason Cater Robert Jenkins "was hoping to use GNUe forms as a front end for a database project that I'm currently working on, but unfortunately in it's present state, it's just not got the capabilities I need." He needed a "Facility for accurate positioning of elements on a graphical form." "If these default to 80 x 24 when not explicitly given, then present form definitions should work with existing character coordinates." He thought "Would'nt is be advisable to change over to higher resolution 'graphics friendly' coordinates as soon as possible? Surely it's going to be easier than converting more complex code in the future?)" . Jason Cater pointed out that the "underlying philosophy" of GNUe Forms was "We are not a widget set and we don't target certain display interfaces." "Properly designed forms should be equally runnable and functional on a variety of interfaces: * Hi-Res GUI (Windows, Mac, GTK, QT, OS/2) * Text-only (Curses) * Low-Res GUIs (PDAs) * Telephone-feedback system (via Bayonne) * HTML (Raw HTML, XUL, etc) Obviously we don't have a good chunk of these done, but you get the point." . He felt that higher-resolution graphics "goes against our goal of interface-independence." "However, we do plan to move to a pluggable "layout management" style in the near future. This will allow people to use various Layout Managers besides our "Character-based" default. One such style will be, I'm sure, an absolute positioning system as you describe. For now, though, x,y coordinates" based on a character-sized grid "solve 99.999% of our immediate needs." Robert said "If the forms system was capable of handling up to graphics resolutions, users could define the resolution they want to use for their system, whether it is 1280 x 1024 graphics or 80 x 24 text. Note that I'm not saying graphic-only, just definable resolution." He felt that 80 x24 was "not enough to be useable for serious applications. It's not whether the screen is graphical or text, it's about quantity of information displayed per screen." Jason said "character-based does *not* imply an 80x24 grid. I have forms running closer to the equivalent of 200x60. Character-based simply implies the positioning granularity, not screen resolutions." He explained "Forms determines the "character cell size" based on the chosen display font. By default, this is given to us by wx (and is usually Courier.) In the gnue.conf file, we specify the point-size for these characters. By default, this is 12 (I think.) If you wanted more screen space, make your point size smaller. At work, I have mine set to 10. We don't even look at proportioning the screen resolution to determining this. It's simply the size taken up by a character in 12 point Courier. (Or 11 point, or 10 point...)" . Earlier, Robert and Jason discussed some other feature requests. Robert asked about defining forms with a range of allowable rows (min and max) rather than a fixed size, mainly for subforms. Jason said "I have thought about subforms in the past" but "the more I think about it, the more I'm not sure of its necessity. We currently have importable libraries which solve the same problems. You can actually import blocks, datasources, pages, etc from other forms." . Robert also suggested "use 'box' to give visual, as opposed to logical, grouping." Jason said "We actually have an outstanding patch that makes a container, with relative x and y coordinates. It would have been in the 0.4.0 release except that I had a few stability issues at the last minute and commented out the code." . Robert suggested that "multi page forms are displayed by page swapping rather than scrolling." Jason was not exactly sure what this meant, but noted "We do have notebook-style pages currently, which sounds like your page-swapping." . Robert suggested "Add foreground & background colour parameters to all displayable elements. (I know it's rather low priority...)" . Jason felt this was "GUI-specific" . Robert asked about numeric and text formatting. Jason said "We have input masks that accomplish this, as well as much more complex requirements. Expect these to be stable within 1-2 releases." He explained how the current case, typecast and style flags worked, emphasising "Style is strictly a suggestion to the UI Driver of how to handle the display of this field... should it be a regular text field, checkbox, combo box, etc." However, this was only "a suggestion. If an underlying UI doesn't have, say, a combo box, then this attribute would simply be ignored, but the form would still function perfectly. See the Forms Tech Ref for a better explanation of why we choose this route." . Robert also asked about adding "'minval' & 'maxval' for setting limits on numeric values" . Jason said this was possible, but could in any case "can currently be handled via triggers." Robert suggested adding a "means to explicitly define a virtual field (i.e. for calculated values or data derived from a relationship that is not to be stored)." Jason said that "The "field" attribute is completely optional. If omitted, the entry then becomes a virtual one" which could "be populated via triggers" or in turn "populate hidden, bound fields." . Jason said that several other of Robert's ideas could already be done via triggers. He noted that GNUe Designer was aimed at "Joe Developer, not Joe User. However, GNUe Designer automates A LOT and can even automatically create certain types of triggers on the fly." Robert asked about the difference between a