Wordpress News

WPTavern: Automattic Acquires Tumblr, Plans to Rebuild the Backend Powered by WordPress

Wordpress Planet - Tue, 08/13/2019 - 03:18

Automattic has acquired Tumblr, a long-time friendly rival company, for an undisclosed sum. Just six years after Yahoo acquired Tumblr for $1.1 billion, the company is said to have been acquired for “a nominal amount” from Verizon, who indirectly acquired Tumblr when it bought Yahoo in 2017.

Automattic CEO Matt Mullenweg declined to comment on the financial deals of the acquisition, but a source familiar to Axios puts the deal “well south of $20 million.”

Tumblr is Automattic’s biggest acquisition yet in terms of product users and employees gained. The microblogging and social networking website currently hosts 475.1 million blogs, for which Automattic will now assume operating costs. All 200 of Tumblr’s employees will be moving over to Automattic, bringing the company’s total employee count over 1,000.

Mullenweg took to the Post Status community Slack channel for an impromptu Q&A this afternoon where he discussed more of Automattic’s plans for Tumblr. He outlined a brief roadmap for Tumblr’s future that includes re-architecting its backend with WordPress:

  1. Move infrastructure off Verizon
  2. Support same APIs on both WP.com and Tumblr
  3. Switch backend to be WP
  4. Open source Tumblr.com client similar to Calypso

“WordPress is an open source web operating system that can power pretty much anything, including Tumblr.com, but it’s also a large property so will take a bit to figure out and migrate,” Mullenweg said.

Automattic doesn’t currently have plans to change the frontend Tumblr experience. Mullenweg said the Tumblr mobile app gets 20x more daily signups than the WordPress app. “It’s working amazingly well, despite being fairly constrained in what they can launch the past few years,” he said.

Tumblr changed its adult content policy in December 2018, banning pornographic content which reportedly accounted for 22.37 percent of incoming referral traffic from external sites in 2013 when it was acquired by Yahoo. Automattic has a similar content policy in place for WordPress.com and Mullenweg confirmed that the company does not plan to lift the ban on adult content.

“Adult content is not our forte either, and it creates a huge number of potential issues with app stores, payment providers, trust and safety… it’s a problem area best suited for companies fully dedicated to creating a great experience there,” Mullenweg said in response to questions on Hacker News. “I personally have very liberal views on these things, but supporting adult content as a business is very different.”

Automattic’s Tumblr Acquisition Opens Up New Possibilities for E-Commerce, Plugins, and Themes

Beyond this initial roadmap Mullenweg outlined, he also said he thinks “e-commerce on Tumblr is a great idea,” with simpler features developed first. In the past, Tumblr users who wanted to add e-commerce to their sites would need to use a service like Shopify or Ecwid and generate a Tumblr-compatible widget. Users would have to move to a self-hosted site on another platform in order to get more full-featured e-commerce capabilities. Automattic has the ability to build e-commerce into the platform using WooCommerce or any number of other existing solutions for simpler sales features.

An emerging Tumblr/WordPress plugin and theme ecosystem is also a possibility but may not affect the wider WordPress ecosystem as much unless Automattic opens up the Tumblr marketplace to third-party developers. Mullenweg said once Tumblr’s backend is on WordPress, the idea of plugins can be explored. Whether that is on a private network, like WordPress.com, or a new breed of self-hosted Tumblr sites, is yet to be seen.

Automattic’s apparent bargain basement deal on Tumblr is good news for the preservation of the open web, as the company is committed to supporting independent publishing. Migrating Tumblr’s infrastructure to WordPress also expands WordPress’ market share with a significantly younger user base. A study conducted by We Are Flint in 2018 found 43 percent of internet users between the ages of 18 to 24 years old used Tumblr.

Tumblr’s primary demographic thrives on community and its current feature set is built to support that. If Automattic can preserve Tumblr’s distinct community and convenient publishing, while invisibly re-architecting it to use WordPress, users could potentially enjoy seamless transitions across platforms to suit their publishing needs. This improves the likelihood that this generation of internet users will continue to own their own content instead of tossing it away on social media silos that feed on users’ most important thoughts, writings, and memories.

“I’m very excited about Tumblr’s next chapter and looking forward working with Matt Mullenweg and the entire team at Automattic,” Tumblr CEO Jeff D’Onofrio said. “I’m most excited for what this means for the entire Tumblr community. There is much more to do to make your experience a better one, and I’m super confident that we are in great hands with this news. Tumblr and WordPress share common founding principles. The plane has landed on a friendly runway. Now it is time to freshen up the jets.”

In the announcement on his Tumblr blog, Mullenweg said he sees “some good opportunities to standardize on the Open Source WordPress tech stack.” This migration will undoubtedly be a formidable technical challenge and Mullenweg promised to document the team’s work after it is complete. In the meantime, the Tumblr team has new functionality they plan to introduce after the acquisition is officially closed.

“When the possibility to join forces became concrete, it felt like a once-in-a-generation opportunity to have two beloved platforms work alongside each other to build a better, more open, more inclusive – and, frankly, more fun web,” Mullenweg said. “I knew we had to do it.”

WPTavern: WooCommerce 3.7 Introduces New Blocks, Updates Minimum WordPress and PHP Requirements

Wordpress Planet - Mon, 08/12/2019 - 20:41

WooCommerce 3.7 was released today after four months in development. This minor release is backwards compatible with previous versions. Despite containing more than 1,290 commits, 3.7 is smaller than previous releases, as the WooCommerce team is working towards delivering more frequent releases to improve the stability of the platform.

WooCommerce 3.7 bundles updates from the WooCommerce Blocks feature plugin version 2.3, including the following new blocks and enhancements to existing blocks:

  • A new focal point picker on the Featured Product block
  • A new Product Categories List block
  • A new Featured Category block
  • A new Products By Tag(s) block
  • Featured Product now allows for featuring a product by variation, linking to the product page with the variation pre-selected

Here’s an example of the featured category block, which lets store owners stay right inside the editor to select the category and see an instant preview of the content.

WooCommerce developers are working on creating more block editor capabilities for store owners. Future versions of the WooCommerce Blocks plugin will include new blocks for product filtering and for displaying product reviews. These will be tested first through the WooCommerce Blocks feature plugin before being added to core.

WooCommerce 3.7 Requires WordPress 4.9+ and PHP 5.6+

This release bumps the minimum required WordPress version to 4.9 and the minimum required PHP version to 5.6. There are new upgrade nudges in WooCommerce 3.6, alerting users who will need to to upgrade WordPress and PHP versions in order to update their stores to WooCommerce 3.7.

The increased minimum versions allows WooCommerce developers to include new and more performant code in future versions of the plugin. It also enables them to utilize PHP packages. The Product Blocks and REST API functionality have been removed from core and are now loaded via Composer.

WooCommerce Blocks Rebranded

Users may notice some visual changes to how WooCommerce blocks appear in the editor. The blocks have been updated to better reflect the WooCommerce brand. This is becoming more common, as plugins with multiple blocks carve out their own branded spaces in the block inserter.

A few other notable enhancements in WooCommerce 3.7 include the following:

  • Email Settings: New “Additional Content” sections replace the old hardcoded “Thanks” sections so store owners don’t have to override templates to change the wording
  • Coupon admin pages: Automatically generate new coupon codes with the click of a button
  • Performance improvements, new dedicated table for tax classes, reduced number of queries to populate variations, excluding Action Scheduler tasks from comments queries to speed up page load times

The WooCommerce Admin feature plugin continues to make progress and currently has 300,000 active installations. The plugin provides a new JavaScript-based dashboard for monitoring store reports and sales metrics. Recent updates include more data on the Customer Report page, improved navigation bar design, and an improved Stock Activity panel that automatically responds to inventory updates. Store owners who want to preview this functionality in WooCommerce can install the feature plugin.

