Daily updates from Odoo
Tuesday, November 7, 2023
2 changes · 17.0
New functionality added to Odoo
Odoo now provides a fillable PDF template for Danish accounting procedures to help users comply with the updated standard chart of accounts from the Danish Tax Agency and Business Authority. This new template allows users to document accounting guides for individual accounts, supporting the requirements of the Danish accounting act.
Original PR description
The Danish Tax Agency and the Danish Business Authority are launching an updated common standard chart of accounts. For the accounting act, we need to provide a way to support the function that users can enter an accounting guide for the individual account This commit adds a fillable PDF file of danish accounting procedure in `l10n_dk_reports` (now depends on `documents_account`), following the strucure from Danish government's documentation task-id: 3531476
This update introduces a new website scraping module that allows businesses to automatically import their existing websites into Odoo. Instead of manually rebuilding websites, users can now scrape external websites and have Odoo automatically recreate them with all pages, menus, images, and styling. In the initial beta release, the feature supports importing up to 10 pages and includes automated notifications and progress tracking.
Original PR description
In order for this module to work, two system parameters must be set up: - "website_generator.token", a token which is used to identify the user(s) and give the appropriate access to the WSS -…
In order for this module to work, two system parameters must be set up:
- "website_generator.token", a token which is used to identify the user(s) and give the appropriate access to the WSS
- "website_scraper_endpoint", the public url of the WSS
This PR is the merge of https://github.com/odoo/enterprise/pull/43608 (already reviewed a lot) and https://github.com/odoo/enterprise/pull/43306
-----------------
The goal of this module is to 'import' external websites directly in
Odoo.
Specifically, it will load data into the appropriate models:
- Menu
- Pages
- Footers
- Images
- Attachments
- Social media links
- Theme custos
- ..
Indeed, some users have already built their own websites outside of Odoo
and have the desire to move it into Odoo.
Unfortunately it takes a lot of effort to migrate.
This module is here to help in thar regard.
Their mission is, given a reference website, to reproduce it in Odoo.
In the first implementation, it will be only possible to scrape a
website through a special /trial page on Odoo.com.
The module will work out of the box only in this configuration.
It will be reployed in a V1 as a beta:
- Can only scrape 10 pages
- Only able to scrape from /trial
- There will be a disclaimer about the fact that it's a beta
- If need more than 10 pages, we will advertise to contact us to be able
to do it
- Write on website 1, keep only one website in the DB (multi website is
complexe)
- User will land on a request waiting page, calling IAP every 10 sec to
know if the results are ready (and get it)
- A CRON will be started and run every 15 min in case the user leave the
page. The CRON will be disabled once the request is fully processed.
- A mail will be sent once the website is ready
- A systray icon will be shown to go back to the pending screen. That
icon is gone once you have visited the pending screen and that the
request is ready.
In such a case, the screen will either reload to the website in case
of scraping success, or will shown an error message.
Known issues that will be fixed in a later commit:
- data-snippet attribute management
- Missing snippet versioning (vcss vjs)
In a V2:
- We will scrape products with `website_generator_sale`
- Will probably use data module instead of recreating everything
- Will be able to scrape a website from an existing database through
the website configurator screen
Terminology:
- Website Scraper (WS):
This is where the magic happens. It parses the target website,
extracts all the information it needs and generates an output file.
This output file contains all the information required for building
the website in odoo (HTML, images, theme, etc).
- Website Scraper Server (WSS):
It's the server which runs the website scraper. It records the
requests and is responsible for load balancing.
- Website Generator (WG):
This PR: it takes the output file from the WS and build the website
This module is allow to send and receive requests to/from the WSS.
Flow of Operations:
1. WG sends a request to WSS
2. WSS accepts (or denies) the request
3. WSS executes WS on the targeted website
4. Once it's done, the request is marked as ready on WSS
5. WG requests WSS for the output file
6. WSS streams the file back to WG if ready, or denies if not allowed or
return "not ready yet" status
7. WG builds the website once it receives the file
8. WG let WSS know that everything went fine
Errors:
- (Step 2) WSS checks for:
- A valid token
- A number of pages
- A valid URL
- That the URL is not blacklisted website
- A valid DBUUID
- (Step 6) WSS checks for:
- A valid output_uuid and DBUUID
(that the DB receiving the request is the one that made it)
- That the request is done (not 'error' or 'processing')
- That the result is still accessible (not deleted due to cleanup)
Notes:
- WG never saves the output as an attachment, it is only stored in RAM
- WG should be robust, if info is missing it will try to do without it.
If essential info is missing, it will simply not create the website.
Related PR:
- (WSS) https://github.com/odoo/iap-apps/pull/609
- (WS) https://github.com/odoo/website-scraper
- Internal custo: https://github.com/odoo/internal/pull/2463
Co-authored-by: Christopher du Toit <chto@odoo.com>
Co-authored-by: Damien Decleire <deda@odoo.com>
Co-authored-by: Guillaume-gdi <gdi@odoo.com>
Co-authored-by: Romain Derie <rde@odoo.com>