Feature #9942
closedPlugin Packages
0%
Description
- New submenu (networkwide - all sites) at Plugins > Packages
- Meta box at wp-admin that links to Plugins > Packages with "reporting". TBD whether this is the best way to surface functionality - it's not clear what there is to "report"
- Submenu has description of plugin packages in general, with a description of each package (details about each plugin, etc). Each will have an "Activate this package" button.
- Clicking the button will activate the plugins in question, and (perhaps) set up some default settings
- For analytics, let's keep track of package activation somehow. Ray - what do you think of throwing something in the BP blogmeta table? bp_blogs_add_blogmeta( $blog_id, "activated_plugin_package_{$package}", time() ) or something like that would make it easy to query later
Luke and Laurie will work on defining the packages: package names + definitions (list of plugins, and any required config settings). Let's set a deadline of July 31 for this. See https://docs.google.com/document/d/19yWcamz-cuNZDR4HTUkYphypNLnA14Mg-RVRqC4l0f4/edit#heading=h.kwq3jx9p2hmz for current draft.
Ray, you are the maestro of plugin activation on our team. Would you take point on this one?
Files
Related issues
Updated by Raymond Hoh over 6 years ago
Meeting notes, specific to this ticket:
- Track plugins from a package that might have been deactivated manually (storage method should use `get_option()` instead of `bp_blogs_get_blogmeta()` here unless we want to track deactivations across the network).
- Inform admins of new plugins to a package (on the "Plugins > Packages" page, dashboard metabox and potentially elsewhere)
Updated by Boone Gorges over 6 years ago
- Track plugins from a package that might have been deactivated manually (storage method should use `get_option()` instead of `bp_blogs_get_blogmeta()` here unless we want to track deactivations across the network).
Or do it dynamically:
$this_site_packages = bp_blogs_get_blogmeta( $blog_id, 'plugin_package', false ); foreach ( $this_site_packages as $package_id ) { $package_plugins = cac_get_plugin_package( $package_id ); $active_plugins = get_option( 'active_plugins' ); $diff = array_diff( $package_plugins, $active_plugins ); }
Updated by Raymond Hoh over 6 years ago
- File plugin-packages.png plugin-packages.png added
- File plugin-list-table.png plugin-list-table.png added
Quick update on my end, I'm currently working on the UI at the moment. Will work on the actual activation stuff afterwards. Here are some in-progress screenshots:
"Plugins > Plugin Packages" page
Clicking on each plugin will open a modal, which is exactly the same as how WordPress does it.
Do we show the "Plugins > Plugin Packages" page for every single site? Or do we only show this for OER-enabled sites? I'm not sure if we plan on doing any flagging for such sites yet, so I'm asking the question now.
Package tags on main Plugins page
Clicking on the tag just takes you to the "Plugins > Plugin Packages" page, anchored to the particular package at the moment.
I'm developing this as an individual plugin so it could be potentially used elsewhere.
Some notes for Boone: the plugin packages spec is currently only for plugins that are installed. What if a plugin is not installed? I would assume we would install the non-existing plugin for the site, but obviously, this doesn't work for the Commons since we use Git. I've already written a switch to only show installed plugins for packages, which we would enable for the Commons. When this is open-sourced, there is the potential to install non-existing plugins, but I'm leaving that on the backburner for now.
Updated by Boone Gorges over 6 years ago
Hi Ray - This is looking great, really above and beyond. Thanks!
Definitely put the plugin-installation question on the backburner. On the Commons, we'll ensure that plugins in packages are installed.
Updated by Raymond Hoh about 6 years ago
- File packages-page-update.png packages-page-update.png added
- File dashboard-widget.png dashboard-widget.png added
- Status changed from New to In Progress
I've added the plugin to 1.14.x branch here - https://github.com/cuny-academic-commons/cac/commit/b05ef038611fbf13503db46cdbc13032375dc0c2
Here are some updated screenshots of some new functionality:
Dashboard widget
Part of the spec wanted some form of reporting in the dashboard. With that in mind, I've added a "Plugin Packages" dashboard widget. This widget only shows up if the site has previously activated a plugin package.
It reuses the package tags as shown before.
Also, if some plugins are inactive in a package, a small note is added with a brief description to tell the admin to click on the package tag for more info.
Displaying inactive plugins from a package
Following up on the latter point, if plugins from a package were deactivated by an admin or if new plugins were added to a package, a new line is displayed denoting the inactive plugins. An admin can also activate these inactive plugins via the Activate all
link.
Let me know what you think of this workflow and whether anything needs to be changed.
Updated by Matt Gold about 6 years ago
Chris and Sonja-- please review plugin-list-table.png and see whether you think "Teaching | Multimedia" (even if they are clickable and go to anchored links on the Plugin Packages page) will be intuitive to people
Suggestion during the meeting:
add a line break after "View details"
then say "Plugin Packages: Teaching | Multimedia"
Updated by Raymond Hoh about 6 years ago
- File 2018-09-24_223333.png 2018-09-24_223333.png added
I've gone ahead and moved the Plugin Packages tags onto its own line.
See attached screenshot:
Let me know if any changes are required.
Updated by Sonja Leix about 6 years ago
Raymond Hoh wrote:
I've gone ahead and moved the Plugin Packages tags onto its own line.
See attached screenshot:
Let me know if any changes are required.
Ray, dropping to second line and adding "Plugin packages:" makes this much clearer! Great job!
Updated by Sonja Leix about 6 years ago
Raymond Hoh wrote:
I've added the plugin to 1.14.x branch here - https://github.com/cuny-academic-commons/cac/commit/b05ef038611fbf13503db46cdbc13032375dc0c2
Here are some updated screenshots of some new functionality:
Dashboard widget
Part of the spec wanted some form of reporting in the dashboard. With that in mind, I've added a "Plugin Packages" dashboard widget. This widget only shows up if the site has previously activated a plugin package.
It reuses the package tags as shown before.
Also, if some plugins are inactive in a package, a small note is added with a brief description to tell the admin to click on the package tag for more info.
I wonder if the notice "Some plugins are inactive..." on the dashboard widget will grab admin's attention the way it is implemented now. I think we should make it look more like an alert than simple text. Maybe repeat the circular "i" icon for consistency?!
Updated by Boone Gorges about 6 years ago
Ray, in today's meetings, the team finalized the spec for which plugins will be included. We'd like the following changes:
- To Teaching, please add:
- https://wordpress.org/plugins/hypothesis/
- https://wordpress.org/plugins/wp-accessibility/
- To Digital, please add:
- https://wordpress.org/plugins/knight-lab-timelinejs/
- https://wordpress.org/plugins/google-docs-shortcode
Thanks!
Updated by Raymond Hoh about 6 years ago
- File 2018-10-25_213252.png 2018-10-25_213252.png added
I wonder if the notice "Some plugins are inactive..." on the dashboard widget will grab admin's attention the way it is implemented now. I think we should make it look more like an alert than simple text. Maybe repeat the circular "i" icon for consistency?!
Thanks for the feedback, Sonja. I've added the "i" info icon to the dashboard widget.
See attached pic: https://redmine.gc.cuny.edu/attachments/9414/2018-10-25_213252.png
Ray, in today's meetings, the team finalized the spec for which plugins will be included. We'd like the following changes:
Thanks Boone. Plugin packages spec has been updated to include the plugins mentioned above.
Updated by Sonja Leix about 6 years ago
Raymond Hoh wrote:
Thanks for the feedback, Sonja. I've added the "i" info icon to the dashboard widget.
Thanks Ray, that draws enough attention to read it!!
Updated by Stephen Real about 6 years ago
I just noticed that the Plug In Package picker has Lorem Ipsum text in the description field immediately below the header.
Updated by Raymond Hoh about 6 years ago
I just noticed that the Plug In Package picker has Lorem Ipsum text in the description field immediately below the header.
Oof! Good catch, Steve.
I've just pushed a commit to remove the placeholder description. If we want to put in some helper text or with a link to some documentation, I can also add that as well.
Updated by Boone Gorges about 6 years ago
- Status changed from In Progress to Resolved
Updated by Raymond Hoh over 5 years ago
- Related to Feature #6316: Replacing Issue 6122 -- Plugins to Support Teaching added