Version 3.7 should not cause any backwards compatibility issues but the update includes a few database upgrade routines. The WooCommerce team recommends those with large amounts of data in their databases to upgrade using the WP CLI command wp wc update, instead of through the admin. Check out the release post and beta announcement for more details.

Post Status: Automattic — the maker of WordPress.com — has purchased Tumblr

Wordpress Planet - Mon, 08/12/2019 - 20:15

Automattic — which owns WordPress.com — has acquired Tumblr and about 200 employees from Verizon, according to The Wall Street Journal and confirmed in Post Status Slack by Automattic CEO Matt Mullenweg.

Tumblr has had a rocky road since their sale to Yahoo! in 2013 for $1.1 billion. Yahoo! is now owned by Verizon — whose entire content and platform lineup is a mess. The WSJ reported in May that Verizon was shopping Tumblr.

The most recent controversy for Tumblr was a community revolt over the treatment of adult content. Matt says Tumblr’s new adult content policy will stay in place under the new ownership. On Hacker News, he said, “Adult content is not our forte either, and it creates a huge number of potential issues with app stores, payment providers, trust and safety… it’s a problem area best suited for companies fully dedicated to creating a great experience there. I personally have very liberal views on these things, but supporting adult content as a business is very different.”

Matt tells me the initial goals for Tumblr are:

1. Move infrastructure off Verizon.
2. Support same APIs on both WP.com and Tumblr.
3. Switch backend to be WP.
4. Open source Tumblr.com client similar to Calypso.

Tumblr will remain a separate brand. There is a dedicated Tumblr community even after years of neglect and confusion. Still, Matt says Tumblr’s user base is “several times larger than [WordPress.com’s].”

The Tumblr backend will change its technology, but the front-end experience will stay similar to what it is today, as Automattic “[doesn’t] want to change what’s working.” Matt said Tumblr’s interface is “working amazingly well, despite being fairly constrained in what they can launch [the] past few years.”

There are several potential wins here for Automattic. For one, they gain a committed community for pennies on the dollar compared to the $1.1 billion Yahoo! paid — a classic Yahoo! exit.

While the WSJ called the purchase amount “nominal” for Verizon, Matt says he considers the brand “super valuable, but right now not making as much as they could or should.”

Dan Primack of Axios is reporting a “source familiar” put the price “well south of $20 million.”

Automattic paid peanuts for Tumblr. Source familiar puts it well south of $20 million.

Reminder: Yahoo paid $1.1 billion for it.https://t.co/N63c5y3MEh

— Dan Primack (@danprimack) August 12, 2019

Primack later stated the upfront sale price was less than $3 million.

3/ Story updated: Price less than $3 million.

— Dan Primack (@danprimack) August 12, 2019

In Post Status Slack, Matt noted that “adding ~200 people and porting all of Tumblr to Automattic is non-trivial and by far the largest investment or acquisition Automattic has ever made.”

While unrelated to the upfront cost, the ongoing costs Automattic is taking on — and Verizon was surely quite keen to unload — is significant. The development and hosting effort will surely cost millions per year, not counting employee expenses. Automattic’s largest previous acquisition — of WooCommerce — was about $30M in cash and stock. Thas is probably not far from the annual cost of the Tumblr employees Automattic is taking on now.

In recent years Automattic has put much more energy into effective monetization, and I have no doubt they can do significantly better than the sprawling Verizon organization Tumblr languished under.

Again on Hacker News, Matt noted, “We’ve been evolving Automattic to be more of a Berkshire Hathaway-inspired model and businesses with a lot of autonomy, and this [acquisition] continues that trend.” This is interesting, particularly as Berkshire is known to let portfolio companies operate quite independently, and of course, Berkshire CEO Warren Buffet is famous for being a savvy value investor. Tumblr is definitely a deep value play at this price.

With Tumblr’s acquisition, Automattic has an opportunity to diversify its own brands — WordPress vs WordPress.com is always very confusing. (Legacy and tech media will surely screw it up talking about this acquisition.) Inevitably different cultures and web communities drift to different spaces online — think Instagram and Facebook, for instance.

Tumblr is a very browse-heavy platform. The potential for eCommerce on such a platform could be significant. Matt said in chat that he thinks “eCommerce on Tumblr is a great idea.” I can also see a world where Tumblr could be shaped into a primarily mobile product — a more direct (and more privacy-focused) implementation of what Instagram is, with a similar, minimal interface.

I would really love this, and Matt hints at some alignment on that front. In response to a comment speculating they’d wind Tumblr down, he said the plan was the opposite because “the web needs open and independent publishing and social media more than ever.” I know from my own conversations with Matt that he’s thinking about this a lot now. The way he plugged “social media” in that statement makes me think it’s at the top of mind inrelation to Tumblr.

If Tumblr is open-sourced, a plugin ecosystem could work there as well. Matt says that “when [Tumblr] is on [WP’s] backend that [idea] … can be explored.” So a plugin market for Tumblr is not off the table, but it doesn’t sound like third-party extensibility is an immediate priority. I think the initial goals is to revive a large community and keep to the basics.

Matt Mullenweg now has a Tumblr himself. He posted his own announcement of the acquisition there, where he wrote:

I have worked on WordPress my entire adult life — 16 years now — and so the democratization of publishing is near and dear to my heart. Tumblr and WordPress have always been very philosophically aligned there.

When the possibility to join forces became concrete, it felt like a once-in-a-generation opportunity to have two beloved platforms work alongside each other to build a better, more open, more inclusive – and, frankly, more fun web. I knew we had to do it.

Everyone loves to have a say on social media, but this move is well regarded so far in the tech space. It’s nice when a company makes a save-attempt on something good that’s been presumed “dead.”

I'm happy for the Tumblr community and hope Tumblr goes free software like WordPress. Local federated Tumblr would be a lot of fun.

— Paul Ford (@ftrain) August 12, 2019

This is pretty cool. Can’t think of a better owner today than Automattic for Tumblr’s huge creative publishing community. https://t.co/G9pVtpjKJ9

— Marco Arment (@marcoarment) August 12, 2019

The CEO of Tumblr, Jeff D’Onofrio, said the following on Twitter:

I’m very excited about Tumblr’s next chapter and looking forward to working with @photomatt and the entire team at Automattic. I’m most excited for what this means for the entire Tumblr community. There is much more to do to make your experience a better one, and I’m super confident that we are in great hands with this news. Tumblr and WordPress share common founding principles. The plane has landed on a friendly runway. Now it is time to freshen up the jets.

There will be more to come from Post Status about Tumblr joining the Automattic family of properties and also how it fits in the broader WordPress ecosystem. To my mind, porting a decaying but massive platform to an actively developed WordPress stack is a huge net positive for the web.

Additionally, the potential to further develop Tumblr, specifically in the social networking space, could be a beacon for a more user-centric web with clear offramps — it’s just WordPress! — for folks to protect and own their own data.

I am optimistic.

Smart theme

Drupal Themes - Sun, 08/11/2019 - 04:43

Smart theme for d8

WordPress.org blog: People of WordPress: Amanda Rush

Wordpress Planet - Fri, 08/09/2019 - 21:23

You’ve probably heard that WordPress is open source software, and may know that it’s created and run by volunteers. WordPress enthusiasts share many examples of how WordPress changed people’s lives for the better. This monthly series shares some of those lesser-known, amazing stories.

Meet Amanda Rush from Augusta, Georgia, USA.

Amanda Rush is a WordPress advocate with a visual disability. She first started using computers in 1985, which enabled her to turn in homework to her sighted teachers. Screen reader technology for Windows was in its infancy then, so she worked in DOS almost exclusively.

After graduating high school, Amanda went to college to study computer science, programming with DOS-based tools since compilers for Windows were still inaccessible. As part of her computer science course of study, she learned HTML which began her career in web development.

How Amanda got started with WordPress

Amanda began maintaining a personal website, and eventually began publishing her own content using LiveJournal. However, controlling the way the page around her content looked was hard, and she soon outgrew the hosted solution.

