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

Make it clear what plugins are required, recommended, or not supported in a theme #201

Open
7 tasks
sr4136 opened this issue Feb 10, 2020 · 4 comments
Open
7 tasks

Comments

@sr4136
Copy link
Collaborator

sr4136 commented Feb 10, 2020

Goal

To make it easier for folks activating a theme - be it helpdesk, a developer in our department, or someone else - to understand what plugins are required for the theme to work, and what plugins are recommended for the theme but will not break it if you do not install them.

Requirements

  • It is clear to an end user what plugins are required for a theme to work. Ideally, a user does not have to activate these; they activate automatically.
  • In the case of automatic activation, there is a fallback or notice in the case of the plugin not being available to activate for some reason, so that the developer knows the plugin is missing and needs to be installed.
  • It is clear to an end user what plugins are supported or recommended. These are plugins that are tested and verified to work well with the theme, but are not necessarily required for the theme to work.
  • There is a default list of required plugins at the framework level, and a child theme may add to or modify these.
  • Framework should not have recommended plugins - the intention with recommended plugins is to make it more clear what a child theme supports.
  • There is an easy way for a designer or developer of a child theme to edit the list of required plugins.
  • There is an easy way for a designer or developer of a child theme to edit the list of recommended plugins.

Original request

I would like to have a CMB2 notice for themes that requires CMB2. Similar to how we do it for BU Banners, I would like the notice code to live in Responsi itself. It should be off by default, and then become active with a constant in the Responsive Child Starter theme (like we do with other optional settings).

This will make noting which themes are CMB2-required easier and have a consistent way to show these notifications (rather than doing it slightly different on each child theme)

@acketon
Copy link
Member

acketon commented Aug 6, 2021

from @smtierneybu perhaps activate the required plugin(s) in addition or instead of the notice.

@ashleykolodziej
Copy link
Contributor

ashleykolodziej commented Aug 31, 2021

This idea is thematically related to some other struggles that Ron and company have in activating themes - it can be difficult to tell what is required, what is supported, and what is not. Another possible way we can make this clearer at the time of theme activation is to also list the supported plugins in the description on style.css: https://github.com/bu-ist/responsive-framework/blob/develop/style.css#L7

Is there a way we can, say, have a list of recommended plugins, as well as a list of required plugins, for each theme? Especially companion themes.

@ashleykolodziej
Copy link
Contributor

Next steps: Can I get a recommendation for ways to solve the requirements above from the devs, and can we go over it together to make sure it's on track?

@ashleykolodziej ashleykolodziej changed the title CMB2 Notice Make it easier for users to understand what plugins are required, recommended, or not supported in a theme Aug 31, 2021
@ashleykolodziej ashleykolodziej changed the title Make it easier for users to understand what plugins are required, recommended, or not supported in a theme Make it clear what plugins are required, recommended, or not supported in a theme Aug 31, 2021
@sr4136
Copy link
Collaborator Author

sr4136 commented Aug 16, 2022

@ashleykolodziej

For custom themes, we've been copy-pasta'ing code that Alana originally wrote. See it in action in a few recent themes:

Since we're talking about custom themes only:

  • Keep doing generally this, but extract it one level by centralizing this functionality into Responsive Customizations.
    • and use a filter to modify the list of required plugins
    • hopefully in a way that doesn't require us to provide a [path to plugin initialization file + plugin name] combo every single time, ex here.

One step further, as noted here is to programmatically activate the required plugins instead of just showing a notice. Making that modification to the code wouldn't be much.
-- Can we think of use cases where we would WANT a notice instead of auto-activating?
-- Can we think of use cases where we'd want to show a notice for SOME plugins but auto-activate others?

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

3 participants