Skip to content

Conversation

@pl71
Copy link

@pl71 pl71 commented Nov 24, 2025

User description

if omitted is taken from the file name, not from the tag, right?


PR Type

Documentation


Description

  • Clarify <element> field behavior when omitted from manifest

  • Add semicolons for consistency in XML element descriptions

  • Improve grammar and punctuation in documentation

  • Simplify section heading from "Root Element" to "Root"


Diagram Walkthrough

flowchart LR
  A["manifest.md documentation"] -- "clarify element behavior" --> B["element uses filename if omitted"]
  A -- "improve formatting" --> C["add semicolons to descriptions"]
  A -- "enhance grammar" --> D["fix punctuation and wording"]
Loading

File Walkthrough

Relevant files
Documentation
manifest.md
Clarify element field and improve documentation formatting

versioned_docs/version-6.0/building-extensions/install-update/installation/manifest.md

  • Changed section heading from "Root Element" to "Root"
  • Updated description to clarify it uses file name (without extension)
    when omitted, not the tag
  • Added semicolons to all XML element descriptions for consistency
  • Improved grammar by adding commas after "e.g." and before "then" in
    the translatable fields note
+14/-14 

<element> if omitted is taken from the file name, not from the  <name> tag, right?
@qodo-code-review
Copy link
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
Not Applicable: The PR only updates documentation text and adds no executable code that could log actions;
audit trail compliance cannot be assessed from these changes.

Referred Code
The following elements can be used to insert metadata. Although not strictly required, you should define at least the `<name>`, `<author>`, `<version>` and `<description>` tags, all of which are used on the default administrator Manage Extensions form.

```xml
<name> – extension name (e.g. com_banners);
<author> – author's name (e.g. Joomla! Project);
<creationDate> – date of creation or release (e.g., April 2006);
<copyright> – a copyright statement (e.g., (C) 2020 - 2030 Open Source Matters. All rights reserved.);
<license> – a license statement (e.g., GNU General Public License version 3 or later; see LICENSE.txt);
<authorEmail> – author's email address (e.g., [email protected]);
<authorUrl> – URL to the author's website (e.g., www.joomla.org);
<version> – the version number of the extension (e.g., 1.6.0);
<description> – the description of the component (may be shown as a tooltip on the admin Manage Extensions page);
<element> – the internal name of the component. If omitted, the file name (without extension) will be cleaned and used.

The <name> and <description> fields are translatable. If you use language strings for these elements, then they should be defined in your language .sys.ini file AND your .ini file.

Frontend Files


</details>

> Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a>
</details></td></tr>
<tr><td><details>
<summary><strong>Generic: Robust Error Handling and Edge Case Management</strong></summary><br>

**Objective:** Ensure comprehensive error handling that provides meaningful context and graceful <br>degradation<br>

**Status:** <br><a href='https://github.com/joomla/Manual/pull/552/files#diff-333d83f9af8aeb47d76fb601c631ebe435b4e6fec3edf9d9567d5b3425485eeaR73-R114'><strong>Not Applicable</strong></a>: This PR updates documentation only and introduces no runtime error handling paths to <br>evaluate for robustness.<br>
<details open><summary>Referred Code</summary>

```markdown
- from the "module=" or "plugin=" attribute in the `<files>`, or
- from the `<name>` (after the text is cleaned).

## Root 

The primary tag of the installation file is

```xml
<extension>
...
</extension>

This starting and closing tag is the same for all extensions. The following attributes are allowed within the tag:

Attribute Values Applicable To Description
type component
file
language
library
module
package
plugin
template
All extensions
method install
upgrade
All extensions The install value (default) means the installer will gracefully stop if it finds any existing file/folder of the new extension
The upgrade value allows you to install an upgraded version on top of the existing version
client site
administrator
Modules Defines whether the module is a frontend site module or backend administrator module
group string Plugins The group name specifies for which group of plugins the new plugin is available.
The existing groups are the folder names within the directory /plugins.
The installer will create new folder names for group names that do not exist yet.

... (clipped 21 lines)


</details>

> Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a>
</details></td></tr>

<tr><td align="center" colspan="2">

<!-- placeholder --> <!-- /compliance --update_compliance=true -->

</td></tr></tbody></table>
<details><summary>Compliance status legend</summary>
🟢 - Fully Compliant<br>
🟡 - Partial Compliant<br>
🔴 - Not Compliant<br>
⚪ - Requires Further Human Verification<br>
🏷️ - Compliance label<br>
</details>

@qodo-code-review
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Resolve contradictory documentation for element fallback

Resolve the contradiction in the documentation for the tag's fallback behavior.
The priority list states the fallback is the tag, while the description says
it's the file name.

versioned_docs/version-6.0/building-extensions/install-update/installation/manifest.md [109]

-<element> – the internal name of the component. If omitted, the file name (without extension) will be cleaned and used.
+<element> – the internal name of the component. If omitted, the value from the <name> tag will be cleaned and used.
  • Apply / Chat
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies a significant contradiction in the documentation between the priority list (lines 71-74) and the description of the <element> tag, which was modified in this PR. This inconsistency could confuse users.

Medium
  • More

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