So in 2005, Amanda bought customerservant.com, set up a very simple CMS for blogging, and started publishing there. She accepted the lack of design and content, and lack of easy customization because she wasn’t willing to code her own solution. Nor did she want to move to another hosted solution, as she liked being able to customize her own site, as well as publish content.

Hebrew dates led her to WordPress

At some point, Amanda was looking for an easy way to display the Hebrew dates alongside the Gregorian dates on her blog entries. Unfortunately, the blogging software she was using at the time, did not offer customization options at that level. She decided to research alternative solutions and came across a WordPress plugin that did just that. 

The fact that WordPress would not keep her locked into a visual editor, used themes to customize styling, and offered ways to mark up content, immediately appealed to Amanda. She decided to give it a go.

Accessibility caused her to dive deeper

When the software Amanda used at work became completely inaccessible, she started learning about WordPress. While she was learning about this new software, Web 2.0 was introduced. The lack of support for it in the screen reader she used meant that WordPress administration was completely inaccessible. To get anything done, Amanda needed to learn to find her way in WordPress’ file structure.

Eventually Amanda started working as an independent contractor for the largest screen reader developer in the market, Freedom Scientific. She worked from home every day and hacked on WordPress after hours.

Unfortunately Amanda hit a rough patch when her job at Freedom Scientific ended. Using her savings she undertook further studies for various Cisco and Red Hat certifications, only to discover that the required testing for these certifications were completely inaccessible. She could study all she wanted, but wasn’t able to receive grades to pass the courses.

She lost her financial aid, her health took a turn for the worse, she was diagnosed with Lupus, and lost her apartment. Amanda relocated to Augusta where she had supportive friends who offered her a couch and a roof over her head.

But Amanda refused to give up

Amanda continued to hack WordPress through all of this. It was the only stable part of her life. She wanted to help make WordPress accessible for people with disabilities, and in 2012 joined the  WordPress Accessibility Team. Shortly after that, she finally got her own place to live, and started thinking about what she was going to do with the rest of her working life.

Listening to podcasts led her to take part in WordSesh, which was delivered completely online and enabled Amanda to participate without needing to travel. She began to interact with WordPress people on Twitter, and continued to contribute to the community as part of the WordPress Accessibility Team. Things had finally started to pick up.

Starting her own business

In 2014, Amanda officially launched her own business, Customer Servant Consultancy. Since WordPress is open source, and becoming increasingly accessible, Amanda could modify WordPress to build whatever she wanted and not be at the mercy of web and application developers who know nothing about accessibility. And if she got stuck, she could tap into the community and its resources.

Improving her circumstances and becoming more self-sufficient means Amanda was able to take back some control over her life in general. She was able to gain independence and create her own business despite being part of the blind community, which has an 80% unemployment rate. 

In her own words:

We’re still fighting discrimination in the workplace, and we’re still fighting for equal access when it comes to the technology we use to do our jobs. But the beauty of WordPress and its community is that we can create opportunities for ourselves.

I urge my fellow blind community members to join me inside this wonderful thing called WordPress. Because it will change your lives if you let it.

Amanda Rush, entrepreneur

This post is based on an article originally published on HeroPress.com, a community initiative created by Topher DeRosia. HeroPress highlights people in the WordPress community who have overcome barriers and whose stories would otherwise go unheard.

Meet more WordPress community members over at HeroPress.com!

People of WordPress: Amanda Rush

Wordpress News - Fri, 08/09/2019 - 21:23

You’ve probably heard that WordPress is open source software, and may know that it’s created and run by volunteers. WordPress enthusiasts share many examples of how WordPress changed people’s lives for the better. This monthly series shares some of those lesser-known, amazing stories.

Meet Amanda Rush from Augusta, Georgia, USA.

Amanda Rush is a WordPress advocate with a visual disability. She first started using computers in 1985, which enabled her to turn in homework to her sighted teachers. Screen reader technology for Windows was in its infancy then, so she worked in DOS almost exclusively.

After graduating high school, Amanda went to college to study computer science, programming with DOS-based tools since compilers for Windows were still inaccessible. As part of her computer science course of study, she learned HTML which began her career in web development.

How Amanda got started with WordPress

Amanda began maintaining a personal website, and eventually began publishing her own content using LiveJournal. However, controlling the way the page around her content looked was hard, and she soon outgrew the hosted solution.

So in 2005, Amanda bought customerservant.com, set up a very simple CMS for blogging, and started publishing there. She accepted the lack of design and content, and lack of easy customization because she wasn’t willing to code her own solution. Nor did she want to move to another hosted solution, as she liked being able to customize her own site, as well as publish content.

Hebrew dates led her to WordPress

At some point, Amanda was looking for an easy way to display the Hebrew dates alongside the Gregorian dates on her blog entries. Unfortunately, the blogging software she was using at the time, did not offer customization options at that level. She decided to research alternative solutions and came across a WordPress plugin that did just that. 

The fact that WordPress would not keep her locked into a visual editor, used themes to customize styling, and offered ways to mark up content, immediately appealed to Amanda. She decided to give it a go.

Accessibility caused her to dive deeper

When the software Amanda used at work became completely inaccessible, she started learning about WordPress. While she was learning about this new software, Web 2.0 was introduced. The lack of support for it in the screen reader she used meant that WordPress administration was completely inaccessible. To get anything done, Amanda needed to learn to find her way in WordPress’ file structure.

Eventually Amanda started working as an independent contractor for the largest screen reader developer in the market, Freedom Scientific. She worked from home every day and hacked on WordPress after hours.

Unfortunately Amanda hit a rough patch when her job at Freedom Scientific ended. Using her savings she undertook further studies for various Cisco and Red Hat certifications, only to discover that the required testing for these certifications were completely inaccessible. She could study all she wanted, but wasn’t able to receive grades to pass the courses.

She lost her financial aid, her health took a turn for the worse, she was diagnosed with Lupus, and lost her apartment. Amanda relocated to Augusta where she had supportive friends who offered her a couch and a roof over her head.

But Amanda refused to give up

Amanda continued to hack WordPress through all of this. It was the only stable part of her life. She wanted to help make WordPress accessible for people with disabilities, and in 2012 joined the  WordPress Accessibility Team. Shortly after that, she finally got her own place to live, and started thinking about what she was going to do with the rest of her working life.

Listening to podcasts led her to take part in WordSesh, which was delivered completely online and enabled Amanda to participate without needing to travel. She began to interact with WordPress people on Twitter, and continued to contribute to the community as part of the WordPress Accessibility Team. Things had finally started to pick up.

Starting her own business

In 2014, Amanda officially launched her own business, Customer Servant Consultancy. Since WordPress is open source, and becoming increasingly accessible, Amanda could modify WordPress to build whatever she wanted and not be at the mercy of web and application developers who know nothing about accessibility. And if she got stuck, she could tap into the community and its resources.

Improving her circumstances and becoming more self-sufficient means Amanda was able to take back some control over her life in general. She was able to gain independence and create her own business despite being part of the blind community, which has an 80% unemployment rate. 

In her own words:

We’re still fighting discrimination in the workplace, and we’re still fighting for equal access when it comes to the technology we use to do our jobs. But the beauty of WordPress and its community is that we can create opportunities for ourselves.

I urge my fellow blind community members to join me inside this wonderful thing called WordPress. Because it will change your lives if you let it.

Amanda Rush, entrepreneur

This post is based on an article originally published on HeroPress.com, a community initiative created by Topher DeRosia. HeroPress highlights people in the WordPress community who have overcome barriers and whose stories would otherwise go unheard.

Meet more WordPress community members over at HeroPress.com!

WPTavern: BuddyPress 5.0 to Add Category for Storing BuddyPress Blocks

Wordpress Planet - Fri, 08/09/2019 - 19:10

