*** titopbs has joined #gnuenterprise
*** titopbs has quit IRC
*** btami has joined #gnuenterprise
*** reinhard has joined #gnuenterprise
*** kilo has joined #gnuenterprise
<kilo> good morning
*** sjc has joined #gnuenterprise
*** holycow has joined #gnuenterprise
*** ciccio has joined #gnuenterprise
<ciccio> I've got two questions about gnue-readgcd. First, how can I get rid of a class I inserted with a .gcd-file?
<reinhard> ciccio: only manually
<reinhard> doing it is a PITA, so you might just want to export your data, rebuild the db, and re-import the data
<reinhard> reason that readgcd doesn't remove classes is that it could lead to serious data loss if you do it on mistake
<ciccio> the data would have been the second question. but say, I have defined an example class, saw it working and don't need it any more, how can I get rid of the table? in psql just drop table is enough? It seems to me that the appserver is storing more things about that table which I'm afraid could dangle
<reinhard> yes
<reinhard> there are tables called gnue_class, gnue_property, gnue_procedure and gnue_parameter
<reinhard> that hold information about the classes
<ciccio> with export your data, you mean, to export ALL data? not only those from that particular class?
<reinhard> what I usually do when I reworked the schema and want to remove old cruft is export the data from the db, drop the db, recreate it, run gnue-readgcd on current version of gcd files and then import the data again
<reinhard> so I have a clean and current db schema
<ciccio> Say, I define a class using the underscore (_) in the property names just to find out that readgld doesn't like that. Would I have to rebuild the whole databa just to correct this? I can add new columns, but I can't change them
<reinhard> well, you always can go the manual way
<reinhard> just told you what *I* do :-)
<ciccio> Is there any script which would backup all data?
<reinhard> whereas while I'm developing  I usually do not care about fields in the table still be there from old version
<reinhard> if those filelds are not used they don't hurt anyway
<reinhard> for exporting data you could have a look at gnue-gsdgen
<ciccio> they may waste space as soon as the number of records starts to be large
<ciccio> thanks
<reinhard> I usually try to not do experiments and tests in a life system with large numbers of data :-)
<ciccio> sure, but I'm stupid enough to not detect errors before the show up in the life system
<reinhard> well, that happens :)
<reinhard> to remove a property, you can delete the according record in the gnue_property table
<reinhard> then drop the column from the table
<reinhard> btw
<reinhard> you are using gnue with appserver in a life system?
<ciccio> would be nice if gnue-readgcd would be able to do that.
<ciccio> and if there was a flag to delete a table completely
<reinhard> it might be a good idea to have an option --delete-missing or something like that
<ciccio> maybe with a warning that this will delete all data as well
<reinhard> what kind of system is it you use gnue for?
<reinhard> and how you're getting along with it?
<ciccio> even as a stupid user, I would not expect the data to stay in the database having removed the table.
* reinhard is curious about production usages of gnue out there in the world
<ciccio> i don't use it yet, but every once in a while I hit on clipper or VB systems which are hard to move to linux, so I'm trying to get acquanted with gnue.
*** tiredbones has quit IRC
<reinhard> ciccio: consider you have 20 classes with tons of data, then at one day you do gnue-readgcd with a small test gcd. this would delete all your other tables?
*** tiredbones has joined #gnuenterprise
<reinhard> because they are not defined in the gcd you just read?
<ciccio> the lack of documentation makes it really hard. the fact that ERP5 requires zope and compiere oracle helps gnue to still find interested beople
<ciccio> reinhard: I guess it's not a command line flag, but somthing in the gcd file which would have to indicate the drop, and then, only that table should be dropped. If there are dependencies (foreign keys, etc) even postgres wouldn't allow to delete all, unless you use cascade.
<reinhard> we know that the lack of documentation is a big problem with gnue
<reinhard> we are constantly in search for people that help us with documentation
<reinhard> instead we always find people telling us our documentation sucks :-)
<ciccio> more importantly the lack of tutorials.
<ciccio> to backup a class, would I have to use the -i flag to gnue-gsdgen?
<reinhard> the -i flag makes gnue-gsdgen export all detail classes with the master class
<reinhard> so if you have for example customer, invoice, and invoiceitem
<reinhard> if you gnue-gsdgen the customer class you just get all customer data
<reinhard> but if you use -i you also get invoice (as it's a detail to customer) and invoiceitem (as it's a detail to invoice)
<ciccio> didn't reach yet the point to find out about master and detail. but it's safe to just use the -i if I want everything to get backed up, right?
<reinhard> yes
<reinhard> I think at some point we want an option to export just everything with gnue-gsdgen
<reinhard> it was there once but somewhat got lost with a change
<reinhard> or does it do that when you simply give no classname?
<ciccio> yep. this worked.
<ciccio> say, I have a database with a huge table (retyping is not an option) and would like to use the appserver as a frontend. I think I can create the gcd and gfd files, but is there a way to import all those data?
<reinhard> sure
<reinhard> as soon as you can get the data in gsd format somehow
<reinhard> for example, yesterday I imported a list of language codes and names given as ASCII file into gnue
<ciccio> I think I could do that. I can also write there something for create/modify date/user. but what should I put into gnue_id?
<reinhard> with a 4 line shell command that converted that ASCII to gsd
<reinhard> don't worry about create/modify dat/user, they are pure information fields
<ciccio> but gnue_id is not.
<reinhard> so if *you* don't mind to have them empty, gnue doesn't care
<reinhard> for gnue_id, you can generate anything you want that is unique within the table and less than 32 chracters
<reinhard> like, for example, 'CONVERTED' + the primary key of the old table
<ciccio> OK. uniq only within the table. thus I could also use a string version of postgres' oids.
*** dcmwai has quit IRC
<reinhard> if you have other tables referencing this table, you might find it easier to use a gnue_id generated from the old pk
<ciccio> old pk?
<reinhard> as you could also directly convert the old foreign key reference of the referencing table to the new foreign key value
<reinhard> old primary key
<reinhard> say you want to import 2 tables - customer and contact
<reinhard> where contact references customer
<reinhard> currently (old system) customer number is the primary key
<reinhard> and contact has a field with the customer number
<reinhard> if you convert customer table to use a gnue_id of 'CONVERT_CUSTOMER_<customernumber>'
<reinhard> you can also easily convert the customer number field in the contact table
<reinhard> was that understandable?
<ciccio> right. but gnue_id is a varchar (32), wouldn't an integer be faster?
<reinhard> gnue is database independent (you can use pretty anything from sqlite to maxdb)
<reinhard> and not all db systems have big enough integer fields
<ciccio> ok. got it
<reinhard> I currently have a project running where we test on SQLite and will switch to postgres for production
<reinhard> and I can tell you this is indeed a *nice* feature :)
<ciccio> they call this integration, right?
<ciccio> another question. Is there a way to make the application server write a pidfile somewhere?
<reinhard> I *think* writing a pidfile is usually the task of the /etc/init.d script
<reinhard> which is in the works
<ciccio> no. In debian, start-stop-daemon can try to find out the pid, but as you fork, this is pretty much impossible. many daemons have an option to tell them, where I want their pidfile to go.
<reinhard> oh
<reinhard> thank you for clarifying this
*** sjc has quit IRC
<ciccio> I've written a first version of a init.d file
<reinhard> ciccio: excellent
<ciccio> but it breaks sometimes just at the pid
<reinhard> you might want to get in contact with ajmitch who is our package maintainer for debian
<ciccio> http://www.netpole.com.br/gnue-appserver
<reinhard> thanks
<ciccio> I also noticed that it seems to be easy to get lots of processes hanging, for instance if I have to kill a sample form which doesn't give me any other exit.
<reinhard> (I will be off for a few days in a few hours, so if you meet ajmitch here could you please tell him about that script)
<reinhard> ciccio: yes, that's correct and a know problem
<ciccio> ajmitch is in the user list. isn't he online?
<reinhard> we have that in our TODO list already
<reinhard> he is from new zealand
<reinhard> so most probably asleep now
<reinhard> and just logged in
<ciccio> if you give the appserver a flag where I can specify the pathname of the pidfile, and if you write a list of signals and what they do, and if I could find out how to use the "module path" mentioned in one of the docs, such a init.d file would be straight forward
<reinhard> you wouldn't have to worry about the module path
<reinhard> the default would be ok
<ciccio> deprecated?
<ciccio> which is the default?
<reinhard> no, but a very reasonable default
<reinhard> ${PREFIX}/share/gnue-appserver
<reinhard> err no
<reinhard> ${PREFIX}/share/gnue/appserver
<reinhard> that's where application debs whould install their gcd files
<ciccio> got it. thanks
<reinhard> signals is easy - SIGHUP is reload
<ciccio> hm. easy, if you know the pid.
<reinhard> and the missing --pid option is added to our bugs list
<reinhard> :)
<ciccio> ah. would have to be --pidfile, you can't specify the pid
<reinhard> err of course :)O
<reinhard> bbl lunch
<ciccio> I'm not sure, how it is programmed, but first, you have to do that after the fork. then, I guess, you fork again for each client request. thus the process of the first fork needs to become the leader of the process group. otherwise, the pidfile won't help
*** btami has quit IRC
*** johannesV has joined #gnuenterprise
<johannesV> hi
<johannesV> yesterday my little daughter was born; her name is Lillie-Marie. She had about 3690 gr and a very good voice :))
<kilo> oh ho ho hooooo
<kilo> congrats!!!
<johannesV> thanks :)
<reinhard> congrats again from me, too
<johannesV> yeah, thanks aigan ...
<johannesV> s/aigan/again/ ...
<johannesV> btw. i did that change in the lang.interface regarding qualification in condition, sort, and prefetch-list
<johannesV> it's working fine ...
<johannesV> as well as using Object instances in conditions
<johannesV> i'll add some comments and commit it a bit later
<reinhard> excellent
<reinhard> you already read the log?
<reinhard> ciccio pointed out that appserver *must* have an option to write a pidfile, otherwise it won't work with /etc/init.d scripts
<johannesV> yeah
<johannesV> i saw that ...
<reinhard> and most probably that stuff belongs in GBaseApp anyway
<reinhard> because any upcoming report-server would use the same
<johannesV> right, the question is 'when' to create that file
<ciccio> after the first fork
<johannesV> like for appserver, this time is 'after' forking the second time
<johannesV> why the first ?
<ciccio> the process created after a second fork should be a member of the same process group
<johannesV> ciccio, you have read GServerApp ?
<ciccio> if you are attending several clients, all will belong to the same process group. sending a signal to the process group leader will kill also those members
<reinhard> ciccio: in python you have to fork 2 times to send a process to the background properly
<ciccio> no. but I did write a couple of servers (not gnue related)
<reinhard> (for some weird reason)
<reinhard> it's python specific
<reinhard> I wasn't me who discovered that
<ciccio> ah ok. right. I meant the first fork of the processes which do not exit
<reinhard> so I can't tell you more
<ciccio> no, this is not python specific. you need the double fork to unlink from the controlling terminal
<johannesV> i think we can do it in common, and have to test it a bit
<reinhard> yes, so basically you both meant the same :)
<reinhard> ah ok
<johannesV> ciccio, that's right
<johannesV> i'll try it in between the first and the second fork
*** holycow has quit IRC
<ciccio> the "when" is easy to see if you think about which pid you will be writing into the pidfile. it's the pid of the process we want to signal or kill. If you do it too early, you might right a pid which belongs to a process which has already exited before being used byt init.d/script. also, when forking, there should be some code in the parent process which checks, wether a process is hanging and kill that accordingly
<johannesV> that's right, so as it looks to me we can easily solve this in GServerApp.daemonize ()
<ciccio> right. the toplevel process which accepts the connections and forks the client processes.
<ciccio> after forking, you get a parent and a child branch. If you do it in the parent branch, you don't need to call getpid() again.
<ciccio> reinhard: I was just looking how define the primary/foreign keys in a GCD file, but couldn't find anything. Is this where the master/detail comes in?
<reinhard> every class has a primary key called gnue_id
<reinhard> and you define foreign keys by creating properties with a type that's the classname of the referenced class
<ciccio> ok. got it now. i think
<reinhard> if you're looking at the developer's guide, it should be explained in a chapter named "references"
<ciccio> I found that, but forgot about it.
<ciccio> ah, that chapter didn't tell, that gnu_id is alway the primary key
<reinhard> gnue_id
<ciccio> And how do I say that I want a column to be unique?
<reinhard> I will work on that documentation on some train ride over this weekend
<reinhard> hmmm... you can say that somehow...
<reinhard> johannesV: do you know ?
<reinhard> would have to look up
<johannesV> what's the short option of --pidfile ?
<reinhard> you can define an index in a gcd file
<johannesV> ciccio, you'd use an index here
<ciccio> mostly -p unless that is already taken for a tcp port.
<reinhard> johannesV: think no need for a short option
<johannesV> right, <index><indexfield name="foo" unique="True"/></index>
<johannesV> reinhard, i hate it if there's no short-option for something .... :)
<ciccio> <index> ... goes where? in the <class> scope? within the property?
<reinhard> -p is password, isn't it?
<johannesV> right
<reinhard> ciccio: in the class sope
<reinhard> scope
<ciccio> you can use -P
<ciccio> thanks
<johannesV> should we use a default for --pidfile ?
<ciccio> yes. this would be good. at least for debian, a good default would be either /var/run/gnue, or /var/run/gnue-appserver (if you plan to have yet other daemons for gnue) or even /var/run/gnue/appser.N if you want to allow for several servers running in parallel
<johannesV> hmm
<ciccio> that didn't come out as I wanted :-) gnue-appserver would be a choise if there could be also a gnue-reportd, and /var/run/gnue/* would be if it was possible to have several instances of the same server
<ciccio> oh, and when getting killed, you might want to catch the signal to remove the pidfile before exiting. also when starting, you could try using the pidfile to make sure, there isn't a server already running (and listening on the same port)
<ciccio> but if you do that, you should signal the pid in the pidfile with 0 to find out if it's a stale pidfile
<reinhard> johannesV: btw, excellent work on the last commit, makes writing procedures much more intuitive!
<johannesV> reinhard, yes i had the same feeling about the changes ...
<johannesV> reinhard, ever tried to run appserver (without -Z option) on non-UNIX ?
<reinhard> non-UNIX??
<reinhard> you mean there's something other than UNIX?
<reinhard> :-)
<ciccio> sure! there is Linux
<reinhard> no, never tried
<johannesV> GServerApp uses fork () to fork *lol*
<johannesV> which is only available on Unix
<reinhard> you sure?
<reinhard> btami said he used appserver
<johannesV> well, at least the doc of os-module says it
<reinhard> on win
<johannesV> maybe he's using --no-detach option then
<reinhard> might be
<reinhard> I wouldn't worry too much about that
<johannesV> what about a pidfile if we do not detach from controlling terminal ?
<reinhard> we wouldn't want a pid file on windows anyway
<ciccio> fork is a posix call. in windows you would have to install it as a server. also, I think with cygwin there was some way to do it.
<reinhard> would say none needed
<reinhard> no pid file i mean if not running in background
<johannesV> hmm
<ciccio> the python port to windows doesn't support the fork call? they could have implemented it even with threads.
<johannesV> i haven't tried fork () on windows yet, i can only tell what the os-module's doc says ...
<ciccio> and I can't try it, because I don't have windows
<ciccio> johannesV: DB000: Error processing <indexfield> tag [I do not recognize the "unique" attribute]
<ciccio> ok. got it. <index> requires name and allows unique, but <indexfield> not.
<kilo> btami managed to run appserver on windows so that it is minimized to tray icon
<johannesV> ciccio, ah, ok ... right. sorry for that, but it's been a long time i did that gcd-stuff .. :)
<ciccio> i was told, that you have to launch the server as a "service" which will make it run at startup and show up only in the process list
<kilo> services can be run on startup or manually any time later
<kilo> best would be to write a wrapper app that minimises to tray and with that you could start/stop/reload appserver, if it run as a service
<ciccio> if it runs as a service, it doesn't get an icon.
<kilo> that is why we should write a wrapper app for that
<ciccio> ah, you do want an icon. sorry
<johannesV> hmm, i cannot catch SIGKILL, is that right ? sigterm and sigquit are no problem ...
<ciccio> right signal 9 can't be caught, that's why we shouldn't use that to stop a server
<johannesV> ok, so it's enought to catch SIGTERM and SIGQUIT to stop it
<ciccio> the normal signal would be sigterm (15). you got a complete list in man kill
<johannesV> (or in signal.py :)
<ciccio> don't know anything about python
<ciccio> besides that they can bite
<ciccio> and strangle
<ciccio> johannesV: btw, I think more usefull the syntax for <index> you wrote than the actual one. As it's within the <class> scope, it would be enough to have several <indexfield> tags to have multiple indices on one and the same table, all within the <index> tag.
<johannesV> ciccio, ?
<ciccio> which part didn't you understand?
<ciccio> If I want more than one column indexed of the same table, the current syntax requires me to write one <index> tag containing one <indexfield> tag for each of them. If the index name and the unique spec was associated with the <indexfield> I would need only one nesting
<ciccio> <index> <indexfield name="a" idxname="aidx" unique="t"/> <indexfield name="b" .../> </index>
<johannesV> ah, ok i see
<reinhard> ciccio: that wouldn't allow indices with more than one field
<johannesV> but this would imply that an index could be made of unique and non-unique parts ?!
<johannesV> and, that's the second drawback
<reinhard> ciccio: err, either me or johannesV understood you wrong
<reinhard> :)
<ciccio> right. didn't think about this one
<ciccio> unless you can have more than one «name=""» expressions in the same indexfield and make the unique statement position dependent
<reinhard> I think that would be against XML standards
<ciccio> I don't know anything about XML
<johannesV> right, we cannot have multiple name="" attributes per tag
<ciccio> got it
<johannesV> anyway, i dislike such a solution since using multiple <indexfield> tags is cleaner though
<johannesV> who has to create the directory-part for the pidfile ?
<ciccio> em debian, o deb
<ciccio> sorry, in debian the deb-file
<ciccio> btw, it would be nice, if the installscript in the deb file would also offer some choices in /etc/gnue/ e.g., selecting the database, because then, gnue-setupdb could be run automatically
*** jamest has joined #gnuenterprise
<reinhard> yes, we have been talking with ajmitch about that
<johannesV> ok, so GServerApp assumes 'pidfile' to be a valid path, does it ?
<johannesV> i mean it does not try to make sure the path exists (like mkdir or the like)
<reinhard> I'd say yes
<reinhard> yep
<ciccio> normally it does. as it's an option, I wouldn't create it in the server
<reinhard> it should give a reasonable error message if the dir is missing IMHO
<ciccio> if I just misspell the path, I don't have to remove it later
<johannesV> so i don't care about permissions too ...
<ciccio> permissions need to be such that the server can write there!
<kilo> bbl
*** kilo has quit IRC
<ciccio> If I use start-stop-daemon, I get user gnue to be the owner of the process. thus, if only root can write there, you couldnt create the pidfile.
<ciccio> reading is OK for everybody
<ciccio> Just got a very odd error with a gsd file: ERROR:  insert or update on table "akb_akb" violates foreign key constraint "fk_akb_akb_akb_cod" DETAIL:  Key (akb_cod)=(fir) is not present in table "akb_codleg". This is not true, as I get in psql 1 row with select * from akb_codleg where akb_cod = 'fir' ; What am I missing?
<johannesV> ok, that pid-file looks quite fine ...
<ciccio> got the problem. I wasn't using gnue_id as the primary key.
<johannesV> but again to the default of --pidfile
<johannesV> should i use '/var/run/gnue/<application>.pid' or better something like '/var/run/gnue-<application>.pid'
<johannesV> where <application> is the name of the server-app like 'appserver'
<johannesV> or 'reportserver' or ...
<ciccio> it seems that there will be at least two (appserver/reportserver). And probably some day someone will run more than one of those at the same time. I would suggest using a subdir
<johannesV> ok, i'm fine with that
<johannesV> so i could commit a changed GServerApp to add this feature ...
<johannesV> but i still dislike something with that solution
<johannesV> as the call to daemonize () comes quite late
<johannesV> exceptions rised by the pidfile-creation are a bit 'wired'
<johannesV> cause the server process is up and running ...
<johannesV> only the pid-file isn't there ...
<ciccio> the server process might be up and running, but if it didn't reach the point to fork, obviously it's not really prepared to start. If you want to deal with an already running server, you could make the test at the very beginning, write a pidfile and overwrite it later.
<johannesV> hmm
<johannesV> hmmm
<johannesV> yeah, might try something ...
<ciccio> but normally there is little time between launching the server and actually forking, so this is a one time race condition
<johannesV> not for appserver ... there's the loading of the classrep in between
<johannesV> and this migth take some time for a big repo
<ciccio> ok. but remember, that there will remain a race anyway: between the time you check the existence of another server already running (it is) and the writing of the pidfile, a second instant could be launched and do exactly the same.
<johannesV> well, ok, but i could live with that :)
<ciccio> you should test your code, starting the server, running a few clients and then try to stop the server using that pid. what happens with the client forks? Do they actually exit?
*** titopbs has joined #gnuenterprise
*** johannesV has quit IRC
*** sc has joined #gnuenterprise
<sc> hi
<jamest> hi
<sc> I installed gnue, setted up following docs but I have a problem of visualization
<sc> all fonts are big, bigger then what is setted in my gtk configuration
<sc> the system is really difficult to use, I have the same problem with other wxpython based program
<sc> could you suggest where to lookfor?
*** lekma has joined #gnuenterprise
<lekma> hi all
*** titopbs has quit IRC
*** SachaS has joined #gnuenterprise
<SachaS> hallo reinhard
<SachaS> are you leaving tonight?
<reinhard> yep
<SachaS> cool
<SachaS> tomorrow we will see our guru :)
<SachaS> looking forward seeing you tomorrw
<reinhard> me too
<ciccio> someone could help me with the primary/foreign keys? I just created the GCD and GLD files according to the Application Server Developer's Guide, but when I run gnue-forms, I get: Property 'address_person.address_country': address_country is not a valid type.
<reinhard> the class address_country is installed?
<reinhard> (sorry, in and out as I am preparing to leave
<reinhard> )
<ciccio> yes. in the same module, just above. as proposed in the text
<reinhard> and you get that wen running gnue-forms?
<reinhard> with the appserver:// url?
*** ajmitch_ has quit IRC
<ciccio> yes. gnue-forms appserver://appserver/form/address_person
<ciccio> I found a similar and longer version of that in the examples directory of the application server. It gives the same result.
<ciccio> Might I have messed up the appserv somehow?
<reinhard> this is very strange
<reinhard> because I literally use that test form daily
<ciccio> when I run the sample, I get also the deprecation warning for the order_by which also appears several times when I start the server
<reinhard> that's ok
<ciccio> Any way to trace the problem?
<reinhard> well oh
*** ajmitch_ has joined #gnuenterprise
<reinhard> you use svn version?
<ciccio> no. the debian packages
<ciccio> and I could bet to have seen that sample working yesterday.
<reinhard> sorry I don't have the time to debug this with you right now -- gotta leave for the train in 2 hours and haven't even started packing :(
<ciccio> right. thanks. maybe someone else able to help me here?
<lekma> reinhard: i wont be able to make it tomorrow
<lekma> i'm still in paris
<lekma> buried under data migration
<lekma> and production server problems
<lekma> :(
<reinhard> lekma: ok
<reinhard> :(
<SachaS> lekma not coming to brussels? :(
*** ajmitch has quit IRC
<lekma> nope :(
*** ajmitch has joined #gnuenterprise
*** titopbs has joined #gnuenterprise
*** wendall911 has joined #gnuenterprise
<jamest> reinhard: have a safe trip
<reinhard> thanks
<lekma> reinhard: frances was planning to meet me in brussel tonight, but as i can't be there she changed her plans and is aiming at paris as of now
<lekma> so you won't meet either of us
<lekma> :(
<lekma> i hope another time
<reinhard> would be nice, yes
<reinhard> but i understand you wouldn't let frances meet me without you being there, too ;-)
<SachaS> well I could take care of frances ;)
<SachaS> so that reinhard can concerntrate on fos
<SachaS> ;)
<SachaS> well paris is the city of romance
<SachaS> but in fact brussels would make a good picture concerning romance as well
*** titopbs has quit IRC
*** titopbs has joined #gnuenterprise
<reinhard> off to train
<reinhard> bye all
*** reinhard has quit IRC
*** sc has quit IRC
*** lekma_ has joined #gnuenterprise
*** sjc has joined #gnuenterprise
*** archivist has quit IRC
*** lekma has quit IRC
*** wendall911 has quit IRC
*** wendall911 has joined #gnuenterprise
*** btami has joined #gnuenterprise
*** holycow has joined #gnuenterprise
*** titopbs has quit IRC
*** jcater has joined #gnuenterprise
*** johannesV has joined #gnuenterprise
<johannesV> ciccio, is your address_person sample working now ?
<johannesV> have you restarted (or reloaded) appserver after importing those gcd's ?
<ciccio> no. and no.
<ciccio> after running gnue-readgcd I have to reastart the appserver?
<johannesV> either restart or reload (sighup)
<johannesV> hmm, sighup will work only if the gcd's are in modulepath
<ciccio> hm. I just updated debian, well it's still downloading. but I saw that there is coming a new gnue-appserv (0.4 I think). I'll wait until that finishes
<johannesV> in svn 0.4 is already there ... (and is at least a bit out of date ... :)
<johannesV> best would be to restart your appserver after loading new gcd/gld's
<johannesV> if you're on a 0.3.x version then
<johannesV> ciccio, this means you can't test the --pidfile change from today, right ?
<ciccio> apt is installing right now. I think to have seen earlier that the 0.4.x is coming.
<ciccio> well, if you try to run a few clients, check to see the forked copies of the server and then send a kill to the pid you have in the pidfile, all have to shut down. if that works, well, it's working :-)
<johannesV> ciccio, what do you mean with 'clients' ?
<ciccio> for instance gnue-forms connecting to the appserver. doesn't that fork again?
<johannesV> no, gnue-forms is another process
<johannesV> it has nothing to do with appserver since it even can run on a different machine
<johannesV> (would be the usual case)
<ciccio> yes. gnue-forms is the client process, but to attend that, a server usually forks off a copy of itself
<johannesV> gnue-forms will communicate with appserver using a protocol like xmlrpc
<johannesV> right, there's the appserver process forking itself on startup listening for calls
<ciccio> I don't know xmlrpc; I normally think in terms of tcp/ip. in the end the server is listening for incoming bits and attending each of them. as attening a command can take time, the server should fork
<johannesV> ciccio, ah, now i see what you mean
<johannesV> well, appserver doesn't fork itself per request atm
<ciccio> well, it should, if you want to allow for heavy load
<johannesV> but lekma has tested similair situations
<johannesV> anyway it will be something like this (either forks or threads)
<johannesV> in a near future i think
<johannesV> (would have to talk with reinhard regarding feature plan/roadmap though)
<ciccio> this is the standard way a server works. i just assumed it would be that way, as I didn't even look at the code
<johannesV> of course :)
<johannesV> ok, i've to leave again (have to prepare kids for bed) ...
<johannesV> bbl
*** johannesV has quit IRC
<lekma> ciccio: in fact xmlrpc server is threaded
<lekma> and execute each request in a new thread
<ciccio> well, thread or fork, a new process is created and should be visible in ps or top
<lekma> it is
<ciccio> the main process should be the leader of the progress group and it's pid should be in the pidfile. then, if you kill that pid, all other pids in the process group should shut down as well
<lekma> well this is another story
<lekma> what you describe
<lekma> is the way it should
<lekma> be
<lekma> unfortunately
<lekma> it is not yet like this
<lekma> out of memory
<lekma> now the xmlrpc server
<ciccio> but something somewhere definitively isn't ok in this. when I went through the examples there where some which would just repeat opening an error dialog such that I had to kill them. those processes stayed alive even shutting down the server.
<lekma> ther were client processes
<lekma> s/ther/they
<ciccio> this was yesterday and it's possible that I mixed up something, but I could bet that it was the server
<lekma> there's no constant open link between the client and server
<lekma> if you kill the server
<lekma> client apps still running are not killed
<lekma> they just can't communicate with server anymore
<ciccio> probably I mixed up the things. everythings is new for me and I may have payed more attention to something else
<lekma> :)
<ciccio> what I did notice is that there is a persistent connection between the server and postgres.
<lekma> yep
<lekma> so it seems
<ciccio> not sure if this is a good idea. what happens if I have to stop or restart postgres? will postgres refuse to stop? If it comes up again, appserver will reestablish a new connection?
<btami> ciccio: http://packages.debian.org/cgi-bin/search_packages.pl?keywords=gnue&searchon=names&subword=1&version=unstable&release=all
<ciccio> this link is to tell me that the current deb packets have appserver 0.4.0? I've installed it 30 minutes ago and the strange problems went away. but it's still puzzling me, because yesterday I think that bit was working
<btami> ciccio: anyhow, i'm suggesting to checkout the svn head, koz johannesV is a coding machine, and if you want to test gnue, the better way to follow him is svn :)
<btami> svn co svn://svn.gnuenterprise.org/var/svn/gnue/trunk gnue
<ciccio> thanks, right now, I'll be glad to graps the basic ideas. but later I certainly will do it.
<btami> ok
<ciccio> btw. i couldn't find anything about gnue-report or gnue-reportserver, although the packages are in debian. are these working already somehow?
<btami> there is a samples dir ingnue-report too
<ciccio> where can I find ingue-report?
<btami> in gnue-reports even
<ciccio> ah, you mean in the source pack.
<btami> should be in debs too
<ciccio> gotit. always forget to look at /usr/share/doc/gnue-*
<ciccio> thanks
<btami> yep, np
<btami> and there is an old exapmle for gnue-reports-server here
<btami> http://www.gnuenterprise.org/~btami/gnue-reports-server-test.py
<btami> don'tknow is it working today yet ...
<ciccio> Oops. Does that mean, I have to code in python to use the report server?
*** SachaS has quit IRC
<btami> gnue-reports is at 0.1.7 only
<btami> i don't knowhow it will be used in the future
<btami> jcater is the reports man to ask
<btami> jcater: any comments ?
*** kilo has joined #gnuenterprise
<lekma> i need report as well
<lekma> and did some strange things to make it work with appserver
<lekma> what would be great is to have some doc on report server
<lekma> and it could work with appserver
<lekma> and how it could work with appserver
<ciccio> what is actually the purpose of the report-server?
<lekma> to deliver some reports??
<lekma> :)
<ciccio> can't that be done with appserver + gnue-reports?
<jcater> ciccio: yes
<jcater> imho, there's not a compelling need for a report server
<jcater> vs a report client that uses appserver as the backend
<ciccio> so, what's the aim for the server?
<jcater> I still plan to do one
<lekma> i don't agree
<jcater> people's situations are different
<jcater> I don't use appserver at work
<jcater> but won't use a reports server either
<lekma> bbl
<ciccio> which would have to be my situation to want a report server?
<jcater> hmm
<jcater> I don't know
<jcater> it's probably one of those, "if you have to ask, you don't need it"
<jcater> ?
<jcater> :)
<ciccio> not really. I try to help people to migrate to linux, and knowing what is possible can help me
<jcater> I'm not entirely sure the advantage of a reports server in most situations
<jcater> unless you wanted to centralize processing power
<ciccio> is there any result you can achieve with report-server which you couldn't achieve with reports + appserver?
<ciccio> or is the reason limited to performance issues?
<jcater> maybe centralization of configurations
<ciccio> but not on a level of what type of reports are coming out in the end?
<jamest> jcater: maybe usefull in places like my old job
<jamest> where the main campus produced a lot of reports for the various departments
<jamest> it'd have been nice to be able to submit a request and have it throttle out the reports automagically
<jamest> as it worked you had to call a human, give them your email address, then wait a few days
<jcater> perhaps
<ciccio> is there a difference in usage?
<jcater> I just do that using cron jobs, etc
<ciccio> I meant the syntax of input files
<jamest> i'm talking single requsts
<jamest> you could do the same w/ a custom web site i imagine
* jamest doesn't need a report server either :)
*** SachaS has joined #gnuenterprise
<jcater> ciccio, no, a report definition would be the same either way
<jcater> and the client-side usage would be identical as well
<ciccio> and so would be the outcoming of that, right?
<jcater> it basically would boil down to whether the client did the logic on the client machine
<jcater> or passed the logic handling off to a report server
<jcater> but the input and final output would be no different
<ciccio> thanks, as I understand that at this point, I just don't have to worry about, as the report server is just one more option I have to get a job done.
<btami> night all
*** btami has quit IRC
*** kilo has quit IRC
*** SachaS has quit IRC
*** wendall911 has quit IRC
*** ciccio has quit IRC
*** jamest has left #gnuenterprise
*** wendall911 has joined #gnuenterprise
*** jcater has quit IRC
*** wendall911 has quit IRC
*** jcater has joined #gnuenterprise
*** jcater has quit IRC
*** jcater has joined #gnuenterprise
*** holycow has quit IRC
*** holycow has joined #gnuenterprise
*** jcater_ has joined #gnuenterprise
*** jcater has quit IRC
*** sjc has quit IRC
*** wendall911 has joined #gnuenterprise
*** yoman has joined #gnuenterprise
<yoman> Hallo there. This is me Xtian de los Galos here in Guatemala City Central America
*** yoman has left #gnuenterprise
*** yoman has joined #gnuenterprise
*** yoman has left #gnuenterprise
*** jamest has joined #gnuenterprise
*** xtian has joined #gnuenterprise
<xtian> \help
<xtian> hello
<xtian> Anybody home
<xtian> Anybosy hear me
*** xtian has quit IRC
*** wendall911 has quit IRC
*** Mike1971 has joined #gnuenterprise
<Mike1971> Mike1971 slams a 60 lb unix manual on holycow 's head. That gotta hurt... but then again... where there's no sense... there's no feeling!
<Mike1971> Mike1971 slams a 60 lb unix manual on ajmitch_ 's head. That gotta hurt... but then again... where there's no sense... there's no feeling!
*** Mike1971 has left #gnuenterprise
<jcater> did I miss something?
*** mnemoc_ has joined #gnuenterprise
*** mnemoc has quit IRC
<jamest> jcater: a drive by it would seem
<jamest> nite
*** jamest has quit IRC
<lekma> does anybody here owns a hp netserver lc2000 running linux??
<holycow> *ow*
<holycow> lol
