IRC logs of #tryton for Tuesday, 2008-12-16 #tryton log beginning Tue Dec 16 00:00:01 CET 2008
-!- cedk(n=ced@gentoo/developer/cedk) has left #tryton00:32
CIA-53tryton: ced roundup * #674/Modules: Userside switching language doesn't work any longer: Can you put the logs of the server?00:33
-!- yangoon1( has joined #tryton00:40
-!- vengfulsquirrel( has joined #tryton01:54
-!- ikks(n=igor@ has joined #tryton03:12
-!- yangoon( has joined #tryton05:20
-!- vengfulsquirrel( has joined #tryton05:43
-!- vengfulsquirrel( has left #tryton07:20
-!- vengfulsquirrel( has joined #tryton07:21
-!- Timitos(n=Timitos@ has joined #tryton07:39
-!- carlos(n=carlos@ has joined #tryton08:08
-!- vengfulsquirrel( has joined #tryton08:10
-!- marmu( has joined #tryton08:21
-!- sharkcz( has joined #tryton08:23
-!- Gedd( has joined #tryton08:29
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton08:32
-!- udono( has joined #tryton09:00
-!- sharkcz( has joined #tryton09:11
-!- nicoe( has joined #tryton09:21
CIA-53tryton: Timitos roundup * #676/cannot cancel install wizard: [new] i tried to create a new db with newest changesets. everythings was ok at creation. when i logged into the new db user creation wizard popped ...09:29
CIA-53tryton: Timitos roundup * #677/error in tax code creation from tax code templates: [new] i updated our account chart module account_de_skr03_2008 with a more complex structure of tax codes. the tax codes are imported correctly in ...09:34
CIA-53tryton: Timitos roundup * #676/cannot cancel install wizard: [resolved] sorry. my fault. forgot hg fupdate.09:39
-!- rvayi(i=58aaece0@gateway/web/ajax/ has joined #tryton09:59
CIA-53tryton: Timitos roundup * #678/validation error in xml of purchase module: [new] i tried to install purchase on a ubuntu 8.04 machine. i get this validation errors: i do not get theses errors on a ubuntu 7.10 machine [Tu ...10:08
-!- carlos( has joined #tryton10:09
CIA-53tryton: udo.spallek * r383 /wiki/ including Tryton attribute to field descriptions10:13
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton10:15
-!- bechamel( has joined #tryton10:25
-!- Cristi_an(n=Cristi@ has joined #tryton10:39
Cristi_an<Cristi_an> yesterday rvalyi said :10:40
Cristi_an<Cristi_an>  mean, to manage to build a full blown generic ERP, you have no choice be also master a modular plateform, like Eclispe. Else it's not modular, it's monolithic and hererogene like SAP, but that second option means a LOT of money to maintain it10:40
Cristi_an<Cristi_an> from what i see tryton seems to be modular....10:40
Cristi_an<Cristi_an> something like eclipse...10:40
Cristi_an<Cristi_an> what was his point then ?10:40
cedkCristi_an: i don't know10:41
Cristi_ancedk, from modularity poin of view Tryton stays very well....10:42
Cristi_anmaybe ...removing modules will not hurt to have10:42
CIA-53tryton: Timitos roundup * #679/KeyError: 'salable': [new] Traceback (most recent call last): File "/tryton/gui/window/view_form/view/form_gtk/", line 329, in sig_new window=self._wi ...10:42
CIA-53tryton: Timitos roundup * #679/KeyError: 'salable': [chatting] tried to create a product from invoice line form10:43
udonoCristi_an: in the long run I think we need a completed modules management not only with state 'depends'. More over with states like 'conflicts' and 'provides' like a distribution management like dpkg/apt or portage have...10:45
Cristi_anyee but now there are more important things to be done....10:46
Cristi_anlike some very good and stable basic modules...10:46
Cristi_anthat what you said is the nice to have but not mandatory10:47
udonoCristi_an: I think so, too.10:47
udonoCristi_an: it will become mandatory when we have a lot of more modules to maintain like openERP. They have massive problems with a missing modules management, I think...10:48
udonoCristi_an: on the other side, the modules of B2CK are constructed like we have already a completed modules management. They are builded generical, so they could be reused ealsily with or without a module management, I think. If you say for example, the Party module 'depends' on the Country module, or the Country module 'provides' country resource to Partner module is just a small change to the modules self...10:54
Cristi_anlast part i did not understoot "Partner module is just a small change to the modules self.."10:55
Cristi_an /understood/understood10:55
Cristi_anyou mean Country may be used for other modules easily ?10:56
CIA-53tryton: C?dric Krier <> default * 1118:d8360e183d08 tryton/tryton/gui/window/ Fix typo11:02
CIA-53tryton: C?dric Krier <> default * 1119:bf41f7ef5a3d tryton/doc/usage.rst: Add doc for email11:02
udonoCristi_an: no, I talk about the 'complete' module management in future. country and party module can easily transformed to another relationship then actually 'depends' when we have them. But what you say is right, too, Country may be used for other modules easily...11:04
Cristi_ancool !11:05
udonoCristi_an: I am just dreaming. Not more.11:07
Cristi_anudono, i hope your dreams come true...11:09
rvayiudono: I already tought about a web2.0 portal for users to report conflicts and everything they think about modules; how to improve them, if they are dead, if an other is better...11:10
Cristi_anrvayi, good you are here11:10
Cristi_ani wanted to ask you something11:10
Cristi_an#tryton :[freenode-info] why register and identify? your IRC nick is how people know you.
Cristi_an<Cristi_an> <Cristi_an> yesterday rvalyi said :11:10
Cristi_an<Cristi_an> <Cristi_an>  mean, to manage to build a full blown generic ERP, you have no choice be also master a modular plateform, like Eclispe. Else it's not modular, it's monolithic and hererogene like SAP, but that second option means a LOT of money to maintain it11:10
Cristi_an<Cristi_an> <Cristi_an> from what i see tryton seems to be modular....11:10
Cristi_an<Cristi_an> <Cristi_an> something like eclipse...11:10
Cristi_an<Cristi_an> <Cristi_an> what was his point then ?11:10
cedkrvayi: for use it is roundup11:11
rvayiCristi_an: well; IMHO both OpenERP and Tryton achieve something that is less polish, may be less consistent, but probably just as effcient if not more (because it is simpler)11:13
rvayiCristi_an: and for sure, I've been looking at others oss ERP's no one have something coming close11:13
rvayiOpenbravo is just running after modularity now...11:13
Cristi_anii saw som erps myself as well11:14
rvayibut I fear it's only a buszzword for them, they are VERY VERY far from that kind of modularity11:14
Cristi_annot deep but on surface11:14
Cristi_anTryton seems to have the best modularity (open erp as well i guess)11:14
rvayiCristi_an: weel, I had the oppportunity to go deeper sa the company were I'm working ( funded a 9 man month comparison/study around oss ERP's11:15
rvayiCristi_an: sure11:15
Cristi_anrvayi, i use eclipse every day...and indeed it;s modularity is stable and quite nice done11:15
Cristi_anrvayi, really11:15
Cristi_anrvayi, why did ythey do that ?11:16
rvayiCristi_an: OpenERP and Tryton are lacking some static constraints Eclipse have, but on the other hand the OpenERP/Tryton extension system is very efficient11:16
Cristi_anrvayi, by comparing ERP systems can you make some public results out of that study ?11:17
rvayiCristi_an: because they wanted to choose the best tool for an their ERP consultancy and also because we had to tell the world now we also integrate ERP's11:17
rvayiI wrote this during that time (French):
rvayiTryton came too late for it. yeah, in the report Openbravo tends to be overestimated, that's for sure. But could couldn't come and say: hello: unfortunately I'm sad to say that only one product is correct and it's called TinyERP, others are just plain crap...11:19
rvayiNote I'm not telling OpenERP is perfect, but it's really not too bad either11:20
Cristi_ani see11:20
rvayiI guess Tryton should be auite as good then. From now one, I would certainly rate Tryton as the second best oss ERP after OpenERP11:20
udonorvayi: :-)11:21
Cristi_anwhat about Adempiere,compirer,Jfire11:21
rvayiCristi_an: also concerning Openbravo, they raised 18M$ in total, so may be they come up with something one day, so we gave them a chance I should say.11:21
rvayiCristi_an: Adempiere: it's a bit the Tryton of Compiere11:21
Cristi_anOpenBravo had some EU funding received11:22
rvayiCristi_an: IMHO Compiere is acceptable but very expensive and the techno is very stupid compared to OpenERP, the abstraction level is just too low11:22
rvayiAdmepier doens't really do better. They just open a space for the old compiere customers/intergartors fed up with Compiere costs11:22
rvayiJFire and a few other ones might have a better tech basis, but I think they are very far in term of features and it will take them really too long to come even close11:23
Cristi_anI would like to do ...but i gave up to the ideea to do somethign simlar that Tryton is11:24
rvayiBTW, May be they will be stopped by OpenERP. I mean, now that the world will understand that their is an ERP that doesn't suck, they will try it, I really doubt they will change for something else (may be Tryton)11:24
Cristi_anbut in JAva usign Eclispe RCP...11:25
Cristi_anand Spring11:25
rvayiCristi_an: sure, but IMHO; it takes like 3 years to build an ERP. And OpenERP is already their, will be like free, so I think their is no more space11:25
rvayiBTW, I would rather use JRuby on Rails than the J2EE bloated stack11:26
Cristi_ani figured that also11:26
rvayiI started an ActiveResource OpenERP wrapper BTW, only a prooof of concept11:26
Cristi_anTryton seems to be ...for me at least11:26
Cristi_anthe best choice...,but since i developed in java for lat 10 years...11:26
Cristi_anis difficult to understant details in the code (python)11:27
rvayiCristi_an: IMHO: OpenERP/Tryton could be like 10% more productive using JRuby/Rails (+java where it makes sense at the low level, like webservice, XML, not for the funbctionnal layer)11:27
Cristi_anbut as you said...there is no space11:27
rvayibut even running 10%, by starting from scratch, one will never come close to them11:27
Cristi_anand time...11:27
Cristi_anruby is not only WEB ?11:28
rvayiCristi_an: I was myself a Java progarmer since 200311:28
rvayinot at all, have a look to monkeybars or JRuby swing dev11:28
Cristi_anit follows the pythons path ?11:28
Cristi_an2 years ago...11:28
rvayiCristi_an: Ruby is just the best langague to model business things11:28
Cristi_anyour are evengelist of ruby ?11:29
Cristi_anyou know pyton as well ?11:29
rvayiSo I was saying: I was coding Java since 2003? I first started my study with Openbravo, while disregarding TinyERP which I was thinking their is not enough code, how could this be serious. Aftyer a Fabien Pickaesr demo, I said: wow there are MUCH more features in Tiny than any others I've seen11:30
rvayiThen gave it a try and I could do things very advanced very quickly while I couldn't to the most basic stuff with Openbravo, lost in their build process, hugly code generation stuff and all that crap11:31
Cristi_annice to hear about you experience11:32
Cristi_anbut how come you come to the conclusion the ruby is best for bussines models ?11:33
rvayiCristi_an: I guess my Ruby on Rails experience with dynamic languages helped me to get used to dynamic languages11:33
Cristi_anrvayi, but for enterproise appications....nobody use ruby11:34
Cristi_anrvayi, until Tryton11:34
Cristi_ani did not even heard about python being used for such things11:34
rvayiCristi_an: it's very cannonical: very easy to read and you'll always find a way to model things with less words than you need to explain it in plain english. Somthing you really can't do in Java were boiler code willa arrise (decorators, factories, Spring; XML and all that pluming crap)11:35
rvayiCristi_an: Python is almost as good a Ruby IMHO11:35
rvayinot as good, but quite close, so I'm mean it's ok11:35
Cristi_anrvayi, but you have the expertise to say you know both languages11:35
rvayiCristi_an: you mean Python and Ruby?11:36
rvayiI know Java VERY well and Ruby quite well. I'm less used to Python but I'm typically very comfortable with writing OpenERP functionnal modules11:36
rvayinot the orm or osv internal layers were some more magic happens11:37
Cristi_anin terms of java i may say the same as you11:37
Cristi_anthat is what intrigues me :)11:37
rvayiCristi_an: for instance Python will do len(my_funcking_table)11:37
rvayito get the lenghth11:37
rvayithis is fucking stupid an hugly11:37
rvayiRuby, on the contrary will do [1,3,4].length11:38
rvayiRuby (re-powered by Rails) can do things like 3.days_ago and give you the date 3 days ago11:38
rvayiJava will use a ton of different redundant hugy helpers for that11:39
rvayisucking my neurones for remembering what the fucking date helper might be and do in the pecular framework? Ruby just free my mind of all that crap11:39
rvayiand let me do what really matters11:40
rvayiCristi_an: Ruby hadn't to invent Jasper and a all the taglib system crap. An HTMl tag in Ruby is just a Ruby standard closure, a usual Ruby statement, no need to re-invent crappy libs11:41
Cristi_anJasper Reports you mean ? (or is an english say ) :)11:42
rvayiwhen you open and close (or say a  DB transaction) a file in Ruby, using a closure again, then you are sure that it will be closed later, it's enforced by te syntax, no need to use PMD code checker or anything else here11:42
Cristi_anin python si more complicated ?11:43
rvayiCristi_an: no was talking about the Jasper JSP templating engine (for web dev).11:43
rvayiCristi_an: it's less beautifull than Ruby11:43
Cristi_anthere are a lot of them11:43
rvayiand Ruby has JRuby which is just brillant, the best Ruby implementation now, letting call/delegate to java whenever you need (for speed for instance)11:44
Cristi_anspeed in Java ?11:44
rvayiCristi_an: Java has C speed, remeber. Python and Ruby don't come close11:44
Cristi_anJava...c speed ? common11:44
rvayibut JRuby and Python are still faster than PHP for instance11:44
Cristi_anno is close...but  still a virtual machine11:45
rvayiCristi_an: a warmed up JVM runs at C speed and sometimes faster11:45
-!- ikks(n=igor@ has joined #tryton11:45
Cristi_anit isa fast now...agree11:45
Cristi_anit evolved...a lot11:46
Cristi_ansince 200011:46
rvayiCristi_an: a VM ca do hot optimisations a static ccompiler can't do, because hotspot optimize the code from a statistically analysis of its true real call path11:46
rvayiCristi_an: a lot? You loosed if you missed that11:46
rvayierr, mean a lot11:46
rvayilet number speak:11:46
rvayithat site is a reference if you think their is a fraud, just send a better algo fro your favorite language, everyone does it (but the algo should stay the same) and this is how it stands11:48
rvayiCristi_an: memeory consumption is higher, and VM startup is slower, but in a server model, it's just better because it runs as fast and it's easier to code/maintain11:49
rvayiJRuby just surfed on the JVM perf, beating C Ruby11:49
rvayiCristi_an: welcome11:49
rvayiI guit form Amadeus (very big IT firm doing ERP's for airlines) because the tech boss got it plain wrong with Java11:50
rvayiso we were doing C++ because he thought Java was a crap...11:50
rvayiI will laugh a lot when their stuff will die costing millions just because they were so wrong11:51
Cristi_anwish them the be cruel11:51
rvayiCristi_an: air travel crashed alon, no need to invoke tech issues ;-)11:53
rvayiyet an other visonnary stance from them ;-)11:53
cedkThe bottleneck of Tryton is not Python but PostgreSQL11:55
Cristi_anwhy ???11:55
rvayicedk: why?11:55
rvayibeacuse it's complicated so noobs can't use it?11:56
Cristi_anis that very hard to migrate to mysql or firebird ?11:56
Cristi_anor to even make it DB independent (as much as possible )11:56
CIA-53tryton: C?dric Krier <> default * 1120:220849c7282d tryton/tryton/gui/window/view_form/view/ ( Better label for print menutoolbutton11:57
CIA-53tryton: C?dric Krier <> default * 1121:0d287f339117 tryton/tryton/gui/window/ Use a treeview for file actions11:57
bechamelthe bottleneck is not postgres itself, but the number of query that are sent to it (another dbms will not improve the situation)11:58
cedkbecause for data integrity, we need to use serialize connection11:58
cedkbechamel: no, it is not necessary the number of queries, because if so we can reduce it11:59
bechamelcedk: yes, the bottleneck is the developer :)11:59
Cristi_ando you have a real use case ?12:00
cedkand it is not postgresql that is not performant, but for what we need to do, it is normal that postgresql take some times12:00
cedkanyway, there is always a bottleneck in a application12:00
Cristi_anwhen do you sense that a bottleneck happens...?12:00
cedkit is not that the software is slow12:00
cedkCristi_an: as I just say, there is always a bottleneck12:01
Cristi_ancedk, sorry fopr not understanding talk to general12:01
udonoACTION Laotse say: When there is a bottle, then you have a bottelneck12:02
cedkCristi_an: what I say is that teh part of Tryton that determined the time for a request is PostgreSQL not Python code12:03
Cristi_ancedk, the only thiong may be then SQL12:03
Cristi_ancedk, but you are sure that the SQL cause the bottleneck ?12:04
Cristi_anthere may be some bussines logic that is nto done optimum12:04
cedkCristi_an: I don't think so, where do you find that Tryton is slow ?12:05
Cristi_anwell....i told you before....12:06
Cristi_anin windows...12:06
Cristi_anthe UI..seems slower then a native applicaiton even thatn a java one...12:06
cedkCristi_an: and you must always make compromise between speed and (modularity, readablity, ...)12:06
Cristi_anmaybe because of what rvayi  said...12:07
Cristi_ananyway the slowness is not seen by a regular user...12:07
Cristi_anthey can live ver very well with it12:07
bechamelCristi_an: most of the business logic result in more sql queries, not python computation (there is no intensive computing, just read-write data)12:07
Cristi_ani see...12:07
Cristi_ani am just worried a little12:07
bechamelCristi_an: the first exe for windows was slow, did you tried the last version ?12:08
Cristi_ansince i will switch to python....12:08
Cristi_anbtw ...exc eptr you 2 ....there is somebody that can update the core..(ORM)12:08
bechamelas i said, slow code are often due to a bad algo/bad development not the langage itself12:09
Cristi_anok then...i berlive you 100%12:10
Cristi_ananyway for me is to early to express my opinions (only my concerns)12:10
Cristi_anthx for all12:13
Cristi_anBTW :)12:13
cedkCristi_an: to update the core, I guess that OpenERP devs can also12:14
Cristi_anthe core is rewritten by you no ?12:15
cedkCristi_an: as it comes from the same code, they must be able to undrestood the changes we made12:15
rvayicedk: OpenERp now have caches levels in its ORM and for Python computed fields. This certainly limit the number of queries. Does Tryton has something similar?12:18
cedkrvayi: no, because we don't think it is a good design12:20
rvayicedk: why?12:20
cedkrvayi: and as bechamel said, it is generally because of bad programming that the system is slow12:21
cedkrvayi: if it is coputed fields, so stored will make duplicate data12:21
cedkrvayi: so you need a mecanism to synchronised it12:22
cedkrvayi: and by experience, synchro is most of the time bad12:22
Cristi_anin java any ORM sytem that has long history like, Hibernate,TopLink etc...have leves of cache...and they are used in real huge prod systems...12:22
Cristi_anwhy shoudl tht be considered as bad desing12:22
cedkCristi_an: we have cache but we don't store computed field in the database12:23
cedkCristi_an: and event, we have a caches with size limited (not like OpenERP)12:23
Cristi_anwell that depends so much if the computed filed can be done from the same row is not need to store that...but if that envolves useful at least from my experience12:24
Cristi_anhaving a too normalized db is not that good (even if theory said it is) ....maybe i did not understood so ignore then what i just said12:25
cedkCristi_an: for what I know, most of the use of function fields, can be writen without too much cost12:25
rvayiCristi_an: and Rails (just implemented same cache levels as well) BTW IMHO the cache invalidation system of OpenERP is clean12:26
Cristi_anrvayi, "BTW IMHO the cache invalidation system of OpenERP is clean" ?12:29
rvayiCristi_an: I  mean: they have ways to register triggers that will invalidate a cached field, see th sale_order implementation12:29
cedkrvayi: I don't think so, the first issue I saw is for inheritage12:30
cedkrvayi: and by the way, it is not an invalidation of the cache but a re-compute of the field12:32
cedkso if you have a field that depends on many records, it will be recomputed very often12:33
cedkeven if you don't read it12:33
cedkby example, each time the invoice is written, it computes the 3 amounts (untaxed, tax, total)12:36
cedkso in the workflow of the invoice, there is many write to change the status12:36
cedkso each time the amounts are computed12:36
cedkI don't find it is a good design, nor a speed improvement12:37
Cristi_anbut you takl about inmemeory computations ?12:37
cedkCristi_an: no they store the result in the database12:39
Cristi_anwell is that a bad thing ? what if i want a report and i want to see only a resume of the invoices that i had last year (customer,date,number,total_invoice) ?12:40
Cristi_anthen i have to do a select only on invoice and partenr table (join) to have taht12:40
cedkCristi_an: you can do it, with waht we had12:40
cedkCristi_an: use the models12:41
Cristi_anbut i have to do larger queries no ?12:41
cedkCristi_an: it will not cost so much12:41
Cristi_anto involve the invoice_details as well12:41
Cristi_anwhere each product is12:41
cedkCristi_an: it is just a join with a clause that has index12:42
cedkCristi_an: and diplied the customer name will cost much that the total_amout12:43
Cristi_anwell pardon me but if i have like 10000 customers 100000 invoices and like 1000000 invoice dettails...12:44
Cristi_andoes it worth to do such a query...?12:44
bechamelCristi_an: for an annual report speed is not a big deal, but updating data for it each time you create an invoice is bad (frequent operation must be quick, not frequent operation can be slow)12:44
Cristi_an agreee....12:44
Cristi_anbut there are OLAP12:44
Cristi_anand additinal data strcutures may be created for reporting12:45
Cristi_anDatawarehouse etc....12:45
cedkCristi_an: accounting stuff must be hardened, and OLAP stuff are not very accurate12:45
Cristi_anbuut having some computed fileds in the table is that going to affect so much inserts and upfdates12:45
cedkCristi_an: I think so12:46
bechameldatawarehouse doesnt need "live" data, if its sync every night its ok12:46
nicoeCristi_an, for OLAP you can you delegate the computation of such field to the ETL layer12:46
Cristi_anwe are talking about the current tables that are used every day...12:46
Cristi_anthis tables have to be kept in resonable size for optimum speed agree ?12:47
bechamelCristi_an: why, there are indexes for that12:47
Cristi_ani do not understat having a talbr with milions of rows inside is not a problem but having a table with some extrac columns is a problem12:48
rvayiCristi_an: (OpenERP, made the cache stuff for balance and other financial reports and also stock reports I think? They also use a MPTT for hierarchical structures, which is a bit the same kind of optim, I don't know where Tryton stands here)12:49
cedkCristi_an: because if you want cache on a field, it is because you find that computed it will cost too much, so if you store the value and you re-compute it each time there is a change, you will compute this fields more than necessary12:49
cedkrvayi: MPTT is in Tryton before OpenERP12:50
cedkrvayi: and I don't think as I said previously that caching financial stuff is a good thing12:50
rvayicedk: But I think that recomputation mainty occurs in an interractive time: like you alter a slae workflow: it will recompute, you won't even notice it, while if the partner balance has no cache it will just be really slow every time you wan to see it12:51
cedkrvayi: I think you create move line more often that you read the balance12:52
cedkrvayi: by the way, we had a computed balance for each fiscalyear when this one is closed12:53
cedkrvayi: so we store computed data when they will no more change12:53
Cristi_ani am tryng to follow you guys....BUT i know a general rule cache static data (that that do not have too much movements) (may be parteners ,countries etc) not fin data ....12:54
cedkCristi_an: fin = ?12:54
rvayicedk: ok. But my point is that while caching you might very well recompute too much, but if you don that per while interacting perrecord, the user won't notice any lag because recomputing one field is negligible in front of the network latency12:55
cedkrvayi: not for Tryton :-)12:55
rvayierr, mean: if you recompute while manipulating one record, that's fast12:55
cedkrvayi: but if you think that computing the fields is not a problem for interactive, so why do you want to compute it when you read it12:56
cedkrvayi: false12:56
cedkrvayi: they don't do delta change, they compute every thing12:56
cedkrvayi: and if they do delta change, it is more bad that I thought12:57
cedkrvayi: I check it and the re-compute the field12:57
cedkso compute the balance each time a move is created vs compute the balance when it is readed12:58
rvayicedk: beacause recomputing one filed might be fine and not even noticeable, but mass recomputing field in a report when their is no cache might not be acceptable12:58
rvayicedk: no12:59
cedkby the way I check and OpenERP don't store the balance of accounts12:59
cedkrvayi: no FALSE12:59
Cristi_annice talking to you....12:59
Cristi_ancu you soon ...12:59
cedkrvayi: if it is so, it is because it is bad programming13:00
rvayicedk: the balance is not cached, but it's computed mostly from the DB. But an invoice total amount (will be used in the balance) is cached in the DB so the balance computation can use it. Now if you alter an invoice line, you do recompute the invoice total which is fine I think13:00
cedkrvayi: no FALSE, amount of the invoice is not used in the balance of account13:01
rvayiwell, they do that kind of stuff with sale order at least and I guess what use it for instance is to know how much a customer might have ordered vs how much he has paid13:01
rvayibut that's the same idea how cache works13:02
cedkrvayi: you can not work on SALES for that, you work on account moves13:02
rvayicedk: well, I'm not to much interested in where they use it exactly (no interrest inaccounting I should say) but I know why they use it and I think they are right13:04
cedkrvayi: no problem if you don't see tha bottleneck of this design13:04
rvayicedk: well, I cam up with somthing similar for personnal project, so I think I rather why they do it like that, sorry13:05
cedkrvayi: just one thing, if you think it is speeding the software, did you test our demo server ?13:07
-!- Cristi_an(n=Cristi@ has joined #tryton13:09
rvayicedk: not yet, but this is definitely on in my todo list13:09
rvayicedk: speaking about speed, you might be interested in this one:
rvayiI think they got it wrong here13:11
cedkrvayi: we do the same but it is not slow at all as we fetch only visible records13:13
cedkit is just a prefetch to have better fluidity in the UI13:14
cedkbut I know that it can be very slow on OpenERP13:15
-!- LordVan(n=lordvan@gentoo/developer/LordVan) has joined #tryton13:27
CIA-53tryton: C?dric Krier <> default * 1366:f1de6c5b54d1 trytond/trytond/tools/ Fix creation of translation in xml import13:57
CIA-53tryton: C?dric Krier <> default * 1367:7a9374193f2a trytond/trytond/tools/ Improve xml import by using a BrowseRecordList for existing records13:57
-!- Gedd( has joined #tryton14:03
-!- carlos(n=carlos@ has joined #tryton15:28
-!- oversize( has joined #tryton16:08
-!- Cristi_an(n=Cristi@ has joined #tryton16:32
CIA-53tryton: matb roundup * #670/Error on update of some not very recent databases: [chatting] failing SQL for these databases: INSERT INTO "ir_action_act_window_view" (id,"act_window","sequence","view", create_uid, create_date) V ...16:37
-!- ikks_(n=igor@ has joined #tryton17:21
-!- ikks_(n=igor@ has joined #tryton17:59
CIA-53tryton: matb roundup * #671/Cannot insert new products in purchases or sales: [chatting] [Tue Dec 16 17:59:03 2008] ERROR:web-service:Exception in call: Traceback (most recent call last): File "/usr/local/tryton/trytond/tr ...18:06
CIA-53tryton: C?dric Krier <> default * 1122:11111aac4e92 tryton/tryton/common/ Remove print statement18:09
CIA-53tryton: C?dric Krier <> default * 1368:7d559c95817e trytond/trytond/tools/ Fix find_in_path to return the name if not found in path19:15
CIA-53tryton: C?dric Krier <> default * 1123:009fbf625271 tryton/tryton/common/ Use find_in_path for file_open and mailto19:15
CIA-53tryton: C?dric Krier <> default * 1124:d44a2fd221cf tryton/tryton/ Fix find_path for win32 and mac19:15
-!- Cristi_an(n=Cristi@ has joined #tryton19:15
-!- ikks_(n=igor@ has joined #tryton19:16
-!- Cristi_an__(n=Cristi@ has joined #tryton19:16
-!- igor__(n=igor@ has joined #tryton19:18
-!- Cristi_an(n=Cristi@ has joined #tryton19:26
CIA-53tryton: matb roundup * #680/Translated items not being any more displayed translated: [new] new database on changeset: 1379:42a0f4bf12b3 user: Cédric Krier <> date: Mon Dec 15 19:10:39 2008 +0100 summar ...19:29
-!- vengfulsquirrel( has joined #tryton19:32
-!- vengfulsquirrel( has joined #tryton19:59
-!- ikks_(n=igor@ has joined #tryton20:00
-!- carlos(n=carlos@ has joined #tryton20:34
CIA-53tryton: ced roundup * #678/validation error in xml of purchase module: [resolved] Update the purchase module.20:38
CIA-53tryton: ced roundup * #679/KeyError: 'salable': [testing] I think it is linked to the issue67820:39
CIA-53tryton: ced roundup * #677/error in tax code creation from tax code templates: [need-eg] Can you provide more informations?20:40
Cristi_anthe python interpreter for windows is as good as in linux ?20:41
vengfulsquirrelDo you mean performance wise ?20:43
bechamelCristi_an: I think it is, but maybe gtk is a bit slower, but it wasn't flagrant on my laptop20:46
CIA-53tryton: C?dric Krier <> default * 1369:4473fbe5217e trytond/trytond/ir/ Add migration from 1.0 remove multi on ir.action.act_window.view for issue67020:46
Cristi_ani guess most of the cliets you have have windows20:46
CIA-53tryton: ced roundup * #670/Error on update of some not very recent databases: [resolved] Fix with changeset 4473fbe5217e20:46
bechamelCristi_an: as i told you before, the last exe is faster, did you try it ?20:51
Cristi_ani download now...20:51
Cristi_ani am sure it is faster...20:51
cedkCristi_an: globaly it is the same sources so it must not be very different20:54
cedkCristi_an: The only things I know, is that on windows the previous TinyERP client was very slow because it needs to open many times the same big file with glade xml20:55
bechamelcedk: it depends which version Cristi_an was using before20:55
cedkCristi_an: and on linux it was the same but there was no visible performence lost20:55
cedkCristi_an: but it is not python the issue I guess, it is more windows OS20:56
cedkbechamel: I talk about Python only20:56
cedkfor sure the version 1.0.1 is faster then the 1.0.020:57
Cristi_ani run it right now20:59
cedkCristi_an: and ?21:00
Cristi_angive me 3 min :)21:01
-!- carlos_(n=carlos@ has joined #tryton21:01
-!- Gedd( has joined #tryton21:05
Cristi_anwind app looks gr821:05
Cristi_anand behaves nice.21:05
Cristi_ana thing i noticed21:05
Cristi_ansince i am maniac :)21:05
Cristi_anwhen firt time the party or other module is created (new party)21:06
Cristi_anit takes some time to create that21:06
Cristi_anmaybe is because the demo server is belgium :)21:06
Cristi_annot local21:06
Cristi_anand the ui is created by reding from DB (my guess)21:06
cedkCristi_an: it is normally only the first time you open a view because after there is some cache21:07
cedkCristi_an: and also if there was no body that connect to the server since a long time, the cache can have been clean21:08
Cristi_angot it !!!!21:08
Cristi_anguys with your help in 3 months...21:09
Cristi_ani'll code romanian modules...:)21:09
Cristi_anbut plz remain as comunicative as you are now :)21:11
cedkCristi_an: we will do our best21:12
CIA-53tryton: C?dric Krier <> default * 336:bffa4fda0026 account/ Fix guidelines21:13
vengfulsquirrelI'm going to make a wiki page for the MRP module, and begin to list out features and functionality in there and we can began to form a consensus on what's important.  Does that sound good ?21:13
cedkvengfulsquirrel: yes21:14
vengfulsquirrelI'm still reading and whatnot but I have some basic questions.  Is it improper for a module to change the database schema of other module's table layouts?21:15
cedkvengfulsquirrel: what do you mean by changing the schema ?21:18
cedkI just check the module document_webdav_old of Tiny, and in fact they used an old version of pywebdav, so it is logical that they had performance issue21:20
cedkvengfulsquirrel: if it is just adding new columns, there is no issue21:21
cedkvengfulsquirrel: but if it is make one field required, this can make an issue21:21
cedkvengfulsquirrel: in many modules, we extend other models that is the main purpose of modularity21:22
vengfulsquirrelHmm well for example this book talks of separating "parts" from "products".21:23
vengfulsquirrelThe current system only covers products.21:26
vengfulsquirrelIf they were different the stock module would have to track quantities of parts INSTEAD of products, whereas products would be defined consisting of parts using a BOM.21:28
vengfulsquirrelI think I'm way ahead of myself here though, but knowing that adding a column is OK is helpful.21:28
vengfulsquirrelDo modules need to support being un-installed at all?21:29
X0d_of_N0dudono: hey21:46
X0d_of_N0dvengfulsquirrel: you're working on mrp in Tryton??21:47
udonoX0d_of_N0d: hello21:47
-!- cristi_an(n=cristi@ has joined #tryton21:48
vengfulsquirrelX0d_of_N0d: Well I'm just trying to help with the planning right now, and maybe when I get up to speed on everything else I'll actually be "working" on something.21:49
X0d_of_N0dudono: The module looks good, I've got to do a bunch of other stuff before I get a chance to really check it out but at first glance it looks nice21:50
udonoX0d_of_N0d: the ldap part is on you...21:50
X0d_of_N0dudono: cool, np21:50
X0d_of_N0dvengfulsquirrel: mrp is actually the only thing in the way of our company using tryton instead of tinyerp...21:51
udonoX0d_of_N0d: do you know this:
cristi_anwhat is __doc__ means ?21:53
vengfulsquirrelcristi_an: Its part of python's built-in functionality that gets the doc string of the class.21:54
X0d_of_N0dACTION looks at the google groups thread21:54
cristi_anwhen i create a class like that one.21:54
X0d_of_N0dvengfulsquirrel: is there any plan on adding finite capacity scheduling?21:55
cristi_anthe db table is create by the framework ?21:55
X0d_of_N0dvengfulsquirrel: into the mrp module21:55
cristi_anor do i have to create that  ?21:55
X0d_of_N0dudono: that's really interesting....21:56
vengfulsquirrelX0d_of_N0d: The plan hasn't started yet.  I'm going to make a wiki page with a feature list and we'll add stuff to it and then decide on what's most critical to start.21:56
udonocristi_an: google for python docstring21:56
cristi_anok...that is clear..21:56
cristi_anii found that in dive into pyton...21:56
udonocristi_an: class table is done by ORM21:56
cristi_ani think is better for me to start doing a module21:57
cristi_anrathere then read a book ?21:57
cristi_anin order to be familiar with python...21:57
cristi_ansince you learn a language using it...not from books21:57
cristi_anwhat do you think...21:58
udonocristi_an: that's the best way!21:58
udonocristi_an: even better is you learn on university...21:58
cristi_anwell there i had a lot of c++,java,lisp,prolog,assmbler :)21:59
cristi_anpython is new for me.22:00
cristi_anbut i start to like it...22:00
cristi_anaaa i forgot basic and pascal :)22:00
X0d_of_N0dvengfulsquirrel: cool22:01
cristi_anthat was highschool :)22:01
X0d_of_N0dudono: I've got to take care of a few things here, I'll talk to you later today or tomorrow22:01
udonoX0d_of_N0d: best is via email or just hg push, cos Iam away soon.22:02
X0d_of_N0dudono: will do22:03
cristi_anwho is giving me 3 minutes  ?22:07
cristi_an(volunteer ?)22:08
cristi_annp i ask tommorow then ....22:10
udonocristi_an: just ask and don't ask if you can ask22:11
cristi_anok...i am courious...22:11
cristi_anin that paste i did...22:11
cristi_anabout import22:12
cristi_ani see there two imports22:12
cristi_animport logging22:12
cristi_anand import then later vatnumber22:12
cristi_anthat is executed like static in java ?22:12
cristi_anbefore the constructor ?22:13
udonocristi_an: yes22:13
cristi_anthere is a try except ?22:13
cristi_anlike a try catch in java22:13
udonocristi_an: yes22:13
cristi_anthat vatnumber22:13
cristi_anis like a packege (in java ) module in python ?22:13
udonocristi_an: I don't know java, but it sounds good...22:13
cristi_anso that is imported....22:14
udonocristi_an: yes22:14
cristi_anbut how do you know that it throws that exception...22:14
udonocristi_an: sudo easy_install vatnumber22:14
cristi_anin java for dummies ...the IDE show to you that22:14
cristi_anif is not runtimeexceptions22:14
udonocristi_an: you see a warning in log. The exeception is catched22:15
bechamelcristi_an: another suggestion: don't use so much lines to talk try to put all the question in one line22:15
cristi_ansorry for this...22:15
udonocristi_an: s/HAS_VATNUMBER and see where it changes22:16
cristi_ani know the logic there,but how do you know that is possible to get exceptions22:16
cristi_anthat import error is throws by the vatnumber class or so22:17
vengfulsquirrelAll python has is run time exceptions, so if its not documented you have to look at the code that will throw the exception to know the exception will be thrown.22:18
bechamelimport are made at runtime, and the exception is thrown by the interpreter if it fails to find find the module22:18
cristi_anall exception are runtime ?22:19
udonocristi_an: its just good implementation: you use other modules if they are there. If they are not mandatory for the functioning of your module, you catch the exeption and disable the depending parts: line 16822:19
cristi_anudono: i got it the logic behind this22:20
cristi_anbut since i came from an environment where exceptions are of 2 types :runtime and catched22:21
cristi_ani wanted to know how do i know if a method ,import anything throws an exception.22:22
cristi_ana half answer i got from vengfulsquirrel , only from documents22:22
vengfulsquirrelYeah there is no pre-declared exceptions just like there are no pre-declared types.  If I call function foo() it could raise ANY exception and I wouldn't know until I read the documentation and furthermore maybe even the source to find out it threw that.22:23
cristi_anooops. that is not very nice and some surprises may arrise :)22:23
cristi_anvengfulsquirrel: you worked with java before ?22:24
udonocristi_an: there is no problem22:24
cristi_anbut at least there are like ierachies of exceptions ? in order to catch one for many of them  ?22:24
vengfulsquirrelcristi_an: Python has exception inheritance as well.22:25
cristi_anthat is good.22:25
udonocristi_an: you can have exception classes22:25
vengfulsquirrelcristi_an: Have you tried going through the python tutorial it might speed things up?22:25
cristi_ani will do that then.22:26
cristi_anstarted but i assumed is better to dive into the code :)22:26
cristi_ani know,if you want to learn to swing ,you have to try deep waters :)22:27
vengfulsquirrelYeah well you have to keep going back to the docs and tutorial when you hit problems though otherwise its going to be some slow swimming.22:27
cristi_anbut as you said...maybe is a good ideea to start with not so deep waters22:27
udonocristi_an: python tutorial is a must have, I think22:28
cristi_ansure np.22:28
vengfulsquirrelI've read through it at least once.22:28
vengfulsquirrelHas anyone else read parts of this Data Model Resource book by Silverston ?22:28
cristi_anthat one from pyton org ?22:28
cristi_ancu in few days...then, you will not get rid of me that easy :)22:30
vengfulsquirrelha sounds good, good luck22:30
vengfulsquirrelWhat is the average company size that was using openerp ?22:31
udonovengfulsquirrel: yes, me22:32
udonovengfulsquirrel: Who knows?22:32
vengfulsquirreludono: Have you ever converted one of these logical schemas to an implementation?  They seem ridiculously hand-wavy and verbose at times.22:34
udonovengfulsquirrel: only partially. Iam working on party with this models.22:53
udonovengfulsquirrel: some concepts are very generical...22:53
udonovengfulsquirrel: and most of the models needs a long time to understand afaik.22:54
vengfulsquirrelYeah I'll give to them that MRP in general seems very complicated but the schema's are just so far from an actual implementation its kind of annoying.22:54
udonovengfulsquirrel: do you have better schamas?22:55
vengfulsquirrelHa touché22:55
vengfulsquirrelNo I don't22:57
udonovengfulsquirrel: dou you have a good actual implementation?22:58
vengfulsquirrelNo I don't have a good implementation.23:00
udonovengfulsquirrel: my experience with the data model resource book is, that its good for partial concepts. Its even good for naming, because Iam not a native enklish speaker. I just isolated the useful structures into small modules. Some parts are not necessary for now, so I just let them aside. Unfortunately I cannot show you a working example. Because I hang in inheriting (coding) problems with the modules.23:04

Generated by 2.11.0 by Marius Gedminas - find it at!