BuddyPress 5.0 will include a way for developers to organize their blocks under a BuddyPress blocks category. Mathieu Viet shared a code example on the BuddyPress Dev Updates blog, demonstrating how to set the category property of a block to BuddyPress when registering a block type. The blocks registered with this category will appear under the BuddyPress panel in the block inserter.

As the block ecosystem expands, keeping things organized inside the block inserter is becoming more important. BuddyPress having its own designated category helps user find blocks faster, especially if they don’t know the exact block name to search for, or if they are just browsing to see what blocks are available. With the BP REST API set to land in the 5.0 release, blocks will be easier for BuddyPress developers to create.

BuddyPress 5.0.0-beta1 is expected to be released around August 15. Subsequent release dates are yet to be confirmed following feedback on the beta.

WPTavern: Build Customizer Settings Faster by Using the Kirki Framework in Your Project

Wordpress Planet - Fri, 08/09/2019 - 16:46

Kirki is a free open-source (MIT-licensed) framework built for developers who are looking to add Customizer Controls to their themes or plugins.

Aristeides Stathopoulos, Kirki’s lead developer has been working on the framework since 2014. Thanks to the continuous updates and improvements, Kirki has built a community on Github which includes over 1000 stars and 300 forks.

Before Kirki I never touched the customizer. Kirki helped me to understand the customizer and do a lot in less time!

LebCit – WordPress Theme Developer WordPress Core Customizer Controls

WordPress Core includes a handful of basic Customizer Controls by default. For example: text, textarea, checkbox, radio, select, dropdown-pages, email, URL, number, hidden, and date controls.

Kirki supports the Core Controls too, plus around twenty more. Generally speaking, the Kirki controls cover the more advanced use-cases. For example:

  • Typography
  • Color Palettes
  • TinyMCE Editor
  • Sortable Fields

Kirki also offers functionality not available in Core WordPress, such as the auto-generation of your CSS output and postMessage scripts. These features, which we’ll look at later in this article, can easily cut your development time in half.

Kirki is Slow

One criticism commonly held against Kirki is that it’s slow. In fact, this criticism is used against most frameworks (including WordPress). It makes sense, right? You are loading a lot of code you might never use.

In this case, the reality is that the opposite is true. Most of the time control panels built using Kirki will actually be faster than the same panels built with Core Controls.

This is because Kirki adds an optimization layer that isn’t built into WordPress.

When the Customizer is initialized WordPress instantly tries to load all the controls, even if they are within a section or panel and the user can’t interact with them yet. In comparison, Kirki postpones the loading until just before the user will be interacting with the control.

To see the effect of this in practice, let’s try adding 50 color controls using each method.

Core Method:

for ($i = 0; $i < 50; $i++){ $wp_customize->add_setting( 'color_setting_hex_' . $i , array( 'default' => '#0088CC' ) ); // add color picker control $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'color_setting_hex_' . $i, array( 'label' => 'Color Control', 'section' => 'title_tagline', 'settings' => 'color_setting_hex_' . $i, ) ) ); }

With Kirki:

for ($i = 0; $i < 50; $i++) { Kirki::add_field( 'config_id', array( 'type' => 'color', 'settings' => 'color_setting_hex_' . $i, 'label' => __( 'Color Control', 'kirki' ), 'section' => 'title_tagline', 'default' => '#0088CC', ) ); }

The results:

As you can see, the initial load speed is considerably faster when using Kirki. The code required to create the controls is more concise too.

Integrating Kirki Into Your Project

There are multiple ways to integrate the Kirki Framework into your project, the official documentation does a good job of explaining the different methods.

I recommend developers guide the user to install the plugin version of Kirki, rather than including the framework directly within your project’s code. This can be done using TGMPA or the script provided.

The reasoning behind taking the plugin route is that Kirki is frequently updated and improved. By installing the plugin version, your users will have instant access to bug fixes and security updates.

In contrast, when you include the framework as part of your project, users will only receive updates when you update your theme or plugin, which might be less frequently than is required.

Whichever method you use, be sure to check Kirki is initialized before you add your settings:

// Early exit if Kirki doesn’t exist. if ( ! class_exists( 'Kirki' ) ) { return; } Fields

In the Core Method example, we first created a setting and then created a control for it. In most cases, the two are directly linked. Kirki simplifies the process and allows us to create a ‘Field’ instead. When a field is created, it builds the setting and control in the background for us.

Fields support all the control arguments you would expect (label, description, section, default), as well as some Kirki-specific arguments.

The ‘type’ argument allows you to choose one of Kirki’s 30 control types: https://kirki.org/docs/controls/

Sections

Customizer Sections allow you to group Controls together. WordPress has six built-in sections that you can add your controls too:

  • title_tagline – Site Identity
  • colors – Colors
  • header_image – Header Image
  • background_image – Background Image
  • static_front_page – Homepage Settings
  • custom_css – Additional CSS


Sections in Kirki work exactly the same as in Core, the Kirki::add_section() method is simply a wrapper for $wp_customize->add_section() and accepts the same parameters and arguments.

Kirki::add_section( 'section_id', array( 'title' => esc_html__( 'My Section', 'kirki' ), 'description' => esc_html__( 'My section description.', 'kirki' ), ) ); Panels

Panels allow you to create another level of hierarchy by grouping Sections together. WordPress Core has one built-in panel, which is ‘Menus’.

Again, the Kirki implementation is simply a wrapper for the Core functionality.

Kirki::add_panel( 'panel_id', array( 'priority' => 10, 'title' => esc_html__( 'My Panel', 'kirki' ), 'description' => esc_html__( 'My panel description', 'kirki' ), ) ); ‘transport’ => ‘auto’

Traditionally when creating Customizer Controls you have two options for the transport argument:

  • Refresh – Each time the user makes a change the preview pane is refreshed to show the changes. This can take a couple of seconds.
  • postMessage – Each time the user makes a change the preview pane is updated using Javascript which doesn’t require a refresh and is near-instant.

postMessage is undoubtedly the superior method for updating the previewer and should be used where possible. However, there is one downside, using postMessage means you need to create write custom JS code for each of your controls. A simple implementation looks something like this:

// Update the site title in real time... wp.customize( 'blogname', function( value ) { value.bind( function( newval ) { $( '#site-title a' ).html( newval ); } ); } );

When you have a lot of settings, this can quickly become repetitive.

This is where Kirki shines, it adds a third option: ‘transport’ => ‘auto’.

‘transport’ => ‘auto’ works together with another argument Kirki adds named ‘output’. When both values are defined, Kirki will auto-generate the postMessage scripts for you. Which means you get all the benefits of using postMessage without having to write any of the Javascript code.

A field using transport => ‘auto’ looks like this:

Kirki::add_field( ‘config_id’, array( 'type' => 'color', 'settings' => 'color_setting_hex', 'label' => __( 'Color Control', 'kirki' ), 'section' => ‘colors’, 'default' => '#0088CC', 'transport' => 'auto', 'output' => array( array( 'element' => 'body', 'property' => 'background-color', ), ), ) );

This time-saving feature of Kirki means that most of the time you will no longer need to write or enqueue your own postMessage scripts.

Frontend CSS Output

Another part of creating Customizer settings is generating the CSS output on the frontend. A simple example might look like this:

/** * Output the Customizer CSS to wp_head */ function wptavern_customizer_css() { $bg_color = get_theme_mod( 'color_setting_hex' ); ?> <style> body { background-color: <?php echo sanitize_hex_color( $bg_color ); ?>; } </style> <?php } add_action( 'wp_head', wptavern_customizer_css );

Like the postMessage example, writing this code can quickly become repetitive if you have a lot of settings.

Fortunately, ‘transport’ => ‘auto’ takes care of the frontend output for you too. Even in our simplified example, ‘transport’ => ‘auto’ has reduced the code we need to write by ~50%.

Conclusion

In this article, we’ve looked at just the basics of the Kirki Framework and two of its arguments, already we can see how it allows us to create Customizer Controls faster and without compromising on performance.

When you dive into Kirki you will quickly discover the wealth of functionality it adds on top of the Customize API. It’s no surprise that it’s in use on over 300,000 websites and a core part of some of the biggest WordPress themes on the market.

WPTavern: Proposal to Auto-Update Old Versions of WordPress to 4.7 Sparks Heated Debate

Wordpress Planet - Fri, 08/09/2019 - 05:24

WordPress contributors, developers, and community members are currently debating a proposal to would implement a new policy regarding security support for older versions. The discussion began last week when security team lead Jake Spurlock asked for feedback on different approaches to backporting security fixes to older versions. Following up on this discussion, Ian Dunn, a full-time contributor to WordPress core, sponsored by Automattic, has published a proposal for moving forward with a new policy:

Support the latest 6 versions, and auto-update unsupported sites to the oldest supported version.

That would mean that the currently supported versions would be 4.7 – 5.2, and the 3.7 – 4.6 branches would eventually be auto-updated to 4.7.

In practice, that’d provide roughly 2 years of support for each branch, and roughly 10% of current sites would eventually be auto-updated to 4.7. Once 5.3 is released, the oldest supported version would be become 4.8.

Dunn outlined a detailed plan for implementing the new policy that involves testing a small subset of sites to identify problems before gradually updating older sites from one major version to the next (not all at once). Site administrators would be notified at least 30 days prior to the automatic updates with emails and notices in the admin that would also offer the opportunity to opt out.

The proposal has received dozens of comments, with some contributors in support, some in favor of modifications to the rollout, and others who are unequivocally opposed to the idea of auto-updating old sites to major versions.

One of the prevailing concerns is that many admins will not receive any notice due to non-functioning email addresses or not logging into their admin dashboards frequently enough. Opponents also contend that even though there are fallbacks for sites that fail to upgrade, some sites may be broken in a way that WordPress cannot detect, due to problems with plugins or themes.

“A back-end notice will not even begin to make up for the lack of reliable email communication,” Glenn Messersmith said. “There are tons of site owners who never venture into the back-end once their site has been developed. These are the very people who will not get email notifications either because the email address is that of some long gone developer.

“There is no way any sort of error detection can act as a safety net for those who never saw any notifications. There are all sorts of ways that a site owner might consider their site to be ‘broken’ which an update script could not possibly detect.”

In response to concerns about abandoned sites breaking or administrators relying heavily on a plugin that has been abandoned, Dunn agreed that these types of situations may be unavoidable under the current proposal.

“I can definitely sympathize with that situation, but we have to draw the line somewhere,” Dunn said. “We don’t have unlimited resources, and the current policy has damaging effects for the entire WordPress ecosystem.

“In reality, choices are never between a purely good thing and a purely bad thing; they’re always between competing tradeoffs.

“I definitely agree that it’s bad if a small number of site owner have to do extra work to upgrade their site, but in the grand scheme of things, that’s much, much better than having our security team be hindered by an extremely onerous support policy.”

Proposal Author Claims “Nobody Would be Forced to Update;” Opponents Argue that Requiring Users to Opt Out is Not Consent

In addition to the problem of possibly breaking sites, those opposed to the proposal are not on board with WordPress forcing an update without getting explicit consent from site administrators. Providing users a way to opt into automatic updates for major core releases is one of the nine projects that Matt Mullenweg had identified for working on in 2019. However, the plan for this proposal is more aggressive in that it would require site owners on the 3.7 – 4.6 branches to opt out if they do not want to be incrementally auto-updated to 4.7.

“They still retain agency no matter what, nobody would be forced to update, everybody retains control over their site and can opt-out if they want to,” Dunn said. “Something being on by default is very different from forcing somebody to do something. We would make it very easy to opt out — just install a plugin, no config required — and the instructions for opting out would be included in every email and admin notice.”

Dunn further clarified in a comment regarding who would receive these updates:

Nobody would be forced, it would instead be an opt-out process. If someone has already disabled auto-updates to major versions, that would be respected and their site would not be updated.

If someone clicked the opt-out link in the email, or if they clicked the opt-out button in the admin notice, then the updates would also be disabled.

The only people who would receive the updates are the ones who:

1) Want the update
2) Don’t care
3) Have abandoned their sites or email accounts

