Skip to content

[19.0][OU-ADD] website_*: noupdate handling + complete analyses#5633

Closed
dnplkndll wants to merge 1 commit into
OCA:19.0from
ledoent:19.0-mig-website-family
Closed

[19.0][OU-ADD] website_*: noupdate handling + complete analyses#5633
dnplkndll wants to merge 1 commit into
OCA:19.0from
ledoent:19.0-mig-website-family

Conversation

@dnplkndll
Copy link
Copy Markdown

@dnplkndll dnplkndll commented May 15, 2026

Analysis-annotation coverage for 31 website_* submodules plus pre-migration scripts for 4 modules that needed explicit noupdate handling.

Pre-migration scripts (noupdate record deletion via direct SQL):

  • website_crm_partner_assign — deletes 2 website_membership noupdate ir.rules.
  • website_event_sale — deletes event_product_template_public noupdate ir.rule.
  • website_livechat — deletes im_livechat_channel_rule_public noupdate ir.rule.
  • website_slides — deletes mail_activity_data_access_request noupdate mail.activity.type.

noupdate_changes.xml decisions:

  • website_event — 2 ir.rule domain_force updates left active (security framework migration).
  • website_slidesmail_notification_channel_invite template removed from the file (preserves operator-customized template body; in-file <!-- ... --> wrapping would have produced invalid XML due to nested HTML comments).

docsource: the 5 actively-handled modules (website_crm_partner_assign, website_event, website_event_sale, website_livechat, website_slides) marked Done to opt into CI migration tests.

Commit retagged [OU-ADD] (was [MIG]) per maintainer convention now that pre-migration scripts ship.

@OCA-git-bot OCA-git-bot added mod:openupgrade_scripts Module openupgrade_scripts series:19.0 labels May 15, 2026
@dnplkndll dnplkndll force-pushed the 19.0-mig-website-family branch from d5f0e0e to 7cde3bf Compare May 15, 2026 12:34
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 15, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 16, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
dnplkndll added a commit to ledoent/OpenUpgrade that referenced this pull request May 19, 2026
Adds upgrade_analysis_work.txt for the 4 hr_* submodules with
substantial 19.0 deltas: hr_attendance, hr_holidays_attendance,
hr_skills, hr_recruitment_skills.

These cluster into two logical refactors that are already covered by
apriori.renamed_models:

  hr.attendance.overtime → hr.attendance.overtime.line
    (hr_attendance, hr_holidays_attendance)
  hr.candidate.skill → hr.applicant.skill
    (hr_recruitment_skills)

For both clusters the apriori rename handles the data move. The
many2many table "now hr_applicant_hr_skill_rel ('False')" matches
Odoo's auto-naming for hr.applicant ↔ hr.skill (alphabetical
hr_applicant_hr_skill_rel) and hr.employee ↔ hr.skill, so no explicit
rename_tables is needed.

NEW models (overtime rule, overtime ruleset, skill history report,
certification report, hr.individual.skill.mixin, hr.job.skill) are
created by the 19.0 module load. NEW fields all carry hasdefault
(default or compute). NEW required+function fields are computed by
Odoo at registry init. DEL fields/views/access are preserved per the
maintainer's philosophy; database_cleanup handles residuals once 19.0
is in active use.

Companion to OCA#5634 ([19.0][MIG] hr_* for 13 simple submodules); same
review precedent as OCA#5633.

