Skip to content

Add VTL migration skill and comprehensive migration guide #34774

Open
adrianjm-dotCMS wants to merge 2 commits intomainfrom
add-vtl-migration-skill
Open

Add VTL migration skill and comprehensive migration guide #34774
adrianjm-dotCMS wants to merge 2 commits intomainfrom
add-vtl-migration-skill

Conversation

@adrianjm-dotCMS
Copy link
Contributor

@adrianjm-dotCMS adrianjm-dotCMS commented Feb 25, 2026

This pull request introduces a comprehensive skill definition for migrating DotCMS VTL custom field templates from legacy Dojo/Dijit APIs to the modern DotCustomFieldApi. The documentation provides clear migration rules, a step-by-step checklist, and a standardized three-file output pattern to ensure safe coexistence of old and new editor modes.

Migration process and rules:

  • Added a detailed migration guide in .claude/skills/vtl-migration/SKILL.md, including a quick reference table mapping deprecated Dojo/Dijit API calls to their modern equivalents in DotCustomFieldApi.
  • Defined a step-by-step migration process, emphasizing full file understanding, deprecated pattern identification, wrapping logic in DotCustomFieldApi.ready(), and preserving business logic and VTL variables.

Three-file output pattern:

  • Established a mandatory three-file output for each migration: the original unchanged file (_old.vtl), the fully migrated file (_new.vtl), and a router file with conditional parsing for legacy and new edit modes.

Code and template migration examples:

  • Provided practical code snippets and migration patterns for field references, event handling, dialog migration, and combining multiple onChange handlers.

Quality and verification checklist:

  • Included a detailed checklist to ensure all migration requirements are met, such as removal of deprecated APIs

resolves #34450

Copilot AI review requested due to automatic review settings February 25, 2026 19:38
@github-actions
Copy link

❌ Issue Linking Required

This PR could not be linked to an issue. All PRs must be linked to an issue for tracking purposes.

How to fix this:

Option 1: Add keyword to PR body (Recommended - auto-removes this comment)
Edit this PR description and add one of these lines:

  • This PR fixes #123 or Fixes: #123

  • This PR closes #123 or Closes: #123

  • This PR resolves #123 or Resolves: #123

  • Other supported keywords: fix, fixed, close, closed, resolve, resolved
    Option 2: Link via GitHub UI (Note: won't clear the failed check)

  1. Go to the PR → Development section (right sidebar)

  2. Click "Link issue" and select an existing issue

  3. Push a new commit or re-run the workflow to clear the failed check
    Option 3: Use branch naming
    Create a new branch with one of these patterns:

  • 123-feature-description (number at start)

  • issue-123-feature-description (issue-number at start)

  • feature-issue-123 (issue-number anywhere)

Why is this required?

Issue linking ensures proper tracking, documentation, and helps maintain project history. It connects your code changes to the problem they solve.---

This comment was automatically generated by the issue linking workflow

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request introduces a comprehensive VTL (Velocity Template Language) migration skill for GitHub Copilot Code that helps developers migrate DotCMS custom field templates from legacy Dojo/Dijit APIs to the modern DotCustomFieldApi. The skill includes detailed migration rules, a step-by-step checklist, complete code examples, and establishes a standardized three-file output pattern for safe coexistence of old and new editor modes.

Changes:

  • Added .claude/skills/vtl-migration/SKILL.md defining the skill metadata, quick reference API mapping table, migration process, three-file output pattern, and quality checklist
  • Added .claude/skills/vtl-migration/references/migration-guide.md providing comprehensive migration rules (11 rules), best practices, common pitfalls, special cases, and three complete end-to-end migration examples

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
.claude/skills/vtl-migration/SKILL.md Skill definition with metadata, quick API reference table, migration process overview, three-file output pattern explanation, and verification checklist
.claude/skills/vtl-migration/references/migration-guide.md Comprehensive 892-line migration guide covering DotCustomFieldApi introduction, 11 detailed migration rules with code examples, best practices, step-by-step checklist, common pitfalls, special cases, and three complete real-world migration examples

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

[TASK] Migrate Persona Key Tag Field to new Custom Field API

3 participants