Several participants in the discussion asked why the process of getting these sites on 4.7 cannot be opt-in for consent, instead of forcing the update on those who don’t opt out. No matter how convenient the opt-out mechanism is, having one in place doesn’t constitute consent. Many site owners who will be forced into this process thought they would be safe in opting for maintenance and security updates and leaving their sites to perform “updates while you sleep,” as the 3.7 release post described the feature.

“Insecure sites are bad, but arguably, retrospectively enlarging the power granted to oneself by this mechanism is worse,” UpdraftPlus creator David Anderson said. “Potentially it could damage trust + reputation more than insecurity. I’d argue that huge dashboard ugly, irremovable notices on older versions warning of upcoming abandonment + the need to update would be better. Let the site owner take responsibility. Don’t play nanny, abuse trust, break sites and then write blog posts about how it was necessary collateral damage. Nobody who wakes up to a broken site will be happy with that.”

Andrew Nacin, WordPress 3.7 release lead and co-author of WordPress’ automatic background updates feature, encouraged those behind the proposal to clarify that WordPress only supports the latest major version and has never officially supported older versions.

“It takes a lot of work, for sure, to backport,” Nacin said. “But we should still stick to our north star, which is that WordPress is backwards compatible from version to version, that WordPress users shouldn’t need to worry about what version they are running, and that we should just keep sites up to date if we are able.”

Nacin offered more context on the original strategy for introducing automatic updates, which included gradually moving to having major releases as auto updates so all sites would eventually be on the latest version:

First, when we first released automatic background updates, we thought that our next big push would be to get to major release auto updates in the next few years. In practice, we can do this at any time, and, indeed, 3.7 supported this as a flag. But the idea was we would invest energy in sandboxing, whitescreen protection, improving our rollback functionality, etc., so our success rate was as high for major versions as it was for minor versions. (The failure rate scales somewhat linearly with the number of files that need to be copied over, and also gets more complex when files need to be added, rather than just changed.) Once we did this, we’d simply start updating all sites to the latest version and stop backporting. Obviously we still haven’t gotten here.

He commented that overall the proposal is “a great plan” but emphasized the benefits of communicating to users that it is safe to update and that WordPress only intends to support the latest version.

Most participants in the discussion are in favor of the security team discontinuing backporting fixes to older versions of WordPress. The question that remains unanswered for opponents is why is it WordPress’ responsibility to force older sites to update.

“I don’t think it should be WordPress’ decision to update sites that they don’t manage to major/breaking versions, but I think maintaining those branches should be stopped,” Will Stocks said. “You (WordPress) don’t own the infrastructure or business processes, or understand the support in place to manage those sites. There is also a reason those sites are still on that version today and have not upgraded past.”

There are other approaches that can still draw a line to respect the security team’s limited resources without forcing any non-consensual updates to major versions. Rachel Cherry, director of WPCampus, commented on the proposal, strongly urging WordPress to establish consent before updating these sites:

We are getting into the weeds of whether or not forced updates will cause tech issues and missing the real problem altogether.

We are discussing force updating people’s software when they have not given consent.

And for what end? What is the real problem here? Because we don’t want to worry about updating old versions?

There are other ways to solve this problem.

We can make a clear policy regarding EOL support for releases.

We can add a setting to core that lets the user choose whether or not they want auto updates and going forward that is the decision maker. Then we have consent.

We can work on education and communication regarding updates.

We can email people that their site is outdated and insecure and they should update ASAP, along with links to education and best practices. If they still need help, encourage them to reach out to a professional.

We can fix this problem for going forward, but we do not have implied retroactive consent just because we never put a permission mechanism in place.

If someone didn’t update their site, they did so for a reason. Or indifference. Either way, we have no right to go in like this and modify people’s websites.