hr, hr_expense, hr_holidays, hr_work_entry are already done.
hr_recruitment (OCA#5612) is in flight by @hbrunn.
@dnplkndll dnplkndll force-pushed the 19.0-mig-website-family branch 2 times, most recently from 669d568 to 80fdb7c Compare May 19, 2026 13:52
Copy link
Copy Markdown
Contributor

@remi-filament remi-filament left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dnplkndll for your PR

  • commit should be [OU-ADD]
  • you need to take care of noupdate XML :
    • delete removed ones
    • check and load changes (files noupdate_changes.xml)
      You probably better split this PR.
      You could keep one for all nothing to do modules, and then have one per module where scripts are needed

DEL ir.model.access: website_membership.access_membership_membership_line_public
DEL ir.model.access: website_membership.access_membership_product_product_public
DEL ir.rule: website_membership.membership_membership_line_public (noupdate)
DEL ir.rule: website_membership.membership_product_product_public (noupdate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both rules being noupdate need to be forced removed

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a5ccbad — pre-migration deletes both website_membership noupdate ir.rule records via direct SQL on ir_rule/ir_model_data.

NEW ir.model.access: website_event.access_event_event_slot_employee
NEW ir.model.access: website_event.access_event_event_slot_portal
NEW ir.model.access: website_event.access_event_event_slot_public
NEW ir.rule: website_event.ir_rule_event_slot_public (noupdate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here noupdate record should be handled in openupgrade scripts

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The noupdate_changes.xml (2 ir.rule domain_force updates aligning with new event_ids m2m schema) is left active — these are security migration updates that need to apply. The work doc marks the changed sections accordingly. The NEW noupdate ir.rule (ir_rule_event_slot_public) is created on standard module update.

---Models in module 'website_event_sale'---
---Fields in module 'website_event_sale'---
---XML records in module 'website_event_sale'---
DEL ir.rule: website_event_sale.event_product_template_public (noupdate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here Aldo, should be handled

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a5ccbad — pre-migration deletes the event_product_template_public noupdate ir.rule via direct SQL. Work doc updated with per-group markers.

DEL ir.model.access: website_livechat.access_im_livechat_channel_public_employee
DEL ir.model.access: website_livechat.access_im_livechat_channel_public_portal
DEL ir.model.access: website_livechat.access_im_livechat_channel_public_public
DEL ir.rule: website_livechat.im_livechat_channel_rule_public (noupdate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, should be handled

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a5ccbad — pre-migration deletes the im_livechat_channel_rule_public noupdate ir.rule via direct SQL. Work doc updated with per-group markers.

DEL ir.ui.view: website_slides.courses_all
DEL ir.ui.view: website_slides.slide_searchbar_input_snippet_options
DEL ir.ui.view: website_slides.snippet_options
DEL mail.activity.type: website_slides.mail_activity_data_access_request (noupdate)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, should be handled

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a5ccbad — pre-migration deletes the mail_activity_data_access_request noupdate mail.activity.type via direct SQL. Also: the noupdate_changes.xml mail template body was removed from the file rather than commented out — the template's body_html contains nested <!-- ... --> structural markers, so an outer comment wrapper produces invalid XML.

@pedrobaeza
Copy link
Copy Markdown
Member

And you should make one PR per module, for easing the review and not blocking the whole PR if something is found in the review.

@remi-filament
Copy link
Copy Markdown
Contributor

@dnplkndll
Copy link
Copy Markdown
Author

@remi-filament thank you for the detailed feedback. first time contributor, but have often made use of this tool. just starting to look over here.

@dnplkndll dnplkndll force-pushed the 19.0-mig-website-family branch from 80fdb7c to a5ccbad Compare May 20, 2026 23:54
@dnplkndll dnplkndll changed the title [19.0][MIG] website_*: complete analyses for 31 uncharted modules [19.0][OU-ADD] website_*: noupdate handling + complete analyses May 20, 2026
@dnplkndll
Copy link
Copy Markdown
Author

@remi-filament — addressed all five threads + body comments in a5ccbad:

  • Commit retagged [MIG][OU-ADD] per your guidance.
  • Pre-migration scripts added for the 4 modules with DEL noupdate records (website_crm_partner_assign, website_event_sale, website_livechat, website_slides) — direct SQL DELETE against ir_rule / mail_activity_type via ir_model_data.
  • website_event/noupdate_changes.xml left active (security migration).
  • website_slides/noupdate_changes.xml mail template removed from file (preserves operator content; outer <!-- --> wrapping breaks XML due to nested HTML comments).
  • docsource: 5 actively-handled modules marked Done so CI exercises the migration code.
  • Work docs restructured with per-group markers throughout.

Fork CI green on both seeds. Title + body refreshed. Ready for re-review.

@dnplkndll
Copy link
Copy Markdown
Author

Splitting per maintainer convention into:

The split better matches the [MIG] vs [OU-ADD] distinction and lets reviewers focus on the noupdate logic independently from the bulk of analysis annotations.

Closing this aggregator PR; full audit trail preserved under test-results/openupgrade-review/5633/a5ccbad9d6/.

@dnplkndll dnplkndll closed this May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:openupgrade_scripts Module openupgrade_scripts series:19.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants