*** holycow has quit IRC *** johannesV has joined #gnuenterprise *** btami has joined #gnuenterprise good morning good mornin *** kilo has joined #gnuenterprise good morning *** sjc has joined #gnuenterprise *** reinhard has joined #gnuenterprise good morning all *** dcmwai has joined #gnuenterprise wow, subversion has been localized :) * kilo sends a big hug and a dram o' whisky to johannesV. The first for outer joins, the latter for all the misspelling in the mail 8-))) :) *** aries has joined #gnuenterprise hi hi btami,kilo and all hi aries hi aries * aries refreshing his mdk-cooker files, his never give up to use gnue =) do you know about compiere? http://www.compiere.org/product/tour/first.html it's a java/oracle10g based crm, almost free yes if you treat oracle free btami: you can d/l it http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html anyhow, you can't find too much java fans here :) =) I'm not a java fan too, I've coded just small applets in java, but I think it's philosophy is not bad. Anyway, it's unimportant in the GNUe's case :) But the Compiere's functionality and it's stage is very impressive, don't you mind? I think I could not code for gnue in the near future, because I don't know enough about python (and I don't have enough time to learn and to be an experienced python-user) but I need a good CRM... I'd like to help but w/o money and py-knowledge, a think i can't :( if you have knowledge about CRM and other things we want in packages you _can_ help (of course yuo can send us pizza...) 8-)) kilo :) you are the 2nd person in a week who want a crm if you need graphics artwork and other design things, i could help kilo: everyone needs good erp-crm-sal-fin system well, i would need info that we could use to develop a crm kilo, btami: in Hungary, there're a tender of GVOP, which can help the small business are to upgrade ther system to an up-to-date erp. Do you thing we can spend the money (if we won) for GNUe, to develop a professional crm-erp-etc ? kilo: what do you mean about "info"? *** lekma has joined #gnuenterprise hi all aries: info=what is a CRM in your mind hmmm, getting tender money would be great johannesV: i've just seen your mail hi lekma reinhard: info: anything that we could use to develop a crm hi lekma and don't understand yhings and i don't understand things :) you *do* :) well that announce mail is pretty hard to decode 8-))) we used to have things like: lekma, so what's the problem myList = session.find ('class', cond, sort, props) if mylist[0].module_prop: do smthing this now raise an index error lekma, and you are sure myList is *not* empty ? yep hmm but mylist[0].module_prop may be None or used to be can you paste the index-error please ? lekma, can you add a line like "print len (myList)" just before the if ... wait a sec i have to solve a little mystery first (where the hell my cigs are hidden!!!!!) :) :) Traceback (most recent call last): File "", line 16, in XulForm File "/var/lib/gnue/gecocer/xul/forms.py", line 230, in run if gnue_attribs[0].gnue_length: File "/usr/lib/gnue/appserver/language/ObjectList.py", line 95, in __getitem__ raise IndexError IndexError thi is the error well you're rigth len(gnue_attribs) = 0 but it used to work :( i should test len (gnue_attribs) before doing anything else... well lekma you could do: if gnue_attribs: ... which does that length-check without retrieving the complete list from the backend wait.... to be precise: doing if gnue_attribs: ... calls __nonzero__ of ObjectList.py the list can't be empty klass = 'gnue_property' cond = ['eq', ['Field', 'gnue_id'], ['Const', item.xul_property.objectId]] props = ['gnue_type', 'gnue_length', 'gnue_scale'] gnue_attribs = self.__session.find (klass, cond, [], props) ok, what is item ? i think it's cause 'item.xul_property.objectId' item is a xul item hmm, maybe we cannot assume *all* selects with indirect props to be left outer, do we ? but, wait xul_property holds a fk to gnue_property in this situation it's jsut a normal condition but is always empty at the time of call so the condition cannot return a value ? or what do you mean with 'empty' at time of call ? when the call occur the list is empty but it used to work hmm so i should test list before doing anything... well, if you're not 100% sure the list can't be empty i'd call it "defensive programming" :) but i'm still curious about this casse s/casse/case does item.xul_property.objectId contain a valid 'gnue_id' or not ? and if not, what does it hold then ? ok let's restart.... i'm confused this morning :( btami: so, you need to know what i'd like to see in gnue called crm package what should be returned by 'if item.xul_property is not None:' assuming item is an object of class xul_item and xul_property is an fk to gnue_property that can be empty or not ? i think this is where pb starts change it to: "if item.xul_property: ..." btami: if try to write the ORACLE and other (SAP, SCALA) application servers' summary aries: yep lekma, you do get an instance of 'NullObject' which behaves like None btami: is it enough? but is not None ok so here we are but if xul_property is *not* a reference-property you would get 'None' (python type) lekma, best thing would be to check all occurences of "... is None" and "... is not None" and wherever a language-interface-Object is involved change it to " if x: ..." or "if not x: ...." i'm sorry for that, but i thought the 'advantage' of doing foo.bar.baz is greater than the drawback of loosing identity to None since it saves me from a lot of is not None -checks i agree another question how would i "empty" an fk we used to set to None will it work ? i think so, but (what a shame ....) haven't tried ... gimme a few secs since you're trying how would i select occurences of fk that are empty ? lekma, to clear a refrence: just set it to None lekma, can you precise the last question ? do you mean something like this: guys = sess_a.find ('person', {'address_country': None}) you would have to do it like: guys = session.find ('address_person', ['null', ['field': 'address_country']]) (note: using a dictionary for conditions always creates equality for all keys) bbl *** btami has quit IRC *** ajmitch_ has quit IRC I have to go. Bye! *** aries has quit IRC johannesV: that was what i meant... thank for the help *** btami has joined #gnuenterprise *** ajmitch_ has joined #gnuenterprise *** btami has quit IRC *** sjc has quit IRC any common guru around? why is there in gnue-common/src/rpc/drivers/xmlrpc in pw_xmlrpc/ServerAdapter.py line 359: string.join (errors.getException (1), u'\x91') ?? why thi join on u'\x91' ? and then in ClientAdapter a split on u'\x91' let me rephrase: why the char in join and split is \x91 it doesn't seem to decoded by python in utf-8 it doesn't seem to be decoded by python in utf-8 can someone tell me what is this char?? never mind i foound out :) hehe lekma, that was me who did that string.join if you look into "gucharmap" you'll find this sequence UTF-8: 0xC2 0x91 to be PRIVATE USE ONE so we're sure it does not occur in normal text and theirfore it's safe to use it as field-separator (for sending back structured information to the client where it will be parsed again) ok i had a strange pb with this char appearing in errors but it was related to the way the error message was displayed not to the error message actually this char should not appear in a message since xmlrpc's fault-object has just a code and a string in it's constructor we need a mechanism for transporting a tuple (exception-type, group, message, traceback) within a fault-object lekma, do you still encounter problems with the language-interface ? i need to check all code before answerinfg this question and i won't have time to check before tomorrow ok, just let me know if you need some help thx we need a mechanism for transporting a tuple (exception-type, group, message, traceback) within a fault-object wow so you mean by spliting on \x91 i can retrieve exception-type, group, message, traceback (in this order??) greaaaaaaaaaat yes, of course i didn't realize if you look into ClientAdapter.py you'll find the counterpart where all these items are put into a RemoteError yep, now pieces fall together.... ok, great :) * lekma is so dumd sometimes * lekma is so dumb sometimes :) things might get quite confusing some time :) bbl me too if we can transport tuples, we could transport lists too... kilo, the problem here was to do this using a fault-object to signal an exception bah 8-)) *** reinhard has left #gnuenterprise @seen neilt kilo: neilt was last seen here 23 hours, 35 minutes, and 40 seconds ago saying: reinhard: you too if you have time *** kilo has quit IRC *** dcmwai has quit IRC *** jamest has joined #gnuenterprise johannesV: properties should work again sorry for the delay *** titopbs has joined #gnuenterprise *** reinhard has joined #gnuenterprise *** btami has joined #gnuenterprise *** titopbs has quit IRC *** johannesV_ has joined #gnuenterprise *** johannesV has quit IRC *** mixi has joined #gnuenterprise *** dcmwai has joined #gnuenterprise *** titopbs has joined #gnuenterprise *** SachaS has joined #gnuenterprise *** jcater has joined #gnuenterprise bye for today *** lekma has quit IRC *** holycow has joined #gnuenterprise jamest, great ! i'll have a look at it later, thanks ! *** aries has joined #gnuenterprise hi all btami: I've found Oracle Application Server 11i docs, lot of docs about financial, HR, PR, CRM etc. modules of Ora11i btami: they are on: http://oraclesvca2.oracle.com/appsnet/ btami: i think they has useful ideas to transcend it :) would there be a reason unbound datasources wouldn't work anymore? i need an unbound block to have multiple rows but binding to a datasource w/o a table attached leaves the create new record disabled btami: on this url there're implementation and user guides create a new record in an unbound block? never tried that couldn't even tell if it ever worked i seem to recall it working but since I've been MIA for so long I wasn't sure if something changed i have a form that I want to create where none of the widgets tie to a real tables I can't remember that we would have changed that purposedly but well we *do* have changed a few things in forms over the last 2 years ;-) :) *** mixi has quit IRC bye *** aries has quit IRC *** mnemoc_ has joined #gnuenterprise *** mnemoc has quit IRC jamest, i did that using a static source ? i thought static sources had fixed values i need to take input of course, but you still can insert records into a static source i still think there is a bug in the nil datasource driver as it's isPending always returns 0 which makes since from a never going to commit it point of view but forms UI won't let you add a new record until the current one isn't empty wtf am I talking about? ignore me anyway, i have such a situation in gnue-cddb project where i need to select matches available from remote cd-database i do not have a table in the backend available for that, so i create a datasource with type static insert via trigger as many new records and let the user modify that data i'll try it out ok :) bbl *** johannesV_ has quit IRC *** sjc has joined #gnuenterprise *** nickr has quit IRC *** SachaS_ has joined #gnuenterprise *** btami has quit IRC *** nickr has joined #gnuenterprise *** SachaS has quit IRC *** kilo has joined #gnuenterprise *** jamest has left #gnuenterprise *** jamest has joined #gnuenterprise *** jcater has quit IRC *** titopbs has quit IRC *** holycow has quit IRC *** jamest has left #gnuenterprise *** reinhard has left #gnuenterprise *** kilo has quit IRC Hah I just thought of something funny An example gnue app could be a suite of tools for the Hacker's Diet good for you I think Jason probably already wrote something like that ;P he's just crazy enough ;) Hehe *** sjc has quit IRC *** jcater has joined #gnuenterprise