Participants in the discussion are still wrestling with the potential implications of the proposed policy change. Minor updates have proven to be very reliable as auto-updates. Dunn reported that the 3.7.29 auto-update had only one failure that had to be rolled back to 3.7.28. Using the auto update system to push major updates to sites as old as these has not yet been thoroughly tested.

“Whether or not we do auto-update the 3.7 -> 5.x releases, I fully support making it clear that this is something we expect to start doing for the future (5.x -> x.x+),” Jeremy Felt commented on the proposal. “The work on testing infrastructure and code to support this should absolutely be done either way.” Felt also said he appreciated the staggered rollout scheduling for the proposed releases as well as the plan to provide an officially supported plugin for disabling auto-updates.

Discussion is still open on the proposal, but so far there seems to be a fundamental disagreement among participants about whether WordPress has the right to force major version updates without explicit consent, even if it is with the intention of saving site owners from potentially getting hacked.

“One thing is for sure, it appears to be a majority concern so far, while many of us are fond of these noble intentions, I’m just not so sure being the benevolent overlord of the Internet is a good image for WP moving forward,” plugin developer Philip Ingram said.

WPTavern: Jetpack 7.6 Improves AMP Compatibility, Adds Preview and Upgrade Nudge for Blocks Only Available on Paid Plans

Wordpress Planet - Thu, 08/08/2019 - 04:14

Jetpack 7.6 was released this week with several improvements to the plugin’s AMP compatibility. Automattic was one of the earliest publishing partners on Google’s AMP project, as well as the original author of the official AMP plugin for WordPress. This release makes three more Jetpack features compatible with AMP:

  • Related Posts now display on AMP views.
  • AMP images are now rendered via Jetpack’s image CDN if the module is active.
  • AMP plugin is now capable of styling the Jetpack sharing buttons, without loading any additional CSS.

More AMP compatibility improvements are planned for the 7.7 milestone, including AMP support for the WordAds block.

Version 7.6 also fixes a security vulnerability in the Simple Payments description output. This fix only affects those who have Premium or Professional plans and are using the Simple Payments button to sell products or collect donations.

Jetpack is Beta Testing a Preview and Upgrade Nudge for Blocks Only Available on Paid Plans

Jetpack is testing a new way of marketing its Paid plans inside the block editor. One of the more interesting additions to this release is that the plugin now allows for the insertion and preview of any Jetpack block in the editor, even if the block is only available via a Paid plan. Although it was included as part of the 7.6 release, it look like it’s currently only active for sites that have enabled beta testing.

The first iteration was merged as a generic solution that can be extended for all premium blocks but it currently only applies to the Simple Payments block. Prior to this update, users on the free and personal plans would not see the Simple Payments block in the block inserter. This change adds the Simple Payments block to the list of available blocks and allows users to insert and preview it. The block will not show up on the frontend unless the user upgrades.

Clicking on the upgrade nudge takes the user to the checkout with the plan pre-selected and then drops them back to the editor after they purchase the required plan for using the block. After the initial implementation with the Simple Payments block, the Jetpack team plans to do the same for the Recurring Payments, VideoPress, and WordAds blocks.

It’s easy to see why this controversial addition to the plugin was omitted from the release post. It adds new blocks for features that users cannot access without upgrading. The WordPress.org theme directory has struggled with a similar issue, which Justin Tadlock characterized as “crippleware,” where certain features are locked away behind upsells.

If Jetpack’s implementation catches on and other plugins follow suit, it could cause the block inserter to become a frustrating minefield. Users select from existing blocks, not knowing if the blocks they are inserting require a paid upgrade until the upsell pops into the editor. This is one block editor marketing tactic worth keeping an eye on as Jetpack rolls it out for more of its blocks that are restricted to Paid plans.

WPTavern: EditorsKit 1.9 Introduces Block Styles, Utility Classes, and Full Height Editor Screen

Wordpress Planet - Wed, 08/07/2019 - 19:36

EditorsKit 1.9 was released this week with a new Block Styling feature for the image and cover blocks. It allows users to change these blocks to be displayed as circular, diagonal, inverted diagonal, rounded corners, or with a shadow. It also adds a “full screen height” display option to the Advanced block settings panel. This makes it easy to turn the Cover, Image, and Media & Text blocks into a hero section.

Jeffrey Carandang, the plugin’s author, has also added a full height toggle option to the editor screen. It makes the editor’s minimum height match the browser’s viewport so that metaboxes are not in view until the user scrolls down. This creates a cleaner interface when creating new posts and pages. It is also optional, so it doesn’t exclude sites where the content added to the metaboxes is more important than the main posting area.

Version 1.9 introduces a feature called Utility Classes to the Advanced CSS Class(es) option. The classes can be removed in one click from the selected block and the preview instantly updates to reflect the change. It also includes auto-suggestion for classnames so they can be easily re-applied.

Carandang shared sample code for how theme developers can add their own utility classes using a custom PHP filter. This makes it more extensible but seems unlikely to that theme authors would go to the trouble, given the plugin’s relatively small user base at the moment.

He is working on improving interoperability with other plugins in the ecosystem by adding filters for plugin and theme developers to make better use of EditorsKit. He also continues to add tweaks and improvements for those using Jetpack, Block Lab, the Genesis Framework, CoBlocks, Thrive Comments, ACF, and other popular third party extensions.

Carandang launched EditorsKit on Product Hunt where new users are discovering the plugin for the first time. He also set up a new “frontenberg style” live demo that lets users test EditorsKit features on the frontend of the site. Demo sites like this are a good way to market Gutenberg blocks, making it convenient for users who would otherwise have to install the plugin on their own test sites.

“My main objective is for EditorsKit to be known in the community,” he said. “I feel like it’s really solid plugin and I need to reach more people. With tons of blocks plugin available, utility plugins like EditorsKit are being left out.”

Although Carandang has no plans to release a pro version of EditorsKit at the moment, he has considered creating commercial extensions for it in the future. Marketing a utility plugin has so far proven to be more of a challenge than plugins that offer custom blocks.

There was some discussion in the EditorsKit community on Facebook about recent EditorsKit features straying into the design aspect of site building. While the new Block Styling options may be a useful for some users, custom shapes and layouts straddle the line between design and editing features. It seems like a slight departure from the more utilitarian editor features the plugin became know for, such as markdown formatting, block visibility, drag-and-drop import/export, and the ability to disable auto-saving.

Carandang may need to tread carefully to keep the plugin from becoming a catch-all drawer of “features that would be nice to have for Gutenberg,” for the sake of marketing it more effectively.

“I don’t plan on adding design utility classes,” he said. “Just padding, margin and flexbox. The rest should be from the theme. I’m planning to help out theme devs that will support EditorsKit with the integration. I don’t want the plugin file to be huge and filled with CSS for design. My goal is still Gutenberg Editor Toolkit.”

A loose EditorsKit roadmap is public with upcoming features outlined in issues on the plugin’s GitHub repo. Most of of those listed seem more aligned with editing than design, so future versions of the plugin likely will not bloat the plugin with too many design-related block settings panels.

Smart admin

Drupal Themes - Wed, 08/07/2019 - 06:41

Base on smart admin theme for Drupal theme.

Shoppe Zymphones Theme

Drupal Themes - Wed, 08/07/2019 - 06:26

Shoppe Zymphones Theme is a powerful, dynamic and highly customized Drupal 8 multipurpose e-commerce theme. The theme has limitless possibilities to create your online store unique and beautiful. This theme is fully compatible with Drupal eCommerce 'Commerce' module. Read more

Live Demo Advanced Themes

Features
  • Drupal 8 core
  • Bootstrap v4
  • Mobile-first theme
  • Client list
  • Social media links
  • Included Sass & Compass source file
  • Well organized Sass code
  • Custom slider - Unlimited image upload
  • Home page layouts
    • 4 column news layout
    • 4 column updates layout
    • 4 column bottom layout
    • 4 column footer layout
