Giter Site home page Giter Site logo

10up / brightcove-video-connect Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 34.0 7.79 MB

A plugin to integrate your Brightcove video library or libraries with WordPress

Home Page: https://www.brightcove.com/

License: GNU General Public License v2.0

JavaScript 27.00% CSS 9.50% PHP 59.93% Shell 0.61% SCSS 2.95%

brightcove-video-connect's People

Contributors

allan23 avatar barryceelen avatar brentvr avatar brettshumaker avatar burhandodhy avatar cadwell avatar chriswiegman avatar david-binda avatar dependabot[bot] avatar dhanendran avatar ericmann avatar erikaburbach avatar felipeelia avatar jeffpaul avatar jonbellah avatar joshlevinson avatar manewc avatar marqas avatar mattheu avatar mmcachran avatar ninnypants avatar oscarssanchez avatar phpbits avatar rahmon avatar sanketio avatar shanajeanh avatar silevitas avatar sudar avatar tlovett1 avatar tobeycodes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brightcove-video-connect's Issues

Plugin not rendering the settings page on a network install

From the Slack:

Anyone here had oddities with 10up brightcove connect plugin not rendering the settings page on a network install? Tried so many combinations of WP and brightcove plugin versions (from 4.9.x through to 5.1.1 on the wp side and 1.5.0 - 1.7.0 on the plugin side).

I know it has only been tested up until 5.1.1, and it states that it supports multisite. I managed to get the fields rendering (with PHP notices) by debugging some of the code that handles the admin menus etc, but that should of course not need to be the case.

I've ruled out any plugin conflicts save for our mu-plugin, but no errors or even notices are rendered when the settings page fails to render settings fields.

Me: I ment that we don’t network activate the plugin. We only activate it on each sub-site, then it works.

Search results not displaying

When editing a page, opening the Brightcove modal and typing in a search term in the search input (top right of modal) no results or no changes to the current result list are made when typing a complete search term in one go.

If you type each character and wait for feedback, then it will display the search results. For example type part of the search term, wait for the gif to disappear, then type an additional character in the search term, this will result in a successful search.

Test against WordPress 5.6

Is your enhancement related to a problem? Please describe.
Once WordPress 5.6 is released, we'll want to test Brightcove Video Connect to see if any incompatibility issues arise.

Describe the solution you'd like

  • test Brightcove Video Connect on WordPress 5.6
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
none

Additional context
WordPress 5.4 testing issue --> #161

readme updates

  • add version badge
  • add support level section & badge
  • add license badge
  • add clarifying links where helpful (e.g., Brightcove)
  • move changelog to its own file

Support Ref IDs

See https://support.brightcove.com/en/video-cloud/docs/using-reference-ids
Sometimes it is better to refer to a video via its refid rather than the video_id. This allows the video to be re-ingested and re-encoded without having to update the embed code.
It would seem that if the value of video_id in the embed code is manually updated to the "ref:***" format that "public static function sanitize_id( $numeric_string ) {}" function strips non numeric values resulting in an empty video_id being returned.
Additionally the user should be able to choose to embed video_id or ref_id

video-details missing shortcode field and other fields

On one of our post types, the brightcove modal works fine, and the video-details div has the fields Source, Video ID, Video Player, Auto Play, etc. and the Shortcode field. When you choose a video and click Insert Into Post, it enters in the shortcode into the value of the input field.
On another post type, when we open the Brightcove modal, all we see is Source and Video ID in the video-details div. There is no shortcode field, so in brightcove-admin.min.js in triggerPreviewMedia $('#shortcode').val() fails, and the shortcode is not inserted into the input field.

Review the number of metadata fields displayed in plugin

We currently display all custom metadata fields in the plugin, however most of these are not required in the Wordpress plugin as editors do not need to use them (there is also a risk they could edit them and break the workflow). Could we somehow add a config setting to hide this? Here's a grab of the dozen or so custom fields we currently expose:

screen shot 2017-03-16 at 10 56 25

get_user_attribute deprecated notice on VIP Go.

As of VIP 2.0.0, the get_user_attribute and associated functions are deprecated.

I believe VIP 2.0.0 is what is running for VIP go sites. My assumption is that it not running on on WP.com VIP, but I am not certain of this.

I don't have a great solution. I don't see any way to easily tell what version of VIP is running. But I wanted to raise a ticket as the notices are a bit of a pain! I will open a ticket with VIP to ask their advice on this.

Missing wrapper element / inconsistent markup with other WP embeds

Describe the bug

Please accept my apologies if this already achieveable through a setting or is reported elsewhere. I have looked in the code and in the repo for some thing similar, but I could have missed it.

On a current project, we have had to introduce a workaround to the codebase for the lack of wrapper element from Brightcove video block in Block Editor powered content. When the Brightcove video is added to the page, it merely adds the embed <iframe> player to the page.

The following is the snippet we used as a workaround;

function brightcove_video_wrapper( $block_content = '', $block = [] ) {
	if ( 'bc/brightcove' === $block['blockName'] ) {
		$block_content = sprintf( '<div class="wp-block-brightcove">%1$s</div>', $block_content );
	}

	return $block_content;
}

This lack of container element means handling responsiveness related work in the theme more difficult.

In addition, this workaround resolves adjusting the Brightcove player to fit the public-facing side of the website. The lack of container also means that the WordPress admin experience can be less than optimal as well, as there is no clean and effective way to match a selector to the Brightcove video.

Steps to Reproduce
N/A

Expected Preferred behavior

As Brightcove video player is an additional embed option, I believe it would be beneficial if markup similar to YouTube and other embeds was adopted in both the WP Admin and public-facing sides.

Some thing akin to;

<figure class="wp-block-embed-brightcove wp-block-embed is-type-video is-provider-brightcove wp-embed-aspect-16-9 wp-has-aspect-ratio">
    <div class="wp-block-embed__wrapper">
        <!-- brightcove video embed here -->
    </div>
</figure>

This would be make adjusting the Brightcove video player to match the responsiveness of the website much simpler and provide opportunities to ensure the experience of the Brightcove block can be adjusted for Block Editor in WP Admin.

Environment information

  • WordPress version: 5.4.2
  • Not using the official Gutenberg plugin.

No MU plugin support

When loading as a mu-plugin $pagenow is not available so it doesn't always load everything needed.


I'll get a PR ready if I have time soon

PHP Fatal error: Uncaught Error: Class 'BC_Logging'

Describe the bug
When videos are removed from the Brightcove Video Library but still used in a custom block on the website, the site throws a fatal PHP error which breaks the page completely. Site logging reports the bug as: PHP Fatal error: Uncaught Error: Class 'BC_Logging' not found in /wp-content/plugins/brightcove-video-connect/includes/api/class-bc-api.php:268

Steps to Reproduce

  1. Upload a video to the Brightcove video library.
  2. Add the video to a page.
  3. Remove the video from the Brightcove video library.
  4. Navigate back to the page to find the PHP Fatal error.

Expected behavior
Either the video should be removed from the page, or there should be an error code reported back to prevent the error from breaking the page.

Screenshots

