dotCMS / dotCMS/core

Backport fix for #34754 (disable Task04115LowercaseIdentifierUrls) to 21.06

Open Beginner friendly
#36,588 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

OKR : Customer Support Team : Maintenance
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Description

Task04115LowercaseIdentifierUrls lowercases parent_path and asset_name in the
identifier table when upgrading from any pre-4.1.0 database (db_version < 4115).
This was disabled in #34754 (PR #34803, commit 3d130b5) and released in 26.02.27,
but 21.06 is still affected.

A customer migrating 2.5.6 → 3.7.2 → 21.06 → (Oracle→PostgreSQL) → target version
needs asset identifiers/URLs to preserve original casing while passing through 21.06.
Coming from 3.7.2 (db_version 3605), the task executes on their path. They have
confirmed further upgrade runs from the source for data alignment before cutover,
so an official 21.06 build is required.

The backport is the same one-line change as 3d130b5: forceRun() returns false
in Task04115LowercaseIdentifierUrls.java. The 21.06 StartupTasksExecutor still
records 4115 in db_version after skipping, so the upgrade sequence stays consistent.

Acceptance Criteria

Official 21.06 patch build published with Task04115LowercaseIdentifierUrls disabled
original filenames/identifier casing preserved when upgrading from pre-4.1 versions.

Priority

High

Additional Context

Parent issue: #34754 · Fix commit: 3d130b5 · Released in: 26.02.27

Ticket: https://helpdesk.dotcms.com/a/tickets/38327
(Original issue: https://helpdesk.dotcms.com/a/tickets/35549)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Task04115LowercaseIdentifierUrls.java in the 21.06 code and compare its forceRun() behavior with the referenced fix commit 3d130b5. Confirm the skipped task still records 4115 in db_version, then verify an upgrade from a pre-4.1 database preserves original asset identifier casing and that an official 21.06 patch build can be produced.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.