Skip to Content

Contributors

tool: Odoo Modules Migration

Hi!
I wrote a simple tool which helps me keeping an overview of module 
upgrades during ongoing upgrade projects, especially for a large amount 
of modules. I hope someone finds it useful.

https://github.com/Nitrokey/odoo-modules-migration

Best regards
Jan

by Jan Suhr - 09:35 - 18 Sep 2023

Follow-Ups

  • Re: tool: Odoo Modules Migration

    Hello Florian,

    Seems we are targeting the same goals with different solutions, but a common ground could be found.

    Like you the code is hosted under our github: https://github.com/camptocamp/odoo-repository
    (still a "POC", need to write tests). I added some screenshots in the README.

    How to use it:
    - define a list of repositories + where to find modules in it (addons paths), it's not tied to any development environment
    - grab all kind of data from these repositories
    - define your Odoo projects and import the installed modules to do the match with the scanned data from repositories (if there is no match, try to find the relevant PR URLs on GitHub - pending merges). We could imagine a "phone home" module installed on customer Odoo instances that will be in charge to push these data to this Odoo Repository node, for now it is a simple copy/paste of installed modules in a wizard.

    We have to talk about these tools at OCA Days, you are going a step further with the migration complexity it is really interesting.

    Kind regards,


    Le 05/10/2023 à 10:27, Florian Kantelberg a écrit :

    Hello,

    interesting mail Sebastian. Most of it sounds familiar because we aim for the same goals with [1] (pypi odoo-analyse). Generally speaking odoo-analyse goes deeper than a simple lines of code analyses because there are plenty of cases reading the manifest isn't enough (e.g. Odoo 16.0 website has a hidden dependency towards iap because of an import). In the last days we extended it also to allow to estimate the modules which would be installed in a system without a database which should influence the initial topic of this mailing list [see 3] (@Jan). It resolves auto_install and dependencies starting from an initial module list.

    The tool is the foundation of [2] one of our long term projects and this is the reason why the current code is under our github and not pushed towards the OCA in the past. There would be no problem for a joint operation and we could push it to the OCA if we can stay maintainer of it. We (initOS) are also on the OCA days and would welcome support/ideas/feedback.

    We also already added complexity measurements in preparation to estimate a module and system complexity and furthermore a migration complexity. In the future we plan to offer a service to estimate module complexities in conjunction with the files from odoo-analyse (via a trained model) or for experts to estimate the complexities of modules to train a model even further basically as part of [2].

    Btw it lacks the repository management because this one is better handled externally (e.g. git-aggregator is a great tool). There are various build environments for Odoo and we learned that without the repository management we can easier analyse in different environments. Often enough there is already a CI or a development environment and reading the odoo.cfg is easy enough.

    Best Regards,

    Florian

    [1] https://github.com/initOS/odoo-analyse

    [2] https://www.odoo-code-search.com

    [3] `cat modules.txt | odoo_analyse -p odoo --modules - --analyse analyse.json --estimate-state --state-filter installed`

    where odoo is the folder under which ALL modules can be found

    Am 04.10.23 um 17:57 schrieb Sebastien Alix:

    Hi,

    I am the author of 'oca-port' so I'll try to answer your questions.

    These two tools aim two different purposes, but have few common points:

    - oca-port: it doesn't really know what is Odoo, this tool only plays with commits of git repositories to help the user to:
        1) migrate the git history of the module ('git format-patch' dance) and run pre-commit before inviting the user to follow the OCA migration guide. It'll also request GitHub API to find a open PR to invite the user to review it instead of creating a new one.
        2) for modules already migrated, it'll list the commits and related PRs that could be ported to fill the gap (fixes or features)
        3) a parsable output is available so we at Camptocamp are using it to scan OCA repositories and generate reports to estimate the work to achieve for migration projects (which modules are 100% ported, missing some fixes/features, have to be migrated and which ones having a PR to review)

    - odoo-module-migrator: from what I know (I do not use this tool yet) its job is to help you to migrate Odoo code to the target version (e.g. if a XML tag has been deprecated, it'll warn or update to the new format).

    Both tools could be used together, my idea would be that 'oca-port' leverages 'odoo-module-migrator' to automatically update the code in a migration process. From now, the user can call 'oca-port' then call 'odoo-module-migrator' manually (not tested), no big deal.

    I think the common points right now is that 'odoo-module-migrator' also does the 'git format-patch' step, and run pre-commit.


    FYI I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos) to collect modules metadata and consolidate all these data in one place, and it leverages oca-port to collect the migration data presented above. This tool aims to help functional & technical people with these kind of features:

    - get number of lines of code (Python/JS/XML/CSS) by module/repo/branch/organization or any filter you want
    - for maintainers, get a quick overview of the state of their modules
    - what are the most used OCA addons among all your Odoo projects
    - in term of lines of code of a customer project, how are they distributed among  Odoo, OCA and specifics
    - generate reports to ease the estimation of migration projects for a given migration path (e.g. 14.0 -> 16.0)
    - know all Python dependencies used in OCA to avoid versions conflicts or to improve security updates

    A lot of use cases could be addressed I guess. I'll probably make a presentation of this at OCA Days (need to finish some stuff, do some cleanup, host the code in a OCA repository, and address some questions regarding the hosting).

    Kind regards,


    Le 04/10/2023 à 09:26, Rafael Blasco a écrit :

    This is a really nice topic to have a doc/talk about for new contributor. Maybe for OCA DAys

     

    • Which is the use of both tool?
    • Why 2 and not just a single 1? (they should be different with different authors)
    • A "How to" for newcontribs are really useful to increase OCA

     

    It is not trivial and easy for everyone. The moment we take things for granted we lose contributors along the way.

     

    https://github.com/OCA/oca-port

    https://github.com/OCA/odoo-module-migrator

     

    Thank you!

    Regards

    Rafael

     

     

    De: Alexandre Fayolle <notifications@odoo-community.org>

    Enviado el: martes, 26 de septiembre de 2023 10:03

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Hello, you should check oca-port too

     

    https://github.com/OCA/oca-port

     

    Best regards

    --

    Alexandre Fayolle

    Senior Software Engineer

    Tel : +33 4 58 48 20 30

     

     

     

    De: Fernando La Chica <notifications@odoo-community.org>

    Enviado el: lunes, 18 de septiembre de 2023 23:08

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Take a look at this tool

     

    https://github.com/OCA/odoo-module-migrator

     

    At first I thought it was the same tool. I understand that it is out of the scope of your tool but I think it can be useful for your final objective which is to migrate a large number of modules.

     

    El lun, 18 sept 2023, 9:37, Jan Suhr | Nitrokey <notifications@odoo-community.org> escribió:

    Hi!

    I wrote a simple tool which helps me keeping an overview of module

    upgrades during ongoing upgrade projects, especially for a large amount

    of modules. I hope someone finds it useful.

     

    https://github.com/Nitrokey/odoo-modules-migration

     

    Best regards

    Jan

    __________________________________

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Sébastien Alix
    Business Solutions Odoo Developer
    
    Camptocamp France SA
    https://www.camptocamp.com/

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Mit freundlichen Grüßen
    
    Florian Kantelberg
    Softwareentwickler
    
    initOS GmbH
    Innungsstraße 7
    21244 Buchholz i.d.N.
    
    Tel.: +49 (0) 4181 1350344
    Fax: +49 (0) 4181 1350310
    
    Email: florian.kantelberg@initos.com
    Internet: https://www.initos.com
    
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Buchholz i.d.N.
    Amtsgericht: Tostedt, HRB 205226
    USt-IdNr: DE 815580155
    Steuer-Nr: 15/200/53247

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Sébastien Alix
    Business Solutions Odoo Developer
    
    Camptocamp France SA
    https://www.camptocamp.com/

    by Sébastien Alix - 11:21 - 11 Oct 2023
  • Re: tool: Odoo Modules Migration

    Hello,

    interesting mail Sebastian. Most of it sounds familiar because we aim for the same goals with [1] (pypi odoo-analyse). Generally speaking odoo-analyse goes deeper than a simple lines of code analyses because there are plenty of cases reading the manifest isn't enough (e.g. Odoo 16.0 website has a hidden dependency towards iap because of an import). In the last days we extended it also to allow to estimate the modules which would be installed in a system without a database which should influence the initial topic of this mailing list [see 3] (@Jan). It resolves auto_install and dependencies starting from an initial module list.

    The tool is the foundation of [2] one of our long term projects and this is the reason why the current code is under our github and not pushed towards the OCA in the past. There would be no problem for a joint operation and we could push it to the OCA if we can stay maintainer of it. We (initOS) are also on the OCA days and would welcome support/ideas/feedback.

    We also already added complexity measurements in preparation to estimate a module and system complexity and furthermore a migration complexity. In the future we plan to offer a service to estimate module complexities in conjunction with the files from odoo-analyse (via a trained model) or for experts to estimate the complexities of modules to train a model even further basically as part of [2].

    Btw it lacks the repository management because this one is better handled externally (e.g. git-aggregator is a great tool). There are various build environments for Odoo and we learned that without the repository management we can easier analyse in different environments. Often enough there is already a CI or a development environment and reading the odoo.cfg is easy enough.

    Best Regards,

    Florian

    [1] https://github.com/initOS/odoo-analyse

    [2] https://www.odoo-code-search.com

    [3] `cat modules.txt | odoo_analyse -p odoo --modules - --analyse analyse.json --estimate-state --state-filter installed`

    where odoo is the folder under which ALL modules can be found

    Am 04.10.23 um 17:57 schrieb Sebastien Alix:

    Hi,

    I am the author of 'oca-port' so I'll try to answer your questions.

    These two tools aim two different purposes, but have few common points:

    - oca-port: it doesn't really know what is Odoo, this tool only plays with commits of git repositories to help the user to:
        1) migrate the git history of the module ('git format-patch' dance) and run pre-commit before inviting the user to follow the OCA migration guide. It'll also request GitHub API to find a open PR to invite the user to review it instead of creating a new one.
        2) for modules already migrated, it'll list the commits and related PRs that could be ported to fill the gap (fixes or features)
        3) a parsable output is available so we at Camptocamp are using it to scan OCA repositories and generate reports to estimate the work to achieve for migration projects (which modules are 100% ported, missing some fixes/features, have to be migrated and which ones having a PR to review)

    - odoo-module-migrator: from what I know (I do not use this tool yet) its job is to help you to migrate Odoo code to the target version (e.g. if a XML tag has been deprecated, it'll warn or update to the new format).

    Both tools could be used together, my idea would be that 'oca-port' leverages 'odoo-module-migrator' to automatically update the code in a migration process. From now, the user can call 'oca-port' then call 'odoo-module-migrator' manually (not tested), no big deal.

    I think the common points right now is that 'odoo-module-migrator' also does the 'git format-patch' step, and run pre-commit.


    FYI I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos) to collect modules metadata and consolidate all these data in one place, and it leverages oca-port to collect the migration data presented above. This tool aims to help functional & technical people with these kind of features:

    - get number of lines of code (Python/JS/XML/CSS) by module/repo/branch/organization or any filter you want
    - for maintainers, get a quick overview of the state of their modules
    - what are the most used OCA addons among all your Odoo projects
    - in term of lines of code of a customer project, how are they distributed among  Odoo, OCA and specifics
    - generate reports to ease the estimation of migration projects for a given migration path (e.g. 14.0 -> 16.0)
    - know all Python dependencies used in OCA to avoid versions conflicts or to improve security updates

    A lot of use cases could be addressed I guess. I'll probably make a presentation of this at OCA Days (need to finish some stuff, do some cleanup, host the code in a OCA repository, and address some questions regarding the hosting).

    Kind regards,


    Le 04/10/2023 à 09:26, Rafael Blasco a écrit :

    This is a really nice topic to have a doc/talk about for new contributor. Maybe for OCA DAys

     

    • Which is the use of both tool?
    • Why 2 and not just a single 1? (they should be different with different authors)
    • A "How to" for newcontribs are really useful to increase OCA

     

    It is not trivial and easy for everyone. The moment we take things for granted we lose contributors along the way.

     

    https://github.com/OCA/oca-port

    https://github.com/OCA/odoo-module-migrator

     

    Thank you!

    Regards

    Rafael

     

     

    De: Alexandre Fayolle <notifications@odoo-community.org>

    Enviado el: martes, 26 de septiembre de 2023 10:03

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Hello, you should check oca-port too

     

    https://github.com/OCA/oca-port

     

    Best regards

    --

    Alexandre Fayolle

    Senior Software Engineer

    Tel : +33 4 58 48 20 30

     

     

     

    De: Fernando La Chica <notifications@odoo-community.org>

    Enviado el: lunes, 18 de septiembre de 2023 23:08

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Take a look at this tool

     

    https://github.com/OCA/odoo-module-migrator

     

    At first I thought it was the same tool. I understand that it is out of the scope of your tool but I think it can be useful for your final objective which is to migrate a large number of modules.

     

    El lun, 18 sept 2023, 9:37, Jan Suhr | Nitrokey <notifications@odoo-community.org> escribió:

    Hi!

    I wrote a simple tool which helps me keeping an overview of module

    upgrades during ongoing upgrade projects, especially for a large amount

    of modules. I hope someone finds it useful.

     

    https://github.com/Nitrokey/odoo-modules-migration

     

    Best regards

    Jan

    __________________________________

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Sébastien Alix
    Business Solutions Odoo Developer
    
    Camptocamp France SA
    https://www.camptocamp.com/

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Mit freundlichen Grüßen
    
    Florian Kantelberg
    Softwareentwickler
    
    initOS GmbH
    Innungsstraße 7
    21244 Buchholz i.d.N.
    
    Tel.: +49 (0) 4181 1350344
    Fax: +49 (0) 4181 1350310
    
    Email: florian.kantelberg@initos.com
    Internet: https://www.initos.com
    
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Buchholz i.d.N.
    Amtsgericht: Tostedt, HRB 205226
    USt-IdNr: DE 815580155
    Steuer-Nr: 15/200/53247

    by Florian Kantelberg - 10:31 - 5 Oct 2023
  • Re: tool: Odoo Modules Migration

    Hello,

    interesting mail Sebastian. Most of it sounds familiar because we aim for the same goals with [1] (pypi odoo-analyse). Generally speaking odoo-analyse goes deeper than a simple lines of code analyses because there are plenty of cases reading the manifest isn't enough (e.g. Odoo 16.0 website has a hidden dependency towards iap because of an import). In the last days we extended it also to allow to estimate the modules which would be installed in a system without a database which should influence the initial topic of this mailing list [see 3] (@Jan). It resolves auto_install and dependencies starting from an initial module list.

    The tool is the foundation of [2] one of our long term projects and this is the reason why the current code is under our github and not pushed towards the OCA in the past. There would be no problem for a joint operation and we could push it to the OCA if we can stay maintainer of it. We (initOS) are also on the OCA days and would welcome support/ideas/feedback.

    We also already added complexity measurements in preparation to estimate a module and system complexity and furthermore a migration complexity. In the future we plan to offer a service to estimate module complexities in conjunction with the files from odoo-analyse (via a trained model) or for experts to estimate the complexities of modules to train a model even further basically as part of [2].

    Btw it lacks the repository management because this one is better handled externally (e.g. git-aggregator is a great tool). There are various build environments for Odoo and we learned that without the repository management we can easier analyse in different environments. Often enough there is already a CI or a development environment and reading the odoo.cfg is easy enough.

    Best Regards,

    Florian

    [1] https://github.com/initOS/odoo-analyse

    [2] https://www.odoo-code-search.com

    [3] `cat modules.txt | odoo_analyse -p odoo --modules - --analyse analyse.json --estimate-state --state-filter installed`

    where odoo is the folder under which ALL modules can be found

    Am 04.10.23 um 17:57 schrieb Sebastien Alix:

    Hi,

    I am the author of 'oca-port' so I'll try to answer your questions.

    These two tools aim two different purposes, but have few common points:

    - oca-port: it doesn't really know what is Odoo, this tool only plays with commits of git repositories to help the user to:
        1) migrate the git history of the module ('git format-patch' dance) and run pre-commit before inviting the user to follow the OCA migration guide. It'll also request GitHub API to find a open PR to invite the user to review it instead of creating a new one.
        2) for modules already migrated, it'll list the commits and related PRs that could be ported to fill the gap (fixes or features)
        3) a parsable output is available so we at Camptocamp are using it to scan OCA repositories and generate reports to estimate the work to achieve for migration projects (which modules are 100% ported, missing some fixes/features, have to be migrated and which ones having a PR to review)

    - odoo-module-migrator: from what I know (I do not use this tool yet) its job is to help you to migrate Odoo code to the target version (e.g. if a XML tag has been deprecated, it'll warn or update to the new format).

    Both tools could be used together, my idea would be that 'oca-port' leverages 'odoo-module-migrator' to automatically update the code in a migration process. From now, the user can call 'oca-port' then call 'odoo-module-migrator' manually (not tested), no big deal.

    I think the common points right now is that 'odoo-module-migrator' also does the 'git format-patch' step, and run pre-commit.


    FYI I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos) to collect modules metadata and consolidate all these data in one place, and it leverages oca-port to collect the migration data presented above. This tool aims to help functional & technical people with these kind of features:

    - get number of lines of code (Python/JS/XML/CSS) by module/repo/branch/organization or any filter you want
    - for maintainers, get a quick overview of the state of their modules
    - what are the most used OCA addons among all your Odoo projects
    - in term of lines of code of a customer project, how are they distributed among  Odoo, OCA and specifics
    - generate reports to ease the estimation of migration projects for a given migration path (e.g. 14.0 -> 16.0)
    - know all Python dependencies used in OCA to avoid versions conflicts or to improve security updates

    A lot of use cases could be addressed I guess. I'll probably make a presentation of this at OCA Days (need to finish some stuff, do some cleanup, host the code in a OCA repository, and address some questions regarding the hosting).

    Kind regards,


    Le 04/10/2023 à 09:26, Rafael Blasco a écrit :

    This is a really nice topic to have a doc/talk about for new contributor. Maybe for OCA DAys

     

    • Which is the use of both tool?
    • Why 2 and not just a single 1? (they should be different with different authors)
    • A "How to" for newcontribs are really useful to increase OCA

     

    It is not trivial and easy for everyone. The moment we take things for granted we lose contributors along the way.

     

    https://github.com/OCA/oca-port

    https://github.com/OCA/odoo-module-migrator

     

    Thank you!

    Regards

    Rafael

     

     

    De: Alexandre Fayolle <notifications@odoo-community.org>

    Enviado el: martes, 26 de septiembre de 2023 10:03

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Hello, you should check oca-port too

     

    https://github.com/OCA/oca-port

     

    Best regards

    --

    Alexandre Fayolle

    Senior Software Engineer

    Tel : +33 4 58 48 20 30

     

     

     

    De: Fernando La Chica <notifications@odoo-community.org>

    Enviado el: lunes, 18 de septiembre de 2023 23:08

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Take a look at this tool

     

    https://github.com/OCA/odoo-module-migrator

     

    At first I thought it was the same tool. I understand that it is out of the scope of your tool but I think it can be useful for your final objective which is to migrate a large number of modules.

     

    El lun, 18 sept 2023, 9:37, Jan Suhr | Nitrokey <notifications@odoo-community.org> escribió:

    Hi!

    I wrote a simple tool which helps me keeping an overview of module

    upgrades during ongoing upgrade projects, especially for a large amount

    of modules. I hope someone finds it useful.

     

    https://github.com/Nitrokey/odoo-modules-migration

     

    Best regards

    Jan

    __________________________________

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Sébastien Alix
    Business Solutions Odoo Developer
    
    Camptocamp France SA
    https://www.camptocamp.com/

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Mit freundlichen Grüßen
    
    Florian Kantelberg
    Softwareentwickler
    
    initOS GmbH
    Innungsstraße 7
    21244 Buchholz i.d.N.
    
    Tel.: +49 (0) 4181 1350344
    Fax: +49 (0) 4181 1350310
    
    Email: florian.kantelberg@initos.com
    Internet: https://www.initos.com
    
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Buchholz i.d.N.
    Amtsgericht: Tostedt, HRB 205226
    USt-IdNr: DE 815580155
    Steuer-Nr: 15/200/53247

    by Florian Kantelberg - 10:26 - 5 Oct 2023
  • Re: tool: Odoo Modules Migration


    On Wed, Oct 4, 2023 at 5:57 PM Sebastien Alix <notifications@odoo-community.org> wrote:

    FYI I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos) to collect modules metadata and consolidate all these data in one place, and it leverages oca-port to collect the migration data presented above. This tool aims to help functional & technical people with these kind of features:

    - get number of lines of code (Python/JS/XML/CSS) by module/repo/branch/organization or any filter you want
    - for maintainers, get a quick overview of the state of their modules
    - what are the most used OCA addons among all your Odoo projects
    - in term of lines of code of a customer project, how are they distributed among  Odoo, OCA and specifics
    - generate reports to ease the estimation of migration projects for a given migration path (e.g. 14.0 -> 16.0)
    - know all Python dependencies used in OCA to avoid versions conflicts or to improve security updates

    A lot of use cases could be addressed I guess. I'll probably make a presentation of this at OCA Days (need to finish some stuff, do some cleanup, host the code in a OCA repository, and address some questions regarding the hosting).


    That's so cool! I can't wait to see it!
    Thanks a lot, Sebastien!

    --

    by Alex Comba. - 09:22 - 5 Oct 2023
  • Re: tool: Odoo Modules Migration
    Hi Sebastien,

    > I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos)

    I also did :) maybe we could share some efforts as it is hard to maintain ... https://oca-cm-15.komit.link/

    You can send me an email if you want jc@komit-consulting.com and I could show you.

    Regards,

    Jean-Charles


    On Wed, Oct 4, 2023 at 10:57 PM Sebastien Alix <notifications@odoo-community.org> wrote:

    Hi,

    I am the author of 'oca-port' so I'll try to answer your questions.

    These two tools aim two different purposes, but have few common points:

    - oca-port: it doesn't really know what is Odoo, this tool only plays with commits of git repositories to help the user to:
        1) migrate the git history of the module ('git format-patch' dance) and run pre-commit before inviting the user to follow the OCA migration guide. It'll also request GitHub API to find a open PR to invite the user to review it instead of creating a new one.
        2) for modules already migrated, it'll list the commits and related PRs that could be ported to fill the gap (fixes or features)
        3) a parsable output is available so we at Camptocamp are using it to scan OCA repositories and generate reports to estimate the work to achieve for migration projects (which modules are 100% ported, missing some fixes/features, have to be migrated and which ones having a PR to review)

    - odoo-module-migrator: from what I know (I do not use this tool yet) its job is to help you to migrate Odoo code to the target version (e.g. if a XML tag has been deprecated, it'll warn or update to the new format).

    Both tools could be used together, my idea would be that 'oca-port' leverages 'odoo-module-migrator' to automatically update the code in a migration process. From now, the user can call 'oca-port' then call 'odoo-module-migrator' manually (not tested), no big deal.

    I think the common points right now is that 'odoo-module-migrator' also does the 'git format-patch' step, and run pre-commit.


    FYI I also started an Odoo project that scans all kind of git repositories (OCA, Odoo, private repos) to collect modules metadata and consolidate all these data in one place, and it leverages oca-port to collect the migration data presented above. This tool aims to help functional & technical people with these kind of features:

    - get number of lines of code (Python/JS/XML/CSS) by module/repo/branch/organization or any filter you want
    - for maintainers, get a quick overview of the state of their modules
    - what are the most used OCA addons among all your Odoo projects
    - in term of lines of code of a customer project, how are they distributed among  Odoo, OCA and specifics
    - generate reports to ease the estimation of migration projects for a given migration path (e.g. 14.0 -> 16.0)
    - know all Python dependencies used in OCA to avoid versions conflicts or to improve security updates

    A lot of use cases could be addressed I guess. I'll probably make a presentation of this at OCA Days (need to finish some stuff, do some cleanup, host the code in a OCA repository, and address some questions regarding the hosting).

    Kind regards,


    Le 04/10/2023 à 09:26, Rafael Blasco a écrit :

    This is a really nice topic to have a doc/talk about for new contributor. Maybe for OCA DAys

     

    • Which is the use of both tool?
    • Why 2 and not just a single 1? (they should be different with different authors)
    • A "How to" for newcontribs are really useful to increase OCA

     

    It is not trivial and easy for everyone. The moment we take things for granted we lose contributors along the way.

     

    https://github.com/OCA/oca-port

    https://github.com/OCA/odoo-module-migrator

     

    Thank you!

    Regards

    Rafael

     

     

    De: Alexandre Fayolle <notifications@odoo-community.org>

    Enviado el: martes, 26 de septiembre de 2023 10:03

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Hello, you should check oca-port too

     

    https://github.com/OCA/oca-port

     

    Best regards

    --

    Alexandre Fayolle

    Senior Software Engineer

    Tel : +33 4 58 48 20 30

     

     

     

    De: Fernando La Chica <notifications@odoo-community.org>

    Enviado el: lunes, 18 de septiembre de 2023 23:08

    Para: Contributors <contributors@odoo-community.org>

    Asunto: Re: tool: Odoo Modules Migration

     

    Take a look at this tool

     

    https://github.com/OCA/odoo-module-migrator

     

    At first I thought it was the same tool. I understand that it is out of the scope of your tool but I think it can be useful for your final objective which is to migrate a large number of modules.

     

    El lun, 18 sept 2023, 9:37, Jan Suhr | Nitrokey <notifications@odoo-community.org> escribió:

    Hi!

    I wrote a simple tool which helps me keeping an overview of module

    upgrades during ongoing upgrade projects, especially for a large amount

    of modules. I hope someone finds it useful.

     

    https://github.com/Nitrokey/odoo-modules-migration

     

    Best regards

    Jan

    __________________________________

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    -- 
    Sébastien Alix
    Business Solutions Odoo Developer
    
    Camptocamp France SA
    https://www.camptocamp.com/

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Jean-Charles Drubay - 04:41 - 5 Oct 2023