Environment information

  • Device: MacBook, but it's been reported across multiple devices.

  • OS: MacOS 11.15.2

  • Browser and version: Happens in all browsers.

  • WordPress version: 5.8.1

  • Site Health Info:

wp-core

version: 5.8.1
site_language: en_US
user_language: en_US
timezone: America/Phoenix
permalink: /about/news-and-articles/%category%/%postname%/
https_status: true
multisite: true
user_registration: false
blog_public: 1
default_comment_status: closed
environment_type: production
user_count: 60
site_count: 2
network_count: 1
dotorg_communication: true

wp-dropins (1)

advanced-cache.php: true

wp-active-theme

name: custom
version: 1.0.0
parent_theme: none
theme_features: core-block-patterns, widgets-block-editor, title-tag, custom-logo, custom-header, post-thumbnails, html5, customize-selective-refresh-widgets, align-wide, disable-custom-font-sizes, editor-color-palette, disable-custom-colors, menus, widgets
auto_update: Disabled

wp-themes-inactive (3)

Twenty Twenty: version: 1.8, author: the WordPress team, Auto-updates disabled
Twenty Twenty-One: version: 1.4, author: the WordPress team, Auto-updates disabled

wp-mu-plugins (6)

Force Strong Passwords - WPE Edition: version: 1.6.4, author: Jason Cosper
WPE ElasticPress Autosuggest Logger: version: 1.0.0, author: WP Engine
WP Engine Seamless Login Plugin: version: 1.5.5, author: WP Engine
WP Engine Security Auditor: version: 1.0.10, author: wpengine
WP Engine System: version: 4.1.0, author: WP Engine
WP Migrate DB Pro Compatibility: version: 1.2, author: Delicious Brains

wp-plugins-active (37)

ACF Content Analysis for Yoast SEO: version: 3.0.1, author: Thomas Kräftner, ViktorFroberg, marol87, pekz0r, angrycreative, Team Yoast, Auto-updates disabled
Advanced Custom Fields: Color Palette: version: 1.0.7, author: emagine, Auto-updates disabled
Advanced Custom Fields: Extended: version: 0.8.8.6, author: ACF Extended, Auto-updates disabled
Advanced Custom Fields PRO: version: 5.10.2, author: Delicious Brains, Auto-updates disabled
Autoptimize: version: 2.9.2, author: Frank Goossens (futtta), Auto-updates disabled
Brightcove Video Connect: version: 2.2.1, author: 10up, Auto-updates disabled
Cloudflare: version: 4.5.1, author: Cloudflare, Inc., Auto-updates disabled
EM Add To Menu: version: 1.0.0, author: eMagine, Auto-updates disabled
Emagine Components: version: 1.1.0, author: emagine, Auto-updates disabled
Em Blocks: version: 0.0.5, author: emagine, Auto-updates disabled
EM Client Functions: version: 1.01, author: emagine, Auto-updates disabled
EM Image Crop: version: 1.13, author: eMagine, Auto-updates disabled
EM Timeline: version: 1.0.0, author: emagine, Auto-updates disabled
EM Widget Framework: version: 1.2.12, author: eMagine, Auto-updates disabled
Enable Media Replace: version: 3.5.0, author: ShortPixel, Auto-updates disabled
Find My Blocks!: version: 3.5.1, author: Eddy Sims, Auto-updates disabled
Google Apps Login Premium: version: 3.4.2, author: Lever Technology LLC, Auto-updates disabled
Gravity Forms: version: 2.5.10, author: Gravity Forms, Auto-updates disabled
Kraken Image Optimizer: version: 2.6.5, author: Karim Salman, Auto-updates disabled
Redirection: version: 5.1.3, author: John Godley, Auto-updates disabled
Regenerate Thumbnails: version: 3.1.5, author: Alex Mills (Viper007Bond), Auto-updates disabled
Required taxonomies: version: 1.1.7, author: VegaCorp, Auto-updates disabled
Resource Manager: version: 1.2.0, author: emagine, Auto-updates disabled
Schema Pro: version: 2.6.3, author: Brainstorm Force (latest version: 2.7.1), Auto-updates disabled
Search Regex: version: 2.4.1, author: John Godley, Auto-updates disabled
Shared Counts: version: 1.3.0, author: Bill Erickson & Jared Atchison, Auto-updates disabled
Simple Cookie Notification: version: 1.0.1, author: emagine, Auto-updates disabled
WebP Express: version: 0.20.1, author: Bjørn Rosell, Auto-updates disabled
WP All Import Pro: version: 4.6.5, author: Soflyy, Auto-updates disabled
WP Migrate DB Pro: version: 2.1.2, author: Delicious Brains, Auto-updates disabled
WP Migrate DB Pro Media Files: version: 2.0.3, author: Delicious Brains, Auto-updates disabled
WP Migrate DB Pro Multisite Tools: version: 1.3.1, author: Delicious Brains, Auto-updates disabled
WP Migrate DB Pro Theme & Plugin Files: version: 1.1.2, author: Delicious Brains, Auto-updates disabled
WP Sitemap Page: version: 1.6.4, author: Tony Archambeau, Auto-updates disabled
Yoast Duplicate Post: version: 4.1.2, author: Enrico Battocchi & Team Yoast, Auto-updates disabled
Yoast SEO: version: 17.2, author: Team Yoast, Auto-updates disabled
Yoast SEO Premium: version: 16.7, author: Team Yoast, Auto-updates disabled

wp-plugins-inactive (3)

Async JavaScript: version: 2.21.08.31, author: Frank Goossens (futtta), Auto-updates disabled
PNG to JPG: version: 3.9, author: KubiQ, Auto-updates disabled
Simple CSS: version: 1.1.1, author: Tom Usborne, Auto-updates disabled

wp-media

image_editor: WP_Image_Editor_Imagick
imagick_module_version: 1687
imagemagick_version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
imagick_version: 3.4.4
file_uploads: File uploads is turned off
post_max_size: 100M
upload_max_filesize: 50M
max_effective_size: 50 MB
max_file_uploads: 20
imagick_limits:
imagick::RESOURCETYPE_AREA: 137 MB
imagick::RESOURCETYPE_DISK: 1073741824
imagick::RESOURCETYPE_FILE: 6144
imagick::RESOURCETYPE_MAP: 512 MB
imagick::RESOURCETYPE_MEMORY: 256 MB
imagick::RESOURCETYPE_THREAD: 1
imagemagick_file_formats: 3FR, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, JBG, JBIG, JNG, JNX, JPE, JPEG, JPG, JPS, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
gd_version: 2.2.5
gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM
ghostscript_version: unknown

wp-server

server_architecture: Linux 5.3.0-1018-gcp x86_64
httpd_software: Apache
php_version: 7.4.23 64bit
php_sapi: apache2handler
max_input_variables: 10000
time_limit: 3600
memory_limit: 512M
max_input_time: 3600
upload_max_filesize: 50M
php_post_max_size: 100M
curl_version: 7.58.0 OpenSSL/1.1.1
suhosin: false
imagick_availability: true
pretty_permalinks: true
htaccess_extra_rules: true

wp-database

