Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move modules to the OCA #359

Open
robinkeunen opened this issue Jul 28, 2022 · 27 comments
Open

Move modules to the OCA #359

robinkeunen opened this issue Jul 28, 2022 · 27 comments

Comments

@ferdymercury
Copy link

Thanks for your wonderful work on moving towards OCA!

One question, is there a (very rough) time estimate when the migration will be complete? Will it target 14.0 and 12.0? Or also 16.0 once it is released?

Thanks again, regards.

@robinkeunen
Copy link
Member Author

Hey @ferdymercury ,

@ferdymercury
Copy link

Thanks for the info! Do you know by chance if the obeesdoo modules are also available for v14?
We are now using all these from odoo v12:

  • beesdoo_account
  • beesdoo_base
  • beesdoo_easy_my_coop
  • beesdoo_pos
  • beesdoo_pos_coop_status
  • beesdoo_product
  • beesdoo_shift
  • beesdoo_shift_attendance
  • beesdoo_website_eater
  • beesdoo_website_shift
  • beesdoo_worker_status
  • easy_my_coop
  • easy_my_coop_easy_migration
  • easy_my_coop_es
  • easy_my_coop_website
  • easy_my_coop_website_portal
  • we're moving modules to the oca/cooperative repository starting this week

Nice, thanks!

  • 16.0 is not yet planned, it will depend on the customers we get. If you want to start working on it, please feel free, we will review eagerly :-)

Not sure if I can be of any help with it, I don't know what are the steps involved towards it.

@robinkeunen
Copy link
Member Author

Nice to hear that our modules are used elsewhere :-)

We won't port the beesdoo modules to v14, we'll jump directly to v16. You probably noticed we're busy splitting all these modules as well. Tell us if you have trouble upgrading those, we might give a few pointers.

To port on v16, you will need to adapt the code of v14 to the new code that will be out next week. Then you must write migration scripts for the data. We can also arrange a call sometimes to get you started.

@ferdymercury
Copy link

Our coop supermarket (in Valencia) is planning to migrate from a closed-source ERP to odoo around the end of the year. The script I am writing just ports the data (excel files) to Odoo via its API. My question is, could I just migrate from the Excel files to Odoo v16? Or your modules won't just be available in Odoo16 unless someone has written migration scripts for them?

@robinkeunen
Copy link
Member Author

If you're importing data directly to v16, you won't need migration scripts for you data. You will only need the code available in v16. We will probably port cooperator modules in early 2023 and beesdoo modules later in the year, nothing sure though.

@ferdymercury
Copy link

Thanks for the clarification and congrats for the OCA v14 migration!

Just in case I find some time in the future, how many hours do you estimate it would take me to port the OCA cooperators module from v14 to v16? I have experience with C++ and Python programming, but none with your modules / addons.

@robinkeunen
Copy link
Member Author

I'm afraid it's a bit hard to tell because we don't know much about odoo 16 yet. Plus you'd need to get familiar with the odoo framework first. For all the modules, without the migration scripts, I'd say between 40 and 80 hours ?

@ferdymercury
Copy link

Ok, good to know, thanks for the info. Then it's something I surely can't do, as I am just volunteering a couple of hours here and there during my free time apart from my normal job :) .

@robinkeunen
Copy link
Member Author

robinkeunen commented Oct 17, 2022

module [12.0][REM] [14.0][REM] [12.0][ADD] [14.0][ADD] time comment
cooperator ☑️ ☑️ 0
cooperator_api ✖️ ✖️ 0 not ported in v14
cooperator_api_logs ✖️ ✖️ 0 idem
cooperator_portal ☑️ ☑️ 0
cooperator_website ☑️ ☑️ 0
cooperator_website_recaptcha ?
cooperator_website_uppercase_lastname ✖️ ✖️ ✖️ ✖️ 0 leave and rename repo to cie-cooperative
easy_my_coop_connector ✖️ ✖️ ✖️ ✖️ 0 not working
easy_my_coop_dividend ✖️ ✖️ ✖️ ✖️ 0 not installable
easy_my_coop_export_xlsx ✖️ ✖️ ✖️ ✖️ 0 not installable
easy_my_coop_loan ✖️ ✖️ ✖️ ✖️ 0 not ported, move out of cooperator app
easy_my_coop_loan_account ✖️ ✖️ ✖️ ✖️ 0 idem
easy_my_coop_loan_account_be ✖️ ✖️ ✖️ ✖️ 0 idem
easy_my_coop_loan_bba ✖️ ✖️ ✖️ ✖️ 0 idem
easy_my_coop_loan_website ✖️ ✖️ ✖️ ✖️ 0 idem
l10n_be_cooperator ☑️ ☑️ ☑️ ☑️ 0 oca/l10n-belgium
l10n_be_cooperator_portal ? oca/l10n-belgium
l10n_ch_cooperator ? oca/l10n-switzerland
l10n_es_cooperator ? oca/l10n-spain
l10n_fr_cooperator ? oca/l10n-france
portal_recaptcha ☑️ ? oca/website

Legend

  • [12.0][REM]: PR to remove module from coopiteasy/vertical-cooperative on branch 12.0

  • [14.0][REM]: PR to remove module from coopiteasy/vertical-cooperative on branch 14.0

  • [12.0][REM]: PR to add module to oca/cooperative on branch 12.0

  • [14.0][REM]: PR to add module to oca/cooperative on branch 14.0

  • PR opened : ☑️

  • PR merged : ✅

  • nothing to do : ✖️

