*** cilkay has joined #gnuenterprise *** btami has joined #gnuenterprise *** sjc has joined #gnuenterprise *** johannesV has joined #gnuenterprise *** reinhard has joined #gnuenterprise *** lekma has joined #gnuenterprise morning all good morning lekma hi reinhard hi lekma morning johannesV need coffee back in 5 min *** kilo has joined #gnuenterprise good morning hi kilo hi kilo hi johannesV, lekma kilo, i assume you've looked at foo.gfd ? errrr not really, i spent half night with a whisky bottle, fighting illness... :) but i brought it with me, so will check it soon hmmm, i mean the gfd, not the whisky... lol johannesV: great, it works. hi ajmitch_: thanks for debs! kilo, there's still a problem when pressing F11 (rollback) what use blkPerson has? line 68 blkPerson is used so the master-detail-stuff works ! it took me some time to find this out :) just comment it and try again ! you'll get some mysterious errors ... so you got to define a dummy, empty block to make the MD work? well, i wouldn't say dummy it is needed so some magic stuff happens in GF* and common (like master-detail-sync and the like) ok, we are the knights who say ekiekiekiekiboinboomchang an interessting question remains: if we set the static condition of the master record (person) using setCondition () why does this condition get lost on a rollback ! i've tried the same with appserver's sample.gfd and there the static condition remains active even on a rollback if you can fix this problem, the form should work in all circumstances ... kilo: *it* anyway, you'd have to keep track of duplicates and the like too didn't they say always *never* ? nii http://bau2.uibk.ac.at/sg/python/Scripts/HolyGrail/grail-13.html and http://bau2.uibk.ac.at/sg/python/Scripts/HolyGrail/grail-19.html ah, i knew how to pronounce it but i didn't know how to spell in english :) and the word you should have not used is, as reinhard said, 'it' so, well, it works, but... reinhard, how do we call the module that defines a class ? looks ugly and contains business logic right, but a listbox is definitely the wrong widget which i would like to delegate to appserver for example: you always have a 'NONE' entry in there kilo, what kind of business logic ? that creation of a new record ? aye i don't think this should go into appserver ... johannesV: we haven't yet invented a special word for that usually I say "the module that originally defined that class" damn ... obviously documenting in german isn't much easier than in english ... but please be aware that the devguide hasn't explained class extension yet no ? i thought i've read it just a short mention that there *is* class extension ah s2t or should i say b6t don't we have some bugs to fix ? /msg reinhard he wants to hack, he wants to code, not write blo.dy documentation... kilo, yeah, yeah ... ! lol in a gcd, can a parameter of a proc have default value? kilo, no it cannot so i should set it in the code kilo, where should this default be stored and of which type should the column be to store the default ? kilo, yes set it in the code johannesV: dunno well, that's the main problem that i dunno? 8-))))) no, *lol* the main problem is "how to store default values" (of different types) but that IS a problem 8-))) but i have an appropriate answer (from a customer): store it on the computer 8-))) "now I have a hard disk with 80 GB and I cannot store a simple number???" ;-) yes, exactly lekma: are there any appserver side problems you need solved? a few (at least one), could you give me half an hour i need to check things with other consultants/devs ok thx johannesV will be happy to fix things ;-) as he will have to stop documenting then reinhard: reloading a gcd while appserver is running lekma can do this right now :) since he has an rpc method for this but it's unofficial atm but he is 2000 km from here... and rpc can not stretch this far 8-))) reinhard, have you tried the hotline.gfd ? ah no forgot that let me try the following list is just things that we think we need, in general. most of these issues we didn't even have time to have a look at atm, so take it all with a grain of salt. - server side logs - global authentication (a find/request should return access level rw, ro, no access) - global proc (this one is the important one atm, i think i can simulate it by creating an object, let run a bound proc, and then delete the object. all from rpc calls) - a way to pass a session object to gnue-reports (maybe it is already posssible) - case insensitive find/request (or a way to specify when you need case insensitive search) - a data type for full-text search (i think it can be used at least with mysql and pgsql, they both have a specific data type for fields needed by a full-text search) kilo: i can send reload.diff if you want ie reloadClass johannesV: svn up and restarted appserver, still works perfectly AFAICT lekma: thx, plz send it in email: kilo att gnuente... org harr, i've just added a fix ... so you have downloaded the fix .. kilo: ok ok this firewall filters out everything... lekma: thanks for the list lekma: so actually no real show-stoppers for you there? reinhard: maybe the global proc (as long as i don't try the possible solution) reinhard: i have to test it today sales consultant need it lekma: what I would do for global procedure most systems have a kind of "parameter" table (class) where only a single instance exists you could make the procedure a proc of that class johannesV: could you somehow add lekma's list to svn? (the items that aren't in the ROADMAP.in yet) maybe in ROADMAP.in reinhard: i see what you mean i'll try it later today reinhard, for which version ? where it fits authentication is already listed, as well as that management-interface stuff i'd say server side logs would fit the management interface case-insensitive search/fulltext-search is something completely new so these logs have nothing to do with the debug-file i think ? yeah we could add these search things to BUGS because it would match the other "has to be implemented in common" :-) I would like lekma to tell more about what kind of logs would be useful but I guess he is too busy at the moment :-) lekma: maybe you want to write a short email on what kind of logs you would like to see when you have time and we keep it out of our TODO list until then also for the global procedures I'd like to wait how it works out with the parameter class i think there should be a mechanism for this *without a fake-class* and I have no idea what is needed for the gnue-report thing so actually there's not much left anyway well, i had that case-insensitive search problem in gnue-cddb and i've solved it using a calculated field, doing a string.upper () i need to enter a meeting right now, i'll try to be more specific about all these points a bit later, (and anyway thx for all your help) lekma: thx for the mail lekma: you're wolcome welcome and I wish you luck for the meeting :) johannesV: still in need of something to hack? bbl *** btami has quit IRC *** wayneg has quit IRC kilo ... of course :) *** wayneg has joined #gnuenterprise great hmm, first of all, dont svn update gnue-contrib... but delete the invoice db, then bulid it up, but dont let gsscvs add any data to it now start LOC_Region.gfd. there is no country of course. Click edit, add a country (or more, if you like). exit the Country form, click away from the dropdown, then drop it down, you see the newly inserted countries. try to add a region with any of the countries. when you want to commit, it will produce an error saying what ? errr, well, i have to delete my db again... *** dimas has quit IRC Traceback (most recent call last): File "/home/gabor/SVN/gnue/.cvsdevelbase/gnue/appserver/geasSessionManager.py", line 139, in commit s.commit () File "/home/gabor/SVN/gnue/.cvsdevelbase/gnue/appserver/geasSession.py", line 288, in commit self.__connection.commit () File "/home/gabor/SVN/gnue/.cvsdevelbase/gnue/appserver/data.py", line 670, in commit resultSet.current.setField (field, value) AttributeError: 'NoneType' object has no attribute 'setField' ok, so this is the other side now ... btw. there's no item_item class anymore ? svn up now, so all gets back to normal. ok svn up both gnue and gnue-contrib i've merged invoice's gcd files back to gnue packages and the above behaviour is the same for any form that has a dropdown whose valueset one extends from empty state ? i mean the error above can be produced on several forms, those that have a dropdown but only if you call resetForeignKey (), right ? hmm, no it's the commit in the other form ... kilo, maybe it's the commit in the other form, which does *not* reload the right classes ... (still searching) well i dont know hmm, this is interesting the region record has a state 'changed' in data.py ... although it has been commited by the other form ah, so you are n track now well, the main problem here is a bit tricky you start the Region form, so you have an empty region record say you press edit then, starting the country-form you add a new country and press commit this commit saves the newly added country, but since you're in the same session as before (where you've added a new region) this new region get's commited too the question remaining is now, why has this new (and commited region) still the state 'changed' and why is it still in appserver's cache since a commit should clear the cache i think it's not a problem regarding dropdowns but much more general like having another transaction (second form) which interferes the first one maybe it is general, it is only here that i have seen it happen well, in real both forms do run in the same transaction as i've talked to reinhard last week about a similar problem ah now i've found something else ... stand by ... ok problem is fixed! kilo, you'd have to add another line to your gfd :) johannesV, the hacker masta but, still, the problem is difficult with that two forms i'll explain the situation again: *** dimas has joined #gnuenterprise form A creates a REGION record then the form B is called in which we create a COUNTRY record now this country record get's commited so what is in the appserver's cache now? nothing the region record has not yet been posted to the appserver so the call of the commit *siltently* drops the region * reinhard doesn't behave well as a pupil ;-) but the next *store* of the region does not find it anymore exactly ! so if you add a "blk.update ()" in your edit-trigger code *before* runForm ('...') as in the wiki: Topic: HowAppServerWorks Only God, Reinhard and Johannes knows about it. Hmmm, maybe God only knows their phone number... :-))) the region-rec get's posted :) but be aware that a commit in the country-form also posts you pending REGION record then it is not the best solution as i've mentioned before, there should be a mechanism to start another transaction for such things or something similar I think what you really would want in such a case would be the dialog to open it's own session right yes however that's something IMHO jamest/jcater would have to decide how to implement as it's one of the basics of forms AFAICT that connections are reused hmm, imho as it CAN result in an error, it should be changed somehow but now got to leave, bbl *** kilo has quit IRC *** jamest has joined #gnuenterprise *** johannesV_ has joined #gnuenterprise *** johannesV has quit IRC l8r all *** reinhard has quit IRC *** wendall911 has joined #gnuenterprise *** reinhard has joined #gnuenterprise *** reinhard has quit IRC *** SachaS has joined #gnuenterprise *** kilo has joined #gnuenterprise *** sjc has quit IRC *** johannesV_ has quit IRC *** btami has joined #gnuenterprise *** titopbs has quit IRC *** lekma has quit IRC *** johannesV has joined #gnuenterprise before I go mucking about in forms i need to do the following press a button and have it fill out a value in the currenly active block (2 blocks shown on screen) since it's be ages since I've been in forms code i wanted to see if some way of getting active block already exists and if not then I'm wondering if people would think a form level trigger function along the lines of getActiveBlockName() would be the way to go or a block level trigger function .isActive() would be better or both :) *** holycow has joined #gnuenterprise *** sjc has joined #gnuenterprise *** jcater has joined #gnuenterprise *** johannesV has quit IRC *** SachaS has quit IRC *** Vee has quit IRC *** Vee has joined #gnuenterprise *** SachaS has joined #gnuenterprise *** SachaS has quit IRC *** reinhard has joined #gnuenterprise *** jcater has quit IRC *** holycow has quit IRC *** cilkay has quit IRC jamest: not that i am aware of any solution to this so please don't hold back your m4d cod1ng sk1llz s/m/s/ i did #1 i wish there was a way to get a handle to the trigger wrapper as now my form does if func() = "block1": block1.foo.get() elif func() == "block2": block2.foo.get() i'd rather do func().foo.get() *** cilkay has joined #gnuenterprise night all *** reinhard has quit IRC *** jcater has joined #gnuenterprise *** holycow has joined #gnuenterprise *** btami has quit IRC *** sjc_ has joined #gnuenterprise *** sjc has quit IRC *** sjc_ has quit IRC *** cilkay has quit IRC *** sjc has joined #gnuenterprise *** cilkay has joined #gnuenterprise *** SachaS has joined #gnuenterprise hi SachaS hi kilo, how are you? *** jamest has left #gnuenterprise got to cure my cold with whisky hehe and you? *** jcater has quit IRC me chatting away instead of working at least its ebXML chat ;) *** ajmitch_ has quit IRC *** kilo has quit IRC *** cilkay has quit IRC *** ajmitch_ has joined #gnuenterprise *** sjc has quit IRC *** titopbs has joined #gnuenterprise *** sjc has joined #gnuenterprise *** cilkay has joined #gnuenterprise *** titopbs has quit IRC *** sjc has quit IRC *** jamest has joined #gnuenterprise *** titopbs has joined #gnuenterprise *** jcater has joined #gnuenterprise *** holycow has quit IRC *** holycow has joined #gnuenterprise *** nickr has quit IRC *** nickr has joined #gnuenterprise hello ppl of the GNUe *** wendall911 has left #gnuenterprise how now sir chilly *** nickr has quit IRC my quest is long but my will endures *** nickr has joined #gnuenterprise where do I get a cool hostmask like that? give lots of $$ to jcater yes *** jamest has quit IRC *** jcater has quit IRC *** titopbs has quit IRC *** SachaS has quit IRC