Skip to content

Conversation

@HLeithner
Copy link
Member

@HLeithner HLeithner commented Aug 31, 2025

User description

Migration section for Joomla 6.1


PR Type

Documentation


Description

  • Add migration documentation for Joomla 6.0 to 6.1 upgrade

  • Create compatibility plugin migration guide with code examples

  • Document deprecated constants and class namespace changes

  • Establish placeholder structure for future feature documentation


Diagram Walkthrough

flowchart LR
  A["Migration Index"] --> B["New Features"]
  A --> C["New Deprecations"]
  A --> D["Compatibility Plugin"]
  D --> E["CMS BaseApplication Changes"]
  D --> F["JPATH_PLATFORM Constant"]
  D --> G["CMS Input Package"]
Loading

File Walkthrough

Relevant files
Documentation
index.md
Migration index page creation                                                       

migrations/60-61/index.md

  • Create main index page for Joomla 6.0 to 6.1 migration
  • Add basic structure and introduction text
+10/-0   
new-features.md
New features placeholder documentation                                     

migrations/60-61/new-features.md

  • Create placeholder page for new features documentation
  • Add developer note about unreleased version status
  • Include reader note indicating no features yet
+17/-0   
new-deprecations.md
New deprecations placeholder documentation                             

migrations/60-61/new-deprecations.md

  • Create placeholder page for deprecations documentation
  • Add developer and reader notes about current status
+16/-0   
compat-plugin.md
Compatibility plugin migration guide                                         

migrations/60-61/compat-plugin.md

  • Document compatibility plugin migration details
  • Provide code examples for JPATH_PLATFORM constant replacement
  • Detail CMS BaseApplication and Input package namespace changes
  • Include relevant GitHub PR references
+48/-0   

@qodo-code-review
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Clarity/Accuracy

The caution note references Joomla 6.0 while this section is for 6.1, and wording like "enhance backward compatibility" and "behaviour plugin" could be clarified; verify correctness and align tense and version references consistently.

:::caution[Update Needed]
  No decision has made yet what's happening to this plugin in Joomla 6.0
:::

As part of Joomla! 5.0 a plugin was introduced which enhance backward compatibility between Joomla 5 and 4.
The plugin is implemented as "Behaviour" plugin type to guarantee that is loaded before any other plugin is loaded.
(Just a heads-up, don't create a plugin as behaviour plugin because it's possible that this group get removed at some point)

For more detail check [Compatibility Plugin Joomla! 5.0](https://manual.joomla.org/migrations/44-50/compat-plugin).
Guidance Completeness

The BaseApplication/CLI guidance suggests replacing with \Joomla\Application and console plugins but lacks minimal before/after code snippets to help users; consider adding short examples or links to console plugin docs.

## CMS BaseApplication and CLI Classes

- PR's:
  - https://github.com/joomla/joomla-cms/pull/42884
  - https://github.com/joomla/joomla-cms/pull/44926
- Description: Any reference to the class `\Joomla\CMS\Application\BaseApplication` and `\Joomla\CMS\Application\CliApplication` with the respective CLI input classes should be replaced with the namespace `\Joomla\Application`. Cli apps should be replaced by console plugins.
Consistency/Grammar

Minor grammar issues ("PR's", "get removed", pluralization) and capitalization (CLI vs Cli); tidy for professionalism and consistency across the docs.

- PR's:
  - https://github.com/joomla/joomla-cms/pull/42884
  - https://github.com/joomla/joomla-cms/pull/44926
- Description: Any reference to the class `\Joomla\CMS\Application\BaseApplication` and `\Joomla\CMS\Application\CliApplication` with the respective CLI input classes should be replaced with the namespace `\Joomla\Application`. Cli apps should be replaced by console plugins.

## `JPATH_PLATFORM` Constant

- PR: https://github.com/joomla/joomla-cms/pull/44638
- File: All bootstrapping files
- Description: The `JPATH_PLATFORM` is an old constant and should not be used if the Joomla core got correctly bootstrapped. Change your checks to `_JEXEC`
```php
// Old:
\defined('JPATH_PLATFORM') or die;

// New:
\defined('_JEXEC') or die;

CMS Input Package


</details>

</td></tr>
</table>

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Aug 31, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Clarify version scope and accuracy

The 6.1 migration page mixes undecided notes and 6.0-era changes, which can
mislead users about what actually changes in 6.1. Verify each item truly ships
in 6.1 (e.g., BaseApplication/CliApplication guidance, Input package move) and
either move 6.0-specific content to the 5.x→6.0 guide or clearly label version
applicability. Replace the “no decision” placeholder with the final outcome
before publishing.

Examples:

migrations/60-61/compat-plugin.md [13]
  No decision has made yet what's happening to this plugin in Joomla 6.0
migrations/60-61/compat-plugin.md [16-20]
As part of Joomla! 5.0 a plugin was introduced which enhance backward compatibility between Joomla 5 and 4.
The plugin is implemented as "Behaviour" plugin type to guarantee that is loaded before any other plugin is loaded.
(Just a heads-up, don't create a plugin as behaviour plugin because it's possible that this group get removed at some point)

For more detail check [Compatibility Plugin Joomla! 5.0](https://manual.joomla.org/migrations/44-50/compat-plugin).

Solution Walkthrough:

Before:

# File: migrations/60-61/compat-plugin.md

Compatibility Plugin
====================

:::caution[Update Needed]
  No decision has made yet what's happening to this plugin in Joomla 6.0
:::

As part of Joomla! 5.0 a plugin was introduced...

## CMS BaseApplication and CLI Classes
- Description: Any reference to the class `\Joomla\CMS\Application\BaseApplication` ... should be replaced with the namespace `\Joomla\Application`.

## CMS Input Package
- Description: Any reference to the class `\Joomla\CMS\Input\Input` ... should be replaced with ... `\Joomla\Input`.

After:

# File: migrations/60-61/compat-plugin.md
# (Assuming the changes are confirmed for 6.1)

Compatibility Plugin
====================

This section details changes to the backward compatibility plugin relevant for the 6.1 release.

## CMS BaseApplication and CLI Classes
- Description: As of Joomla 6.1, any reference to the class `\Joomla\CMS\Application\BaseApplication` ... should be replaced with the namespace `\Joomla\Application`.

## CMS Input Package
- Description: As of Joomla 6.1, any reference to the class `\Joomla\CMS\Input\Input` ... should be replaced with ... `\Joomla\Input`.

# (Content related to Joomla 5.0 or 6.0 would be moved to the respective migration guides)
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a critical flaw in the documentation's structure, where content for a 6.0 to 6.1 migration guide seems to contain information from older versions and undecided items for 6.0, which undermines the guide's accuracy and purpose.

High
General
Fix version and grammar

Correct the version reference and fix the grammar to avoid misleading readers
for the 6.0→6.1 migration. This clarifies that the pending decision applies to
Joomla 6.1, not 6.0.

migrations/60-61/compat-plugin.md [12-14]

 :::caution[Update Needed]
-  No decision has made yet what's happening to this plugin in Joomla 6.0
+  No decision has been made yet about what's happening to this plugin in Joomla 6.1.
 :::
  • Apply / Chat
Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies a grammatical error and a version number inconsistency in the documentation, which improves the clarity and accuracy of the migration notes.

Low
  • Update

@HLeithner HLeithner merged commit 35845cc into joomla:main Sep 1, 2025
1 check was pending
@HLeithner HLeithner deleted the migration-61 branch September 1, 2025 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant