Today we’re excited to announce the release of PressForward 4.0. Our newest release continues our move toward a dependency injected structure and brings significant performance upgrades as well as several feature enhancements. Updates to the Open Graph library, the methodology for building nominations in the Nominate This Bookmarklet, and changes to how post meta is stored in the WordPress database all bring exciting performance upgrades. In addition, PressForward 4.0 also introduces two new features: the ability to add YouTube RSS feeds and the ability to pull in both existing tags and add new ones in the Nominate This Bookmarklet.
Open Graph and Metadata Detection Enhancements
PressForward maintains, updates and uses the PHP Open Graph library, which uses an open metadata standard to read tags that describe a blog post, to identify the relevant components of a blog post such as title, author, and featured image. In previous releases, PressForward didn’t always find a featured image if the source site did not employ open graph tags in their markup. Version 4.0 of PressForward introduces a more generalized methodology for image detection which increases the likelihood that PressForward’s Open Graph library will identify and pull in a featured image. Additional updates to the Open Graph library include the ability to provide cookies to sites that require them for access and the ability to read and check for Open Graph schema-type tags.
These changes will enhance the quality of the posts pulled in by PressForward, improving associated data, further automating the application of taxonomies, and better assuring an available featured image. Further, the updated codebase now allows the Bookmarklet to pull in tags used in the original post.
In addition, this release marks the largest set of contributions back to the popular PHP Open Graph open-source codebase by PressForward, with us contributing back to the community.
Two big changes to how PressForward data is stored in the WordPress database in 4.0 will bring significant performance improvements for users. First, the methodology for building PressForward nominations in the bookmarklet has been rewritten to eliminate storing extra data in the post table. This change not only improves performance, but also the statistics kept by PressForward. Nomination count will now increase when a post that has been nominated from All Content is also nominated from the Bookmarklet. Additionally, new methodologies for handling and storing PressForward post meta will significantly decrease the size of the post meta database table. Users can expect to see significant performance upticks.
Most notably, the serialization of a number of PressForward meta-data values into a single database row should come close to halving the footprint PressForward has on the Post Meta table. As we continue to use and perfect the methods that allow this to occur smoothly, we will be able to continue to increase PressForward’s database efficiency.
For developers and theme-makers using PressForward data, this marks an important and notable turn. From here on out, PressForward metadata on posts should only be accessed through the PressForward meta-handling library.
Starting with YouTube, this release marks greater preview functionality for feed items that are also oembed-capable. YouTube is the first white-listed provider. This means that YouTube video feeds will provide items that can be previewed with the full oembed (which includes the video) visible in the All Content and Nominations area for easier consideration.
As testing continues, we will whitelist other oembed providers who have content available on PressForward compatible feeds.
To see a list of all the commits and changes in version 4.0, check out our GitHub milestone.
Contributors to our Open Graph Library:
Updates from maintainer on our community-run dependency-injection framework Jaxion:
- Added support for YouTube RSS Feeds
- Nominate This now pulls in existing tags and allows users to create new tags.
- Enhanced the identification of featured images in posts
- Added support for YouTube oEmbeds
- Increased database efficiency.
- Moved all meta value management to internal library.
- Fixed bug that caused item_author to default to first user in site if no author was identified in the post. If no author is found, the author will now default to the title of the source feed.
- Resolved issue that caused nominate this button to disappear
- Resolved issue where posts with URLs whose length exceeded the GUID field maximum in the WordPress post table could not be processed.
- Fixed issue where canonical URLs were not respected by Nominate This.
- Removed potential excess extra post entries created by Nominate This.