Bundling more popular plugins with Discourse core

i recall my failed rebuild started the old container automatically

2 Likes

I think that happens if you run discourse-doctor.

I’m assuming you mean the docker manager here.

We do have the ability to force a CLI update via these variables – the complication here is intervention was only needed if you had one of the plugins already installed.

Perhaps it would have been a better experience for self hosters had we forced a CLI update on everyone in these sorts of cases regardless.

It all worked out in the end.

It was just a little disconcerting at first till I realized I had to go into the command line, remove plugins and rerun.

Fortunately, the end of the message on the first cli rerun indicated what had to be removed.

2 Likes

Oops. Right.

I think it’s a better experience if cdck errs on the side of doing a command line rebuild that will certainly work even if it might not be necessary rather than a more convenient one-click upgrade that might crash your site and require you to figure out how to do a command line rebuild.

5 Likes

This is a complete misunderstanding of the situation.

This change has unblocked tremendous amounts of velocity for the team. Changes that in the past would take us many hours to work through can now take us minutes.

Take adding /filter support for assign and solved. Something I did last week. Yes, it was possible in the past but it required cross repo coordination which was very complicated to pull off, now we can do this stuff easily in 1 commit.

The end result is that the quality/stability and velocity of improvements for core plugins increases. It also gives us a better extensibility story overall cause we are less reticent to improve our extensibility story.

12 Likes

We did force a CLI rebuild for each batch of bundled plugins

I haven’t seen any reports of failed UI rebuilds, so I think this strategy successfully pointed people to the CLI rebuild. Those CLI rebuilds then provided the ‘hint’ messages about removing lines from app.yml.

4 Likes

My bad. I thought I’d seen a few, but I bet you’re paying closer attention than I am!

Sorry about that

2 Likes

I’m not sure how to deal with this.

Update is failing with a lot of errors similar to

HINT: The plugin ‘discourse-solved’ is now bundled with Discourse and should not be included in your container configuration.
Remove the line ‘git clone https://github.com/discourse/discourse-solved’ from your containers/web_only.yml file, then try again.
For more information, see Bundling more popular plugins with Discourse core

I edited web_only.yml and commented out all the referenced plugins, but that didn’t help.

`cmd:`
`##          - git clone ` https://github.com/discourse/docker_manager.git
`## - git clone ` https://github.com/discourse/discourse-templates
`## - git clone ` https://github.com/discourse/discourse-akismet.git
`## - git clone ` https://github.com/discourse/discourse-chat-integration.git
`## - git clone ` https://github.com/discourse/discourse-solved.git
`## - git clone ` https://github.com/discourse/discourse-cakeday.git
`## - git clone ` https://github.com/discourse/discourse-adplugin.git
`## - git clone ` https://github.com/discourse/discourse-patreon.git
`## - git clone ` https://github.com/discourse/discourse-linkedin-auth
`## - git clone ` https://github.com/discourse/discourse-data-explorer.git
`## - git clone ` https://github.com/discourse/discourse-assign.git
`## - git clone ` https://github.com/discourse/discourse-topic-voting.git
`## - git clone ` https://github.com/discourse/discourse-user-notes.git
`## - git clone ` https://github.com/discourse/discourse-math.git
`## - git clone ` https://github.com/discourse/discourse-oauth2-basic.git
`## - git clone ` https://github.com/discourse/discourse-calendar.git
`## - git clone ` https://github.com/discourse/discourse-affiliate.git
`## - git clone ` https://github.com/discourse/discourse-invite-tokens.git
`## - git clone ` https://github.com/discourse/discourse-github.git

The hint there searches for the existence of those strings in your config, so the error text hint might be misdirecting you in this specific case.

Those lines are ok to remove (make a copy of your existing config if you are cautious) and should reveal a much more helpful error

2 Likes

Was this a list of what you took out, or what you still have? Because a bunch of those are in the list in the OP. Are you actually saving the yml or just exiting?

Oh I see you have a web.yml…maybe you have to do something else for that install

1 Like

Happy cakeday! :birthday_cake:

Do we have a clearer idea yet of when discourse-cakeday will be moved into core?

Sam mentioned a while back that

I was imagining maybe next month, but are we any more certain now than we were then?

1 Like

Amaazingly, cakeday is the last plugin I still have in my app.yml on my personal site! :exploding_head:

FYI, we just got back this week from our annual world meetup and are all still getting caught up, and this won’t be at the top of the priority list! I’m sure it will be done soon but there is no rush.

3 Likes

For everyone who is not tracking edits on the first post:
cakeday was moved to core

9 Likes

will bbcode make it to core?

1 Like

Not any time in the near future, it is a very very complex plugin especially when it comes to the rich text composer.

2 Likes

I generally respect you guys but it saddens me that this is once again an issue.. I still believe it is unnecessary to force us to go into the console and manually remove them when there are tens of possible better solutions that don’t involve forcing us to go in and do this all manually

1 Like

Hey sorry you are unhappy about the path we chose but this is the way, unfortunately for you. The instructions are clear enough in my opinion and all you need to do is remove a few lines from your app.yml and rebuild, and you’re done!

1 Like

Yeah I’m not saying it’s really hard (it was a simple 45 second task to fix it), I just felt like it was harsh to force us to go in and do it while the normal UI to upgrade just says “please rebuild the app manually!”. In my opinion ignoring the lines and just saying like hint: plugin discourse-solved is now included in core and should be removed from your app.yml file and building anyways or showing directly in the UI would have been better but it isn’t too big of an issue, just a minor inconvenience.

1 Like

You did say it was an issue but it is not, like you said. Just clarifying that point for you and other future travelers.

Point well taken that we can do more to make future changes like this easier.. in this case I’m not sure what could have been done differently because a change was needed in app.yml, which has to be done by the self-hoster at the command line.

In any case for this round it’s all done now and all these incredible official plugins are now just included in core for everyone to use, without having to add them to their app.yml or worry about how they interact with each other. I love that my app.yml is now so simple.

1 Like