@huguesdk fyi

@huguesdk
Copy link
Member

moving some modules to other repos might need some extra work. for example, OCA/website#914 is currently blocked because it lowers test coverage, so it has been flagged as “needs tests”.

@huguesdk
Copy link
Member

current status

here’s the order in which i think things should be done:

  1. fix the unique constraint on bank accounts in cooperator ([REM] cooperator: Unique bank constraint on partner #310)
  2. check that tests on [12.0][ADD] l10n_be_cooperator OCA/l10n-belgium#150 now pass and add the same pull request for 14.0.
  3. add a test for [12.0][ADD] portal_recaptcha OCA/website#914 to ensure test coverage stays the same, then add the same pull request for 14.0.
  4. create the pull requests for cooperator_website_recaptcha and l10n_be_cooperator_portal.

regarding the other modules (api & other l10n), i think that the pull requests should be able to be created at any time.

@robinkeunen
Copy link
Member Author

@huguesdk thx for the summary !

@DaniilDigtyar
Copy link

Opened PR to move l10n_es_cooperator to l10n-spain

@DaniilDigtyar
Copy link

PR was rejected by l10n-spain and say that we move it to OCA/cooperator new PR was opened

@ferdymercury
Copy link

ferdymercury commented Feb 24, 2023

Nice to hear that our modules are used elsewhere :-)

We won't port the beesdoo modules to v14, we'll jump directly to v16. You probably noticed we're busy splitting all these modules as well. Tell us if you have trouble upgrading those, we might give a few pointers.

Hi @robinkeunen, sorry to bother again. We are finally starting the ERP system using odoo12 (with the aforementioned beescoop and coopiteasy modules), however I noticed that our Toledo-weighing-scale seems only to be supported in odoo13 (https://github.com/odoo/odoo/blob/13.0/addons/hw_drivers/drivers/SerialScaleDriver.py). I was wondering whether any other of your customers was able to backport that driver into odoo12, or if you have an estimate on how many hours such an endeavour would take. Thanks in advance and congrats for the great advances with the splitting and OCA porting!

@robinkeunen
Copy link
Member Author

robinkeunen commented Feb 24, 2023

If not too late, I would strongly recommend going on more recent versions of odoo (16 or at least 14). Migration later will be very costly. We're starting the analysis to move our supermarket towards version 16.

@huguesdk can you update ferdymercury on "the state of the Toledo" ? I'm not sure where we're at right now.

@ferdymercury
Copy link

ferdymercury commented Feb 24, 2023

If not too late, I would strongly recommend going on more recent versions of odoo (16 or at least 14). Migration later will be very costly. We're starting the analysis to move our supermarket towards version 16.

We are using the beesdoo modules, are these already ready for 14 or 16?

@huguesdk
Copy link
Member

@ferdymercury the weighing scale driver that you’re referring to are the drivers that run on the iot box (or pos computer with posboxless), not on the odoo server, and using different versions between those is not a problem, as the communication protocol hasn’t changed since version 8.0.

i didn’t know that the code was still available in the 13.0 branch! it was present in version 12.0 before this commit, which removed it.

this said, i do not recommend using the odoo weighing scale driver. it has a terrible latency (sometimes up to several seconds). instead, i recommend to use pywebdriver (instead of posboxless), which handles the same mettler toledo protocol (8217) as the odoo driver, but with a much lower latency.

@ferdymercury

This comment was marked as off-topic.

@huguesdk
Copy link
Member

the setup is quite simple once you understand how it works:

  • the weighing scale is connected to the pos computer with an rs-232 (or usb) connection.
  • pywebdriver is installed on the pos computer and communicates with the weighing scale.
  • a web browser is used on the pos computer to access odoo.
  • the pos in odoo is configured to communicate to the “iot box” on http://localhost:8069.
  • the javascript odoo pos application runs in the browser and communicates with pywebdriver through http on the pos computer itself.

@huguesdk
Copy link
Member

huguesdk commented Feb 27, 2023

@robinkeunen i updated my previous message above with the new pull requests to move back l10n_be_cooperator* modules to cooperative instead of l10n-belgium.

@ferdymercury

This comment was marked as off-topic.

@huguesdk
Copy link
Member

huguesdk commented Mar 6, 2023

are you using pywebdriver 3.0.15 or more recent? because there was a fix for the scale driver for windows in that version. in your config file, in the [application] section, drivers should contain scale_driver, so at least:

[application]
drivers = odoo8,scale_driver

and the [scale_driver] section should be like this:

[scale_driver]
protocol_name=mettler_toledo_8217
port=COM1
baudrate=9600

i’m not sure how well it works on windows, i never tried it.

@ferdymercury

This comment was marked as off-topic.

@huguesdk
Copy link
Member

huguesdk commented Mar 6, 2023

in the status tab, there should be a div for each peripheral, so yes, there should be one for the scale. try using only the scale driver maybe? you’re mentioning a “display” driver using also a serial connection. maybe it is in conflict with the scale driver?

anyway, this github issue is not meant for pywebdriver support. if you think that there is a bug, please file an issue on akretion/pywebdriver. we can also possibly offer paid support if you would like us to look into the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

4 participants