baumgaro / Odoo-Talend-Component

Input and Output Component for Talend Open Studio (Dataintegration)
31 stars 18 forks source link

Great initiative! #1

Closed zoltan72 closed 11 years ago

zoltan72 commented 11 years ago

Hi,

First of all, thanks for sharing this components; the OpenERP and Talend community needed this. I played with them a little bit and seemed Ok. I was using Talend with OpenERP for ETL/application integration purposes so far, but I used the tGroovy component with the xmlrpc library, which meant some coding but also flexibility. It is great to have some dedicated OpenERP components anyway.

Now, if you are so kind to answer my questions: Q1. I've seen you have an option for the OpenERP version, right now only v 7.0 . I played with the both component on a 6.1 version and it seemed to work. Just simple things though. Should I expect problems in the future with versions less then 7.0 ?. What exactly this option is for ? Just for predefined schemas or API differences also ? (I didn't use v. 7.0 but there might be some API differences if I understood well.) Q2. I've read the documentation on your blog, but I'm having difficulties to understand some of the more advanced tricks like: You can extend the fieldname with '___' (3 underscores) and some explanatory additional field description or ManytoOne relations treated with the ArrayList option. I think it would be very helpful if you could post some example jobs, where you illustrate all your tricks and conventions.

And finally some suggestions if I may: S1. As I said before, a coding component Like tGroovy offers more flexibility but not so great productivity. But, it would be awsome if you could improve the components (or add some new ones) in order to accomplish things like calling methods on models ( eg. default_get etc.). This would be needed even for simple ETL purposes where sometimes you need to have the next available values from various sequences for example. S2. I've seen that the tOpenERPOutput component actually iterates through the data sent to it by a "main" connection. (I know that's because of the way OpenERP API works usually) But still, sometimes that can be time consuming, especially with large data sets , and I wonder if there is a possibility to batch/bulk load data in a safe way to OpenERP through an API and not through Postgres.

Thanks again and keep up the good work !

Regards, Zoli

tlauber commented 11 years ago

hi zoltan, thanks for your feedback!

Q1: The scheme i.e. res.partner has changed significantly (addresses) compared with the previous versions. Schemes might change in future versions as well. Therefor we regarded a version specific scheme definition useful. If schemes are identical among versions then a simple copy&paste within the components xml defintion is all you have to do.

Q2: let's assume you need in Talend a) the id of a title (Integer) b) the name of a title (String) For OpenERP in xmlrpc this is only 'title'. But the xmlrpc result will be an array: title(0)=id, title(1)=name With the type declaration (Integer, String) we switch between title(0) (Integer) and title(1) (String) To be able to use both, String and Integer result of title in a Talend row, we defined the convention: attribute + '___' + description

This means that titleabcdef (String) maps to the attribute 'title' and returns title(1) because it is String title1a2b3b (Integer) maps to the attribute 'title' and returns title(0) because it is Integer This is supposed to give you flexibility in using both results, name and id.

S1: Thank's for the input. Haven't thought about this so far.

S2: Yeah, a bulk method or a specific bulk component would be a good thing to improve performance.

As soon as we've got time we will take a closer look at your suggestions.

baumgaro commented 11 years ago

created enhancement issues for the two suggestions https://github.com/baumgaro/OpenERP-Talend-Component/issues/3 https://github.com/baumgaro/OpenERP-Talend-Component/issues/2