Most installed Zymphonies theme Contact Zymphonies

Have Queries? Click here to contact Zymphonies

  • Free theme customization & additional features
  • Drupal custom theme development
  • Drupal website design & development
  • Drupal website migration

Sponsored by Zymphonies

WPTavern: WordCamp Long Beach to Debut a “Future of WordPress” Track

Wordpress Planet - Tue, 08/06/2019 - 23:28

The first-ever WordCamp Long Beach is happening October 5-6 at the Pointe Conference Center at Walter Pyramid (CSULB). Organizers are planning to host practical, skill-building talks and panels, abstract discussions, and networking events at locally-owned eateries. The event will be the only WordCamp happening in Los Angeles county this year.

Last week organizers opened the call for speakers and announced a new concept for the schedule. Saturday’s program will include two traditional tracks, one geared towards users and another towards professionals. Sunday will feature a “Future of WordPress” track with more philosophical/concept style presentations focused around the topic.

“This concept was inspired by the desire to have some ‘bigger’ conversations about WordPress, its place in the web/tech ecosystem, and where WordPress is headed,” co-organizer Sé Reed said. As a former WordPress Growth Council member, Reed has a special interest in facilitating discussions on these ideas.

“These topics come up occasionally, like with the WP Council/Advisory Board and the WP Governance Project, but they always seems to be relegated to a side conversation,” Reed said. “We need to be having these conversations openly and honestly, as a community. The future of WordPress is a big issue that affects everyone who works with WordPress.

“Since there doesn’t seem to be a place where these conversations are put front-and-center, I suggested we do it at our camp, which just so happens to be one month before WCUS.”

WordCamp Long Beach’s Call for Speakers post include a few sample topics to inspire potential applicants:

  • Internal Governance (WP Project)
  • External Governance (WP, WC3, GDPR, other acronyms)
  • Accessibility
  • The Future of WordPress
  • Future of the Web (technology, standards)
  • The WordPress Community
  • Backwards compatibility
  • WordPress’ impact on the open web
  • Third parties, browsers, operating systems, etc.

These are the types of big picture presentations that you rarely see at smaller WordCamps. They are usually sprinkled in with other topics at larger camps, so having an entire track dedicated to the Future of WordPress is a unique opportunity for attendees to join in these important conversations.

WordCamp Long Beach has space for a total of 250 attendees. Although it is the only camp happening in the county this year, the area has a strong group of local meetups throughout.

“We are lucky to have a really large number of active meetup groups spread through the county, so even though we are based in Long Beach, we are representing more than just our local meetup.”

Speaker applications are open to anyone, regardless of speaking experience. Each presentation should be 30-40 minutes in length, and applicants can also propose a workshop or panel. Applications will be open through August 23, 2019.

Drupal Diversity: Angelica

Drupal Themes - Tue, 08/06/2019 - 21:03
Introduction

Coming soon!

Get involved! Join our channel on Drupal Slack: #ddi-contrib-team!

We welcome folks of all levels of Drupal experience, particularly those from under-represented or marginalized groups. We are finding ways to give commit credits to folks working in all skill sets, including non-code-focused work.

Here's our meeting schedule.

More information

Learn more about Drupal Diversity & Inclusion at our Drupal.org project.

WPTavern: O’Reilly Partners with Netlify to Publish Free E-Book: Modern Web Development on the JAMstack

Wordpress Planet - Tue, 08/06/2019 - 18:54

If you are following the JAMstack (JavaScript, APIs, and markup) craze and want to learn more about the history and best practices of the architecture, O’Reilly has published a short book called Modern Web Development on the JAMstack that is now available as a free download. Netlify CEO Mathias Biilmann, who coined the term “JAMstack” and pioneered hosting for it, co-authored the book with Phil Hawksworth, Netlify’s principal developer advocate, with contributions from other engineers at the company.

In the introduction, they describe the JAMstack movement as a rare shift in the tech landscape that “delivers a productivity boost for developers and a large performance boost for users.” They also see it as a more efficient way of building a secure and stable websites that will advance the open web.

We’ve seen firsthand how the JAMstack improves the experience for both users and developers. Most importantly, we’ve seen how increases in site speed, site reliability, and developer productivity can contribute to the continued health and viability of the open web.

The book is an important read, not only for those exploring JAMstack architecture but also for getting an outside perspective on the kinds of problems that the WordPress ecosystem needs to solve. The authors describe WordPress and other CMS’s as monolithic apps, referencing security and performance concerns. The introduction summarizes many of the problems that professionals are routinely paid to solve when managing and scaling WordPress websites:

For nearly three decades, the developer community has explored ways to make the web easier and faster to develop, more capable, more performant, and more secure. At times, though, the effort has seemed to trade one goal for another. WordPress, for example, became a revolution in making content easier to author—but anyone who’s scaled a high-traffic WordPress site knows it also brings a whole set of new challenges in performance and security. Trading the simplicity of HTML files for database-powered content means facing the very real threats that sites might crash as they become popular or are hacked when nobody is watching closely.

And dynamically transforming content into HTML—each and every time it’s requested—takes quite a few compute cycles. To mitigate all the overhead, many web stacks have introduced intricate and clever caching schemes at almost every level, from the database on up. But these complex setups have often made the development process feel cumbersome and fragile. It can be difficult to get any work done on a site when you can’t get it running and testable on your own laptop. (Trust us, we know.)

Biilmann and his co-authors have kept to the more general concepts and technical details of how JAMstack architecture differs from other, more traditional stacks. JAMstack does not prescribe any specific frameworks or tools but is rather a diverse and growing ecosystem. The authors see it as “a movement, a community collection of best practices and workflows that result in high-speed websites that are a pleasure to work on.”

The book covers topics like the benefits of atomic deployments, end-to-end version control, choosing a site generator, and the variety of automation and tooling available. It suggests a few ways of handling some of the more challenging additions to static sites, such as forms, search, notifications, and identity.

Modern Web Development on the JAMstack concludes with a case study on how Smashing Magazine moved its publication from a WordPress site with thousands of articles, 200,000+ comments, and an attached Shopify store, to a new JAMstack setup. The detailed breakdown of the migration provides an interesting look at one solution to the challenges of publishing at scale. These are the kinds of architectural concerns that the WordPress ecosystem needs to continue to address and simplify for the next generation of developers.

The 127-page PDF is available for free and an EPUB version is expected sometime this week.

WPTavern: WordPress Explores Forming a Nomination-Based Advisory Board

Wordpress Planet - Mon, 08/05/2019 - 22:33

WordPress contributors are weighing in on a proposal for the formation of a nomination-based advisory board with set term limits for its members. Josepha Haden, the project’s Executive Director, published a first draft two weeks ago with ideas for how the board might operate and feedback is rolling in.

WordPress experimented with a growth council three years ago that Haden said was disbanded in December 2018 due to logistics and too much analysis causing paralyzed decision-making. The proposed advisory board would exist to provide “information on industry trends and risks as well as non-binding strategic advice to the Project Lead and Executive Director.”

“I am not proposing that this group would function as a final-say, decision-making body for the WordPress project,” Haden said. “It should serve as a collection of bright, insightful people who have contact with clients and end-users of WordPress. This removes the ‘analysis paralysis’ challenge that the growth councils faced.”

Haden proposed that WordPress use a traditional board process of nomination and self-nomination to form the group, where existing members would select candidates from nominees. Previous members of the growth council would be invited to be part of the first iteration of the Advisory Board with a 12-month term. New members would be incorporated in 2020 with an emphasis on creating a diverse group of advisors. Haden plans to publish a list of previous members of the growth council.

“At the moment, I find that I’m hovering around 12-15 to allow for as many clear subsets of our community/users as possible,” Haden said when asked how many people would be on the advisory board.