extension: mysqli
server_version: 5.7.35-38-log
client_version: mysqlnd 7.4.23

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /wp-content
WP_PLUGIN_DIR: /wp-content/plugins
WP_MEMORY_LIMIT: 64M
WP_MAX_MEMORY_LIMIT: 512M
WP_DEBUG: false
WP_DEBUG_DISPLAY: true
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: true
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8
DB_COLLATE: utf8_unicode_ci

wp-filesystem

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable
mu-plugins: writable

Additional context
Upon navigating to the /class-bc-api.php plugin and commenting out the call to BC_Logging on line 268, the video is removed and the error is not seen on the page.

Javascript Video do not display PreRoll video

Describe the bug

Javascript Video do not display PreRoll video

Steps to Reproduce

  1. Insert video via brightcove block
  2. Select "Javascript" as embed style
  3. Pre-roll video not showing/playing.

But if we switch to use "iframe", it's working as expected.

Expected behavior

Screenshots

Environment information

  • Device: thinkpad13
  • OS: win10pro
  • Browser and version: Chrome latest
  • Plugins and version:1.7.2
  • Theme and version: Custom
  • Other installed plugin(s) and version(s):

Additional context

Multisite.

Get video thumbnail images

I was looking for a way to pull the thumbnail image through my own plugin to store within a custom api response. Is there a hook or method?

Configured filter for video status does not update select state

Describe the bug
Related to #178
When I configure a filter to have a default value for the status filter, this default value is not reflected on the select filter that appears to the user, even though the videos are filtered.

Steps to Reproduce
Assuming there is a filter added like:

add_filter( 'brightcove_state_filter', function() {
    return 'active';
} );
  1. Go to the admin Brightcove page
  2. Verify that the filter for state on the top of the page is selected as "All states", instead of "Active"
  3. Verify that all the videos have the state "Active"

Expected behavior
When I configure a default value for the filter, the filters on the page should reflect that state

Screenshots
image

Environment information

  • Device: Dell Laptop
  • OS: Windows 10 Home Edition
  • Browser and version: Chrome 87.0.4280.88
  • WordPress version: 5.6
  • Site Health Info:

`

wp-core

version: 5.6
site_language: ar
user_language: en_US
timezone: +03:00
permalink: /%category%/%year%/%monthnum%/%day%/%postname%
https_status: true
multisite: false
user_registration: 0
blog_public: 1
default_comment_status: open
environment_type: development
user_count: 66
dotorg_communication: true

wp-paths-sizes

wordpress_path: /var/www
wordpress_size: 257.29 ميغابايت (269790339 bytes)
uploads_path: vip://wp-content/uploads
uploads_size: 0.00 بايت (0 bytes)
themes_path: /var/www/wp-content/themes
themes_size: 845.33 كيلوبايت (865622 bytes)
plugins_path: /var/www/wp-content/plugins
plugins_size: 28.67 ميغابايت (30065451 bytes)
database_size: 1.10 جيجابايت (1185792000 bytes)
total_size: 1.38 جيجابايت (1486513412 bytes)

wp-dropins (2)

db.php: true
object-cache.php: true

wp-active-theme

name: Twenty Nineteen (twentynineteen)
version: 1.1 (latest version: 1.9)
author: the WordPress team
author_website: https://wordpress.org/
parent_theme: none
theme_features: core-block-patterns, menus, post-thumbnails, automatic-feed-links, title-tag, html5, custom-logo, customize-selective-refresh-widgets, wp-block-styles, align-wide, editor-styles, editor-style, editor-font-sizes, editor-color-palette, responsive-embeds, infinite-scroll, jetpack-responsive-videos, jetpack-geo-location, jetpack-content-options, widgets
theme_path: /var/www/wp-content/themes/twentynineteen

wp-mu-plugins (37)

Admin Notice: version: 0.1.0, author: WordPress VIP
Advanced Post Caching: version: 0.2, author: Automattic
Akismet Anti-Spam: version: 4.1.7, author: Automattic
Async Publish Actions: author: Automattic, version: (undefined)
Automattic File Hosting Service: version: 0.2, author: Automattic
Cron Control: version: 2.0, author: Erick Hitter, Automattic
Debug Bar: version: 1.1.2, author: wordpressdotorg
Debug Loader: author: (undefined), version: (undefined)
Gutenberg Ramp: version: 1.1.0, author: Automattic, Inc.
HTTP Concat: version: 1.0, author: Automattic
Jetpack by WordPress.com: version: 9.2, author: Automattic
Lightweight Term Count Update: version: 0.1.0, author: Automattic, Alley Interactive
Query Monitor: version: 3.6.5, author: John Blackbourn & contributors
REST API Enhancements: version: 0.1, author: Erick Hitter, Automattic
Rewrite Rules Inspector: version: 1.2.1, author: Automattic
VaultPress: version: 2.1.3, author: Automattic
VIP All Options Limit: author: Automattic, version: (undefined)
VIP Back-compat: version: 1.0, author: Automattic
VIP Cache Manager: version: 1.1, author: Automattic
VIP Client mu-plugins: author: Automattic, version: (undefined)
VIP Dashboard: version: 2.0.4, author: Scott Evans, Filipe Varela, WPVIP
VIP Feed Cache: author: Automattic, version: (undefined)
VIP Force Two Factor: author: Automattic, version: (undefined)
VIP Go Core Modifications: author: Automattic, version: (undefined)
VIP Go Plugin Compat: version: 1.0, author: Automattic
VIP Hosting Miscellaneous: version: 1.1, author: Automattic
VIP Init: author: Automattic, version: (undefined)
VIP Jetpack Start: version: 0.1, author: Automattic
VIP Mail: version: 1.0, author: Automattic
VIP Performance: version: 1.0, author: Automattic
VIP Plugins: version: 1.0.0, author: Automattic
VIP Schema: author: Automattic, version: (undefined)
VIP Security: version: 1.0, author: Automattic
VIP Stats: author: Automattic, version: (undefined)
WordPress Importer: version: 0.6.4, author: wordpressdotorg
WordPress VIP Support: version: 3.1.0, author: Automattic
WP-CLI for VIP Go: author: Automattic, version: (undefined)

wp-plugins-active (9)

Advanced Editor Tools (previously TinyMCE Advanced): version: 5.5.1, author: Automattic (latest version: 5.6.0)
AJM Migration ( Drupal -> WordPress ): version: 1.0.0, author: Paul Ingalls
AMP: version: 1.5.5, author: AMP Project Contributors (latest version: 2.0.9)
Brightcove Video Connect: version: 2.1, author: 10up
Instant Articles for WP: version: 4.2.0, author: Automattic, Dekode, Facebook (latest version: 4.2.1)
JSON Basic Authentication: version: 0.1, author: WordPress API Team
Metro Sitemap: version: 1.4.1, author: Artur Synowiec, Paul Kevan, and others
S3 Media Sync: version: 1.0.0, author: Alexis Kulash, WordPress VIP
WordPress.com Thumbnail Editor: version: 1.0.0, author: Automattic

wp-plugins-inactive (1)

AJ Doc Helper: version: 1.0.0, author: Rahul Prajapati

wp-media

image_editor: WP_Image_Editor_GD
imagick_module_version: Not available
imagemagick_version: Not available
file_uploads: File uploads is turned off
post_max_size: 2047M
upload_max_filesize: 2047M
max_effective_size: 2 GB
max_file_uploads: 20
gd_version: bundled (2.1.0 compatible)
ghostscript_version: not available

wp-server

server_architecture: Linux 4.19.0-9-amd64 x86_64
httpd_software: nginx
php_version: 7.4.13 64bit
php_sapi: fpm-fcgi
max_input_variables: 6144
time_limit: 1200
memory_limit: 512M
max_input_time: 1200
upload_max_filesize: 2047M
php_post_max_size: 2047M
curl_version: 7.73.0 OpenSSL/1.1.1d
suhosin: false
imagick_availability: false
pretty_permalinks: true

wp-database

extension: mysqli
server_version: 10.2.15-MariaDB-log
client_version: mysqlnd 7.4.13

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /var/www/wp-content
WP_PLUGIN_DIR: /var/www/wp-content/plugins
WP_MAX_MEMORY_LIMIT: 512M
WP_DEBUG: false
WP_DEBUG_DISPLAY: false
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8mb4
DB_COLLATE: utf8mb4_unicode_ci

wp-filesystem

wordpress: not writable
wp-content: not writable
uploads: writable
plugins: not writable
themes: not writable
mu-plugins: not writable

jetpack

site_id: 185425347
ssl_cert: No
time_diff: false
version_option: 9.2.1:1607618330
old_version: 9.2:1607019005
public: Public
master_user: #93 wpcomvip
current_user: #123 Bruno
tokens_set: Blog
blog_token: OX!j85qq#3(uGdvEBynGA6mSP0ay@bsq
user_token: Not set.
version: 9.2.1
jp_plugin_dir: /var/www/wp-content/mu-plugins/jetpack-9.2/
plan: business
protect_header: false
full_sync: {"started":"Mon, 20 Jul 2020 21:33:41 +0000","finished":"Mon, 20 Jul 2020 21:35:28 +0000","progress":{"options":{"finished":true},"functions":{"finished":true}},"config":{"options":true,"functions":true}}
sync_size: undefined
sync_lag: 0 seconds
full_sync_size: undefined
full_sync_lag: 0 seconds
idc_urls: {"home":"https://staging.ajm.aj-harbinger.com","siteurl":"https://wordpress.staging.ajm.aj-harbinger.com","WP_HOME":"","WP_SITEURL":""}
idc_error_option: false
idc_optin: true
cxn_tests: All Pass.

amp_wp

amp_mode_enabled: reader
amp_templates_enabled: post, opinion, video, episode, gallery, program, blog
amp_serve_all_templates: This option does not apply to Reader mode.
amp_css_transient_caching_disabled: n/a
amp_css_transient_caching_threshold: 5000 transients per day
amp_css_transient_caching_sampling_range: 14 days
amp_css_transient_caching_transient_count: undefined
amp_css_transient_caching_time_series:

`

