coopiteasy / vertical-cooperative

Odoo modules for managing cooperative shares and membership.
GNU Affero General Public License v3.0
38 stars 26 forks source link

Move modules to the OCA #359

Open robinkeunen opened 2 years ago

robinkeunen commented 2 years ago

Depends on

ferdymercury commented 2 years ago

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 commented 2 years ago

Hey @ferdymercury ,

ferdymercury commented 2 years ago

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:

  • 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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 1 year ago
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

@huguesdk fyi

huguesdk commented 1 year ago

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 commented 1 year ago

current status

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

  1. fix the unique constraint on bank accounts in cooperator (coopiteasy/vertical-cooperative#310)
  2. check that tests on OCA/l10n-belgium#150 now pass and add the same pull request for 14.0.
  3. add a test for 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.

huguesdk commented 1 year ago

current status

everything stated in the previous message is resolved. portal_recaptcha has been given tests and a refactoring, which also needed a refactoring in cooperator_website_recaptcha. here are the pending pull requests:

robinkeunen commented 1 year ago

@huguesdk thx for the summary !

DaniilDigtyar commented 1 year ago

Opened PR to move l10n_es_cooperator to l10n-spain

DaniilDigtyar commented 1 year ago

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

ferdymercury commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

Thanks! I will look at it

huguesdk commented 1 year ago

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

huguesdk commented 1 year ago

@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 commented 1 year ago
  • pywebdriver is installed on the pos computer and communicates with the weighing scale

I am having troubles with this step. I can communicate on Windows via COM1 and a serial terminal with the scale, so I am sure the cable works, but I do not see the scale when I open pywebdriver on the web browser on pos status tab. I only see three columns: display (available COM1, COM2,... In red), escpos and windowsPrinters. I tried modifying the config.ini file to add the scale_driver as in the Github example, but to no avail. Are there any guidelines or instructions I can follow? Or a logfile where I can see where the error comes from? Thanks again! (Btw if i click on the peripheral USB tab, I get a server error)

huguesdk commented 1 year ago

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 commented 1 year ago

Thanks for the prompt reply. Yes, I was using 3.0.18 https://github.com/akretion/pywebdriver/releases/download/v3.0.18/pywebdriver_win64_installer.exe

and had added exactly those lines to the config file and had re-run install.bat to restart the service.

Is a fourth column expected to appear in the web browser "status tab" showing the picture of a scale? I was just seeing the three aforementioned columns.

huguesdk commented 1 year ago

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.