Project

General

Profile

Feature #9942

Plugin Packages

Added by Boone Gorges about 1 year ago. Updated 8 months ago.

Status:
Resolved
Priority name:
Normal
Assignee:
Category name:
WordPress (misc)
Target version:
Start date:
2018-06-15
Due date:
% Done:

0%

Estimated time:

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?

plugin-packages.png (69.7 KB) plugin-packages.png Raymond Hoh, 2018-08-06 05:50 PM
plugin-list-table.png (12.5 KB) plugin-list-table.png Raymond Hoh, 2018-08-06 05:50 PM
packages-page-update.png (48.8 KB) packages-page-update.png Raymond Hoh, 2018-09-18 12:32 AM
dashboard-widget.png (38 KB) dashboard-widget.png Raymond Hoh, 2018-09-18 12:32 AM
2018-09-24_223333.png (14.4 KB) 2018-09-24_223333.png Raymond Hoh, 2018-09-25 01:34 AM
2018-10-25_213252.png (16.2 KB) 2018-10-25_213252.png Raymond Hoh, 2018-10-25 10:34 AM

Related issues

Related to CUNY Academic Commons - Feature #6316: Replacing Issue 6122 -- Plugins to Support TeachingDuplicate2016-10-14

History

#1 Updated by Raymond Hoh about 1 year 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)

#2 Updated by Boone Gorges about 1 year 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 );
}

#3 Updated by Raymond Hoh 12 months ago

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.

#4 Updated by Boone Gorges 12 months 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.

#5 Updated by Matt Gold 12 months ago

I agree -- this looks awesome, Ray!

#6 Updated by Raymond Hoh 10 months ago

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.

#7 Updated by Matt Gold 10 months 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"

#8 Updated by Raymond Hoh 10 months ago

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.

#9 Updated by Sonja Leix 10 months 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!

#10 Updated by Sonja Leix 10 months 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?!

#11 Updated by Boone Gorges 9 months 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!

#12 Updated by Raymond Hoh 9 months ago

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.

#13 Updated by Sonja Leix 9 months 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!!

#14 Updated by Stephen Real 8 months ago

I just noticed that the Plug In Package picker has Lorem Ipsum text in the description field immediately below the header.

#15 Updated by Raymond Hoh 8 months 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.

#16 Updated by Boone Gorges 8 months ago

  • Status changed from In Progress to Resolved

#17 Updated by Raymond Hoh 4 months ago

  • Related to Feature #6316: Replacing Issue 6122 -- Plugins to Support Teaching added

Also available in: Atom PDF