Additional context

Uncaught Error: Cannot use object of type WP_Error as array in brightcove-video-connect/includes/api/class-bc-cms-api.php:804

When activating the plugin I receive the following error.

Uncaught Error: Cannot use object of type WP_Error as array in brightcove-video-connect/includes/api/class-bc-cms-api.php:804

Changing the method to this, fixes the issue:

public function get_account_labels() {
	$result = $this->send_request( esc_url_raw( self::CMS_BASE_URL . $this->get_account_id() . '/labels/' ), 'GET' );
	if ( is_wp_error( $result) || empty( $result['labels'] ) ) {
		return false;
	}
	return $result['labels'];
}

Support for Advanced Embed Code

Brightcove provides iFrame and Advanced Embed code options. Plugin only supports iFrame today.

For some use cases, and to interact with other elements of the hosting page, it is sometimes required to use the Advanced Embed option.

High level requirements:

  • low admin to set the default behaviour for the account - ie use iFrame or Advanced Embed
  • Allow selection of the embed mode for each insertion of a video - defaults based on default set by admin (above)
  • Sensible default behaviours for existing entries - ie if no option set, assume iFrame so we don't break existing functionality
  • Preview to support the chosen embed option

How to set default player size

Is there a way to define the player size when dropping in the shortcode?
We dont want to have our editors adjusting the player size every-time they add a player.

Remove / Permission control for Upload Videos tab in plugin

Currently all users of the Wordpress plugin can see all 3 tabs in the article embed plugin (see attached).

This is a security risk as it allows all users of Wordpress to upload videos which should not be allowed.

Would it be possible to hide the Upload Videos tab completely, or connect it to a user's Worpdress permission (ie only Admins can see the upload videos tab)?

screen shot 2017-02-27 at 16 04 51

PHP notice for requests in the admin

This line is creating a php notice for me when doing unrelated requests in the admin:

Notice: Undefined index: account in myawesomefilepath/plugins/brightcove-video-connect-1.3/includes/admin/class-bc-admin-settings-page.php on line 20

