IRC logs of #tryton for Wednesday, 2008-12-10 #tryton log beginning Wed Dec 10 00:00:01 CET 2008
cedkX0d_of_N0d: but as it will be generally binary document that will be attached like .doc, .jpgeg or .odt00:00
cedkX0d_of_N0d: mercurial will also store copies instead of diff00:00
cedkX0d_of_N0d: by the way webdav has many extentions: versioning, calendaring, groupware, ...00:00
X0d_of_N0dcedk: The guy I work with worked on setting up calendaring. The extension to the protocal is there, but when we looked at it it wasn't really implimented very well in anything00:03
bechamelX0d_of_N0d: another solution is just to generate a ics file that calendar app can load (like google calendar does)00:06
cedkX0d_of_N0d: you try with wich library?00:06
X0d_of_N0dbechamel: yeah, but that isn't really a good solution for shared calendars that need multiple users00:07
X0d_of_N0dAaron used a hacked up version of darwin cal server00:08
X0d_of_N0dapple guys write some strange python00:08
X0d_of_N0dit's all xml based... kind of does some strange stuff00:08
cedkX0d_of_N0d: what was not working?00:08
X0d_of_N0dBut then again, doing shared calendars is actually kind of a hard thing to do, especially with the way people (mis)use them.00:09
cedkX0d_of_N0d: we will make a backend with Tryton models, so the WEBDAV will be just a protocol to access it00:10
cedkit seems that CALDAV is the standard for calendar00:10
cedkiCal, Thunderbird, Sunbird, Evolution support it00:11
cedkand also google calendar00:11
X0d_of_N0dyeah, caldav..........00:11
cedkand it seems that outlook can be configured to support it00:12
X0d_of_N0dyeah, caldav is what darwin calendar server uses....00:13
X0d_of_N0dso every time you change your month it queries the calendar server00:13
X0d_of_N0dwith darwin cal server it spikes your cpu up to about 100% for a second or so00:13
X0d_of_N0dtimes 50 users looking at their stupid calendars...00:13
X0d_of_N0dcaldav (at least mac's version) pounds the crap out of a server00:13
CIA-54tryton: C?dric Krier <> default * 1103:7ff1d44306cf tryton/tryton/common/ Fix override of variable args00:13
X0d_of_N0dit's probably just a poor implimentation00:14
cedkX0d_of_N0d: is it the server or the client that uses the cpu ?00:14
X0d_of_N0dbut I'm not entirely sure the protocal isn't partially to blame....00:15
X0d_of_N0doh, and there are some problems with clients too00:15
X0d_of_N0dligthning and sunbird, for example, don't load the calendar until half an hour after you open it (by default)00:15
X0d_of_N0dso someone sets up a calendar, then closes the app, then opens the calendar again and complains about how the cal is missing...00:15
-!- yangoon1( has joined #tryton00:15
X0d_of_N0ddarwin cal server uses a bunch of flat xml files, so there's probably a ton of disk use too00:16
X0d_of_N0dlemme look at our munin of our cal server really quick00:16
X0d_of_N0ddamn... we don't have munin set up on that system00:17
X0d_of_N0dwell it's a vserver anyway....00:17
cedkX0d_of_N0d: what will you suggest as protocol ?00:17
X0d_of_N0dwell.....caldav is the best supported00:19
X0d_of_N0dthe other ones really just don't work00:19
X0d_of_N0dwe were going to use this implimenatation of caldav instead of apple's
X0d_of_N0dbut... it was broken when we went to look at it00:19
X0d_of_N0dif you're going to impliment caldav from the ground up in tryton, you might be able to fix a lot of the problems... I really haven't looked deep into the protocal00:20
cedkX0d_of_N0d: first it will be a big job, and I think if we start it we will look at
X0d_of_N0dACTION shrugs00:22
X0d_of_N0dyeah... definitely a big job00:23
X0d_of_N0dbut really, as far as I can tell, there isn't anything good in the shared calendar world00:24
X0d_of_N0dand honestly, the way most people seem to use a calendar here, they SHOULD be using a local one instead of asking us to have set up a server based one00:25
X0d_of_N0dand it kind of depends on what you want to use it for too....00:25
X0d_of_N0dmost people just dump in dentist's appointments and crap00:25
X0d_of_N0dthen some people drop in their own stupid stuff on the global calendar...00:26
cedkX0d_of_N0d: on an ERP view, the main goal for me is to be able to see the calendar of other employee to see if there are available at one date00:26
X0d_of_N0dbut when we were asked to impliment it no one told us what they wanted so....00:26
cedkX0d_of_N0d: or create meeting for groups, etc...00:27
X0d_of_N0dcedk: that seems like a good goal. What users tend to want is to see the work shedule (days off and such).00:27
X0d_of_N0dcedk: one of our guys wants to be able to organize meetings...00:28
cedkby the way, I just try the webdav with 10000 records and it works well, despite what Fabien says on his post00:28
X0d_of_N0dthe meeting stuff would work really well if it was handled WITHIN the client, instead of the way it's handled here...which is to say it's not00:28
-!- rvalyi(i=5645c57e@gateway/web/ajax/ has joined #tryton00:28
bechamelcedk: maybe it's possible to re-read an ics file edited over webdav and resync it with the db (at least if the webdav client create unique id for new events)00:28
cedkbechamel: ics globaly is what the caldav protocol send to the client00:29
X0d_of_N0dI'd almost suggest that the calendar be read-only00:29
rvalyimortel, les devs de tryton utilisent irc! Salut les gens, un OpenERPien de passage...00:29
cedkbechamel: but there is some optimisation to send only what the client needs00:29
bechamelX0d_of_N0d: read-write in the gtk client + readonly ics is not bad imho00:30
cedkbechamel: for a first step yes00:30
X0d_of_N0dall scheduling should be done from inside the server, and all messaging can be done using the internal messaging protocal00:30
bechamelcedk: maybe caldav is smart enough to send only new events not all00:30
cedkrvalyi: it is community :-)00:31
cedkbechamel: I read faster the ISO, and there is many possibility to the client to query the server00:31
cedklike event from this date to this date00:31
X0d_of_N0dbechamel: the main confusion that people have is that they'll set up a meeting on their group's calendar, but no one will be informed of the meeting00:32
X0d_of_N0dbechamel: or they'll set up the meeting, then invite everyone, and then everyone has too meetings because they were invited and added it to their own calendar00:33
cedkX0d_of_N0d: that is not the protocol fault, but the backend00:33
cedkX0d_of_N0d: google calendar works well with that I find, but only if everybody has a google calendar00:34
bechamelX0d_of_N0d: yes calendaring should always come with mail notifications00:34
cedkbechamel: or request :-)00:34
X0d_of_N0dcedk: well, or the wetware00:34
X0d_of_N0dcedk: pbcac00:34
rvalyiguys: if I can have my words on Tryton; I think most of the reasons why you forked were corrects (like too many features in TinyERP but not enough solid ones), too many regressions... Feedback too low.. But now I think half the th reasons might be gone away. I any case, I think you will make less working on your side than collaborating. my 0.2$00:34
cedkX0d_of_N0d: pbcac ???00:34
X0d_of_N0dcedk: problem between char and computer00:35
bechamelrvalyi: i dont undertans, your advice is that we should collaborate ? you know fabien will never accept that00:35
X0d_of_N0dbechamel: but sometimes a boss will just want to nudge users and point out there is a meeting, but not say "you need to attend" like sending an invite does00:36
rvalyibechame: well for sure now it looks like your relations passed the return point... Why not take an other pseudo then ;-)00:36
X0d_of_N0dACTION looks at rvalyi 00:36
X0d_of_N0d20 cents... damn inflation00:36
X0d_of_N0drvalyi: there are several basic design choices that differ between openerp and tryton00:37
bechamelrvalyi: the return point was anterior to the fork and was one of the reason behind it.00:37
X0d_of_N0drvalyi: these two projects are going in different directions... this may not be obvious from the outside, but it's very obvious by looking at the code00:38
bechamelrvalyi: and to be honest i don't think that half the reasons are aways00:39
rvalyiWell in any case that's sad, because for sure you got a few points with Tryton. That's said between the two options, it's unlikely I bet on you. Of course not everybody can compare communites, but it will be very hard.00:39
cedkrvalyi: I think there is enough places for many OpenSource ERP00:40
rvalyiTechnology for sure matters, but if Compiere, ERP5, Ofbiz and now Openbravo are tow fingers to collapse, that's because oss ERP's is a damn hard topic. Being on you own sounds pretty rsiky to me00:40
bechamelrvalyi: we don't want to fight, we don't want to win anything, we just want to do something else. my best wishes is that openerp and tryton are gonna be/stay two successfull soft. Choice matters00:41
rvalyicedk: yeah, you are probably right. I'm pretty confident you'll end up with something; I never said you woul'd reach something. Still what I believe is that you might miss the major success while not consolidating OpenERP that would for sure benefit from your improvements00:41
rvalyihow, and if you gus have one minute: what's the point about the webservice change: login once and then going on with a token, why does it matter? (sorry if that's a dumb question). The openERP choice sounds unusual but seems to work, what is the flaw?00:43
X0d_of_N0dthe things that make Compiere, ERP5, and Openbravo seem to be the very same things that restrict openerp... that being primarily their dificulty to code00:44
cedkrvalyi: the password is sended in clear on every request00:44
cedkrvalyi: and what Fabien says about the client that crashs when the server is restarted is False00:44
bechamelrvalyi: the first reason was to speed the request, the second is to send the password less often00:44
cedkrvalyi: the client just reconnect00:44
rvalyicedk: sure, but as you would end up on  HTTPS, why bother?00:45
X0d_of_N0dopenerp is head and shoulders above the others, but tryton is equally more clean and clear00:45
cedkrvalyi: second point about security is that it is not good to keep password in memory00:45
rvalyispeed the request: because you don't have to crawl the DB to see if the user is authenticated at each request? But how much does it matter compared to network latency, I don't get it....00:46
cedkrvalyi: no the speed doesn't change here00:46
bechamelrvalyi: you win also a dns request00:46
rvalyiwhy? a dns request?00:47
cedkrvalyi: next point is that with a session, we have timeout so if you let you computer idle the Tryton client will be disconnected after some time00:47
cedkbechamel: no00:47
bechamelcedk: ok sorry, i learn something else today00:47
cedkbechamel: I set up a DNS cache on TinyERP netrpc00:47
cedkrvalyi: if you look arround, session model is pretty common00:48
bechamelrvalyi: but after all you see a problem to keep the socket ?00:48
rvalyicedk: "next point is that with a session, we have timeout so if you let you computer idle the Tryton client will be disconnected after some time"  But an OpenERP doens't leak any server side load between two requests as it's considered disconnected, so again what's the bennefit here?00:48
cedkrvalyi: clear text authentification is not the best00:48
cedkrvalyi: security00:49
rvalyicedk: OK, I know that the session model is the way. But if it's on HTTPS, what's the difference?00:49
cedkrvalyi: any software with sensitive data has session timeout when idle00:49
rvalyiOK, I got it00:49
cedkrvalyi: by the way Tryton is not on HTTPS but SSL00:50
rvalyiit's because the client keep the password in memory, ok00:50
cedkrvalyi: yes00:50
rvalyiwel, whatever SSL, doens't matter to me00:50
rvalyidumb question then00:50
X0d_of_N0drvalyi: do you trust everyone on your network? more over, if you use this outside your company do you trust everyone on the internet?00:50
cedkrvalyi: with OpenERP, if you leave the client and come one day later, you can still use it without entering the password00:50
rvalyiX0d_of_N0d: If I'm on HTTPS / SSL, why would I need to trust everyone? It's tough to hack an HTTPS...00:51
cedkrvalyi: I know a little about security as I work in a company that makes security network appliance00:52
X0d_of_N0drvalyi: you don't have to as long as the cert is valid and not self-signed00:53
rvalyiBut still , an OpenERP client could logg off after some inactivity delay. To me only the password in the GTK client memory is a real issue00:53
yangoon1rvalyi: if someone hacks your workstation and gets the credentials, SSL doesn't matter00:53
X0d_of_N0drvalyi: or you, or your people, actually pay any attention to certs00:53
cedkrvalyi: it can but it is strange to put this on the client side00:54
rvalyisure, it's not the common way of doing, I was just wondering how much it was a flaw00:54
cedkX0d_of_N0d: in Tryto, you have SSL info when you put the mouse over the lock00:55
cedkrvalyi: the main issue is really the password keept in memory00:55
rvalyiguys, actually to me, the largest problem of OpenERP is not the technology. There are flaws for sure, but OpenERP is already hundred times better than Compiere, SAP, Openbravo, Navision and co00:56
bechamelrvalyi: so waht is the problem ?00:56
X0d_of_N0drvalyi: what, to you, makes OpenERP better?00:57
cedkand in Tryton, I think we can improve it because we let to the garbage collector the cleansing of the memory00:57
rvalyithe biggest problem is actually the lack of polish in the feature that make you, as a consultant work a lot to fulfill a customer requirement or sell it with a determinist price. I'm cursious, do you share that analysis? If yes in which ways do you address it?00:57
X0d_of_N0dI agree, but I'm curious what you see00:57
cedkrvalyi: there is some guidelines that we try to follow like:00:59
rvalyicedk: Anyway, if Jython on day get something as good as JRuby, Then I would like to see OpenERP or Tryton run on Jython, then you'll have a TRUE garabage collector, a TRUE multithreading, a TRUE SGBD connector...00:59
cedk- allowing as much as possible, the override of functions00:59
bechamelrvalyi: yes of course we share it, and that why we rework all the modules, and that why fp can tell happily to everobody that tryton is  miles away in terms of business coverage00:59
rvalyiand BTW by migrating to Jython, you good benefit the MOP and code your modules in JRuby, wouldn't that be a must?00:59
mmarshallrvalyi, what's lacking with python's garbage collector?01:00
cedk- put docstring on function01:00
cedk- make things as simple as possible01:00
rvalyiIs that some generationnal GC like the JVM has? Not too sure. About the threading, I'm quite sure...01:00
cedk- put only necessary information on core module and extend it with other modules01:00
rvalyi"put docstring on function" -> for sure that's one thing I can't understand in OpenERP01:01
bechamelrvalyi: i saw your idea on the forum, for me it's a nice technical challenge but from a pratical point of view, i thing cpython is good enough (even if i agree with you threads are better in java, i don(t know for the gc)01:01
X0d_of_N0drvalyi: I'm not a consultant, so the benefit I see is that it's easier for me to import data into openerp than any of the others. also it's easier to write modules, which is similar to what you said.01:01
rvalyithat's the same as fp commits labeled 'improvement' and 'bugfix' without any hell crossref01:01
cedkbechamel: not cpython but psyco and Tryton support it :-)01:02
rvalyiyeah cpython is good enough, sure01:02
bechamelcedk: python threads are not gonna be better with psyco01:02
rvalyian other point is that Openbravo just raised 12M$ by making investors dream about SUN buying them cause they run on Java01:03
cedkbechamel: not for thread but for code execution01:03
cedkthe main issue with python is that it is mono-core I think01:03
mmarshallrvalyi, There's information on cpython's gc here:
rvalyiSun will never buy them cause it's only Oracle pl/SQL, but if you want to pay for a java based ERP, OpenERP/Tryton on Jtython is by far the easiest way01:03
bechamelrvalyi: i was told that most of code in openbravo was plsql not java, can you confirm ?01:03
cedkbut with handle the issue by allowing to setup many instance of the server on the same host01:04
X0d_of_N0dcedk: it's single threaded unless you fork it, yeah01:04
X0d_of_N0dit would be possible to fork on connection though01:04
cedkX0d_of_N0d: but we use thread and not fork01:04
X0d_of_N0dACTION thinks....01:04
cedkX0d_of_N0d: fork cost too much01:04
rvalyibechamel: sure, just look at the CDATA inside the XML files. 6 months ago that PL had a Compiere license header with old dead code from Compiere, back to 2001 when it was for Goodyear Germany. And look at their wiki howto, ther aren't in Java...01:05
X0d_of_N0dcedk: ok01:05
X0d_of_N0dcedk: ahh, ok01:05
X0d_of_N0dACTION hasn't really played around with threading in python01:05
cedkX0d_of_N0d: i think the best is if you have 8 cores, you run 8 instance of Tryton01:05
mmarshallPython has logical threads, but each logical thread shares a single 'real' thread.01:05
mmarshallSo you can only do multi-core threading in c extensions.01:06
mmarshall(Or use multiple processes.)01:06
X0d_of_N0dcedk: because of the way it works there's no reason you couldn't do loadbalancing with tryton on multiple systems, right?01:06
rvalyiconfirm, that's a Giant Lock, like MRI Ruby and unlike JRuby01:07
bechamelmmarshall: do you know if tasklets or processing are a good solution ?01:07
rvalyiwell, doesn't matter too much. Having JRuby modules, a Java server, statically typed low level (not business) would just be too great...01:07
cedkmmarshall: are you sure ? I try it and I see 2 thread with ps for the Tryton server01:07
mmarshallbechamel, I haven't needed to use either in production yet, but they look good for some uses.01:08
cedkrvalyi: by the way, one more things about session, is that we keep a thread running for each client so on each request the server doesn't need to create a new socket and a new thread01:08
mmarshallcedk, It might actually be separate threads, but only one thread can run python code at a time.01:08
mmarshallSo it might as well be a single thread.01:09
rvalyicedk: I think the point is that Python has parralelism, not concurrency01:09
rvalyithats partially were the JVM and thing like JRuby and Jython later on will enter into play01:09
cedkso ok, any way, you can run many instance as we keep cache syncronized01:09
mmarshallSo unless if you have some processing in a c extension that releases the Global Interpreter Lock (GIL) you don't get much from threading.01:10
cedkmmarshall: except parallelism on IO access01:10
rvalyiof course, this doens't matter for the average small company needing an ERP. But for large hosting like Google, this might be a differentiator01:11
cedkmmarshall: like connection to the DB which is still the bottleneck of the server01:11
bechamelrvalyi: i think that if the kernel is statically typed it will impact modules a lot (maybe completely)01:11
rvalyiI mean for an efficient Saas01:11
bechameli was wondering today if its possible to use GAE with postregsql ?01:12
rvalyibechamel: you certainly could have the ORM, OSV and XML stuff statically typed like a Java+JRuby combo, I doubt that would hurt01:12
cedkrvalyi: I don't think that if you want to run a SAAS, you will use one server for all your clients01:12
mmarshallcedk, Ok, in a case where it's waiting for a response from the db, yes, another thread would take over.  (So long as the db connector is releasing the GIL like it should.)01:12
rvalyicedk: sure, but then computing powers starts to matters anyway01:12
bechamelrvalyi: all business classes inherit from orm01:13
X0d_of_N0dcedk: you can run multiple instances of tryton across multiple server though, right?01:13
cedkmmarshall: how can I check this ?01:13
rvalyibechamel: what's the trouble JRuby can inherit extends Java base classes at will, just as Jython can I think01:13
cedkX0d_of_N0d: yes, on the same host or on different hosts01:14
X0d_of_N0dcedk: and it's possible to cluster postgres, so.....01:14
cedkrvalyi: but what has Jython that Python doesn't ?01:14
rvalyiI think that's the future. But in any case I think OpenERP / Tryton architecture are pretty OK and way better than competitors, so as I said, the main problem for broader adoptions aren't here01:14
cedkX0d_of_N0d: I'm not sure for writing01:14
bechamelrvalyi: maybe you are right i never used jython01:14
mmarshallcedk, searching for "psycopg2 GIL" seems to imply that psycopg2 is GIL aware, so I guess you're good.01:15
cedkmmarshall: great and psycopg1 ?01:15
mmarshall(So long as you're using psycopg2 version 2.0.7 or later.)01:15
X0d_of_N0dACTION goes to look into it01:15
mmarshallSee here:
mmarshall"Fixes for a few memory leaks and GIL misuses."01:16
rvalyicedk: today nothing. In one year it could be faster, have tru multithreading, offer Java strong libs for XML,SOAP,JMS  have an easier way to optimize using Java then C, better remote monitoring, fine grained choice between static Java and Dynamic Python...01:16
cedkrvalyi: for threading, I read that Python3 has a some good stuff for that01:17
rvalyicedk: so it has for optionnal static typing I think01:17
cedkmmarshall: it seems that psycopg < 2 unlock the GIL01:18
rvalyibut just like MRI 1.87 Ruby and 1.9 Ruby are loosing against JRuby (even with way more resources), I think an amateur interpreter has no chance against the JVM if Sun wants to push Jython as far as JRuby which looks what they are now trying01:18
rvalyiguys, I'm curious about an other thing: what is your business model? On what money are you running for now?01:19
cedkrvalyi: don't forget Parrot :-)01:20
mmarshallrvalyi, Static typing was something that was talked about several years ago, but didn't make the cut.01:20
bechamelrvalyi: "amateur interpreter", hum01:20
mmarshallrvalyi, although you could use the new function annotations for specifying types.01:20
cedkPython is used at Google :-)01:20
cedkand NASA use Python01:21
mmarshallAnd *I* use python!  Don't forget that! ;)01:21
rvalyi(oh one last thing about Jython: JRuby got there because some smary guys like Tim Bray at Sun decided that Rails would be the killer app the JVM would need. If those guys see OpenERP / Tryton IS the killer Jython app they need, that could push Jython ahdead. For now they are slowly porting Django. Of course they don't have Nutter in the team, but they aren't to slow either)01:21
bechamelrvalyi: for the business model, it's roughly the same than tiny, execpt then we don't want to charge partners if they want to remove the logo :),01:22
rvalyibechamel: but Tiny is making a some money out of their partners, so how could you afford not doing so?01:23
cedkrvalyi: not completly the same, we provide devs and support01:23
rvalyiok, how many customers for now?01:23
rvalyihow many employees? Is taht a company?01:23
bechamelrvalyi: you need support ?01:23
rvalyiI'm selling support ;-)01:23
rvalyiat wwww.Smile.fr01:24
cedkrvalyi: Tryton is not only B2CK, there is other people and companies01:24
cedkfor companies01:25
cedkpeople can be found in the contributor list or on the chan :-)01:25
rvalyiI find it Ok OpenERP charging partners, except that it's too expensive for developping countries, they should have a way to address this01:25
mmarshallIs there anyone using Tryton in the US?01:26
cedkmmarshall: X0d_of_N0d is from the US01:26
rvalyishame on you01:26
rvalyisorry, was to easy ;-)01:26
rvalyiand now that US voted right, there is no more reasons...01:27
cedkrvalyi: Please don't speak politics on this chan01:28
rvalyiyeah linuxfr is meant for it ;-)  ( to deal with oss ERP's polictics)01:30
mmarshallSo, is there a module available to rearrange the address forms?01:30
cedkmmarshall: not yet, but the address form can be customized easily01:31
cedkmmarshall: what do you need?01:31
mmarshallZIP after city, mostly.01:31
mmarshallAnd use TX instead of Texas.01:32
cedkmmarshall: look at modules/party/ line 4201:32
cedkmmarshall: there is a function that is used in each report to display the address01:32
cedkmmarshall: so you can create a module that override this function and change the order01:33
rvalyian issue we ran into today with internationalization is that OpenERP doesn't seem to translate report headers (probably because the setlang is not reached yet), how stand Tryton here?01:33
cedkrvalyi: the header is translated01:34
cedkrvalyi: but you have it on the report in one language01:34
rvalyion other issue is that for a country selling to France and US for instance, they can't afford just translating dates because thir salesman will make error when reading 09/12/2008 vs 12-09-2008, so we should find a way to print the month explicitely01:34
cedkrvalyi: in Tryton, you can override the format_lang function and display the date with the format that you want01:36
rvalyicedk: I'm curious: what abou the rest of the OpenERP belgium team (not fp), did they come after or before you, how good are they (honnestly?)01:36
cedkrvalyi: don't think that I will answer this question :-)01:37
rvalyicedk: Python has no open class like Ruby, right? So I can't subclass the Hash base class to send a nice message for instance is a key isn't found, correct?01:37
bechamelrvalyi: ask fp :)01:37
cedkrvalyi: but somes was there when we leave and others not01:38
cedkrvalyi: don't know about "open class"01:39
cedkrvalyi: but you can replace any class of any module01:39
cedkrvalyi: if it is in python01:39
cedkI think01:39
rvalyiI think it's hard to find people able to developp on OpenERP / Tryton, I mean to be autonomous. We certainly have difficulties around this at Smile to reach our full spedd01:39
bechamelrvalyi: in python you can do "instance.old_method = lambda *a: return None", but i don't know if it answer your question01:40
rvalyicedk: even base classes backed by C?01:40
cedkrvalyi: I don't know01:40
cedknever try01:40
rvalyiwil try01:40
mmarshallrvalyi, this is called "monkey patching" and is generally frowned upon in python.01:41
rvalyirails does that a lot and smartly I think01:41
rvalyi(sometimes a bit too much of course)01:41
mmarshallIt's mostly a matter of taste, but all the monkey patching is something I really don't like about rails.01:42
rvalyiI python had no len(my_fucking_table_wich_is_an_object) I would almost love it01:42
bechamelrvalyi: there are a lot of openerp dev at Smile ?01:42
rvalyibechamel: do you mean enabled devs?01:43
cedkso it is late here, good night!01:43
rvalyijoker, just like for you about Tiny01:43
bechamelrvalyi: both01:43
mmarshallcedk, thanks for pointing me to the address stuff.01:43
bechamelrvalyi: ;)01:43
rvalyibuy, cice talk01:43
rvalyierr, bye01:44
rvalyiOK, then Tryton is not don by true hardcore devs coding overnight, that's known already01:45
bechamelrvalyi: otoh it's 2 in the morning ..01:45
rvalyiand I've that fucking sale direct delivery module to developp...01:46
bechamelrvalyi: validate packing when the sale is done ?01:46
rvalyia bit more: looking at virtual stocks and product supplier to choose a direct delivery,01:47
bechamelrvalyi: direct means: from the supplier direct to the customer ?01:48
rvalyithen changing the sale into make to order, cross linking the so_line and the po_line over the MRP, pasting the shipping address into the po, changing the destination of the picking...01:48
rvalyiyes it means01:48
rvalyisale_supplier_direct_delivery in trunk extra_addons01:49
rvalyimore soon01:49
bechamelrvalyi: not an easy dev i agree01:49
rvalyiwell, I was still learing the framework, now I think I master it at some point01:50
-!- vengfulsquirrel( has joined #tryton01:51
CIA-54tryton: Bertrand Chenal <> default * 1341:fd9a4bf8bab4 trytond/trytond/ir/ Fix cron messages: fallback to default langage if missing on the user01:51
rvalyian other thing: you server side ordering + boolean conditions between srearch fields is definitely a good thing too I would like to see in OpenERP01:52
bechamelrvalyi: doesn't fp tell in the forum that it will be added for the 5.0 ?01:54
vengfulsquirrelWhat is tryton's relationship with openerp ?01:55
vengfulsquirrelYeah I read that already.01:57
yangoon1bye all01:57
vengfulsquirrelI guess I haven't gotten openerp to really install correctly yet, so I don't understand the "less cutting edge features" part.01:58
vengfulsquirrelI'm pretty amazing people exist here though.01:58
vengfulsquirrelWill improvement be shared between the two code bases?  I guess that was my original question's intent.01:58
bechamelvengfulsquirrel: maybe if you manage to install tryton it will means that "solid solution" is better on this point01:59
bechamelvengfulsquirrel: there is already code moving in both directions02:00
mmarshallIn the screenshot of the menu there is a "Timesheet Management" item.  Which module includes that?02:00
vengfulsquirrelthe is cleaned up that is _NICE_02:01
rvalyiok, buy guys, late here02:02
bechamelmmarshall: the screenshot comes from the timesheet module, it's availble with hg. the module is not complete so we choose to not package it with the 1.O02:02
rvalyierr, bye02:02
bechamelrvalyi: yes, very late, bye02:02
mmarshallbechamel, ok, thanks.02:02
bechamelrvalyi: btw interesting conversation02:02
rvalyiI think I heard that one about not completely complete modules...02:02
-!- rvalyi(i=5645c57e@gateway/web/ajax/ has left #tryton02:03
bechamelvengfulsquirrel: I'm gonna sleep too, if you have questions there is also the mailing list02:04
vengfulsquirrelThanks, you guys are mostly in Europe?02:04
vengfulsquirrelha that's my last question02:04
bechamelvengfulsquirrel: yes i think so02:04
bechamelmaybe mmarshall ?02:05
vengfulsquirreland then I'm going to rebuild my slice on slicehost for the 10th time, but try trytond02:05
CIA-54tryton: Bertrand Chenal <> default * 145:674901b91943 stock_supply/ Isolate request creation to ease inheritance02:07
-!- ikks(n=igor@ has joined #tryton03:41
-!- mmarshall_( has joined #tryton04:08
-!- vengfulsquirrel( has joined #tryton04:36
-!- yangoon( has joined #tryton05:18
-!- nicoe( has joined #tryton07:15
-!- sharkcz( has joined #tryton07:45
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton08:08
-!- Guest62659( has joined #tryton08:19
-!- Timitos(n=Timitos@ has joined #tryton08:28
-!- vengfulsquirrel( has joined #tryton09:38
-!- Gedd( has joined #tryton09:41
-!- marmu( has joined #tryton09:54
CIA-54tryton: leyoda roundup * #655/Tryton Client Installation under OSX 10.5.X: [new] After the installation, the Tryton Client can't start with this error : File "/Library/Python/2.5/site-packages/tryton-1.1.0-py2. ...10:07
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton10:09
CIA-54tryton: C?dric Krier <> default * 1104:a0e0a8c03e1d tryton/ Fix path in for tryton-icon.png for issue65510:28
CIA-54tryton: ced roundup * #655/Tryton Client Installation under OSX 10.5.X: [resolved] Fix with changeset a0e0a8c03e1d10:28
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton11:17
-!- ikks(n=igor@ has joined #tryton12:11
-!- bechamel( has joined #tryton12:21
-!- ecir3( has joined #tryton12:25
CIA-54tryton: C?dric Krier <> default * 1342:740c6541c943 trytond/TODO: Add todo for pre-fetch in webdav12:40
vengfulsquirrelI tried adding the gentoo overlay but when I try to emerge it says "masked by: missing keyword".13:04
cedkvengfulsquirrel: every ebuild in overlay are ~arch13:05
cedkvengfulsquirrel: so you must enter a keyword for the packages you want to install in /etc/portage/package.keywords13:06
vengfulsquirrelAs in ~amd64 correct?13:07
vengfulsquirrelSorry if I sound stupid but I've never used overlays I just wanted to make sure I wasn't missing something obvious.13:09
cedkvengfulsquirrel: I just put ~x86 in the ebuild but if you can confirm me that it works on amd64, I will put it13:10
vengfulsquirrelYeah putting ~amd64 does not work in the package.keywords but you mean more like does "trytond" work in amd64 right ?13:11
cedkvengfulsquirrel: I think you must also add it in package.unmask13:12
vengfulsquirrelPutting x86 works.13:13
cedkvengfulsquirrel: tell me if all works wel on amd6413:14
vengfulsquirrelIf what works?13:15
vengfulsquirrelI've installed the server via mercurial and
cedkvengfulsquirrel: all the Tryton package13:16
vengfulsquirrelI have not installed the client.13:16
vengfulsquirrelI also don't think the modules are installed.13:16
vengfulsquirrelI haven't really figured out how to get them to install.13:16
cedkvengfulsquirrel: if you succed to run Tryton on amd64, I will add amd64 to the arch of ebuilds in the overlay13:16
vengfulsquirrel*Installed the server but connected to it remotely from an x86 client machine.13:17
cedkvengfulsquirrel: so for now, you can confirm that the server run on amd6413:17
vengfulsquirrelSo the server(trytond) runs on amd64 without the modules installed.13:17
vengfulsquirrelHow do I install the modules?13:17
vengfulsquirrelThese modules trytond/tryond/modules.13:18
cedkvengfulsquirrel: from mecurial?13:19
bechamelcedk: i think that it would be usefull to talk about the  script on the dowload page, because its a problem for a lot of people13:20
bechamelvengfulsquirrel: this script allow to do fetch client server and modules at once13:21
vengfulsquirrelWell I was going from this:
vengfulsquirrelOh yeah so I've gotten the modules already into their directory.13:22
cedkbechamel: can you add it to the wiki page13:23
bechamelvengfulsquirrel: this should also work, for modules you can copy-paste the list of "hg clone http://..." on your terminal and will fetch all of thiese13:23
vengfulsquirrelBut only AFTER I ran python install13:23
vengfulsquirrelHow can I tell they are installing when I run python install ?13:23
bechamelcedk: where is the "edit" link on the wiki ?13:24
yangoon bechamel are you logged in?13:25
bechamelyangoon: yes but maybe with the wrong user13:25
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton13:26
cedkvengfulsquirrel: you don't need to install package13:26
cedkvengfulsquirrel: if you want just test it, Tryton works with the sources without install13:26
cedkvengfulsquirrel: but you can also install it if you want, but you need to do it with root13:27
vengfulsquirrelYeah I'm in a virtual server13:27
vengfulsquirrelSo I'm root already13:27
cedkvengfulsquirrel: as it will put modules in /usr/lib/pythonx.x/site-packages13:27
vengfulsquirreland I've already installed the server ... the modules just don't seem to be going with it13:27
cedkvengfulsquirrel: each module has his own setup.py13:27
vengfulsquirrelha oh jesus13:28
vengfulsquirrelthat's the problem13:28
cedkvengfulsquirrel: but there is the script that extract all in one directory and you don't need to run the setup.py13:30
vengfulsquirrelyeah but maybe mention that in the INSTALL of the trytond13:31
cedkvengfulsquirrel: or you can use easy_install from pypi13:31
cedkvengfulsquirrel: or the gentoo-overlay13:31
CIA-54tryton: C?dric Krier <> default * 1105:a30eee88ce85 tryton/tryton/gui/window/view_form/view/form_gtk/
CIA-54tryton: Fix color on form widget13:47
CIA-54tryton: Now the color from default style is stored on first use13:47
CIA-54tryton: C?dric Krier <> default * 1106:85a79a5d457b tryton/tryton/gui/window/view_form/view/form_gtk/ Don't set model modified when adding record to dialog screen13:47
vengfulsquirrelI can't use the overlay until amd64 is set though and with easy_install I still have to do it on a module by module basis.13:52
cedkvengfulsquirrel: no dependencies are resolved with easy_install13:53
cedkvengfulsquirrel: so if you install trytond_account_invoice, it will install also trytond_account, ...13:53
cedkvengfulsquirrel: and I think it must be possible to force install with overlay13:55
vengfulsquirrelYeah unmask didn't seem to work13:56
vengfulsquirrelbut the server runs on amd6413:56
vengfulsquirrelI just haven't checked the modules13:56
vengfulsquirreland I haven't checked the server in complete thoroughness besides connecting to  it with the client.13:56
vengfulsquirrelIs there a init script anywhere for trytond or will it be trivial to create?13:57
cedkLordVan: ping13:58
cedkvengfulsquirrel: init script depend of each distribution, so the ebuild provide an init script for Gentoo13:59
cedkvengfulsquirrel: there is packages in progress for Debian and RedHat13:59
vengfulsquirrelOkay well thanks for all the help, its pretty late here like 5 AM, so I'll try to force install it tomorrow using the overlay and tell you how it goes.  The code base looks a lot cleaner though, I'm excited.14:01
cedkvengfulsquirrel: yes can try with: ACCEPT_KEYWORDS=~x86 emerge trytond14:02
vengfulsquirrelYeah it works with x86 it just won't emerge with amd64.14:02
cedkvengfulsquirrel: but becarefull, it can break the install14:02
cedkvengfulsquirrel: I mean, you will be able to install it if you set ACCEPT_KEYWORDS to ~x8614:03
cedkvengfulsquirrel: on amd6414:03
LordVancedk, yes?14:03
cedkvengfulsquirrel: but it is not a recommanded way14:03
cedkLordVan: it was for the missing keywords14:03
cedkLordVan: but I think I find a solution14:04
cedkLordVan: vengfulsquirrel can not install tryton with the overlay because it miss ~amd6414:04
LordVani know that14:05
LordVani put the packages in /etc/portage/packages.keywords/tryton.keywords :D14:05
vengfulsquirrelIs there a known problem with amd64?14:06
LordVanworks4me (tm)14:06
LordVanit is python so there shouldn't be any issues14:06
LordVani think he means if u emerge any C dependencies14:06
cedkLordVan: ha ok, I will add amd64 keywords so14:06
LordVancedk, mind u i didnt' try all modules, cuz i don't know how to use them :D but the app and server run fine and i added some addresses,.. ;)14:07
LordVani'm quite ok to be your amd64 tester for now if u want me to .. gotta mail me when u update though ;)14:07
cedkLordVan: module are just in python14:08
vengfulsquirrelOkay well I'll try the overlay tomorrow, thanks for the help. Good night14:09
LordVani do have some general size related issues, but i gotta try it on another machine as my laptop got (a) a funny resolution, (b) weirdish dpi i think cuz i got a small screen14:09
cedkLordVan: you mean that it is too small?14:10
LordVan12" :D14:15
LordVanthe dialogue box isn't big enough for all the elements to fit .. they overlap14:15
LordVanwant a screenshot?14:15
cedkLordVan: why not?14:16
cedkLordVan: but 12" is small14:16
CIA-54tryton: C?dric Krier <> default * 138:218620e17a53 gentoo-overlay/app-office/tryton/ (Manifest tryton-1.0.0.ebuild tryton-1.0.1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 139:708b6357fdb9 gentoo-overlay/app-office/trytond/ (Manifest trytond-1.0.0.ebuild trytond-1.0.1-r1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 140:a360c09d4ff2 gentoo-overlay/app-tryton/account/ (Manifest account-1.0.0.ebuild account-1.0.1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 141:940453fe00c5 gentoo-overlay/app-tryton/account_invoice/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 142:e0ce426e16f3 gentoo-overlay/app-tryton/account_product/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 143:6d58815c9494 gentoo-overlay/app-tryton/analytic_account/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 144:a97a2cc0f316 gentoo-overlay/app-tryton/analytic_invoice/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 145:0bae4e575a03 gentoo-overlay/app-tryton/analytic_purchase/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 146:5216fa784865 gentoo-overlay/app-tryton/analytic_sale/ (3 files): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 147:632e4c31ae09 gentoo-overlay/app-tryton/company/ (Manifest company-1.0.0.ebuild company-1.0.1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 148:7690f8f45322 gentoo-overlay/app-tryton/country/ (Manifest country-1.0.0.ebuild country-1.0.1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 149:973cfcea9e23 gentoo-overlay/app-tryton/currency/ (Manifest currency-1.0.0.ebuild currency-1.0.1.ebuild): Add amd64 keyword14:16
CIA-54tryton: C?dric Krier <> default * 150:b10a18ee3523 gentoo-overlay/app-tryton/google_maps/ (Manifest google_maps-1.0.0.ebuild google_maps-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 151:be1747ad076d gentoo-overlay/app-tryton/party/ (Manifest party-1.0.0.ebuild party-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 152:94a6078fc175 gentoo-overlay/app-tryton/product/ (Manifest product-1.0.0.ebuild product-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 153:b40f099c8743 gentoo-overlay/app-tryton/purchase/ (Manifest purchase-1.0.0.ebuild purchase-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 154:5baee9415c4d gentoo-overlay/app-tryton/sale/ (Manifest sale-1.0.0.ebuild sale-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 155:50e79fa6e782 gentoo-overlay/app-tryton/stock/ (Manifest stock-1.0.0.ebuild stock-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 156:472e4fb7f508 gentoo-overlay/app-tryton/stock_supply/ (Manifest stock_supply-1.0.0.ebuild stock_supply-1.0.1.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 157:eae852579d77 gentoo-overlay/dev-python/relatorio/ (4 files): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 158:19b37aeae97f gentoo-overlay/dev-python/vatnumber/ (Manifest vatnumber-0.1.ebuild vatnumber-0.2.ebuild): Add amd64 keyword14:17
CIA-54tryton: C?dric Krier <> default * 1107:379402a32fdd tryton/tryton/gui/window/ Remove set_size_request on dbcreate dialog14:38
cedkLordVan: this changeset must fix14:38
LordVancedk, i'll check it out at some point .. since it's nothing critical ;) if i forget feel free to remind me (i got the release installed atm ;))14:45
cedkLordVan: I will wait a little before putting this changeset in the 1.0 branch14:47
LordVansure :)14:58
-!- ikks(n=igor@ has joined #tryton15:39
-!- rvalyi(i=58aaece0@gateway/web/ajax/ has joined #tryton15:45
CIA-54tryton: C?dric Krier <> default * 397:7e0e4fd7d180 stock/ Fix location domain for internal packing16:56
CIA-54tryton: * r372 /wiki/ Edited wiki page through web user interface.17:25
CIA-54tryton: * r373 /wiki/ Edited wiki page through web user interface.17:25
CIA-54tryton: * r374 /wiki/ Edited wiki page through web user interface.17:25
CIA-54tryton: Bertrand Chenal <> default * 330:c8b3b2de43af account/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 20:337004630a2b account_be/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 219:cc8d0708ac99 account_invoice/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 22:0cb2b4eb1b72 account_product/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 80:696210263179 account_statement/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 54:5d64fa4b5247 analytic_account/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 34:2e9a16dfae02 analytic_invoice/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 35:afd3e8822d85 analytic_purchase/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 23:6d1697edb370 analytic_sale/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 111:98ffdbc73219 company/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 19:3d7a899df989 country/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 49:9c0af67b8f76 currency/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 30:5941de80edd8 google_maps/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 213:96167211e3dd party/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 118:8aa4835665ad product/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 38:d910cc2a9c69 project/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 21:80b5b6d07b33 project_revenue/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 177:8630b21fbae6 purchase/INSTALL: Typo17:43
CIA-54tryton: Bertrand Chenal <> default * 80:36264695727b sale/INSTALL: Typo17:43
cedkbechamel: OpenERP uses now psycopg2 :-)18:20
cedkbechamel: but they make the switch during stabilisation of the code18:20
cedkI really don't understand how they stabilize the code, they make more developpement between the rc than before18:21
bechamelcedk: it's not the usual way for  RC ?18:22
cedkbechamel: now you fix the bug only not new developpement18:22
bechamelACTION was kidding18:22
cedkdo you remember that Fabien arguments on the forum that they don't want to implement the locale customization18:24
cedkthey do it :-)18:24
bechamelcedk: maybe he didn't understood the issue when he post on the forum18:25
cedkthe forum post:
cedkthis is the real commit:
cedkbechamel: but he says "I think it's better to keep using standards"18:28
cedkbut they don't use it to format the date in the client interface18:28
cedkso you can have customization on reports but not in client interface :-)18:29
-!- Timitos(n=Timitos@ has joined #tryton18:39
CIA-54tryton: * r375 /wiki/ Edited wiki page through web user interface.19:03
CIA-54tryton: * r376 /wiki/ Edited wiki page through web user interface.19:03
CIA-54tryton: matb roundup * #650/Items reappearing untranslated in new database: [resolved] Seems to be solved.19:06
CIA-54tryton: matb roundup * #656/Translation of title in packing_out.odt: [new] For the title 'Packing List' I get two separate items to translate "List" "Liste" "False" "stock.packing.out" "Deutsch" "ODT" "0" "stock" ...19:12
CIA-54tryton: Bertrand Chenal <> default * 146:f167fce3f4b9 stock_supply/INSTALL: Typo19:46
-!- udono( has joined #tryton19:49
CIA-54tryton: Bertrand Chenal <> default * 178:bb3011580be9 purchase/purchase.xml: Added menuitem19:55
CIA-54tryton: Bertrand Chenal <> default * 81:c2d695f12c33 sale/sale.xml: Added menuitem19:55
-!- X0d_of_N0d_(i=C-C_C-X@gateway/tor/x-0cd4048ff35690b8) has joined #tryton20:05
-!- mmarshall( has joined #tryton20:10
-!- leyoda( has joined #tryton20:26
CIA-54tryton: matb roundup * #657/Additional fields of inherited report also created for parent module: [new] Not absolutely sure, if this is a bug, but after several days of try and error I think it is one: The attached invoice.xml belongs to a cus ...20:31
X0d_of_N0d_ under tinyerp would be under tryton?20:35
X0d_of_N0d_damn, posted it to the wrong channel a min a go20:35
CIA-54tryton: matb roundup * #658/Make translation of title of invoice report independent from invoice.type: [new] see
TimitosX0d_of_N0d_: yes is like under tinyerp. but i havenĀ“t looked at the differences in detail yet.21:22
X0d_of_N0d_I was going to try to port the ldap_users module over21:23
X0d_of_N0d_it looks like some things have changed in the authentication system too21:23
TimitosX0d_of_N0d_: i think you should talk with udono. he is sitting on this too21:24
TimitosX0d_of_N0d_: yes i think there were bigger changes in this area21:24
X0d_of_N0d_when does udono usually show up?21:25
Timitosthis is different. but most time he is online from about 8-18 GMT+1. sometimes later too. but today he seems to be away21:27
TimitosX0d_of_N0d_: i will inform him about your work. he is my partner21:28
-!- vengfulsquirrel( has joined #tryton21:28
X0d_of_N0d_cool, yeah, I modded the terp one a bit to make it work with our server, I'd love to see what he's doing with his code21:28
X0d_of_N0d_Timitos: thanks21:29
TimitosX0d_of_N0d_: you are welcome21:29
TimitosX0d_of_N0d_: he is just in the beginning so you should expect too much for now21:30
X0d_of_N0d_Timitos: If he knows tryton the ldap stuff is easy, I'd be glad to help21:31
TimitosX0d_of_N0d_: this would be great! thx21:31
X0d_of_N0d_Timitos: np21:32
X0d_of_N0d_so.... are the passwords for tinyerp's users stored in clear text in the db? It looks like tryton stores a sha hash21:35
X0d_of_N0d_huh... they are21:35
Timitos:-) a nice detail21:37
CIA-54tryton: Timitos roundup * #604/NoneType-Exception if pressing Ctrl-C in console: @htgoebel could you please test again? i think the issue is solved.21:41
-!- Gedd( has joined #tryton21:44
-!- nside( has joined #tryton21:46
X0d_of_N0d_How does Tryton protect against sql injection? I'm digging through the tinyerp code right now trying to figure that crap out21:46
X0d_of_N0d_it seems like you should be able to inject sql... or is that cleaned up by psycopg?21:47
ikks psycopg does not clean sql injection afaik21:47
X0d_of_N0d_ACTION heads off to get some lunch21:54
bechamelikks:  psycopg escape automaticaly each params for somethink like "cursor.execute('select %s from %s where %s = 1', params)"21:55
bechamelikks: X0d_of_N0d_ : the problem is when the params are used to construct the string containing the query21:56
bechamelexample, line 1340 in of openerp-server:             cr.execute('delete from wkf_instance where res_type=%s and res_id in ('+','.join(map(str, ids))+')', (self._name, ))21:59
bechamelself._name will be escaped (but it's not a problem because self._name comes from the code, but ids might containt user data, hence the risk of injection22:01
-!- mmarshall(n=mmarshal@ has joined #tryton22:09
-!- Gedd(n=ged@ has joined #tryton22:10
CIA-54tryton: C?dric Krier <> default * 1343:b524c5b3d4c5 trytond/trytond/osv/ Fix guidelines22:25
CIA-54tryton: C?dric Krier <> default * 1344:488247aad1d0 trytond/ (5 files in 3 dirs): Allow to inherit views from an other model22:25
CIA-54tryton: C?dric Krier <> default * 1345:fea842a62cd0 trytond/trytond/ir/sequence.xml: Use inherit view from sequence for sequence strict22:25
CIA-54tryton: ced roundup * #649/Unable to create new employee: [resolved] Fix with changeset 5f7988bc833322:25
CIA-54tryton: C?dric Krier <> default * 112:5f7988bc8333 company/company.xml: Use inherit view of party for company and employee for issue64922:26
CIA-54tryton: C?dric Krier <> default * 113:e1b4895c6c78 company/company.xml: Add select for company on employee22:26
CIA-54tryton: C?dric Krier <> default * 114:807867c27f2f company/: merge22:26
X0d_of_N0d_bechamel: ok, that's kind of what I was thinking22:36
CIA-54tryton: C?dric Krier <> default * 398:3a064677a655 stock/packing_out.odt: Fix "Packing List" split in translation for issue65622:36
CIA-54tryton: ced roundup * #656/Translation of title in packing_out.odt: [resolved] Fix with changeset 3a064677a65522:37
X0d_of_N0d_bechamel: it still seems like the auth stuff should query for the user, get the password (or in tryton's case the hash), and then compare the password against the pw/hash22:37
X0d_of_N0d_but if psycopg is taking care of everything then it's probably fine22:37
cedkX0d_of_N0d_: this is made in trytond/security.py22:38
cedkX0d_of_N0d_: login or check are call on each request of the user22:38
X0d_of_N0d_cedk: right, but it's done in one query...22:40
X0d_of_N0d_SELECT id FROM res_user WHERE login = %s and password = %s and active22:40
X0d_of_N0d_instead of SELECT id FROM res_user ' <newline/>                                                       |        'WHERE login = %s and password = %s and active22:40
X0d_of_N0d_SELECT id,passwd FROM res_user WHERE login = %s and active22:41
cedkX0d_of_N0d_: what is the difference ?22:41
X0d_of_N0d_then passwd==passwd_sha22:41
X0d_of_N0d_if psycopg somehow failed to correctly clean the sql the first one would still let you in22:43
X0d_of_N0d_however even if psycopg failed, the second one would not let you in22:43
X0d_of_N0d_unless you had the right password anyway22:43
cedkX0d_of_N0d_: even with the second as you use %s for the user name22:44
cedks/user name/login/22:44
X0d_of_N0d_cedk: right, but that means that the query would respond with hte pw and id of all the users22:45
X0d_of_N0d_then the sql.fetchone would give the first id and pw22:46
X0d_of_N0d_then you'd compare that pw to the pw returned by the query22:46
X0d_of_N0d_and you'd dump the user unless the password matched22:46
X0d_of_N0d_whereas with the other way you could just inject login=admin and passord=1 or login=admin and get the admin user, then it'd drop you in22:47
X0d_of_N0d_of course this is all in the hypothetical instance that psycopg somehow failed... but...22:47
cedkX0d_of_N0d_: any way, it will be difficult to provide a string that once "sha"ed will produce a sql clause that will failed the query22:50
X0d_of_N0d_I'm just saying the current way relies on psycopg to work, where returning the password and manually checking it would not ever be exploitable...22:50
X0d_of_N0d_cedk: right, but it would be easy to provide a login that would allow injection....22:51
cedkX0d_of_N0d_: if you can make sql injection, it is possible to inject " login = 'admin' and (update res_user set password = 'foo')"22:52
X0d_of_N0d_yeah, maybe not22:52
X0d_of_N0d_cedk: yeah, fair enough22:53
cedkX0d_of_N0d_: this will work " login = 'admin'; update res_user set password = 'foo'"22:53
cedkX0d_of_N0d_: with two tries22:53
cedkX0d_of_N0d_: once you have SQL injection, you can make anythings22:54
cedkX0d_of_N0d_: and I would prefer to let psycopg handle this as there is more user that will check psycopg than our code22:54
X0d_of_N0d_cedk: yeah, that makes sense22:56
X0d_of_N0d_cedk: but I will say that using hashes is definitely an improvment over the way tinyerp works, I definitely have to give you props man22:57
cedkX0d_of_N0d_: and session :-)23:03
X0d_of_N0d_cedk: oh yeah, and the session time out... and the fact that there isn't a ton of duplicate code in login and check23:06
-!- juanfer(n=juanfer@ has joined #tryton23:08
X0d_of_N0d_does tryton have any of it's own documentation on creating modules, or should one refer to the tinyerp docs?23:15
bechamelX0d_of_N0d_: there is no tutorials yet, but you will find some background here
X0d_of_N0d_bechamel: thanks23:26
CIA-54tryton: X0d_of_N0d roundup * #659/AttributeError: 'bool' object has no attribute 'split': [new] Traceback (most recent call last): File "/trytond/", line 282, in run res = method(*msg[2:]) File "/trytond/web_service/obj ...23:42
X0d_of_N0d_is it possible to create new forms in tryton?23:42
bechamelX0d_of_N0d_: yes it is, forms are defined in the xml files23:43
X0d_of_N0d_I mean through the gui, like in tinyerp23:44
CIA-54tryton: X0d_of_N0d roundup * #659/AttributeError: 'bool' object has no attribute 'split': [chatting] I tried to create a new form through the gui Form->New, it looks like complete name isn't editable, or is it filled in with the value f ...23:47
bechamelX0d_of_N0d_: i've never tried to create them from the gui23:49
X0d_of_N0d_bechamel: I'm reading through the tinyerp book and it mentioned that it could be done23:50
X0d_of_N0d_bechamel: so I tried it on tinyerp then tried it on tryton23:50
bechamelX0d_of_N0d_: i just tried to create a new view and it seems t owork23:53
X0d_of_N0d_lemme try it with the latest svn23:53
X0d_of_N0d_errr hg23:53
bechamelX0d_of_N0d_: but i don't see how to change which view is linked to which action23:55
X0d_of_N0d_wait, what did you do to make it work?23:56
X0d_of_N0d_Form-> new23:56
X0d_of_N0d_type in Menu: asdfwhatever23:57
bechamelX0d_of_N0d_: I took a view, I duplicated it and modified the dupicate and give it a bigger priority23:57
bechamelX0d_of_N0d_: now when i open a party list (not from the menu but when i open a field pointing to a party from another form) i can see the new view23:58
bechamelX0d_of_N0d_: menuitem are linked to action and action are linked to views so creating a new one doesnt change anything when opening forms from the menu23:59

Generated by 2.11.0 by Marius Gedminas - find it at!