Skip to content
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

Backdrop support in Aegir #6453

Closed
omega8cc opened this issue Apr 15, 2024 · 16 comments
Closed

Backdrop support in Aegir #6453

omega8cc opened this issue Apr 15, 2024 · 16 comments

Comments

@omega8cc
Copy link

Description of the need

We plan to add Backdrop support in Aegir and then replace D7 with Backdrop for Aegir admin interface, but we need to determine how to make it work with our Drush 8 based backend in the light of Drush 8 support deprecation in Backdrop.

Proposed solution

Since we maintain Drush 8 fork to support latest PHP versions, our preference would be to keep the Backdrop support for Drush 8 alive without resorting to fork the deprecated layer.

Alternatives that have been considered

Another option would be to add Bee support in Aegir, although it would probably require porting our entire backend to Bee extensions, which is not ideal because our main goal is to provide easy to use upgrade procedure for Drupal 7 sites to encourage migration to Backdrop.

Additional information

The plans have been already announced and we are working on them, still investigating the best ways to make it happen:

https://gist.github.com/omega8cc/2f3d68f45a003fbfd4690f2f5ee1cc93

Draft of feature description for Press Release (1 paragraph at most)

Backdrop will be supported in Aegir with easy migration from Drupal 7 available. It will also power Aegir admin interface to replace the legacy D7 version.

@oadaeh
Copy link

oadaeh commented Apr 16, 2024

FYI, many Drush commands are not supported by the Backdrop Drush Extension, so you might find you have to do some "porting" in the Backdrop Drush Extension, as well.

@omega8cc
Copy link
Author

@oadaeh We shall see, but Aegir is actually using only very few Drush commands — basically to bootstrap the site, find modules, to clear cache, to run db schema updates, to generate login link. So it shouldn’t be too hard to implement or extend existing compatibility layer while preserving the intended functionality of automated upgrade from D7.

@indigoxela
Copy link
Member

Aegir is actually using only very few Drush commands — basically to bootstrap the site, find modules, to clear cache, to run db schema updates, to generate login link...

@omega8cc Have you had a look at Bee, which provides all that? Drush8 will go away at some point.

@omega8cc
Copy link
Author

omega8cc commented Apr 17, 2024

@indigoxela Yes, we have explained in the request that we have considered Bee but it will not work for us because our aim is not just Backdrop support but support for easy migration between Drupal 7 and Backdrop.

Also, Drush 8 will be supported by us indefinitely because it’s our main backend tool.

For our needs we need Drush 8 to support both Drupal and Backdrop in the Aegir context.

We don’t need a full Drush 8 support, though, because Aegir depends only on a few commands.

Bee is not going to replace Drush for us, but we can add it for command line management of Backdrop sites outside of Aegir context.

@indigoxela
Copy link
Member

Bee but it will not work for us because our aim is not just Backdrop support but support for easy migration between Drupal 7 and Backdrop.

Yeah, what I had in mind was some sort of "abstraction layer" as the commandline options for both tools are quite similar (or can get aliased). But if your route is already clear (maintain a custom variant of drush)...

AFAIK core itself doesn't provide anything re drush support. It's all in contrib. I'm assuming, this will keep on working (the limited way it works now), I'm not aware of any plans to ditch it. It might need a little more maintenance, though. 😉

@omega8cc
Copy link
Author

@indigoxela I know it’s not in core, but it was just deprecated and will be archived with no further support, so unless this decision will be reversed, we will have to fork it and keep alive, because Bee is not an answer for our needs. In our mind it’s way too early for such decisions while there are still hundreds of thousands of Drupal 7 sites to win and get them on the Backdrop ship, at least before they drop Drupal for Wordpress. It should be our mutual main effort now with the EOL finally looking serious.

@laryn
Copy link
Contributor

laryn commented Apr 17, 2024

so unless this decision will be reversed, we will have to fork it and keep alive...

OR request take over as maintainer or join as a co-maintainer of that project 😇

@omega8cc
Copy link
Author

@laryn Ha! That would be an excellent turn of events if accepted!

@indigoxela
Copy link
Member

Hehe, @laryn just beat me to it. 😆

@omega8cc in Backdrop land we're not so fast with deprecating (ditching). As long as there's a need for something and someone maintains it, everything's fine.
Let us know, if you need any instructions re joining the maintainer group and requesting to become co-maintainer.
Maybe I missed that, but did you already join our Zulip chat?

@omega8cc
Copy link
Author