The delete_source() function is called on every admin request via add_action( 'admin_init', array( $this, 'delete_source' ) );. It may be more suitable to add a specific action to this GET request, point it at admin-post.php and have add_action( 'admin_post_mycoolaction handle it.

Players list doesn't display: unable to select player

After adding a second Brightcove account, after switching from the default account and attempting to embed a video, the list of Players isn't available, I can only select the video/playlist and use the default player for the account.

If I switch the default account in settings, the problem then occurs with the previously default account.

Players did display one time in this scenario. After the first embed from the secondary account, the player list will not display again after several tests, and can reproduce the same problem after uninstall/reinstall of plugin.

Using the latest version of the plugin on Chrome/Mac.

Wordpress Version 4.6.1

Plugin fails with "Error "fetch players" permission missing showing when validating the credentials"

The plugin uses the VIP function vip_safe_wp_remote_get if available which is used to safely fetch the players from Brightcove, when the function is executed from the local environment it returns false since the local environment is not safe. This produces the error and the account details are not validated and stored in the WordPress. The fix for that is to comment the particular function and use the WordPress function instead.

Test against WordPress 5.7

Is your enhancement related to a problem? Please describe.
Once WordPress 5.7 is released, we'll want to test Brightcove Video Connect to see if any incompatibility issues arise.

Describe the solution you'd like

  • test Brightcove Video Connect on WordPress 5.7
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
none

Additional context
Related: #161, #171.

Limit BC API checks in BC_Status_Warning

Currently, BC_Status_Warning is initialized and executes a blocking HTTP request on every request that is_admin(). Metrics on a site I'm optimizing show this introducing 250ms on every admin request.
I suggest:

  1. BC_Status_Warning::_check_for_failed should be limited in how often it performs the API status check. Currently, the processed results of the check are stored in a transient, but the remote request is still performed on every admin request. IMO, it makes more sense to wrap the entire _check_for_failed method in cache, rather than the processed results, the latter of which are likely much less expensive than the actual request.
  2. Limit the scope of BC_Status_Warning::_check_for_failed to check for DOING_AJAX in addition to is_admin(). Currently, every request to admin-ajax.php will induce the remote request.

Allow to set the default video state on configuration

Recently you have published an enhancement that allows the user to filter videos based on their state: "Active" or "Inactive". It would be good if we could set the default behavior of that filter.

Is your enhancement related to a problem? Please describe.

Whenever I open the Brightcove video page, I want the videos to come filtered based on the default configuration I set for state value.

Describe the solution you'd like

Filter videos with either "Active" or "Inactive" state by default, based on configuration (it could be either code configuration, so that when I add the plugin I can set the default behavior or on the configurations' page).

Designs

Describe alternatives you've considered

Additional context

Playlist code fails for multiple accounts

Playlist embeds for non-default account fails.

When embedding a playlist, it looks like a player is selected by default, always from the default account, even if the playlist is in another account.

(A player list isn't displayed when embedding, and the shortcode doesn't include a player ID as with the video shortcode.)

  1. If I choose a playlist to embed from the default account, the posted player functions.
  2. If I embed a playlist from the non-default account, the posted player fails.
  3. If I change the default account at the plugin level, the existing previously failing post now works, and the working post breaks.

what's the criteria for which player is auto-chosen from the default account?

Uncaught TypeError: Cannot read property 'className' of undefined on brightcove-admin.js

Describe the bug
When trying to update the thumbnails on a video, we get the error 'className' of undefined.
When digging through, it appears this line is checking for something that may not always be there, 'caption'.
As a temp fix for our instance, i added

typeof attachment.context !== undefined && attachment.context !== undefined && attachment.context.className !== undefined

Steps to Reproduce

  1. Upload new video
  2. Click on Edit
  3. Scroll down to Thumbnail image, remove the default
  4. Select an image from the Media Library, basic image.
  5. Select Attach
  6. Image does not load

Expected behavior
Thumbnail gets replaced with new image

Environment information
`

wp-core

version: 5.6
site_language: en_US
user_language: en_US
timezone: America/Los_Angeles
permalink: /%article_type%/%postname%/
https_status: true
multisite: false
user_registration: 0
blog_public: 1
default_comment_status: open
environment_type: production
user_count: 159
dotorg_communication: true

wp-paths-sizes

wordpress_path: /var/www
wordpress_size: 243.76 MB (255603714 bytes)
uploads_path: vip://wp-content/uploads
uploads_size: 0.00 B (0 bytes)
themes_path: /var/www/wp-content/themes
themes_size: 4.74 MB (4966439 bytes)
plugins_path: /var/www/wp-content/plugins
plugins_size: 175.52 MB (184047029 bytes)
database_size: 3.14 GB (3372597248 bytes)
total_size: 3.56 GB (3817214430 bytes)

wp-dropins (2)

db.php: true
object-cache.php: true

wp-active-theme

name: KBB Editorial (Newspaper X Child theme) (Newspaper-child)
version: 9.0c
author: Kelley Blue Book
author_website: https://www.kbb.com
parent_theme: Newspaper (Newspaper)
theme_features: core-block-patterns, post-thumbnails, post-formats, automatic-feed-links, html5, woocommerce, bbpress, align-wide, align-full, editor-font-sizes, editor-style, menus, widgets
theme_path: /var/www/wp-content/themes/Newspaper-child

wp-parent-theme

name: Newspaper (Newspaper)
version: 10.3.6.1 (latest version: 10.3.9.1)
author: tagDiv
author_website: http://themeforest.net/user/tagDiv/portfolio
theme_path: /var/www/wp-content/themes/Newspaper

wp-themes-inactive (2)

Twenty Nineteen: version: 1.1, author: the WordPress team (latest version: 1.8)
Twenty Seventeen: version: 1.7, author: the WordPress team (latest version: 2.5)

wp-mu-plugins (37)

Admin Notice: version: 0.1.0, author: WordPress VIP
Advanced Post Caching: version: 0.2, author: Automattic
Akismet Anti-Spam: version: 4.1.7, author: Automattic
Async Publish Actions: author: Automattic, version: (undefined)
Automattic File Hosting Service: version: 0.2, author: Automattic
Cron Control: version: 2.0, author: Erick Hitter, Automattic
Debug Bar: version: 1.1.2, author: wordpressdotorg
Debug Loader: author: (undefined), version: (undefined)
Gutenberg Ramp: version: 1.1.0, author: Automattic, Inc.
HTTP Concat: version: 1.0, author: Automattic
Jetpack by WordPress.com: version: 9.2, author: Automattic
Lightweight Term Count Update: version: 0.1.0, author: Automattic, Alley Interactive
Query Monitor: version: 3.6.5, author: John Blackbourn & contributors
REST API Enhancements: version: 0.1, author: Erick Hitter, Automattic
Rewrite Rules Inspector: version: 1.2.1, author: Automattic
VaultPress: version: 2.1.3, author: Automattic
VIP All Options Limit: author: Automattic, version: (undefined)
VIP Back-compat: version: 1.0, author: Automattic
VIP Cache Manager: version: 1.1, author: Automattic
VIP Client mu-plugins: author: Automattic, version: (undefined)
VIP Dashboard: version: 2.0.4, author: Scott Evans, Filipe Varela
VIP Feed Cache: author: Automattic, version: (undefined)
VIP Force Two Factor: author: Automattic, version: (undefined)
VIP Go Core Modifications: author: Automattic, version: (undefined)
VIP Go Plugin Compat: version: 1.0, author: Automattic
VIP Hosting Miscellaneous: version: 1.1, author: Automattic
VIP Init: author: Automattic, version: (undefined)
VIP Jetpack Start: version: 0.1, author: Automattic
VIP Mail: version: 1.0, author: Automattic
VIP Performance: version: 1.0, author: Automattic
VIP Plugins: version: 1.0.0, author: Automattic
VIP Schema: author: Automattic, version: (undefined)
VIP Security: version: 1.0, author: Automattic
VIP Stats: author: Automattic, version: (undefined)
WordPress.com VIP Support: version: 3.1.0, author: Automattic
WordPress Importer: version: 0.6.4, author: wordpressdotorg
WP-CLI for VIP Go: author: Automattic, version: (undefined)

wp-plugins-active (32)

404page - your smart custom 404 error page: version: 11.2.6, author: Peter Raschendorfer
ACF to REST API: version: 3.3.2, author: Aires Gonçalves
Advanced Custom Fields: Extended: version: 0.8.7.2, author: ACF Extended (latest version: 0.8.7.5)
Advanced Custom Fields PRO: version: 5.8.4, author: Elliot Condon (latest version: 5.9.3)
Advanced TinyMCE Configuration: version: 1.6, author: Andrew Ozz
Ajax Search Lite: version: 4.8, author: Ernest Marcinko (latest version: 4.8.6)
Akamai for WordPress: version: 0.6.0, author: Akamai Technologies
AMP: version: 1.3.0, author: AMP Project Contributors (latest version: 2.0.8)
Brightcove Video Connect: version: 2.0, author: 10up
Broken Link Checker: version: 1.11.8, author: ManageWP (latest version: 1.11.15)
Classic Editor: version: 1.5, author: WordPress Contributors (latest version: 1.6)
Content Views: version: 2.3.2, author: Content Views (latest version: 2.3.4)
Duplicate Post: version: 3.2.3, author: Enrico Battocchi (latest version: 3.2.6)
JWT Authentication for WP-API: version: 1.2.6, author: Enrique Chavez
KBB Foundation: version: 1.0.0, author: KBB - Anonymoose
Lazy Load - Optimize Images: version: 2.3.4, author: WP Rocket
MetaSlider: version: 3.18.0, author: MetaSlider (latest version: 3.19.1)
MetaSlider - Pro Add-on Pack: version: 2.14.0, author: Team Updraft (latest version: 2.18.1)
Post Types Order: version: 1.9.4.1, author: Nsp Code (latest version: 1.9.5.2)
PublishPress Capabilities Pro: version: 1.10.1, author: PublishPress
PublishPress Checklists Pro: version: 2.4.2, author: PublishPress
PublishPress Pro: version: 2.4.2, author: PublishPress
PublishPress Revisions Pro: version: 2.4.3, author: PublishPress (latest version: 2.4.7)
Publish to Apple News: version: 2.0.3, author: Alley (latest version: 2.1.0)
Reading Time WP: version: 2.0.5, author: Jason Yingling (latest version: 2.0.10)
tagDiv Cloud Library: version: 1.5 | built on 10.08.2020 14:58, author: tagDiv
tagDiv Composer: version: 2.6 | built on 10.08.2020 14:58, author: tagDiv
TinyMCE Advanced: version: 5.2.1, author: Andrew Ozz (latest version: 5.6.0)
WP Media folder: version: 4.9.1, author: Joomunited (latest version: 5.3.7)
WP show more: version: 1.0.7, author: JAMOS Web Service
WP SVG: version: 1.13.1, author: Daryll Doyle
Yoast SEO Premium: version: 15.3, author: Team Yoast (latest version: 15.5)

wp-plugins-inactive (10)

Hello Dolly: version: 1.6, author: Matt Mullenweg (latest version: 1.7.2)
Native Lazyload: version: 1.0.2, author: Google
PublishPress: version: 1.21.2, author: PublishPress (latest version: 3.0.1)
PublishPress Authors Pro: version: 3.8.1, author: PublishPress
PublishPress Permissions Pro: version: 3.3.9, author: PublishPress
Radio Buttons for Taxonomies: version: 2.1.0, author: helgatheviking (latest version: 2.2.1)
tagDiv Standard Pack: version: 1.0 BETA | built on 17.06.2020 8:12, author: tagDiv
WordPress Importer: version: 0.6.4, author: wordpressdotorg (latest version: 0.7)
WordPress REST API Authentication: version: 1.2.0, author: miniOrange (latest version: 1.4.0)
WP Bulk Delete: version: 1.1.3, author: Xylus Themes (latest version: 1.2.1)

wp-media

image_editor: BFI_Image_Editor_GD_1_3
imagick_module_version: Not available
imagemagick_version: Not available
file_uploads: File uploads is turned off
post_max_size: 2047M
upload_max_filesize: 2047M
max_effective_size: 2 GB
max_file_uploads: 20
gd_version: bundled (2.1.0 compatible)
ghostscript_version: not available

wp-server

server_architecture: Linux 4.19.0-8-amd64 x86_64
httpd_software: nginx
php_version: 7.3.25 64bit
php_sapi: fpm-fcgi
max_input_variables: 6144
time_limit: 1200
memory_limit: 512M
max_input_time: 1200
upload_max_filesize: 2047M
php_post_max_size: 2047M
curl_version: 7.73.0 OpenSSL/1.1.0l
suhosin: false
imagick_availability: false
pretty_permalinks: true

wp-database

extension: mysqli
server_version: 10.2.15-MariaDB-log
client_version: mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /var/www/wp-content
WP_PLUGIN_DIR: /var/www/wp-content/plugins
WP_MAX_MEMORY_LIMIT: 512M
WP_DEBUG: false
WP_DEBUG_DISPLAY: false
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8mb4
DB_COLLATE: utf8mb4_unicode_ci

wp-filesystem

wordpress: not writable
wp-content: not writable
uploads: writable
plugins: not writable
themes: not writable
mu-plugins: not writable

jetpack

site_id: 167633086
ssl_cert: No
time_diff: false
version_option: 9.2.1:1607618595
old_version: 9.2:1607618593
public: Public
master_user: #2 wpcomvip
current_user: #10 Nevin-Magathan
tokens_set: Blog User
blog_token: kFqW%m8190F@EKKjJpfP@Z(NN%7mzSMH
user_token: FxI^1Ki8Xl2T!3kum&O4$eAIX%F#fz11
version: 9.2.1
jp_plugin_dir: /var/www/wp-content/mu-plugins/jetpack-9.2/
plan: business
protect_header: false
full_sync: {"started":"Thu, 19 Nov 2020 17:03:43 +0000","finished":"Thu, 19 Nov 2020 17:03:51 +0000","progress":{"options":{"finished":true},"functions":{"finished":true},"constants":{"finished":true},"users":{"total":"1","sent":1,"finished":true,"last_sent":"65"},"network_options":{"finished":true}},"config":{"options":true,"functions":true,"constants":true,"users":[65],"network_options":true}}
sync_size: undefined
sync_lag: 0 seconds
full_sync_size: undefined
full_sync_lag: 0 seconds
idc_urls: {"home":"https://www.kbb.com","siteurl":"https://www.kbb.com","WP_HOME":"","WP_SITEURL":""}
idc_error_option: false
idc_optin: true
cxn_tests: {"9":{"name":"test__wpcom_connection_test","label":false,"short_description":"Kelley Blue Book is not connected.: 200","long_description":"

A healthy connection ensures Jetpack essential services are provided to your WordPress site, such as Stats and Site Security.</p>

<span class="dashicons fail"><span class="screen-reader-text">Error</span></span> Kelley Blue Book is not connected.: 200</p>

We recommend reconnecting Jetpack.</strong></p>","severity":"critical","action":"https://www.kbb.com/wp-admin/admin.php?page=jetpack#/reconnect","action_label":"Reconnect Jetpack now","show_in_site_health":true,"pass":false,"group":["default"],"type":"direct"}}

publishpress-modules (19)

modules_settings: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/modules_settings]
calendar: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/calendar]
editorial_metadata: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/editorial_metadata]
content_overview: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/content_overview]
custom_status: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/custom_status]
notifications: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/notifications]
improved_notifications: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/improved_notifications]
async_notifications: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/async_notifications]
notifications_log: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/notifications_log]
roles: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/roles]
user_groups: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/user_groups]
dashboard: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/dashboard]
editorial_comments: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/editorial_comments]
settings: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/settings]
efmigration: on [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/efmigration]
debug: off [/var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/modules/debug]
prosettings: on [/var/www/wp-content/plugins/publishpress-pro/modules/prosettings]
slack: on [/var/www/wp-content/plugins/publishpress-pro/modules/slack]
reminders: on [/var/www/wp-content/plugins/publishpress-pro/modules/reminders]

publishpress

PUBLISHPRESS_VERSION: 2.4.2
PUBLISHPRESS_BASE_PATH: /var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress
PUBLISHPRESS_FILE_PATH: /var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/publishpress.php
PUBLISHPRESS_URL: https://www.kbb.com/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/
PUBLISHPRESS_SETTINGS_PAGE: https://www.kbb.com/wp-admin/admin.php?page=pp-modules-settings&module=pp-modules-settings-settings
PUBLISHPRESS_LIBRARIES_PATH: /var/www/wp-content/plugins/publishpress-pro/vendor/publishpress/publishpress/libraries
WP_CONTENT_DIR: /var/www/wp-content
WP_CONTENT_URL: https://www.kbb.com/wp-content
option::date_format: F j, Y
option::time_format: g:i a
option::timezone_string: America/Los_Angeles
option::gmt_offset: -8
php::date_default_timezone_get: UTC

`

Editor capabilities not restored after being reset

The BC_Permissions class only checks for the existence of administrator capabilities before deciding whether or not any capabilities are added. This means that if the editor role ever loses the brightcove caps, it will never receive them again since the administrator role still contains the correct capabilities.

Adding a check of the editor role, and adding the role capabilities individually ensures that each role will get reassigned necessary capabilities if they are ever lost for any reason.

Uncaught TypeError: Cannot read property 'enqueue' of undefined

Successfully connected my Brightcove account with the Video Connect plugin but can't see any of my videos or playlists in the admin panel. Instead, I get a JavaScript error "Cannot read property 'enqueue' of undefined". See below for screenshot of behavior.

screen shot 2016-11-03 at 1 24 25 pm
screen shot 2016-11-03 at 1 24 56 pm

Change default Dynamic Ingest profile

From the client: "I see that the Dynamic Ingest profile used is the older Balanced High Definition. Could we please ask 10UP to switch to the newer videocloud-default-v1 profile?"

Attribute types incompatibility on WordPress 5.5

Describe the bug

As of WordPress 5.5 (#171), the plugin throws the following notice when debug mode is enabled:

Notice: rest_validate_value_from_schema was called incorrectly. The "type" schema keyword for can only be one of the built-in types: array, object, string, number, integer, boolean, and null. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.)

This notice is originating from the use of int (as opposed to the supported built-in type: integer) for attribute types that are used for registering the bc/brightcove block.

register_block_type( 'bc/brightcove', array(
'editor_script' => 'brightcove-block',
'render_callback' => array( 'BC_Setup', 'render_shortcode' ),
'attributes' => array(
'account_id' => array(
'type' => 'int',
),
'player_id' => array(
'type' => 'string',
),
'video_id' => array(
'type' => 'int',
),
'playlist_id' => array(
'type' => 'int',
),
'experience_id' => array(
'type' => 'string',
),
'video_ids' => array(
'type' => 'int',
),

Steps to Reproduce

  1. Enable debug mode, by defining WP_DEBUG as true
  2. Go to a post creation/editing screen
  3. See notice (the notice is visible for a few seconds before the Gutenberg block editor has loaded; once the the editor has loaded, the notice would be "covered" by the editor, but would still be present in the page's source code)

Expected behavior

WordPress would no longer be throwing these notices once the attribute types are changed from int to integer.

Environment information

  • WordPress version: 5.5

Additional context

https://make.wordpress.org/core/2020/07/16/rest-api-parameter-json-schema-changes-in-wordpress-5-5/

Document required Brightcove API access

Is your enhancement related to a problem? Please describe.
Providing access to the correct APIs is difficult as there are many options and it's not clear what should be selected:
image

Describe the solution you'd like
Add documentation to readme instructing which APIs to expose in the Brightcove admin

Video tags does not automatically pull

Video tags does not automatically pull from Brightcove account.
Videos are pulling correctly with tags attach respectively but it does not show on the tags filter dropdown.
However, if the tag is edited directly inside Wordpress, the tags filter dropdown will show the newly edited tag and sync up to Brightcove correctly.
Wordpress 4.8
Brightcove video connect 1.3.2
All exposed Brightcove APIs permission is granted

Playlist display not working in tinymce, but working in preview.

Inserting a playlist into a tinymce view doesn't always work, we get the following error.

screenshot 2016-05-12 15 03 16

When we preview the post, the playlist loads correctly.

This is an intermittent issue where:
var player_id = bctiny.playlistEnabledPlayers[self.shortcode.attrs.named.account_id][0];
returns undefined.

Under some scenarios we can cache flush and then we have the appropriate player ID. Putting out a PR for a temporary fix, but haven't found the root cause.

No logging for send_request() calls in VIP environment

Describe the bug

Whenever we get any non 2xx response from Brightcove API ( send_request() ) we doesn't have the information on logs to track what was the issue on VIP environment.

ref:

send_request():

if ( ! in_array( wp_remote_retrieve_response_code( $request ), $successful_response_codes ) ) {
$message = esc_html__( 'An unspecified error has occurred.', 'brightcove' );
if ( isset( $body[0] ) && isset( $body[0]['error_code'] ) ) {
$message = $body[0]['error_code'];
} elseif ( isset ( $body['message'] ) ) {
$message = $body['message'];
}
$this->errors[] = array(
'url' => $url,
'error' => new WP_Error( $request['response']['message'], $message ),
);
BC_Logging::log( sprintf( 'BC API ERROR: %s', $message ) );
return false;
}
if ( '204' == wp_remote_retrieve_response_code( $request ) ) {
return true;
}
if ( is_wp_error( $request ) ) {
//
$this->errors[] = array(
'url' => $url,
'error' => $request,
);
BC_Logging::log( sprintf( 'BC API ERROR: %s', $request->get_error_message() ) );
return false;
}
if ( $transient_key && $body && ( ! defined( 'WP_DEBUG' ) || false === WP_DEBUG ) ) {
// Store body for 60s to prevent hammering the BC APIs.
BC_Utility::set_cache_item( $transient_key, 'api-request', $body, 60 );
}

BC_Logging::log()

default :
if( ! $is_vip ) {
error_log( $message );
}
break;

Is there any specific reason we are not writting logs for VIP environment? If not we can use newrelic_notice_error for VIP environment.

ref: https://wpvip.com/documentation/manually-logging-errors-in-new-relic/

Expected behavior
Use newrelic_notice_error for VIP environment and add logs in newrelic.

Additional context

We are using this plugin on multiple sites and we had one issue where we were getting errors from API for few min and it got fix automatically we checked with brightcove team but they didn't had any service intruption which could cause any issue and since the issue got fixed automatically it couldn't be an issue of credentials / token authentication issue.
And there was no error log added anywhere so we couldn't find the root cause. Just checking here if we can add logs on VIP environment it would help in future issues like this.

Test against WP 5.4

Is your enhancement related to a problem? Please describe.
Once WordPress 5.4 is released, we'll want to test Brightcove Video Connect to see if any incompatibility issues arise.

Describe the solution you'd like

  • test Brightcove Video Connect on WP 5.4
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
none

Additional context
none

Non-strict in_array in text track file

On line 45 of includes/api/class-bc-text-track.php, we are using in_array() without the strict parameter. This isn't something that VIP recommends unless we have a specific reason for not wanting the check to be strict.

Test against WP 5.3

Is your enhancement related to a problem? Please describe.
Now that WordPress 5.3 is released, we'll want to test Brightcove Video Connect to see if any incompatibility issues arise.

Describe the solution you'd like

  • test Brightcove Video Connect on WP 5.3
  • open issues for any incompatibilities noted in testing
  • resolve issues identified in testing
  • bump "tested up to" version
  • if code changes needed due to incompatibilities, ship a plugin release, otherwise use "Plugin asset/readme update" action to update "tested up to" version on .org repo

Designs
n/a

Describe alternatives you've considered
none

Additional context
none

Upload of .avi not working

From Brightcove:

"When I try to upload an .avi video through the WordPress connector, the upload fails. However, in the same session I am able to successfully upload a .mp4. Also, I am able to successfully upload the same .avi directly in Video Cloud. See the attached video to see the issue."

Filtering inactive videos in video selector

I tried looking for any configuration to disable inactive videos in video selector gallery window but cant find one. I have issue with lots of videos which are inactive or deactivated are also showing up on video selector when embeding or selecting a feature video for pages/articles. Users do select these videos which dont play when published.
How can we disable listing of inactive videos to avoide selection ?
Perhaps this can be featured enhancement as configuration on settings.

Add GitHub Action workflows for deployment

Is your enhancement related to a problem? Please describe.
Let's add the GitHub Action workflows to allow for automated deploys to WordPress.ORG.

Describe the solution you'd like

  • Add plugin deploy workflow
  • Add asset deploy workflow
  • Add user/pass secrets to repo settings
    - [ ] Add build step

Designs
n/a

Describe alternatives you've considered
keep deploying manually 👎

Additional context
n/a

Video insert does not work from video edit page

A video is not successfully inserted into an article following the steps below:

  1. Click on Brightcove Media button from an article
  2. Click on a video from those shown in the Brightcove Videos tab
  3. Click on the Edit button
  4. Click on Insert into Post button

However, if you click on Insert to Post from the Videos tab and not on the Edit page, the video is successfully inserted into the article.

This may be related to the fix of an issue from v1.2.1 and prior where the video would appear as "There was a problem displaying the video player" when it was inserted via the Edit page.

New Plugin Activation - Accessing array offset on value of type bool

Describe the bug
On plugin activation, a notice appears at the top of the admin panel: Notice: Trying to access array offset on value of type bool. This happens when a user does not have an account setup yet with the plugin, which I would imagine is very common on first activation of the plugin.

Note: This was tested on a fresh WP installation setup and configured with wp-local-docker-v2

Steps to Reproduce

  1. Install the Brightcove Video Connect plugin on any WordPress installation that does not yet have an account setup for Brightcove.
  2. Activate Plugin.
  3. Every page in the admin panel shows the same notice until an account is added.

Expected behavior
Activate plugin to see an Admin notice to add a Brightcove Account. The Admin notice is present, but as is the PHP notice.

Screenshots
Screen Shot 2021-02-24 at 7 07 53 AM

Environment information

  • Device: 2020 MacBook Pro 16"
  • OS: MacOS 10.15.7 (Catalina)
  • Browser and version: Chrome 88.0.4324.182
  • WordPress version: 5.6.2
Site Health Info: ### wp-core ###

version: 5.6.2
site_language: en_US
user_language: en_US
timezone: +00:00
permalink: /%postname%/
https_status: true
multisite: false
user_registration: 0
blog_public: 1
default_comment_status: open
environment_type: production
user_count: 2
dotorg_communication: true

wp-paths-sizes

wordpress_path: /var/www/html
wordpress_size: loading...
uploads_path: /var/www/html/wp-content/uploads
uploads_size: loading...
themes_path: /var/www/html/wp-content/themes
themes_size: loading...
plugins_path: /var/www/html/wp-content/plugins
plugins_size: loading...
database_size: loading...
total_size: loading...

wp-active-theme

name: 10up Theme Scaffold
version: 0.1.0
author: 10up
author_website: https://10up.com
parent_theme: none
theme_features: core-block-patterns, automatic-feed-links, disable-custom-colors, disable-custom-font-sizes, editor-gradient-presets, disable-custom-gradients, editor-color-palette, post-thumbnails, title-tag, html5, editor-font-sizes, menus
theme_path: /var/www/html/wp-content/themes/bx-intranet
auto_update: Disabled

wp-mu-plugins (1)

bx-base.php: author: 10up, version: 0.1.0

wp-plugins-active (2)

Brightcove Video Connect: version: 2.1.2, author: 10up, Auto-updates disabled
ElasticPress: version: 3.5.4, author: 10up, Auto-updates disabled

wp-plugins-inactive (1)

Secure Media: version: 1.0.5, author: 10up, Auto-updates disabled

wp-media

image_editor: WP_Image_Editor_Imagick
imagick_module_version: 1690
imagemagick_version: ImageMagick 6.9.10-86 Q16 x86_64 2020-01-13 https://imagemagick.org
file_uploads: File uploads is turned off
post_max_size: 150m
upload_max_filesize: 150m
max_effective_size: 150 MB
max_file_uploads: 20
imagick_limits:
imagick::RESOURCETYPE_AREA: 4 GB
imagick::RESOURCETYPE_DISK: 9.2233720368548E+18
imagick::RESOURCETYPE_FILE: 786432
imagick::RESOURCETYPE_MAP: 4 GB
imagick::RESOURCETYPE_MEMORY: 2 GB
imagick::RESOURCETYPE_THREAD: 1
gd_version: 2.2.5
ghostscript_version: not available

wp-server

server_architecture: Linux 4.19.121-linuxkit x86_64
httpd_software: nginx/1.19.5
php_version: 7.4.13 64bit
php_sapi: fpm-fcgi
max_input_variables: 1000
time_limit: 30
memory_limit: 128M
admin_memory_limit: 256M
max_input_time: 60
upload_max_filesize: 150m
php_post_max_size: 150m
curl_version: 7.61.1 OpenSSL/1.1.1c
suhosin: false
imagick_availability: true
pretty_permalinks: true

wp-database

extension: mysqli
server_version: 5.7.32
client_version: mysqlnd 7.4.13

wp-constants

WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /var/www/html/wp-content
WP_PLUGIN_DIR: /var/www/html/wp-content/plugins
WP_MAX_MEMORY_LIMIT: 256M
WP_DEBUG: true
WP_DEBUG_DISPLAY: true
WP_DEBUG_LOG: true
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8
DB_COLLATE: undefined

wp-filesystem

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable
mu-plugins: writable

Additional context

  • This was setup and tested on two different sites. The first was a fresh WP installation setup and configured with WP Local Docker V2. The second was an established site with numerous authors and posts -- same result.
  • I have already implemented and tested a fix locally. Happy to submit a Pull Request if this is deemed in fact a bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.