Skip to content

modules license & etc#38

Merged
alikon merged 7 commits intomainfrom
modules-license
Mar 25, 2026
Merged

modules license & etc#38
alikon merged 7 commits intomainfrom
modules-license

Conversation

@alikon
Copy link
Copy Markdown
Owner

@alikon alikon commented Mar 25, 2026

Summary by Sourcery

Extend the GitHub portfolio module manifest with update metadata, additional resource folders, and new configuration fields for licensing and module information.

New Features:

  • Expose a changelog URL and update server in the GitHub portfolio module manifest to support remote updates.
  • Register additional field and language folders in the module files list for proper packaging and loading.
  • Add custom configuration fields for displaying license information, helpful links, and the module version in the module settings.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai bot commented Mar 25, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds metadata, update server configuration, custom field path, and new configuration fields (license, links, version) to the GitHub Portfolio module manifest to support licensing info and update delivery.

Sequence diagram for loading new module config fields with custom field path

sequenceDiagram
    actor Admin
    participant AdminInterface
    participant JoomlaConfig as JoomlaConfigSystem
    participant ManifestXML
    participant CustomFieldPath as GithubPortfolioFieldPath
    participant LinksField as LinksFieldType
    participant VersionField as VersionFieldType

    Admin ->> AdminInterface: Open Github Portfolio module configuration
    AdminInterface ->> JoomlaConfig: Request module params definition
    JoomlaConfig ->> ManifestXML: Load manifest config section
    ManifestXML -->> JoomlaConfig: fields name=params with addfieldpath
    JoomlaConfig ->> CustomFieldPath: Register custom field path /modules/mod_github_portfolio/field
    JoomlaConfig ->> LinksField: Instantiate field plugin_links
    JoomlaConfig ->> VersionField: Instantiate field plugin_version
    LinksField -->> JoomlaConfig: Field definition for plugin_links
    VersionField -->> JoomlaConfig: Field definition for plugin_version
    JoomlaConfig -->> AdminInterface: Rendered fields (license, links, version, others)
    AdminInterface -->> Admin: Display updated configuration form
Loading

File-Level Changes

Change Details Files
Extend the GitHub Portfolio module XML manifest with changelog/update metadata, additional file folders, and new configuration fields.
  • Add pointing to the module changelog XML in the GitHub repository.
  • Register an entry for the module to enable remote updates from GitHub-hosted updateserver.xml.
  • Include additional folders (field, language) in the section and remove the explicit block, relying on folder-based inclusion instead.
  • Add addfieldpath to the params to load custom field types from the module's field directory.
  • Introduce three new configuration fields: a note field displaying GPL license info, a custom links field for plugin-related links, and a version field to show the module version.
src/modules/mod_github_portfolio/mod_github_portfolio.xml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The custom form field directory is declared as <folder>field</folder> and referenced via addfieldpath="/modules/mod_github_portfolio/field"; consider aligning this with Joomla’s usual fields naming convention to avoid confusion and make future maintenance easier.
  • You removed the <languages> section and instead added <folder>language</folder>; if the module still relies on mod_github_portfolio.sys.ini for backend listing and other strings, consider whether explicit language file declarations are still needed or if you’re fully relying on automatic discovery.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The custom form field directory is declared as `<folder>field</folder>` and referenced via `addfieldpath="/modules/mod_github_portfolio/field"`; consider aligning this with Joomla’s usual `fields` naming convention to avoid confusion and make future maintenance easier.
- You removed the `<languages>` section and instead added `<folder>language</folder>`; if the module still relies on `mod_github_portfolio.sys.ini` for backend listing and other strings, consider whether explicit language file declarations are still needed or if you’re fully relying on automatic discovery.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@alikon alikon merged commit 4fecb73 into main Mar 25, 2026
30 checks passed
@alikon alikon deleted the modules-license branch March 25, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant