-
Notifications
You must be signed in to change notification settings - Fork 109
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
Implement migration logic and UI from old PL modules to new standalone plugins in PL settings screen #652
Comments
@10upsimon The requirements here are extremely detailed, and I would argue go too far into detail, to the degree it is very challenging to review them as it's almost like a code review without code :) I took a look at your draft PR and left some feedback (#806 (review)), which is similar to what I would have as feedback on the requirements: Rather than the detailed list of what to implement, I think the description here would benefit from a much higher-level outline of requirements, while instead providing context for why the requirements are like that. For example, I am questioning why we need to introduce REST endpoints when WP core already provides AJAX functions and REST endpoints to manage plugin installation, activation, etc. Since the PL plugin is a WP core feature plugin, we should stick as much as possible to what core provides us, rather than working with more "elaborate" custom code and architecture patterns, also to keep our own maintenance burden as little as possible. While the code in WP core itself is probably not the most elegant and maintainable, us implementing custom "duplicate" versions of it overall makes our maintenance burden worse, unless absolutely necessary for a technical limitation with core's code that we can't work around. Were there specific hurdles you ran into while trying to replicate the behavior from the Plugins > Add New screen? If so, what were they specifically, what were the core limitations, and why did they lead you to propose what is outlined in the description? This kind of context would be helpful to have. Maybe there are valid reasons to reimplement parts of the functionality core already provides, but without such context to me some of the requirements seem like duplicate work. |
@felixarntz (cc @mukeshpanchal27) I've taken a stab at simplifying (in terms of technicalities) the requirements, although I've found it rather challenging to not go into detail for context sake. Therefore, I've split the requirements section into two sub sections, a "summary" and "detailed" section. The summary is a very top down view of the requirements, while the detailed section goes far more into describing the intended outcome while making it quite clear where and how core currently implements and handles certain plugin actions. In terms of the challenges (including suspected hurdles) I faced when exploring the usage of the existing
Looking more into the |
Thank you @10upsimon, the updated version is much more clear to me and outlines your thoughts and considerations in more detail. Leaving a few follow up notes:
I think at this point there's little value in updating the requirements here further since they overall look very solid. Let's go ahead and try what happens in reality when using the
Let me know what you think! |
@10upsimon I am just realizing that this issue was originally intended for something different than what we're discussing now:
Not a big deal, but right now the two issues are therefore somewhat duplicates. Maybe we can bring the conclusions from our conversation here back to #651, and then either continue to use this issue for its original purpose or we close it and open a new one for that purpose? |
@10upsimon I've outlined a rough set of requirements for this in the issue description. |
Fixed by #899 (in |
Feature Description
Follow-up to #651: For any site for which the old module slugs are still set in the option for active modules, an additional UI component should be added to the updated PL settings screen to make it easy, yet explicitly intentional, for the admin user to install and activate the respective standalone plugins with a single click.
This will require defining a mapping between the old module slugs and their standalone plugins, so that the plugin can determine where to point the user.
Requirements
install_plugins
andactivate_plugins
capabilities: A primary CTA button (see below) to migrate the active legacy modules to their respective standalone pluginsThe text was updated successfully, but these errors were encountered: