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

Odoo adaptor refresh using External API #443

Open
aleksa-krolls opened this issue Dec 5, 2023 · 4 comments · May be fixed by #445
Open

Odoo adaptor refresh using External API #443

aleksa-krolls opened this issue Dec 5, 2023 · 4 comments · May be fixed by #445
Assignees

Comments

@aleksa-krolls
Copy link
Member

aleksa-krolls commented Dec 5, 2023

Request

A partner is using Odoo version 17 and want to understand what our integration options are so that we can consider refreshing the old language-odoo.

Unfortunately, the Odoo restapi module does not work with this latest version 17. Also note that for the upcoming project, the partner wants to create/update data in Odoo (not only extract data).

Therefore, what are our options for integration? (The partner wants to prototype this solution ASAP to prove the concept, so I want to understand which options look like the best... but also understand which options looks easiest to support.)

  1. Would it be possible to leverage this external api? (Not sure what that would look like given that it seems to be XML-based
  2. Or is there maybe a way to work with this Javascript framework?
  3. Maybe a direct connection with the underlying SQL database would be easiest?

FYI I'm working on getting access to a test environment built via odoo.sh, but in the meantime want to understand possible options to discuss with the client.

@aleksa-krolls
Copy link
Member Author

@mtuchi please do research here today/tomorrow and consult with @josephjclark ... we have a call with the client tomorrow afternoon to discuss options, so by then I want to understand which approaches look feasible, and which look like the easiest to set up.

@aleksa-krolls
Copy link
Member Author

@mtuchi see here for the Odoo workflow use case. To start, it looks like they want to create Leads and Quotations in the Odoo CRM - but let's confirm on the call later today.

@aleksa-krolls aleksa-krolls changed the title Odoo adaptor refresh - which API/interface to use for integration? Odoo adaptor refresh using External API Dec 6, 2023
@aleksa-krolls
Copy link
Member Author

@mtuchi adding this to the Internal Backlog. Tomorrow when you have a chance - please update the issue with whatever you've learned today

@mtuchi mtuchi linked a pull request Dec 6, 2023 that will close this issue
4 tasks
@mtuchi
Copy link
Collaborator

mtuchi commented Dec 6, 2023

Short Description

Create odoo adaptor that will provide CRUD operation

Implementation Notes

Using the odoo-await npm package, Add the following functions
Ref https://github.com/vettloffah/odoo-await#crud

  • create(model, params, externalId),
  • read(model, recordId, fields)
  • update(model, recordId, params)
  • delete(model, recordId)

QA Notes

For Configuration Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "baseUrl": {
      "title": "Base URL",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The base URL (http://www.example.com)",
      "format": "uri",
      "minLength": 1,
      "default": "http://localhost",
      "examples": [
        "https://dev.newlogic-demo.com"
      ]
    },
    "username": {
      "title": "Username",
      "type": "string",
      "description": "Username",
      "default": "admin",
      "examples": [
        "[email protected]"
      ]
    },
    "password": {
      "title": "Password",
      "type": "string",
      "description": "Password",
      "default": "admin",
      "writeOnly": true,
      "examples": [
        "@some(!)Str0ngp4ss0w0rd"
      ]
    },
    "database": {
      "title": "Database Name",
      "type": "string",
      "default": "devel",
      "description": "Database Name",
      "examples": [
        "devel"
      ]
    }
  },
  "type": "object",
  "additionalProperties": true,
  "required": [
    "password",
    "username",
    "database",
    "baseUrl"
  ]
}

See work in progress here #445

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

Successfully merging a pull request may close this issue.

2 participants