*** reinhard has joined #gnuenterprise *** johannesV has joined #gnuenterprise *** dneighbo has joined #gnuenterprise *** dneighbo_ has quit IRC *** dimas has joined #gnuenterprise * SachaZzz is back (gone 10:27:57) how do I exit a curses session? ctrl c is not working here hmmm curses is working how about that? amazing :) i feel a bit bad i think i am surrounded by wizards :) hello SachaS hi dimas does gnue require python2.3 nowadays? i am not sure I use debian unstable so have 2.3 running. i think reinhard wants gnue to be compatible with woody ... so I would say whatever python version is in debian stable is still supported by gnue i have only 2.2 here and is it not working? will try to reinstall now SachaS: Ctrl-Q dimas: it should work with python2.1 johannesV: thanks *** kilo has joined #gnuenterprise thanks johannesV curses is cool :) *** holycow has quit IRC the "show record" button in the gnue-appserver sample is not invoked when pressing enter or space ... and no pulldowns well still very cool morning everone SachaS: yeah, i've noticed this too but i don't know if reinhard has added this function by now hi kilo hi johannesV, will try gtk interface asap greak erm, great hi python setup.py install You need GNUe-Common 0.5.2 or newer installed to install GNUe-Forms hi ajmitch it is just after cvs install of common johannesV: it looks great, but... i found an error... *** sjc has joined #gnuenterprise svn 6006, what have i missed? how to check what version of common is installed? dimas: you'd want to match a cvs install of common with a cvs release of whatever tools, I think so you'd use setup-cvs.py i did setup-cvs.py for common which won't install common into the python dirs seems there is no setup-cvs.py for forms like a release would *** sjc has quit IRC there should be * ajmitch waits for svn to update, and will look actually setup-cvs.py in common does all the tools so you should be able to use gfcvs to start gnue-forms there's only one because everything used to be in one module in cvs :) error if i try gfcvs [ds@exodus intro]$ gfcvs intro.gfd Traceback (most recent call last): File "/home/ds/svn/gnue_head/gnue-forms/scripts/gnue-forms", line 30, in ? from gnue.forms import GFClient File "/home/ds/svn/gnue_head/gnue-common/.cvsdevelbase/gnue/forms/GFClient.py", line 40, in ? from gnue.common.logic.language import CompileError ImportError: cannot import name CompileError great! :) at least this is showing the right stuff, so johannesV can fix it ;) :) class CompileError (Error): pass hmm, I see it there... me too dimas: do you have a directory called 'language' in you gnue-common/src/logic ? i know this has changed during time from a package into a module (dir vs. file) I don't see any recent changes to that area oh, they're not recent ! this has been changed about 2 or 3 months ago yes i have svn revision 6006 should work fine then... * ajmitch does setup-cvs.py it was discussed in http://www.gnuenterprise.org/irc-logs/gnue-public.log.2004-04-13 dimas: what does 'yes i have' mean, do you have a language-dir ? 5821 johannes class CompileError (Error): johannesV: i have language dir there ok, this is obsolet and has to be removed johannesV: confirmed here I get the same forms error hmm, why is the language dir still there? svn should have removed it i don't know why it's not removed on a svn update ?? right dimas: do you have a directory called 'adapters' ? * ajmitch has an adapters dir yes for adapters ok, so you should also have a file called 'language.py' so remove the language-dir and try again ... revision 5519 shoudl have removed the languages dir it went further, then other error just svn collision sometimes i just delete the whole gnue stuff and check it out from svn again ok, gfcvs starts here now it keeps it tidy kilo: that shouldn't be needed :) shouldn't, shouldn't, but it works ugh, I really need that gtk2 driver, wx looks ugly ;) johannesV: it works here too, thanks great ! ajmitch: gtk-driver is updated in current svn most of it should work now johannesV: i open a form with form.run(...) it does show up, but with no icons it seems as if there is a problem with the dropdown in a master-detail-join but i'll work on it :) and says (gnue-forms:2543): Gtk-WARNING **: Attempting to add a widget with type GtkImage to a container of type GtkVBox, but the widget is already inside a container of type GtkVBox, the GTK+ FAQ at http://www.gtk.org/faq/ explains how to reparent a widget. johannesV: excellent :) kilo: can you send me the gfd ? kilo: or at least a simple sample to reproduce ? hmm enter in login box still doesn't work ;) they are in gnue-packages/base/util/forms looks much nicer though CDict.gfd tries to open the other one ajmitch: enter in login-box should first jump from username to password and then calling accept ok :0:> gfcvs -u gtk2 ~/devel/web/phpgroupware/GNUe/accounts_mysql.gfd DB000: /usr/local/src/cvs/gnue-svn/gnue/gnue-common/.cvsdevelbase/gnue/forms/uidrivers/gtk2/UILoginHandler.py:80: DeprecationWarning: but we use it for a constructor for convenience DB000: entry = gtk.Entry () warnings... :) it doesn't change focus here and you have to modify the pointSize in gnue.conf (if you haven't already) hmm, that's strange ... i do not get such a depreciationWarning hmm, pointsize is a little large, true.. :) what pygtk are you using? i'm using sarge but i don't know the pygtk version of sarge ii python-gtk2 2.3.90-1 for sid I'll just lookup sarge ii python-gtk2 2.2.0-1 Python bindings for the GTK+ widget set hmm, I'm using python-gtk2 from experimental, not unstable, I think it's 2.2.0-2 in unstable OT: http://www.madness.at/~mad/pix/softwarewar.png johannesV: status bar update fails DB000: File "/home/gabor/SVN/gnue/gnue-common/.cvsdevelbase/gnue/forms/uidrivers/gtk2/widgets/form/widget.py", line 187, in _setStatusBar DB000: self.statusBar1.push (context, text.encode ('utf-8')) DB000: UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-5: invalid data gar, found out why apt-move decided to ignore a bunch of critical packages :) kilo: ok, have noticed that ok ajmitch: why? forgot to remove file:/ lines so it didn't mirror anything on those that I neglected :) which was a fair chunk of packages *** holycow has joined #gnuenterprise hey, where is r5997??? i committed po translations yesterday and can't see the mail about it email is missing changes are there but email is missing johannesV: i have problems with dropdown in gtk2 i've just fixed it :) but i'm in test phase try enter a contact person in hotline.gfd ah right ok and for the record exactly that problem has been fixed (one minute ago) in curses ui, dropdowns, buttons and checkboxes are subfunctional (nice word btw ;-)) it's not commited now but give me 5 more minutes no hurry i'd like to check for kilo's encoding problem in status bar before i commit fast work :) well, i've detected that problem yesterday evening, so i had a hole night to think about :) oh, i just received email about my yesterday commit... damn svn keywords each time i'd like to add that Id keyword i take the wrong ... is it "svn propset svn:keywords +Id file" or svn propset svn:keywords +"Id" file ? without the + oh, i think it's 'svn propset svn:keywords "Id" file thanks svn propset svn:keywords Id file got it so i'll do another commit (i'm sorry for that) ok now it's correct kilo: can you try your status-bar-form again ? this problem should be solved in the current svn johannesV: are you ready for bug reports ? of course :) when i focus out from a dropdown with enter the text remains selected right actually it remains selected when i focus out no matter how right, too that shouldn't be IMHO only the entry currently having the focus should have a selection ok, i'll try to fix that kilo has reported another one, where calling another form using runForm () fails do you have found other bugs ? yes in a dropdown selecting an entry by typing the first few letters doesn't work that's correct, but i've to check if gtk supports this i think that is something that should be done by the GF level because it works for curses and i didn't do anything to make it work hm sure ? yes it works with curses and i didn't do anything :) ok i think it's GFDisplayHandler.py, lines 805 to 810 ok, the tab-highlighting problem is solved a little side note "official" standard for gpl header is # Short line descirbing purpose of the file # # Copyright 2000-2004 Free Software Foundation # # This file is part of GNU Enterprise # # GNU Enterprise is free software... I try to use that for the files I write ups there's a mistake in about.py ... most of the existing files are wrong is # Short line describing the first line ? with the Copyright line at the end of the GPL block i am not sure if that is a real problem or not just trying to follow the recommendations yes the first line something like # GNU Enterprise Forms - Curses UI Driver - Label Widget hmm, i thought the copyright comes at the end To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it ... oops, pasted twice that is from the original COPYING file so first line is program's name and a brief idea of what it does then comes Copyright then the usual text ok i changed my /home/defaults/gnue :) :) so back to that GFDisplayHandler problem i think i know why it's not working well, that's a start ;-) johannesV: statusbar fix affirmed, thx np, the runForm () seems to take a bit longer meanwhile i try to fix the auto-select on combos *** ajmitch has quit IRC *** ajmitch has joined #gnuenterprise *** holycow has quit IRC *** jamest has joined #gnuenterprise *** ajmitch_ has quit IRC reinhard: how to select pages in curses ui? dimas: page up/down does not work for me hi i really had problems with curses because there is only a little number of keys available for example, there is no shift-pageup/pagedown also, there are no shift-cursor up/down and only 20 function keys not to speak about key combinations with ctrl or alt :( dimas: do you have current cvs? i just did the page change yesterday night yep hmmm i deleted curses from forms source and updated may it be something obsolete in common code? no i don't access common at all ok *** jproby has joined #gnuenterprise *** johannesV_ has joined #gnuenterprise *** ajmitch has quit IRC dimas: page up/down works perfectly for me maybe a terminfo problem? i'm not familiar enough with terminfo to check do you have a bugzilla set up somewhere ? sorry - hello ;^) hi this here is our bugzilla ;-) ok so you may allready know that when you make a query on a modified form dimas: what happens when you press page up/down? reinhard: nothing and i can't exit from the form you have a message [fine] but then query mode is still activated with "execute query" disabled reinhard: wait jproby: odd, what version you running i just tried svn from yesterday and can't reproduce i get the message and return to entry mode *** kilo has quit IRC *** johannesV has quit IRC reinhard: it does not work for intro.gfd but works file for layout.gfd in gnue-samples fine dimas: that's strange changing pages with page up/down doesn't work in intro.gfd neither in curses nor in other uis you have to use ctrl-page keys but they are not available in curses :-( fwiw closing the form works for intro.gfd, too for me with ctrl-Q ok, then it works as for you here pgup/pgdown are next block and previous block i am not really sure what that means it did change pages for me for most forms the key bindings are defined globally, ui independent *** btami has joined #gnuenterprise hi btami hi all reinhard: pgup/pgdn changing pages if they have different blocks in btw. key bindings can redefine in gnue.conf at least i'v fixed it once before... hello btami maybe we can change the defaults hi dimas to let it work with all ui bye, cu all tomorrow btami: i have no idea what an intuitive key binding for changing pages would be *maybe* it is page up and page down but on the other hand if i have a multi row form i would expect pgup/pgdown to scroll n records up/down yes, i like it this way too isn't key binding can be context sensitive? like you (and me) want to see they work another example: the tab key it used for navigate to next entry, but i like it in multi line edits work as usual=whitespace and another one: enter key in multiline edit can make new line in these cases +ctrl produces de original behaviour this is just my loud thinking... *** jcater has joined #gnuenterprise bbl *** btami has quit IRC *** andrew has joined #gnuenterprise *** AndrewSmart has quit IRC *** AndrewSmart has joined #gnuenterprise *** AndrewSmart has quit IRC *** AndrewSmart has joined #gnuenterprise *** ajmitch_ has joined #gnuenterprise *** ajmitch has joined #gnuenterprise * AndrewSmart slaps AndrewSmart a few times :) have to wake up a bit :) * AndrewSmart was playing with the new IRC software version which supports self-slapping good moring USA jamest: I was looking at the event handling mechanism in forms currently all UI's have the code there to handle a keypress when the current widget is a button reinhard: ok then send a buttonActivated when the current widget is a checkbox then send a requestTOGGLECHECKBOX apart from some hacks to make doing a newline inside a multiline entry etc this code is actually the same all over again for every UI now I thought if it wouldn't be better if just every widget would be able to handle the requestKEYPRESS and do what is appropriate so for a keypress, the UI level would just generate the requestKEYPRESS no matter what widget had the focus and all that logic would be in the GF layer sounds reasonable really? i think you should think twice ;-) i'm trying to recall how ths stuff works let me look at the source for a sec ok, i'm a bit confused it seems that in wx there is a common keyboard handler are you saying to break this out and put in the _base widget for each driver w/ widget set specific logic then override that class in the widgets that require different handling ? or are you talking about movving those checks like requestTOGGLECHECKBOX into the GF tree? and only sending case characters thru or something else entirely(tm) bbiab the latter or are you talking about movving those checks like requestTOGGLECHECKBOX into the GF tree? and only sending case characters thru exactly this i like that anything that can make the UI drivers "dumber" i'm all for :) and I can't think of anything (off the top of my head) that this might break well.... would you do the same thing for mouse events? bbiab, for real this time *** chillywilly has quit IRC *** chillywilly has joined #gnuenterprise jamest: ok, i'll do it as to mouse events, the only uidriver i've had a closer look is curses so i can't really talk about mouse events jamest: i'll just write and you can read when you're back i've thought of a system in the GF* layer where the GFInstance gets an event and asks the GFObject with the current focus "do you want this event" if the GFObject says "no" then GFInstance handles or throws away if there is nothing to do so for example a button or a multiline edit could "steal" the return-key event from the normal handler without ugly hacks what would you think about that? a third thing several ui's have native routines for displaying message boxes, about boxes and simple entry boxes (e.g. for requesting a record number to jump to) we've started a change that lets the UIdriver implement e.g. a messageBox method but if the UIdriver doesn't implement it, the [ugly] "forms" message box is used what's your opinion about that? fwiw, it was originally that way but jamest took it out in favor of a generic form-based popup dialog *** jproby has quit IRC i put in the generic message box setup so forms can define their own dialogs and pop them up via triggers BTW: any comments on the twiki changes? and that we'd only have to create those dialogs once and they'd work on w/ any complete ui driver and yes, they are a bit ugly, though I imagine we could purdy them up a bit and I'm not proud, if people want to go back to the per widget set std dialogs that is cool though I really need forms to continue to support custom dialogs defined via gfd syntax sure i also need dialogs in gfd and what about the other idea um with the focused widget being asked if it wants to handle an event on GF level right now it passes the event to all of them doesn't it or wait GFInstance dispatches all events to the object it thinks needs them right? right but it doesn't let the object decide if it needs them so we would probably introduce a new event like requestENTER (to make it distinguishable from which would remain requestNEXTENTRY) and GFInstance would *ask* the current focus object "do you want to handle a ENTER event? " hmmmm and the object could say "yes" or "no" depending e.g. on whether it is a multiline or not and focus is currently handled per form right? i think I had to do that to get the nested forms (dialogs) working yes, i think focus is per form not sure if/how that would be impacted the only other thing I wonder about the event system can do some things that might be impacted IIRC it can queue events, then release them all at once when requested completely ignore events an event can add a new event after itself in the queue i'm not saying any of these will be effected just tossing out things I can think of that might complicate things i'd say nothing of that would matter as we just change the function that's called for event handling so all these mechanisms already have happened i don't see why not to filter one thing I hoped to do some year (heck, it may already do it now) * jamest is collecting his thoughts man, has it been so long i seem to recall the event system taking a shotgun approach to dispatching it transmitted to everything that registered regardless of if that object actually cared about the event type which may be what you're talking about here i wanted to somehow track what each object wanted event wise to reduce the wasted overhead in sending events the recipients ignored but damn, it's been too long, i can't make myself remember the details I don't think the GF* widgets register as an event listener and FWIW I don't think they should they don't long, long ago they did IIRC and the performance was the suck I figured that :) thus my approach to handle this outside the event system IIRC the history was a GFInstance approach, migrated to per widget, GFInstance quickly reborn i can't think of aything that would be bad about adding your filter if I understand it right it should actually reduce the unneeded work caused by events that aren't wanted as now it just passes them thru and drop out right? yes but that's the same it does now AFAI understand so you'd be blocking the unwanted events to cut down on that crap my main reason to do it is to remove those hacks wrt enter on multiline entries etc as well as give you the extra features you want while we're talking about changes and multilines one change I want to see I think field needs a multiline="Y|N" now that I've confused myself, i support it 100% (for today ;) and not use height="" as an assumption as that will break horribly when we get layout management working works for me jcater: let me hug you that's exactly what johannesV_ and I talked about some days ago but I didn't want to bring up layout management the height assumption was based upon the old only system in a absolute placement character based environment *yet* :) doesn't fit in the new forms model reinhard: layout management is high on my wants list (it was also less typing in the gfd in the days before designer existed :) just below the input masks jcater: that's good sigh I'll be glad when I have time to gnue again I'm hoping that come september, I will be able to devote a lot more time i should be starting back up within the next few weeks cool so i will be able to send you my wishes again? :) :) another proposal what would you think if I added to gDebug output besides the file and the line also date and time of the message could help greatly with profiling things fine w/ me you should use the python logging module ;) *** gsoti has joined #gnuenterprise *** johannesV_ has quit IRC http://money.cnn.com/2004/07/21/news/midcaps/krispy_kreme/index.htm?cnn=yes oh, yeah Lord *** johannesV has joined #gnuenterprise *** holycow has joined #gnuenterprise *** johannesV has quit IRC *** johannesV has joined #gnuenterprise *** sjc has joined #gnuenterprise *** johannesV has quit IRC *** johannesV has joined #gnuenterprise holy crap the bytewise guys are code machines as of late /msg jamest they're starting to make us bad s/us/us look/ :) did you ever think about migration old oracle forms applications to GNUe ? :) very much so but pl/sql -> python wouldn't be fun * jcater has given that a lot of thought, actually I do plan to do a oracle reports --> gnue reports converter though I'm just missing a few things in reports before I can do that i have written a report data aggregation engine you can define hierachical report structures, every hierarchy can retrieve their data from a different data source group change, report events (= python scripts) and so on: already working we have all that in reports too ok what about just converting the forms & the block & field-definitions, importing the PL/SQL statements into the python events as comments? that would be easy to do except for a couple of differences gnue forms, as of yet, doesn't support overlapping pages or popup pages, per say I know people which would be very interested though preliminary support for "dialogs" is in there because "just doesn't have the time" or some architectural problems? former ah I probably know the answer, but I ask: what about a report designer? any thoughts/ideas here? lol gnue designer should (in theory) work with any GObject based tree (forms, reports, navigator) the big problem w/ reports is that it's almost too flexible you have some special attributes in reports you usually don't have with forms for example page headers, page breaks, page sums reports is far more flexible than that any flexiblity ends at the end of the paper, I would say :) it can merge data w/ rtf or postscript forms, or output std text, or raw xml and convert the output types on the fly so I can get the same report as a html file, or pdf, or tex, or xml jamest: i would see us making "report types" kind like dtd's then making designer modules/plugins to support those "types" the markup changes as well based upon your desires i use simple tabulation for most basic reports which has it's own markup i cant remember if we call them filters or adapters at this point but other filters (adapters?) i think adapters derek: fwiw, that's the way it works now we just need that dtd now right for the comprehensive "universal" reports that's what I'm trying to say :) im just saying that is how i would see designer dealing with the "flexibity" issue we need a standard one that designer could then have support written for it would require a rosetta stone :) (i.e. dtd) btw: we have a new CIO named here i don't think you'll find a rosetta stone for this and they havent crushed free software usage here yet Derek "Hippie" Neighbors fuqn hippies all they do is smoke pot and smell bad (and write free software) jamest: but, but, but how can you classify derek as a hippie by that last part? * jcater hides ba-Zing! did you think about using/integrating reportlabs pdf creation library? we do AndrewSmart: done ah Andrew, you're not from NZ, are you? reports is evil I have still to dig into the details pure evil nope, I'm from Germany reports are way more complicated than they should be, it seems. which is worse... germans or kiwis * derek runs ;) but I'm born in Monterey, California hope this helps we had a string of andrews from NZ at one time I'm allergic to kiwis, BTW i'm not sure a rosetta stone is possible for designer/reports monterey is half way between germany and kiwi ville i suppose ;) :) i use reports to do merging data into a postscript template created in windows (applewriter printer) and sent to fax I do a lot of RTF merges in reports to generate my dhcp and dns text files based upon my machine database also,label printing to create simple tabular reports damn not quite half 6,879 from Monterey to Christchurch, New Zealand and 5,934 from Monterey to Munich, Germany making designer support such random things completely would be a huge undertaking i have a technical question in forms GFParser.py but if the author of the universal adaptor would finish the damn things jamest: it is dumb to finish them now then I imagine designer could be made to support something like that, maybe a simple subset line 1125 much better to make sure that thousands of production reports exist first then release teh specification that breaks them all DUH!!!!!!!!! the "buildImportableTags" is called each time when the function is run istead of storing the *result* of buildImportableTags in the global xmlElements s/istead/instead/ is there any reason for this? is that function ever called more than once per form? it's called once per form and once per dialog at startup? right? yes derek: since its Duesseldorf, around 800 km away from Munic, maybe you get a better 50:50 relation :) derek: fwiw, universal won't replace the others i measured startup time on my system i imagine it's cruft from when forms only supported 1 form in memory the others just may go into no-maintenance mode for curses it needs 4 seconds for wx it needs 7 seconds to start a form that's too much and i'm trying to speed that up reinhard: fwiw I think that is a huge overlook on our part buildImportableTags should only be inside that if block you are absolutely right... no reason that should be on the return line being done each time ok that saves about 0.4 seconds which is 10% for curses ui that's a start :) yip reinhard: you using the built in profiler at all? nope using gDebug messages at strategic points :) you know it's there? as it was added when things got slow i know it's there lots of useless info, and a few things that are actually helpfull :) yip i think its time we rewrite it in C that's the usual thing with built-in profilers to make it faster * derek runs REALLY fast pyrex i really get along with this screaming... just kidding as dodging the objects being hurled his way no problem cool i mainly use it to find function calls that are being called way more than expected anyway thanks for the info you find really funny stuff if you do it like this like i've wondered what pickeling the gfobj tree and storing as a form.gfc file would do to it how much of the performance stuff belongs to wxwindows? ? i don't think wx slows us down much if at all at least I don't recall it being an issue reinhard: you plan on revamping the gtk2 driver? i think most our startup time is burnt going thru the phased init'd of or form object tree * derek has great interest in it but no time reinhard please tell me I'm full of it if I'm wrong heck, even if I'm right I'm probably still full of it jamest: i like the idea of "compiled" gfd's BUT it worries me from a freedom standpoint jamest: *parsing* needs (for intro.gfd) 0.15 seconds how much was total start time is there a way to run forms in memory and loads forms on demand reinhard: that include the phased init? er let me rephrase that 3.5 - 3.7 seconds with curses ui 7 seconds with wx ui if i open openoffice it is slow but additional documents are fast i know debian started making a "quickstarter" that basically loads some of openoffice overhead by default would there be benefit to a gnue-quickstart 5 seconds for gtk2 ui (congratulations to johannesV) or is the speed issue having to do with opening the forms themselves i'm still finding out also i think we need to look at some point driver/database performance maybe connecting to the database? connecting to oracle takes a lot of time AndrewSmart: no as i know that queries degrade with large recordsets AndrewSmart: i purposely took a form that doesn't connect to a db faster in gnue than with say psql ok :) i'm silent :) AndrewSmart: so wx makes 2 of the 7 seconds appearently but i think its good to start with no db and get the file open and read optimized some fwiw I think this is important long term but we've tended to not focus on profiling as you have to have a working app to profile though I think forms is about to that point jcater: right where it's maturing and it's time jcater: i was just *so* annoyed by the long time the form took to start when i was working on the curses driver reinhard: don't get me wrong reinhard: why not fire it up with --profile I'm happy to see this :) then exit so i thought i'd spend some thoughts on this iirc it generates 3 reports, one of which is total time per function I'm gone now *** johannesV has quit IRC cu tomorrow *** AndrewSmart has left #gnuenterprise see ya later jamest: about 50% of startup time is phaseInit he is a machine :) did you ever consider loading dialogs on demand? must be one of those i robot *** SachaS has quit IRC not loading dialogs on startup would speed up the startup by 1.2 seconds which is about 1/3 *** btami has joined #gnuenterprise reinhard: i would welcome that as long as it is hidden from end user it would probably result in a short delay when a dialog is called for the first time about 1/2 second probably even shorter there's several such things I'd like to do like that like delay filling blocks/fields until a getValue is actually called or a go_field, or whatever is called this way, if I have detail blocks on other pages those don't have to get filled until either a trigger tries to access that block or user displays that block coolest thing would be start the form without dialogs but those kinds of things aren't priorities imho and while waiting for user input, load dialogs in a seperate thread :) hmm btw i'm just kidding for the moment :) thread is a bad word * jcater shudders *** gsoti has left #gnuenterprise i was thinking threading it too but i have no idea how painful this is wrt python and I didn't know if it's cross platform can anybody explain why all connections are in the trigger namespace? because the code to put them there *opens* every connection which can take quite some time when your connections.conf has some entries i was thinking this was so someone could call functions defined in the connection namespace like getting the date maybe? for my connections.conf, this costs 1.2 seconds of startup when i load all dialogs on startup (it's done again for each dialog) hmm it shouldn't open them all how strange apart from the fact, that i'm using a non-database form here it should put them in the namespace, but iirc that should be a placeholder until actually used to be precise it calls getConnection ok let me correct it does not log into the connection (of course, as we have no username and password ) but it instantiates a connection object which can already be quite expensive (performance wise) well, I suppose we could add placeholder objects that don't fully initialize until they are called but I would think that would be an unnecessary diversion at this point it wouldn't help much as i see it most of the time is the *loading* of the connection modules the dynamic import of the module and all that *** kilo has joined #gnuenterprise while i love seeing the performance improvements am I the only one that finds it amusing that hours are being invested to shave 1 second startup time :) i expect forms to be started more than 3600 times by me within the next, say, 2 years and it lets you learn much about forms for example i've just saved 0.8 seconds startup time i'm all for it by simply removing 2 unused connections form connection.conf i did that years ago in forms it's just funny a proxy object would solve that problem ------ class ConnectionProxy: def __init__(self, creator, *args, **parms): self.__creator__ = self.__parms__ = params self.__args__ = args self.__object__ = None def getattr(self, name): if name[:2] == '__': return self.__dict__[name] else: if not self.__object__: self.__object__ == self.__creator__(*self.__args__, **self.__parms__) return self.__object__.__dict__[name] test = ConnectionProxy(GConnections.getConnection, args..) test.connect() ---- something like that i.e., the connection would never be created until a trigger actually tried to access it * jcater goes back to coding javascript *** SachaS has joined #gnuenterprise bbl *** btami has quit IRC jcater: sick bastard reinhard: javascript not proxyobjects :) * jcater was being serious if startup creation is so large for those objects then it might make sense to do a proxy objecty *object jcater: it is not the time consuming stuff is the dynamic loading e.g. when you use provider=psycopg it has to search what directory psycopg is a subdir of you can speed up by using provider=postgresql.psycopg but I was saying proxy the entire getConnection call ah if you have a smart connections.conf it can make the problem go away would it make sense to make more intutitive provider_type=postgresql provider_driver=psycopg or something similar in dcl we did something that was for different reason but which we MIGHT hit here database=postgres major_ver=7 jcater: with changing my connections.conf i reduced startup time from 3.6 to 2.6 seconds minor_ver=4 * SachaS goes and changes his connections.conf reinhard: the intel sales person in the office here tells me to tell you upgrading your PC will shave off a second too ;) hehe please don't tell him rofl i'm using a celeron 700 with x over network night all nite SachaS * SachaS is away: away lol reinhard: my first stab at making forms faster was so it'd run ok on a dual sun ultra enterprise 2 with dual 167Mhz cpus i really ought to get that box running again just to see how it runs there :) *** jamest has left #gnuenterprise *** kilo has quit IRC reinhard: a f1 help key would be useful, where a window shows the curses key (f11 clear, f8 query mode, f9 search, ctrl+q etc) SachaS: i am planning to show the most important f keys in the last line on the screen that's why this line is still free ;) ok will shutup ;) np :) la la la la laaaaaaaaaaaaaaa hello when hitting space in "human" box crashes curses ui yeah check box and button are next on my todo damn there should be more of you :) wasnt there supposed to be a packages chat tonight? night all * SachaZzzz thinks its about time to have a real world beer chat in Austria someday soon *** sjc has left #gnuenterprise *** holycow has quit IRC night all *** reinhard has quit IRC *** dsmith has joined #gnuenterprise *** dneighbo has quit IRC *** dneighbo has joined #gnuenterprise *** holycow has joined #gnuenterprise *** jcater_ has joined #gnuenterprise *** gsoti_away has joined #gnuenterprise *** gsoti_away has quit IRC *** bluesbaron_ has joined #gnuenterprise *** bluesbaron_ has left #gnuenterprise *** dsmith has quit IRC