Skip to content

[6.0] Fulfill InstallerScriptInterface with a trait #44381

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Aug 16, 2025

Conversation

bembelimen
Copy link
Contributor

@bembelimen bembelimen commented Oct 30, 2024

Summary of Changes

This implements a trait to be used in combination with the InstallerScriptInterface

Testing Instructions

I have no real idea, how to test it. You need an Extension using a install script with the InstallerScriptInterface. Using this trait should resolve the interface and give you some additional options like:

you can set

  • a minimum PHP version which is required
  • a minimum Joomla! version which is required
  • files to be removed
  • creating a dashboard menu onthefly

There are also two "custom" methods to extend preflight/postflight and still benefit from their functionality.

Link to documentations

Please select:

@laoneo
Copy link
Member

laoneo commented Oct 31, 2024

In general I'm not sure if the trait is the right approach. I would prefer a base class.

@wilsonge
Copy link
Contributor

wilsonge commented Nov 1, 2024

What's the value of deprecating and forcing people to move. I mean I'm not fussed whether we use a base class or a trait to be honest - but I don't see the value of just deprecating and moving to the other one forcing code changes for next to no benefit.

@HLeithner
Copy link
Member

I miss an interface for this trait and I would replace the string type with an enum.

I think the goal is to get type safety with out b/c break.

@laoneo
Copy link
Member

laoneo commented Nov 4, 2024

The interface exists already, but I couldn't change the InstallerClass without braking bc at the time I made it.

@HLeithner HLeithner changed the base branch from 5.3-dev to 6.0-dev March 4, 2025 17:19
@HLeithner
Copy link
Member

This pull request has been automatically rebased to 6.0-dev.

@HLeithner HLeithner changed the title [5.3] Replace InstallerScript class with a trait [6.0] Replace InstallerScript class with a trait Mar 4, 2025
@rdeutz rdeutz removed the PR-5.3-dev label Mar 5, 2025
@bembelimen bembelimen changed the title [6.0] Replace InstallerScript class with a trait [6.0] Fullfill InstallerScriptInterface with a trait Apr 18, 2025
@bembelimen bembelimen changed the title [6.0] Fullfill InstallerScriptInterface with a trait [6.0] Fulfill InstallerScriptInterface with a trait Apr 25, 2025
Copy link
Member

@HLeithner HLeithner left a comment

Choose a reason for hiding this comment

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

I made some annotations maybe can comment on them.

@bembelimen bembelimen dismissed HLeithner’s stale review August 14, 2025 13:25

Fixed application + client

@brianteeman
Copy link
Contributor

Shouldn't there be the option to set dB requirements

@softforge
Copy link
Contributor

Shouldn't there be the option to set dB requirements

It's not in the original, but it would be a nice improvement

@softforge softforge added this to the Joomla! 6.0.0 milestone Aug 16, 2025
@softforge softforge merged commit da7b953 into joomla:6.0-dev Aug 16, 2025
30 checks passed
@softforge
Copy link
Contributor

Thank you for the work on this, and for the testers adn reviewers who pointed out some improvements that can be made

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.

9 participants