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

[8.x] Expected updates and features #24

Open
12 of 15 tasks
Ang3 opened this issue Jan 22, 2022 · 9 comments
Open
12 of 15 tasks

[8.x] Expected updates and features #24

Ang3 opened this issue Jan 22, 2022 · 9 comments
Labels
enhancement New feature or request
Milestone

Comments

@Ang3
Copy link
Owner

Ang3 commented Jan 22, 2022

  • Client
    • JSON-RPC instead of XML-RPC for PHP8 native support
      • Tests
  • DBAL
    • DBAL features architecture update
    • Schema
      • Tests
    • Type converter
      • Tests
    • Metadata cache
      • Tests
    • Query builder
      • Tests
    • Repositories
      • Tests
    • Lazy results
      • Tests
@Ang3 Ang3 added the enhancement New feature or request label Jan 22, 2022
@Ang3 Ang3 added this to the 8.x milestone Jan 22, 2022
@jsayer101
Copy link
Contributor

jsayer101 commented Jan 22, 2022

Hi, I don't know if you started to develop the implementation of JSONRPC, but I do have an implmentation of JSONRPC that works well on my fork. I'm going to open a PR. That's just a test but we can work from this if you want to.

I did some tests and it seems that JSONRPC is really faster than XMLRPC.

PR : #25

@Ang3
Copy link
Owner Author

Ang3 commented Jan 22, 2022

Hi, thank you very much for your share mate, but I already did it (branch 8.x ). 😄
There is many subtil things about arguments into JSON-RPC. I tried all methods on local. Like you, I just need to handle exceptions, so I have to make some functionnal local tests to know how Odoo replies in case of failure.

For performance, no doubt about. I already think about requests multiplexing to perform bulk operations (just an idea atm). ☺️

@Ang3
Copy link
Owner Author

Ang3 commented Jan 22, 2022

Following PR #25 and branch 8.x - We have to decide: symfony/http-client package (curl or PHP native) dependency or PHP native support for requests. 😕

@jsayer101
Copy link
Contributor

@Ang3
Cool ! Hope we can get JSONRPC fast.
I think we can use a package that is actively maintained but maybe not using curl ? So you don't have to activate any other php extensions ?

In some companies they have active restrictions on which extensions they can activate or not.. etc.
This was the main reason I can think of for using native streams.

The real question is Are there any real advantages to use curl and not native streams ?
In the other hand, "many" web hosting companies desactivate "allow_url_fopen = 0" so file_get_content fails but curl is activated.

@jsayer101
Copy link
Contributor

Btw I think i'm going to close my PR so you can work on your side freely. You worked too fast for me lol. Just a junior dev trying to work on opensource projects that I use in my company 😢

@Ang3
Copy link
Owner Author

Ang3 commented Jan 22, 2022

Same here with my company ☺️
I copied your code for PHP native stream (I didn't know well) and marked you as co-author 😉

@Ang3
Copy link
Owner Author

Ang3 commented Jan 22, 2022

The real question is Are there any real advantages to use curl and not native streams ? In the other hand, "many" web hosting companies desactivate "allow_url_fopen = 0" so file_get_content fails but curl is activated.

Atm, I implemented a transport layer to be able to choose how to send data. By default, I think PHP stream must be the first (basic) choice because curl needs the extension php-curl. But later we could add a system to prefer curl if the extension is enabled.

@jsayer101
Copy link
Contributor

Hi, I think this could be a great idea to add a new feature that helps to download reports from Odoo

It is already implemented in OdooRPC for example
https://pythonhosted.org/OdooRPC/ref_report.html

(Actually we're trying to download a report from a stock.picking and send back to the user with HTTP attachment)

@Ang3
Copy link
Owner Author

Ang3 commented Nov 5, 2023

Hi,

Indeed, there are many things to do with Odoo. The aim of this repository is to provide a client for Odoo, basically. The DBAL features should be detached into another repository, like ORM or "actions" features like you described. I named that "actions" because I know we can call public methods from python objects like API controller actions (generating invoices for example). I will try to find how to organize that better, probably with the version 8. :-)

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

No branches or pull requests

2 participants