mirror of
https://gitlab.com/itsulu-odoo/itsulu-blog-publisher.git
synced 2026-05-30 23:41:23 +00:00
Seed the 14.0 series branch from the 17.0 baseline: - .odoo-series = 14.0; Dockerfile FROM odoo:14.0; manifest 14.0.0.5.0 - PORTING.md tracks the Odoo-14 checklist (biggest delta: mail templates must revert to Odoo 14's Jinja2 syntax; render API differs) - README retargeted to 14.0 with porting-in-progress notice - CHANGELOG v0.5.0 entry NOTE: seeded from 17.0 — the Odoo-14 port is NOT yet verified (PORTING.md). Not deploy-ready on the production 14.0 instance until the suite is green there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
2.3 KiB
Markdown
39 lines
2.3 KiB
Markdown
# Porting status — Odoo 14.0 branch
|
||
|
||
This branch targets **Odoo Community 14.0** — the version **ITSulu runs in production**. It was
|
||
**seeded from the 17.0 baseline** and the Odoo-14 porting is tracked here. Until every item is
|
||
verified, treat this branch as **work in progress** — do not deploy to the production 14.0
|
||
instance unverified.
|
||
|
||
> The product feature set is the same across all Odoo branches; only the Odoo-API-specific code
|
||
> differs. Odoo 14 is **older** than the 17.0 baseline, so several things move *backwards*.
|
||
> See `CLAUDE.md` §15 for the branch model and §11.5 / §12 for version-specific gotchas.
|
||
|
||
## Series markers (done)
|
||
|
||
- [x] `.odoo-series` = `14.0`
|
||
- [x] `Dockerfile` base image = `odoo:14.0`
|
||
- [x] manifest version prefix = `14.0.` (via `bump-version.sh`)
|
||
|
||
## API porting checklist (verify on a real Odoo 14.0 instance)
|
||
|
||
- [ ] **Mail template syntax — REVERT to Jinja2.** Odoo 14 renders `mail.template` with Jinja2
|
||
(`${object.blog_post_id.name}`, `% if`, `% for`), **not** the qweb `<t t-out>` used on 17.0.
|
||
The 17.0 template in `data/mail_template_data.xml` must be converted back to Jinja for 14.0.
|
||
- [ ] **Mail render API.** 14.0 uses `template.render_template(...)` / `_render_template(...)`,
|
||
not 17.0's `_render_field`. Update `blog_generation_log.send_notification_email` + tests.
|
||
- [ ] `blog.post` body field name on 14.0 (the 17.0 baseline writes `content` — confirm 14.0).
|
||
- [ ] Python 3.6–3.8 only — remove any 3.9+ syntax (dict `|` merge, `str.removeprefix`, etc.).
|
||
- [ ] `@api.model_create_multi`, `name_get`, and other ORM signatures valid on 14.0.
|
||
- [ ] View/RELAXNG validation for 14.0 (attrs/states syntax differs from 17.0).
|
||
- [ ] `ir.cron` + mail data XML formats.
|
||
- [ ] Full test suite green on a 14.0 template DB (K8s job, §8, base image `odoo:14.0`).
|
||
- [ ] pytest-odoo / pytest-bdd versions compatible with the 14.0 Python.
|
||
|
||
## How to work this branch
|
||
|
||
1. Stand up a 14.0 template DB (mirror §8, base image `odoo:14.0`).
|
||
2. Start with the mail template (Jinja revert) and the render API — those are the biggest deltas.
|
||
3. Run the suite, fix one Odoo-API difference at a time.
|
||
4. Record each gotcha in `CLAUDE.md` §12 tagged with the series.
|
||
5. When green, cut a release on this branch (`bump-version.sh` → tag `14.0-vX.Y.Z`).
|