Advisory Board Proposal Discussion Surfaces Concerns Regarding its Impact, Diversity, and Corporate Influence

The proposal has so far garnered support and positive feedback, but some participants in the discussion have questioned the impact of an advisory board that lacks any decision-making capability. The structure is not like a Board of Directors where members have authority to vote on matters and bear legal responsibilities. Board members may become frustrated if their advice has no real impact on important project decisions.

“My eyebrows raised at the specific inclusion of the phrase ‘non-binding strategic advice to the Project Lead’ as a way of essentially giving (before the board starts) a feel that this might be just more of the same, where we in the community are asked for our opinion, but then fairly routinely feel ignored or condescended to by the project lead,’ WordPress developer Ben Meredith commented the proposal.

“So my main concern would be how this is going to be different? At the end of the day, it’s still Matt’s party, and he can do what he wishes. I’d love to see true governance here, where Matt submits a bit more officially to the board.”

Others are concerned about balancing the diversity of the board using a nomination process, although Haden said she reserves the right to invite nominees for diversity and representation purposes. WordPress developer Pat Lockley suggested board members be paid in order to prevent them from trying to gain economically from their position. One byproduct of having unpaid board members is that participation might then exclude those who cannot afford to offer their time without compensation.

Several participants in the discussion advocated for the inclusion of people representing users who are not enterprise or industry professionals. If the first iteration of the Advisory Board is comprised of former members of the Growth Council, it’s possible that the board’s advice would be skewed towards corporate interests, since it was originally formed for the purpose of marketing WordPress against direct competitors.

“I think we could do a lot to figure out a roadmap for countering this huge marketing spending being directed against us, because we are the big guy here,” Mullenweg said when first floating the idea of the Growth Council during his WordSesh talk in 2016. “We are the 26% and they are like a 1%. But even though they’re smaller, they might be cannibalizing some of the most valuable aspects of the WordPress customer base.”

Sé Reed, one of the members of the Growth Council, said that she and at least one other member were not representing a corporate interest. Overall, the council’s focus was “truly was on the WP Project as a whole, and not focused on the needs of any individual company.” She reported that conversations were open and everyone seemed to be personally passionate about the project and willing to share information. The breakdown was in the execution of their plans and decisions.

“Unfortunately, and possibly because of the obscured profile, the conversations and actions we attempted to take didn’t really go anywhere within the project,” Reed said. “The entire council was frustrated by this. It’s possible that some of those conversations were integrated into the strategies of some of the companies represented, and I personally feel in some cases it was, but I could not say for sure.”

Reed said the general consensus was that there was “no clear path to integrate the council’s conversations into the WordPress project, and indeed not a clear role for the council within the project.” Members were able to speak candidly, knowing the conversations were confidential.

“These are important discussions to have, but when held publicly, in the Make channel for example, people can’t be, or won’t be, as frank or as honest as they would be in a confidential conversation, especially if they are representing companies,” Reed said. “That was, to my understanding, the impetus for the Advisory Board – to create a space where the difficult confidential discussions can be held, but there is also a clear and public role for the results of those discussions.”

Reed said she thinks it makes sense for the Growth Council members to be the starting Advisory Board, since the group already has a shared history and a year of conversations under their belts.

“We all feel strongly about creating a space for this type of bigger picture conversation, so we can hit the ground running,” she said. “The first members will likely set the stage for the Advisory Board’s bylaws and elections and such, and then move out of that role once that structure is in place. I think the experience of the council members will facilitate a streamlined process for this, and I think it’s a logical group to start with. It has to start somewhere if it’s going to start at all, and if it is not the Growth Council then it would have to be just Matt and Josepha deciding where the start is. And honestly, that’s just as controversial within the community as having the Growth Council do it.”

Haden proposed that the advisory board meet using video calls with high level notes published afterwards. One participant in the discussion said he would prefer full transcripts. Simon Dickson, Director of Platform Services of WordPress.com VIP at Automattic, said he would like to see some clear examples of the tasks the board might take on.

“For example, would the Project Lead or Executive Director be required to present an annual strategy to the Board, and take their questions? Could release leads be required to present a retrospective after each release? Would the Board sign off on ‘State Of The Word’ each year? Would the Board have a role in endorsing key appointments, such as the Executive Director?”

Dickson also suggested that board members be encouraged to act as representatives of the community.

“I hope Board members will be tasked with acting as representatives, bringing not only their own personal thoughts, but those of the diverse communities they come from,” he said. “They should be encouraged, perhaps even required to blog, tweet, speak and engage; and to reflect back what they hear.”

With strong user representation and more transparent communication, an advisory board has the potential to be an organization that the WordPress community can feel invested in, if their experiences and opinions are included in important conversations. If ex-Growth Council members are going to be its charter members, the group may have some challenges in assuring the community that they are representing community interests to WordPress’ Project Lead and Executive Director.

“I absolutely think users need to be represented, and I attempt to represent that viewpoint in all of my community participation, but I also think sometimes we forget that even the larger companies have invested heavily in WordPress and they have an interest in the WP Project’s success,” Reed said. “They are the face of WordPress to hundreds of thousands of users who don’t even know the community exists. For better or worse, our fates are intertwined.”

GOV.UK Theme

Drupal Themes - Sun, 08/04/2019 - 13:43

A Drupal 8 theme for the GOV.UK Design System

This theme utilises the GOV.UK FrontEnd node module and has Twig template files for the majority of the GOV.UK styles, components and patterns. In no way will this meet 100% of your requirements, but it is a good start. You will still have to create/modify Twig files to get your required look & feel.

REQUIREMENTS

* No extra module is required.
* Node.js >= V10.0 See https://nodejs.org
* Gulp >= V4.0 (optional)

INSTALLATION

* Install as usual, see https://www.drupal.org/docs/user_guide/en/extend-theme-install.html
* cd to the themes directory eg. /themes/contrib/govuk_theme
* Issue the command npm build. This will build all the required node
modules into /themes/contrib/govuk_theme/node_modules.
* Install the Gulp CLI globally with sudo npm install --global gulp-cli
* Install Gulp with npm install gulp.
* Issuing gulp by itself (or gulp build) will compile the SASS files into the css folder.
* Issuing gulp watch will watch the SASS folder and compile any changes into the css folder.

This theme includes all the CSS files so Gulp is only required if you make changes/additions to the SASS files.

CONFIGURATION

* Configuration is available in Admin > Appearance.

Demo site

Seven Dark

Drupal Themes - Sat, 08/03/2019 - 06:11

A dark version of the Seven admin theme.

WPTavern: Bootstrap Adopts New Long Term Support Plan, Moves Version 3 to End of Life

Wordpress Planet - Sat, 08/03/2019 - 04:54

Bootstrap, the most widely used open source front-end component library on the web, has adopted a new Long Term Support plan that will make the development cycle a little more predictable. From now on, each major version will receive at least six months of support after it is retired, followed by six months of critical bug fixes and security updates before transitioning to Maintenance.

The Bootstrap development team moved version 3 to end of life this week and plans to move version 4 to LTS after releasing v4.4. LTS versions will generally not get new features but may still receive bug fixes, security updates, and documentation updates.

Meanwhile, version 5 is currently under active development and its initial release date has not yet been set.

BuiltWith ranks Bootstrap as the most popular technology among design frameworks in use across the internet. HTML5 Boilerplate, the next most popular, has roughly a third of Bootstrap’s market share. According to W3Techs, Bootstrap.js is used by 25.4% of all the websites whose JavaScript library it can detect, an estimated 19.3% of all websites.

Hundreds of WordPress plugins and themes implement Bootstrap in one way or another. Depending on how they include the framework and which versions they support, developers will want to note the changes with Bootstrap’s new LTS plan. It provides a definitive guide to the development life cycle, helping those in the surrounding ecosystem make better decisions about which versions to support in their projects and how long. The LTS dates are not set in stone but Bootstrap’s development team said they are working on strengthening timeline assurances.

Pages