ddev / ddev

Docker-based local PHP+Node.js web development environments
https://ddev.com
Apache License 2.0
2.43k stars 579 forks source link

Add drupal10 AppType #3417

Closed mglaman closed 2 years ago

mglaman commented 2 years ago

Is your feature request related to a problem? Please describe. Drupal 10's branch was just cut. I am not sure if there are any significant changes to Drupal 9 in terms of settings.php. But it does require PHP 8.0 (maybe 8.1) and ~different database requirements than Drupal 9~.

The database requirements are the same per https://www.drupal.org/node/3228686

MySQL requirements are unchanged from Drupal 9, with minimum required versions MariaDB 10.3.7+ or MySQL/Percona 5.7.8+

It would be nice to add the entry now rather than later when folks start running Drupal 10 sites (or writing tutorials, videos, etc.)

Describe the solution you'd like Add AppTypeDrupal10 to https://github.com/drud/ddev/blob/master/pkg/ddevapp/apptypes.go.

Copy the same details as AppTypeDrupal9 but provide a new detection method isDrupal10App.

Describe alternatives you've considered Just use Drupal 9 and hope all goes well :)

rfay commented 2 years ago

With Drupal9 there wasn't ever a reason to split off of drupal8 until they made a sudden requirement for Mariadb 10.3. Do we need to be splitting the behavior at this point?

mglaman commented 2 years ago

Yes, because it requires PHP 8.0 and Drupal 9 defaults to 7.4

On Fri, Dec 3, 2021, 7:00 AM Randy Fay @.***> wrote:

With Drupal9 there wasn't ever a reason to split off of drupal8 until they made a sudden requirement for Mariadb 10.3. Do we need to be splitting the behavior at this point?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/drud/ddev/issues/3417#issuecomment-985499482, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4G7VBIRYARBBDXQ4KSOVDUPC5QRANCNFSM5JJD7KZA .

rfay commented 2 years ago

Drupal 9 doesn't default to 7.4, ddev defaults to 7.4. This is a great reason.

I wonder when will be the right time to change ddev's default PHP version.

mglaman commented 2 years ago

I think DDEV should default to 8.0, now. Since 7.4 is security only. And update existing platforms to 7.4, maybe? I know D7 is 8.1 compatible. I'm not sure on Backdrop. Laravel should be good on 8.1

rfay commented 2 years ago

I just wonder what the actual experience of people is... if they're getting moved along or not. TYPO3 will soon be ready for php8.1, but not the older versions. And it's not broken into different sections like drupal.

mglaman commented 2 years ago

I guess it depends on the minimum supported version. Drupal 9 technically has a minimum of 7.3, but we know it's safe to use 7.4. So For TYPO3 I'd pin it to whatever is the non-EOL minimum, without having to add a bunch of version detection

tyler36 commented 2 years ago

Laravel Support Policy

Version PHP (*) Release Bug Fixes Until Security Fixes Until
6 (LTS) 7.2 - 8.0 September 3rd, 2019 January 25th, 2022 September 6th, 2022
7 7.2 - 8.0 March 3rd, 2020 October 6th, 2020 March 3rd, 2021
8 7.3 - 8.1 September 8th, 2020 July 26th, 2022 January 24th, 2023
9 (LTS) 8.0 - 8.1 January 25th, 2022 January 30th, 2024 January 28th, 2025
10 8.0 - 8.1 January 24th, 2023 July 30th, 2024 January 28th, 2025

(*) Supported PHP versions

I'd say it would be safe to be bump to at-least 8.0 for Laravel. It would even better, if Drupal & others were happy with 8.1 to jump straight to that as a default for new projects. It seems trivial enough to update the config file.

bserem commented 2 years ago

Would it make sense to add the php version to the ddev config wizard?

It is a killer-feature to only have 3 questions (name, docroot, apptype) but a 4th one with a default to 8.0 wouldn't hurt much, right?

rfay commented 2 years ago

BTW, this was fixed so I'll close it.

@bserem please use new issues for feature requests.

I didn't know that anybody ever used the prompted responses of ddev config, really interested to know that you do. I thought everybody did ddev config --project-type=drupal10 --php-version=8.1

bserem commented 2 years ago

@rfay thanks.

Regarding your question, I am coaching the switch to ddev from everything (apache, php dev server, lando, plain docker...) in my current team and to make things easier I am instructing them to use ddev config which is very easy to memorize.

Personally I like it better with the short syntax. It is easier to remember just ddev config and edit the yaml later on.

rfay commented 2 years ago

Also, it usually autodetects everything. But note that with known project types it gets the "normal" php version for that project type.