*** derek has quit IRC *** johannesV has joined #gnuenterprise good morning good morning *** reinhard has joined #gnuenterprise *** btami has joined #gnuenterprise good morning good morning *** SachaS has joined #gnuenterprise *** Muile has joined #gnuenterprise *** Muile is now known as kilo *** SachaS is now known as SachaMampf *** btami has quit IRC *** SachaMampf is now known as SachaS *** kilo has quit IRC *** johannesV_ has joined #gnuenterprise *** johannesV has quit IRC *** johannesV_ has quit IRC *** johannesV has joined #gnuenterprise *** jamest has joined #gnuenterprise good morning jamest I have a question about focus triggers ok it seems like navigating from one record to another (like scrolling to the next record) fires the FOCUS-OUT triggers for the block with the old record loaded and the FOCU-IN triggers for the block with the new record loaded I understand the reasoning behind that - you can do consistency checks in the focus-out trigger and the user can never navigate out of an "icomplete" block is that the reason why this was done? s/icomplete/incomplete/ yes ok focus triggers were to work along the lines of an inverted tree of form -> block -> field and you could think of the focus as moving up a branch and back down to the new location so in block moves would be sure, when you *really* move the focus but I'm talking about the case when you don't move the cursor at all but you just navigate to the next record i.e. you *stay* in the same field, entry, and block but the current record of the block changes i still think it should fire ok I agree on this however I found it does *only* fire the block level triggers and I think it should at least fire the field level triggers, too i would think so as well sigh there *might* be arguments to not fire the page level and entry level triggers i've not worked with forms in months so I fear the next svn up :) as the focus does not move around in the ui, it only moves around in the "logic" anyway we do entry level triggers? I'll add the field level triggers then yes interesting we also have page level triggers hmmm i'm sure they have a purpose (and I've probably used them and forgot :) but i can't think of example off top of head where I'd need them vs a block or field level trigger other than for buttons buttons have *no* focus triggers - they are no entries maybe they were done "just to play safe" when the field/entry split was done doh' i was thinking triggers not focus triggers on that last bit (my understanding is that in earlier times field and entry were the same object) they were it was a design mis-feature carried over from sql-forms where in sql forms you had to create lots of triggers and fake fields on other pages to make a value appear on all pages hmmm maybe then you kept the entry level focus triggers to be compatible with earlier versions of forms like here i have a claim number that I want on every page with the split I just have multiple entries reference the same field yes entry was the addition IIRC it really makes sense oh hmmm field existed from day one I believe anyway, I'll do the focus-in and focus-out game for fields, too cool to be consistent in block/field as to PRE-* and POST-* is there any specific thought behind that? iirc focus trigger evolution was need based :) because they are fired immediately after each other so you could as well have a ON-FOCUSIN and ON-FOCUSOUT pre can stop the focus change it should be more along the lines of pre-focus-out change focus post focus out pre focus in the idea IIRC at the time was pre-focus out could validate now it is pre-focusout post-focusout change focus pre-focusin post-focus-out could perform functions with the understanding that it validated post-focusin i don't think we ever really utilized the feature for anything so it just kinda stayed in there like that one of those "i'll put this here just to get the idea in, then expand later" again, it was based upon sql-forms focus options i'm not sure it's ever been actually used :) I mean it would make sense in this order pre-focusout pre-focusin change focus post-focusout post-focusin yes, that would make far more sense *** derek has joined #gnuenterprise hmmm... seems it was like that once digging through svn history now... seems to have been lost in switching to a common setFocus function used by several ways of moving the focus s/setFocus/changeFocus/ anyway, thanks jamest np, i wish i was more help about svn up.... yes? I really expect your next svn up to result in some debugging work for both you and me :( so you might not try it on mission critical systems first * jamest blinks you're not talking about using one of those mythical testing environments are you? :) another very funny feature of forms we found is autoCommit autoCommit meant that commit was fired when you navigate to the next record but it was *not* fired when you navigate to prev record lol i'd wager that was, um, an unintended feature there also were many other ways to escape the autocommit e.g. autocommit also isn't fired when you simple move the focus to a different block iirc jcater added autocommit as a quick and dirty yes still I found it to be a very nice feature and has sinse moved the project which motivated him to join gnue to a zope based web site but he's stuck around due to our charming personalities :) *** derek has quit IRC you mean jcater is not a forms user any more? there is another thing that jcater added once that I would be curious about the rationale you can set all kinds of properties of blocks and fields in the trigger namespace even things like autoCommit and autoNextRecord etc I would why someone should ever want to change the autoCommit property of a block in a trigger *** derek has joined #gnuenterprise that I don't know *** SachaS has quit IRC *** derek has quit IRC *** derek has joined #gnuenterprise *** jcater has joined #gnuenterprise *** SachaS has joined #gnuenterprise *** klasstek has joined #gnuenterprise *** klasstek_ has joined #gnuenterprise *** klasstek has quit IRC *** nickr has quit IRC *** nickr has joined #gnuenterprise *** johannesV has quit IRC *** klasstek_ has quit IRC hmmmm all that pre/post-focusin/out turns out to be a lot trickier as it seems at first sight like for example if a new record is inserted it would mean 1. pre-focusout 2. insert new record 3. pre-focusin on new record (which would actually already be wrong because the new record would already be the current record) 4. jump back to old record 5. post-focusout for old record 6. jump back to new record 7. post-focuin for new record also the question arises if pre-focusin can validate anything and block if needed and what will happen if post-focusout says it's ok to lose focus but pre-focusin says "i don't want it" now I still wonder: do we actually gain anything compared to the much simpler system 1. on-focusout (which could for compatibilty run pre-focusout and post-focusout) which can validate and block 2. create/move record 3. on-focusin (which can not block) this would mean that all triggers in any case only run on current records bearing the advantage that for example all details are loaded correctly I don't think the focus-in's were necessarily blocking in the original design for this very reason so is there any advantage in having separate pre-focusin and post-focusin? and separate pre-focusout and post-focusout? I don't care going forward but the logic was, iirc pre-focusout could block (that would be its main purpose) then the others were called knowing that the focus was changing (it's been a while though) I see the advantage of pre-focusout and post-focusout but not necesarily of pre-focusin and post-focusin but I'm pretty sure we just wanted to stay consistent with naming couldn't you just write the code you put in post-focusout at the end of pre-focusout? but I don't really care if they were replaced with on-* reinhard, yes I'm willing to "move forward" though no that's not entirely true but I want to be sure I don't move back :-) let me think this again I think it has to do with the tree that gets parsed entry.pre-focus-out -> block.pre-focus-out -> page.pre-focus-out any one could abort if all of those succeed then post-focus-outs are called so I'm not entirely sure how true "couldn't you just write the code you put in post-focusout at the end of pre-focusout?" is ah gotcha I'm thinking out loud so this may not be sound logic :) I'm just trying to remember the "why" of it I think you have a very valid point but then again, it would mean that running the post-focusout *before* the focus *really* leaves the entry/block doesn't hurt at all right? as long as we know that it will in fact leave the focus ok so we're back to the old 1. pre-focusout 2. post-focusout 3. actually move around 4. pre-focusin 5. post-focusin where only 1. can block I think that makes sense and I'm exactly where I was 6 hours ago sorry except for the difference that I now understand it :-) which might be the 6 hours well invested :-) thanks a lot for explaining no problem jcater: while we're talking I saw that a lot of attributes of GFBlock and GFField are changeable in trigger namespace like GFBlock.autoCommit, transparent, autoNewRecord... and I wondered what was the reasoning behind this as I can't imagine any reason to change a block's autoCommit behaviour on runtime where do you see that it's changable? at one time, our specifications for forms was that triggers could practically build a form at runtime and anything/everything was changable/scriptable that was probably a pipe dream (and probably not necessary) but it's possible the code you saw was the start of that general trend ah ok but I too see no practical need to change autoCommit behavior :) (I'm going from memory here... not actually looking at the code) well the dream of building a form at runtime ends at least at the point where you want to create new objects but you're right, I think simply *all* possible attributes of the tag were exported to trigger namespace autoCommit, queryable, editable, deletable, autoCreate, autoCommit, autoNextRecord, transparent similar for GFField - maxLength, minLenght, queryDefault, case, required... I think practically none of them are very useful, and with some of them you might even be able to screw something up if you change at runtime off to TV, bb in 1 h *** jamest has left #gnuenterprise *** kilo has joined #gnuenterprise *** SachaS has quit IRC good night all *** reinhard has quit IRC *** SachaS has joined #gnuenterprise *** kilo has quit IRC *** jcater has quit IRC *** SachaS has quit IRC *** SachaS has joined #gnuenterprise *** alexbodn has joined #gnuenterprise hi all. i wish to try gnue, and i miss the zipcodes examples. can anybody point me to it? i mean i miss the database file :-( brb so, where can i find the zipcodes sample database? please :-)