*** ogger has quit IRC *** derek has quit IRC *** Vee has quit IRC *** ogger has joined #gnuenterprise *** derek has joined #gnuenterprise *** Vee has joined #gnuenterprise *** holycow has quit IRC *** jcater has quit IRC *** jamest has quit IRC *** sjc has joined #gnuenterprise *** sjc has quit IRC *** reinhard has joined #gnuenterprise *** johannesV has joined #gnuenterprise *** btami has joined #gnuenterprise *** kilo has joined #gnuenterprise *** thierry__ has quit IRC *** btami has quit IRC *** dcmwai has quit IRC *** btami has joined #gnuenterprise *** thierry__ has joined #gnuenterprise *** dcmwai has joined #gnuenterprise *** kilo has quit IRC *** kilo has joined #gnuenterprise *** SachaS has joined #gnuenterprise *** GNUPredator has joined #gnuenterprise *** kilo has quit IRC *** kilo has joined #gnuenterprise *** dyfet has joined #gnuenterprise *** dimas has quit IRC *** kilo has quit IRC reinhard: the application server has to get restarted to load the changed procedures. reinhard: probably it does not reload them dynamically. *** kilo has joined #gnuenterprise *** dyfet has quit IRC ok. to write triggers or procedures, one has to be programmer. eg has to know what he/she is doing. also questions arise if a job has to be done in a forms trigger or in a application server procedure. first it depends on the size of the job ie if it is a small form with small numbers of entries and data, why bother with appserver but if you choose to go with appserver small tasks like concatenating entries can be part of the form appserver procedures serve imho for business logic hi kilo yeah. i havent written and triggers by hand before nor any procedures before so its somehow a big day for me ;) so i am looking at some samples here and there. lunch time. triggers i have done but no appserver proc yet... *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise *** Sacha_away has quit IRC *** Sacha_away has joined #gnuenterprise *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise *** dcmwai has quit IRC *** dcmwai has joined #gnuenterprise * dcmwai|AWAY is away: Away From Computer *** reinhard has quit IRC *** reinhard has joined #gnuenterprise any designer developer: there is a problem i open gdes and click with the mouse into the still empty form i want to add a new trigger and get the following traceback DB000: Traceback (most recent call last): DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/designer/base/PopupMenu.py", line 127, in OnCreateObject DB000: attributes=hasattr(self,'Char__x') and {'Char:x': self.Char__x, 'Char:y': self.Char__y} or {} ) DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/designer/base/Incubator.py", line 97, in createObject DB000: self.instance.dispatchEvent('ObjectCreated',object=o, originator=__name__) DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/common/events/EventController.py", line 107, in dispatchEvent DB000: handler(event) DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/designer/base/tools/TreeView.py", line 121, in onCreateObject DB000: self.inventoryObject(object) DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/designer/forms/TreeView.py", line 130, in inventoryObject DB000: "%s" % object.getDescription()) DB000: File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/common/logic/GTrigger.py", line 169, in getDescription DB000: return string.upper(self.type) DB000: File "/usr/lib/python2.3/string.py", line 64, in upper DB000: return s.upper() DB000: AttributeError: 'NoneType' object has no attribute 'upper' the same if i want to add a new shared trigger in a page (via mouse menu) SachaS: try to add triggers manually the format can be read in the developers guide for forms dah thanks kilo kilo what are you doing? s#cking with appserver ;) is the sample working? in given conditions yes now trying to decide exactly those conditions 8-)) :) good luck ;) thx kilo/btami: you are the windows masters i have two problems currently ummm haha :) only 2??? a) on windows there is no strptime yes! in wx is there *any* way to parse a date/time string in python under windows? kilo: of course i have more than 2, but for these 2 i need your help :) time.strptime ? strftime ? strftime is the other way around time.strptime is documented to not be available under windows at least i understand it that way no, it exist really great problem a) solved :)) but not equal to mx.DateTime.strptime i know i have to convert to another time format, right? it takes a 9-part tuple IIRC at least it exist on XP are you on win now? no what is problem b)? problem b) is our plugin system i need (want) a way to find out all submodules of a package reinhard: is it helps if i boot to XP now and try what you want to try? btami: don't think so let me explain the problem first i want a function i pass gnue.common.rpc.drivers (for example) and i get ['Base', 'proxy', 'pyro', 'soap', 'sockets', 'xmlrpc'] normally i would just read the directory of .../gnue/common/rpc/drivers and take all .py files and all subdirectories that contain a __init__.py but i was told that won't work w/ mcmillan because there *is* no such directory are you aware of any way to achieve the same w/ mcmillan? it's a known problem :) no knowledge on my side about mcmillan i have an idea but btami mentioned it the other day for sure if we can make .exe installer with mcmillan or with py2exe that contains all dependancies, but does'n package .py files we can use the same codebase and no need for ugly hacks *** jamest has joined #gnuenterprise would that work? could you try that for me? not now, but yes cool, thanks bye for now *** kilo has quit IRC btami: gnue-common/src/apps/plugin.py has a self test code which you can use to try ok *** jamest has quit IRC *** jamest has joined #gnuenterprise reinhard: may i ask you to remove some lines from appserver sample.gsd address_code CI,KP,LA,RE they are sucks firabird's isql does the interbase sql generator qoute incorrectly? sorry, but have to run for kids, l8r *** btami has quit IRC reinhard: does nullable mean, that the field can be empty? yep ok. thanks dang i missed btami reinhard: i get a tracelog when I set one property to non-nullable traceback even SachaS: where? shall i paste? please tell me what you are trying to do i.e. in which step the traceback appears ok. my "inventory_transaction" class had all nullable properties so by accident i hit commit on the transaction form and ... the appserver added a record so I thought I set the ~is required~ option for the filed of the form in designer. did not help still added a record so i changed a property from nullable to non-nullable (in gnue_classes) i removed the tick. so when i have a empty form and hit commit i get a traceback possible somewhere in a commit and goes down to xmlrpclib.py does the traceback say "wrong value for property ...." ? you should see the "end" of the traceback on the server side nope ok then please paste the last few lines here appserver prints a session.store and a session.commit ok here the traceback of the client File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/common/datasources/drivers/appserver/appserver/Connection.py", line 128, in commit self._sm.commit (self._sess_id) File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/common/rpc/drivers/Base.py", line 229, in __call__ return self._adapter._runMethod (self._methodname, *args, **params) File "/home/sacha/gnuenterprise/gnue/gnue-common/.cvsdevelbase/gnue/common/rpc/drivers/xmlrpc/pw_xmlrpc/ClientAdapter.py", line 106, in _runMethod result = to_call (*__args, **params) File "/usr/lib/python2.3/xmlrpclib.py", line 1029, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.3/xmlrpclib.py", line 1316, in __request verbose=self.__verbose File "/usr/lib/python2.3/xmlrpclib.py", line 1070, in request headers File "/usr/lib/python2.3/xmlrpclib.py", line 228, in __init__ Error.__init__(self) TypeError: __init__() takes exactly 2 arguments (1 given) ------------------------------------------------------------ yep confirmed. i change the "non-nullable" back to "nullable" and i do not get a traceback anymore SachaS: thanks for reporting this do you know the problem? i'm quite confused from this error message i have to look at it on my notebook later ok. *** dsmith has joined #gnuenterprise *** jamest has quit IRC *** lxf has joined #gnuenterprise *** jamest has joined #gnuenterprise jamest: question which syntax do you prefer raise Exception, message or raise Exception (message) and if you prefer any of them, why? reinhard: how can I get some info of an object in python? print myobject.info (something in this way) type(myobject) ;) what kind of info? dir (myobject) shows you all properties repr (myobject) shows a string representation type (myobject) gives you the type myobject.__class__ gives you the class (if the object is a class instance) cool. yep. have to get used to python and python documentation. reinhard: i don't have a prefrence i think the latter is used more often in gnue but i imagine you're asking because one way will work better for something so I like that one the best :) there is no difference *** lxf has quit IRC johannesV found out that we're not consistent but anyway where *are* consistent?? ;) lol we are consistant about remaining inconsistnat *** dimas has joined #gnuenterprise reinhard: dts_masterdata_inventory.createResultSet ({"masterdata_item_id": 1537}) this is from a form *** jcater has joined #gnuenterprise i want to get the record where the masterdata_item_id is equal to 1537 i do not get an error when i execute it but the resultset is empty, i think. can you try to use "1537" instead of 1537 ? ok bbl *** wendall911 has joined #gnuenterprise ok *** thierry_ has joined #gnuenterprise *** thierry__ has quit IRC jamest: are you here? yes can i ask you something? dts_masterdata_inventory.createResultSet ({"masterdata_item_id": "1537"}) this returns the correct record, but actually only the primary key of that record is in the record. but I want all fields of that table in this record. i think i miss something here. how do you set this up? did you pass in a fields= i have a datasource in the top of the .gfd file: table="masterdata_inventory"/> ah the fields= did not work so i hard code first: "1537" so i want to get the complete record where masterdata_item_id = 1537 this way I only get the primary key (gnue_id) in the result after: re = dts_masterdata_inventory.createResultSet ({"masterdata_item_id": "1537"}).firstRecord() you're doing a form trigger, i was thinking source at first i started to get into triggers so ... will this return more than 1 record? yeah trigger it only returns 1 record, which ich correct *** Vee has quit IRC ok, there use to be a simpleQuery in triggers that would return one record may work in this case i'll grab a sample if len("%s%s" %(blckdtsrcschool.ntrycity,blckdtsrcschool.ntrystate)) == 0: results = zipcodelookup.simpleQuery({"zip":self}) if len(results): blckdtsrcschool.ntrycity = results[0]['city'] blckdtsrcschool.ntrystate = results[0]['state'] else: blckdtsrcschool.ntrycity = "" blckdtsrcschool.ntrystate = "" ]]> ok i try this. *** Vee has joined #gnuenterprise ok simpleQuery returns a list i list of dicts i am new to python dont have a clue ;) hmm in appserver i see the following: SELECT gnue_id FROM masterdata_inventory WHERE ((masterdata_item_id LIKE '1537')) in only gets gnue_id even with simpleQuery. maybe for a reason ;) have to ask reinhard *** sjc has joined #gnuenterprise well that's unfriendly *** sjc has left #gnuenterprise *** dneighbo has joined #gnuenterprise *** derek has quit IRC does anyone know why a POST-COMMIT-trigger of a block is fired, and a PRE-DELETE-trigger not ? or the other way round, which module is responsible for firing block-level-triggers ? ok, now i've got it... pre-delete-trigger is fired on commmit ... so my first question is obsolete johannesV: i'm pretty sure that's the case w/ all the PRE-INSERT, UPDATE triggers too a great tool for finding this stuff is glimpse what's glimpse ? it's a file indexer/search system an example glimpseindex ~/svn/gnue/gnue-forms glimpse -i post-commit returns all lines in the gnue-forms tree with post-commit (ignoring case) jamest@hobbes:~/svn/gnue/gnue-forms$ glimpse -i post-commit Your query may search about 23% of the total space! Continue? (y/n)y /home/jamest/svn/gnue/gnue-forms/.svn/text-base/NEWS.svn-base: o on-newrecord, pre-commit, post-commit /home/jamest/svn/gnue/gnue-forms/build/lib/gnue/forms/GFForm.py: 'POST-COMMIT': 'Post-Commit' } /home/jamest/svn/gnue/gnue-forms/build/lib/gnue/forms/GFForm.py: block.processTrigger('Post-Commit') is the start of the output takes about 2 seconds to run as the overhead is in the index bbi1h ah, i see ... hmm, so it was the case which made my find | xargs grep fail ... jamest: thanks any php users out here? how do I append to a list() construct? I dont follow ya, jcater.. whadya mean append to the list()? err, I think I meant array basically I need to create an empty array(), then in a for loop, append values to it $arrayname[] = new value; cool *** dimas has quit IRC *** thierry_ has quit IRC *** dcmwai|AWAY has quit IRC *** dneighbo has quit IRC *** Vee has quit IRC *** dsmith has quit IRC *** havoc has quit IRC *** johannesV has quit IRC *** chillywilly has quit IRC *** dneighbo has joined #gnuenterprise *** Vee has joined #gnuenterprise *** dsmith has joined #gnuenterprise *** havoc has joined #gnuenterprise *** thierry_ has joined #gnuenterprise *** dcmwai|AWAY has joined #gnuenterprise *** johannesV has joined #gnuenterprise *** chillywilly has joined #gnuenterprise *** Sacha_dinner has quit IRC *** Sacha_dinner has joined #gnuenterprise *** ogger has quit IRC *** ogger has joined #gnuenterprise *** johannesV has quit IRC just committed something in forms hope i didn't break anything *** johannesV has joined #gnuenterprise reinhard: they were broken before anyway right? :) :) jamest: now as i see you, i remember another thing i wanted to ask you i have two networks network a and network b both are connected to the internet via a gnu/linux firewall i want a gnu/linux machine from network b to have access to network a what is the best way to do this? i assume they are far apart? and will traffic need to constaintly flow across them? about 15 minutes walking distance yes quite constantly if the traffic is random ports then I'd go with a VPN the easiest vpn setup I know about is using IPCOP which kind of vpn? pptp? any hints for debian packages? http://www.ipcop.org/1.3.0/en/admin/html/vpnaw.html the only vpn stuff I played with was that freeswan which is dead freeswan is dead? w/ ipcop it's a few mouse clicks and you are done oh yes, freeswan project shut down recently didn't know that a few mouse clicks I use ipcop at home, too fwiw doesn't sound much like the current setup of these machines... running on an old 486 a ipcop is a turnkey cd so it doesn#t need x? it'll wipe the machine ah and is web based firewall, vpn, dhcp, dynadns ok not a bad product, not as flexible as an openbsd box what vpn protocol does it use? but far, far, um, far easier to admin ipsec we use m0n0wall here.. m0n0.ch/wall *** damokles has joined #gnuenterprise Hi together. running on http://www.soekris.com/ hardware, I believe.. * Vee ships a hellow to damokles. the new website is nice. But i'm missing some. at the old site old chat sessions were listed. I don't find them anymore http://www.gnuenterprise.org/irc-logs/ ? Another thing to remark is www.gnuenterprise.org/project/status.php thanks, will add that page to my TODO jcarter: wouldn't it be nice to get a link to the irc-logs on one page? we're still actively working on the website so it's not in a final form i see: http://www.gnuenterprise.org/contrib/ brings error 404 ok where do you see that link? wait a moment please. I found that link at http://www.gnuenterprise.org/project/search.php it is 'Other Projects' link. ah, yes ok, thanks *** reinhard has quit IRC *** reinhard has joined #gnuenterprise good night. *** damokles has quit IRC *** johannesV has quit IRC night all *** reinhard has quit IRC *** reinhard has joined #gnuenterprise jcater: Sachas contributed an appserver-howto document where can i put that on the website? in the wiki? um where do you want it? I am working on a user-maintained howto wiki area but if you want it to be in the docs section we can do that too is the wiki area already working? * Vee still doesnt know if he's very hip to the wiki (not just gnue, but in general). they alays seem like.. bugzilla is to bugtrackers *** kilo has joined #gnuenterprise I added debian sid howto there it's not an installation howto ok, if you want in the appserver/docs/ area it's a "create applications with gnue-appserver" howto then svn add the file to www/web/tools/appserver/docs/ however i would like SachaS to be able to update it himself ah does he have svn access? no wiki might be best then ok so i have to register? yes or you can email to me will he be able to replace i file that i uploaded? he can edit it, yes ok it's a pdf is that ok? 125 k sent --- svnadmin recover /var/svn/gnue is that the correct command? yes ok wow that was quick figured it would take minutes depends on the nature of the problem ok sometimes it can take a few minutes wow that's a big document is GNUe Classrepository an actual GNUe Form? yep nice SachaS: hi we should get a copy of that screenshot into our screenshots page for appserver well actually johannes just reworked that form for better procedure support (sorry SachaS) SachaS: there's a new system table gnue_parameters that defines the parameters for forms you might have to merge that into your test database err parameters for procedures not parameters for forms i'm confused :) hi reinhard, just reading the logs parameters for procedures... ok will have a look at it SachaS: you might notice, we're just 1-2 days ahead of you :) thats not too much then ;) but i dont have to fix bugs, because i dont know the code ;) reinhard, are the triggers working in your hotline project? yes at some point but johannes might be the better one to ask we should integrate that into GNUe Designer (at some point in the far future :) i have not tried the hotline project, but it has a trigger i want to use as well first time i use triggers so not quite sure what i am doing ;) ok. will check with johannes. reinhard: when I have a trigger in a form, and i want to access another business object, would you do that with dts_mydatasource.createResultSet() ? what other object would you want to access? one that is referenced by the current record? yes. in the masterdata_inventory_transaction I have a reference to the masterdata_inventory object. that's exactly what appserver's procedures are targeted at there you can do inv = self.inventory inv.stock = inv.stock + self.amount and you're done ;) no kidding that should already work what is the self.inventory? i am within a inventory-transaction object self is the inventory-transaction object self.inventory would be the reference to the inventory object must that be the gnue_id ? the gnue_id of inventory object? just looking in your howto dah ;) the code of inventory_transaction.updateInventory would be i = self.item i.quantity = i.quantity + self.addAmount - self.removeAmount that's all ok, will play with that, so no "voodoo" with createResultSet ... but with business objects. not necessary yes btw ok gotcha it would be *much* better if you didn't use underlines in names because we use the underline to separate the module name from the actual name yeah i thought so. what do you suggest? - instead of _ camelCase? youCouldUseCamelCase yes :) ok. you might have noticed that in the line i.quantity = i.quantity + self.addAmount - self.removeAmount the module name is missing because the procedure is defined in the module "masterdata" yes it will be executed in the context of that module oh ok is that good if another module extends a class? which means, all property names that have no _ in them will be prefixed with masterdata_ automatically sure yep because i can always fully qualify if i want to access a "foreign" property (one that was defined by another module) ok. your samples do not use the gnue_parameter yet. no it's a typical procedure that has no parameter luckily ;) ok. because parameters don't work yet :) ok the aussie would say: fair enough hehe does authentication? jamest: huh? sorry that was out of the blue jamest: was that a complete sentence? :) does authetication in appserver work yet because parameters don't work yet :) does authentication? ah ok not really ok, just been meaning to ask there is a list of users in a table with a password (saved as plaintext in that table) and you have to authenticate against that ouch we have not really concentrated on security issues yet this may be totally wrong but import md5 password="hiThere" md5.new(password).hexdigest() jamest: seriously, it wouldn't make the system much more secure there's no random seed but at least it isn't plaintext honestly, i wouldn't even have done this i would have waited for a later release to introduce a real security and access control concept but siesel needed this for his production app and implemented it (IIRC) so officially i'd say we have no security at all because what we have is a temporary hack anyway ah, ok works for me i'm quite sure the protocol itself is not sure either i wouldn't run gnue-appserver over the internet yet :) night all *** reinhard has quit IRC night *** jamest has left #gnuenterprise *** kilo has quit IRC *** jcater has quit IRC *** wendall911 has quit IRC *** dsmith has quit IRC hello freaks *** burtj has joined #gnuenterprise hi howdy was looking to pick jcater's mind, but he is absent anybody else wanna swing away at reporting questions? not I I don't know anything about it kinda what I figured,I'll chase him down some other time he should be around soon I believe he just left the office about 30 some mins ago thanks it's time to go anyway, I'll check back tomorrow *** burtj has left #gnuenterprise *** jcater has joined #gnuenterprise bah burtj was looking for you but he couldn't wait for some reason ,--8<- |17:48 < burtj> it's time to go anyway, I'll check back tomorrow |17:48 -!- burtj [~burtj@melete.oit.pdx.edu] has left #gnuenterprise [] |18:04 -!- jcater [~jcater@cpe-066-061-071-147.midsouth.rr.com] has joined #gnuenterprise `-->8- hmm he comes in at the worst time for me each day :) right before I leave work to pick up TJ from care g00f *** slashdotted has joined #gnuenterprise havoc you there? *** jamest has joined #gnuenterprise crap have been slashdotted ;) argh *** slashdotted-vc1 has quit IRC *** |dcmwai| has joined #gnuenterprise hey |dcmwai| <|dcmwai|> jamest, You are looking for me? are there any user docs on aria i've got someone looking at quickbooks but wants to access over the internet :) <|dcmwai|> jamest, No.. there isn't any... last time fletch is writting it however when his hdd crash his life crash at the same time... so we got nothing. :( <|dcmwai|> jamest, VPN :) no aria :) i'd rather they go web as the remote user in 15 miles in the country on dialup <|dcmwai|> jamest, haha :) i assume it's usable right? <|dcmwai|> well it is a good choice.. but It have some problem (now that I found) <|dcmwai|> the customer list cannot be delete... ( :( bad news) *** |dcmwai| has quit IRC *** |dcmwai_| has joined #gnuenterprise <|dcmwai_|> sorry I was disc i planed to install it tonight but it's already 9:45 :( hi howdy bbiab *** |dcmwai_| has quit IRC *** |dcmwai| has joined #gnuenterprise *** jcater has quit IRC *** jcater has joined #gnuenterprise *** jcater has quit IRC *** jcater has joined #gnuenterprise *** dcmwai|AWAY has quit IRC *** thierry_ has quit IRC *** havoc has quit IRC *** Vee has quit IRC *** derek has quit IRC *** havoc has joined #gnuenterprise *** derek has joined #gnuenterprise *** Vee has joined #gnuenterprise *** thierry_ has joined #gnuenterprise *** dcmwai|AWAY has joined #gnuenterprise *** |dcmwai| has quit IRC