@indigoxela Thank you, we will consider this once we are ready to submit some code. Will definitely join the chat too!

@stpaultim
Copy link
Member

I would just like to reinforce the fact that I'm unaware of any official decision to deprecate drush. As @indigoxela says, if someone wants to maintain it, I think it's fine to keep it alive.

The assumption has been that drush would become more difficult to maintain over time as support for Drush 8 disappears in Drupal land, so resources have shifted to Bee. But, if we had someone interested in maintaining drush, I don't think that would necessarily be a bad thing.

Another recommendation would be to come to one of our weekly development meetings to discuss your plans and get feedback. This is certainly not required, but it might be a useful opportunity for you to meet some folks in the community and get more detailed guidance on how best to proceed. Be certain that you would be welcome if you joined one of these meetings, the agenda is usually informal and we appreciate the occasional diversion from our usual topics.

;-)

https://backdropcms.org/news/meetings

Best of luck.

@omega8cc
Copy link
Author

Thank you @stpaultim for your kind invitation and reassurance that old Drupal and Aegir folks are welcome if they are ready to contribute for our mutual benefit.

I have to admit that initially we weren’t counting on Backdrop bright future and the years of moving EOL for D7 managed to kill businesses we valued as partners.

It was very similar in Aegir for years with basically everyone assuming it’s dying with no future.

But we have managed to withstand the skepticism and made Aegir able to support both latest PHP and latest Drupal versions.

The truth is also that due to the way Drupal switched to Symfony made us at Omega8.cc pretty disillusioned and frustrated, looking for alternatives. We even stopped using Drupal for our own website and switched to Grav CMS.

We are now fully committed to not only add Backdrop support in Aegir but also replace Aegir admin interface with Backdrop.

Assuming that Drupal devs will keep the D7 EOL final it’s becoming clear that 45% of all existing Drupal sites will be lost to Wordpress unless Backdrop manages to win them. They will not rebuild on D10, that’s guaranteed.

It’s a perfect time for Backdrop to gain the visibility it deserves and we are determined to help in this as much as we can.

@omega8cc omega8cc reopened this Apr 18, 2024
@klonos
Copy link
Member

klonos commented May 1, 2024

Yeah, what I had in mind was some sort of "abstraction layer" as the commandline options for both tools are quite similar (or can get aliased) ...

@indigoxela in case you didn't know already, there's https://github.com/drush-ops/drush-launcher, which allows having multiple versions of drush in one host, and switch (or auto-detect) the appropriate version for your Drupal/php setup:

... it is inconvenient to type vendor/bin/drush in order to execute Drush commands. By installing the drush launcher globally on your local machine, you can simply type drush on the command line, and the launcher will find and execute the project specific version of drush located in your project's vendor directory.

@klonos
Copy link
Member

klonos commented May 1, 2024

Sorry, I've been in a hiatus for 2-3 months, and it seems that I have missed quite a lot in the community that I now need to catch up with!

We are now fully committed to not only add Backdrop support in Aegir but also replace Aegir admin interface with Backdrop. ... It’s a perfect time for Backdrop to gain the visibility it deserves and we are determined to help in this as much as we can.

@omega8cc thank you for considering Backdrop and welcome to the community! Let us know if we can help with anything and feel free to start participating in our events, dev meetings, office hours, Zulip chat and the GitHub issue queues when you are ready. Let us know if there's anything blocking you too (like you have done here with the concerns about archiving the repo with the drush integration).

Is there anything specific that needs to be done in Backdrop core to make things easier for Aegir? If not, then perhaps this issue here needs to be closed, as this queue is specific to Backdrop core changes.

I have already opened a thread about Aegir in our Zulip chat here, where we can keep discussing, coordinating any efforts, and spinning up issues in the appropriate GitHub repos as needed.

PS: not sure if you are aware of the various ways we offer for people to try Backdrop in many other platforms: https://backdropcms.org/try-backdrop ...it would be good to add Aegir as an option there once you are ready. Something to keep in mind in the meantime 😉

Again, welcome! ❤️

@klonos
Copy link
Member

klonos commented May 1, 2024

...I've also opened backdrop-ops/backdropcms.org#1039

@omega8cc
Copy link
Author

omega8cc commented May 4, 2024

Hi @klonos and thank you for pointing us in the right direction on where to discuss such more broad topics which may require more specific issues and patches in the future, but since it’s too early to determine this now I’m closing this one. Really appreciate your warm welcome everyone!

~Adam

@omega8cc omega8cc closed this as completed May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants