Media kickoff meeting recap (August 26)

This is a recap from the the Media Component kickoff meeting last Friday, August 26. The main goal of this meeting was to discuss potential focus areas for 4.7. Read the conversation log in #core-images on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. Our next meeting is Friday, September 2 at 19:00 UTC. The agenda will be to continue discussion on priority projects and review media focused tickets on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

Attendees: @joemcgill, @bravokeyl, @mike, @azaozz, @nonproftechie, @designsimply, @johnbillion, @iseulde, and @paaljoachim.

Media library organization improvements

Defining scope for this project is important in order to makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). meaningful progress. Here is an outline of the plan that was discussed:

  • Start simple by addressing #22744
  • Begin discussing a default taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. structure for media in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
  • Research existing plugins that address media organization and review approaches to taxonomy/data structure and UXUX User experience/UIUI User interface (@paaljoachim volunteered to put together an initial list in this Google Doc)
  • Research non-WP apps for UX/UI inspiration

We may only do bits of this in 4.7, but the research should result in an initial proposal/road map for the media library including any recommendations about data structure, APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., or UI changes that may be required.

PDF thumbnails (#31050)

@markoheijnen is leading this effort. People can get involved with testing and knocking out the final bugs/edge cases. Assistance from people with existing PDF/ImageMagick experience would be grand.

Add WP_Image and/or WP_Attachment (#23424)

Core could benefit from a standard way of modeling attachment data, including methods for generating/retrieving pieces of that data without redundant calls to lower level functionality. However, as @johnbillion pointed out, this should start with a well defined set of use cases which demonstrates the problems we would be addressing by adding new classes.

This is probably a lower priority for this releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. unless there is increased interest.

Better full size image optimization (#37840)

Many authors upload and embed unoptimized full size images in their content. We may be able increase front end performance by optimizing full size uploads. Some initial suggestions to this end include:

  • Look into creating an official ‘full’ or ‘master’ size which would replace uncompressed uploads on the front end and could potentially be used to speed up additional edit operations.
  • It’s important that the original upload be stored as is and not affected at all so we always retain a “gold standard” backup.
  • We would need to account for times where users are optimizing their images before uploading, i.e., this new method shouldn’t add page weight.
  • If adding a new size is required for this, it will likely require optimizing the time and memory it takes to resize to avoid the dreaded “HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. Error” (#37853)
  • Additionally, could we be smarter about creating intermediate sizes and only do so when an intermediate size would reduce file size and not just dimensions?
  • We may want to define maximum dimensions for the “full” size.

Core media widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. (#32417)

A lot of progress has already been made on this feature, but it seems to have gotten stuck in a complexity/decision rut. The media component team may be able to help shepherd this project in 4.7 by supporting those already working on it.

@designsimply suggests simplifying the approach to only support images for a V1 may help move things forward. Either way, decisions need to be made about what should be supported in an MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia and a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party should probably created for testing.

HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. issues

We fixed many HTTPS bugs in 4.4 and 4.5, but there are still many remaining issues.

@johnbillion is planning on leading a working group to pick this effort back up fo 4.7, with a focus on:

  1. Fixing HTTPS bugs, and
  2. Aiding users switching from HTTP to HTTPS, in whatever form that takes.

Copy/paste images directly into the editor (#27970)

This request gained some interest in the wishlist post. @azaozz and @iseulde have looked into this in the past and it seems the concerns outlined in the original ticketticket Created for both bug reports and feature development on the bug tracker. remain, so this is probably still a wontfixwontfix A resolution on the bug tracker (and generally common in software development) that indicates the ticket will not be addressed further. This may be used for acceptable edge cases (for bugs), or enhancements that have been rejected for core inclusion. for now.

#4-7, #media