Project

General

Profile

Actions

Feature #9942

closed

Plugin Packages

Added by Boone Gorges almost 6 years ago. Updated over 5 years ago.

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

0%

Estimated time:
Deployment actions:

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

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 TeachingDuplicateLuke Waltzer2016-10-14

Actions
Actions #1

Updated by Raymond Hoh almost 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)

Actions #2

Updated by Boone Gorges almost 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 );
}
Actions #3

Updated by Raymond Hoh over 5 years 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.

Actions #4

Updated by Boone Gorges over 5 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.

Actions #5

Updated by Matt Gold over 5 years ago

I agree -- this looks awesome, Ray!

Actions #6

Updated by Raymond Hoh over 5 years 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.

Actions #7

Updated by Matt Gold over 5 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"

Actions #8

Updated by Raymond Hoh over 5 years 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.

Actions #9

Updated by Sonja Leix over 5 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!

Actions #10

Updated by Sonja Leix over 5 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?!

Actions #11

Updated by Boone Gorges over 5 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!

Actions #12

Updated by Raymond Hoh over 5 years 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.

Actions #13

Updated by Sonja Leix over 5 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!!

Actions #14

Updated by Stephen Real over 5 years ago

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

Actions #15

Updated by Raymond Hoh over 5 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.

Actions #16

Updated by Boone Gorges over 5 years ago

  • Status changed from In Progress to Resolved
Actions #17

Updated by Raymond Hoh about 5 years ago

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

Also available in: Atom PDF