Wordpress News

WPTavern: WordPress 5.3 Improves Large Image Handling

Wordpress Planet - Thu, 10/10/2019 - 19:46

WordPress 5.3 Beta 3 was released this week and RC 1 is right around the corner, expected October 15. Core contributors have been publishing developer notes on new features landing in this release. One exciting enhancement that hasn’t received much attention yet is WordPress’ updated handling of large images.

Many WordPress users don’t consider the size of the images they are uploading to their sites, and modern smartphones are capable of producing very high quality images at very large file sizes. WordPress 5.3 will automatically detect large images (with a default threshold of 2560px) and generate a “web-optimized maximum size.” The threshold is used as the max-height and max-width value to scale down the image for use as the largest available size. A new big_image_size_threshold filter is available for developers who want to change the threshold size or disable the new feature altogether.

WordPress will store the original image size so that it is still accessible and a new function is available for fetching its path: wp_get_original_image_path(). It is also used to generate all the image sub-sizes.

More than two million WordPress users rely on plugins like Imsanity, Smushit, and EWWW Image Optimizer to optimize images. They often include additional features for bulk resizing previously uploaded images. WordPress’ new large image handling should not interfere with image optimization plugins, because it doesn’t affect the default settings that they often hook into and use to perform additional optimizations. The new core enhancement may be suitable to replace these plugins for some users who only require the bare minimum optimization on upload.

WPTavern: MachoThemes, Modula Parent Company, Acquires Three Gallery Plugins

Wordpress Planet - Thu, 10/10/2019 - 19:21

MachoThemes, the WordPress development company behind the Modula Gallery plugin, has acquired three gallery plugins. The company is currently rolling the first two of the plugins, Final Tiles Grid Gallery Lite and PhotoBlocks Grid Gallery, into Modula. The third plugin, EverLightbox, will remain as a standalone project.

The three plugins were purchased from Diego Imbriani of GreenTreeLabs. This was not MachoThemes’ first acquisition from Imbriani. They acquired the original Modula plugin from him over two years ago. From there, they grew the user base and continued developing the plugin.

At this time, the exact details of the financial terms are not available to the public, but the transaction was in the range of low-to-mid 5-figures.

The acquisition is a part of MachoThemes’ growth strategy for building a larger audience for their Modula plugin, which currently has over 60,000 active installations. “We liked their feature set, their quirkiness, and overall what they stand for,” said MachoThemes owner Christian Raiber of the reasons behind the acquisition.

The merge of Final Tiles and PhotoBlocks affects over 34,000 plugin users. MachoThemes does not plan to continue supporting or developing them as individual plugins.

The team is in the process of building a migration script to allow users to bring their existing galleries over to the Modula plugin. It is important that users migrate to Modula or another option because unsupported versions of their current plugins may not work in the future.

Both plugins are similar to Modula by allowing users to create a gallery separately from the primary post content screen. However, the user interface and experience between all three plugins are nothing alike. Merging the plugins into Modula means that MachoThemes can work on a single interface and experience for users.

Users may be worried about losing features when migrating to a new plugin. “Most of these options already exist in Modula, under a different name, setting or otherwise paid extension,” said Raiber. “There are a few interesting options in these plugins indeed, and they’ve already sparked new ideas for the team to experiment with.”

Raiber said his company would reach out to users. “We’ll have videos, doc entries, and a dedicated page on wp-modula.com,” he said of the transition. The company plans to keep the plugins available for the next six months but may extend that period depending on how the transition for users is going.

The EverLightbox plugin will remain separate for those who want a lightbox feature for the standard WordPress galleries but not a full gallery-editing plugin. “We will continue to support the plugin and work hard to ensure that all users have a smooth-sailing experience with the plugin just as we have been for all of the plugins we’ve been building,” said Raiber.

The company plans to continue developing and supporting EverLightbox for the long term.

WPTavern: ExpressionEngine Under New Ownership, Will Remain Open Source for Now

Wordpress Planet - Wed, 10/09/2019 - 23:11

EllisLab founder Rick Ellis announced yesterday that ExpressionEngine has been acquired by Packet Tide, the parent company of EEHarbor, one of the most successful EE add-on providers and development agencies in the community. A year ago EllisLab, the developers of EE core, was acquired by Digital Locations but Ellis said the company ended up not being a good fit for the future of the CMS:

A year ago, EllisLab was acquired by Digital Locations in order to facilitate the transition of ExpressionEngine from a commercial software application to an open source one. That transition was successful, but it became apparent in recent months that ExpressionEngine didn’t fit perfectly within the goals of Digital Locations, as it seeks to build a business in Artificial Intelligence.

We decided that what was best for ExpressionEngine was to seek a new owner, one that could devote all the resources necessary for ExpressionEngine to flourish.

In November 2018, EE went open source, adopting the Apache License Version 2.0, after 16 years of being locked down under restrictive licensing. EE’s dwindling community of product developers and site builders were hopeful that the new open source licensing would expand EE’s reach and bring back developers who had migrated to alternatives like Craft.

After the acquisition announcement, the EE community was concerned whether or not it will remain free and open source. Although the software’s homepage sports the tagline “The Open-Source CMS that supports YOU all the way,” EE’s new owners have left the option open for reconsidering its licensing further down the road. They plan to stick with the open source license for the time being. When asked directly in the EE Slack, EE Harbor developer Tom Jaeger said, “That is our plan for now, although at this stage we’re looking at everything with a fresh eye towards what’s best.” The company has published a list of FAQs with the same information.

Brian Litzinger, a developer at BoldMinded, who has created more than 36 add-ons for EE, and is also on the EECA (ExpressionEngine Community Association) board that organizes EEConf, said he has confirmed that EEHarbor plans to keep the CMS open source.

“The board spoke to new ownership just today actually, and they have every intention of keeping it open source,” Litzinger said. “I can’t speak for the whole community, but since going open source my add-on sales have not significantly increased or decreased.

“As with any open source project there has been feedback and pull requests from the community, but nothing significant (e.g. large features). The community as a whole is pretty excited about the new ownership and ExpressionEngine’s future though.”

Shawn Maida, founder of Foster Made, a company that also sells ExpressionEngine add-ons, said he has not seen a significant direct change in the economics of EE since the project went open source.

“I think the real question here is what business model best enables the growth and continued support of the CMS itself, and how is that balanced against the growth of the community,” Maida said. “As a business that offers some add-ons for ExpressionEngine, we need to see both continued growth in ExpressionEngine as a platform and growth in the community, so I think the license model that best enables that matters.”

Travis Smith, president of Hop Studios, has been working with EE since its early days. As someone who is deeply invested in the EE community, he said that he doesn’t think a prospective licensing change would impact the broader community as much as having a clear vision for the CMS’s future.

“I think a licensing change per se wouldn’t be good or bad, but a well-articulated and communicated vision for the CMS’s future would be really helpful for a community that feels unsure at the moment,” Smith said.

“I do think that the exposure that going open source gave into the development process overall at EllisLab was an improvement, and that new features and bug fixes were getting added at a decent pace.”

EE may have changed its licensing to be open source but it is not a community-led project where major decisions happen by a consensus of a diverse representation of community leadership.

“I didn’t observe the community gaining (or applying?) much input or influence over the future of ExpressionEngine in the past year,” Smith said. “I think there was still a feeling of ‘EE is EllisLab’s project’ — and that this change of ownership might shake the community’s devs out of that default assumption, which would be a good thing.”

In the FAQs EEHarbor published today, the company confirmed that it will be developing new features and that it will consider feedback submitted from the community:

While we are in the early stages of long-term strategic planning, we already have a lot of thoughts and ideas around where to take ExpressionEngine based on our own experience. However, it’s not just about us. We are also very interested in collaborating with the ExpressionEngine community. Everyone is more than welcome to submit feedback for us to review as we consider the future of ExpressionEngine

After 16 years under a restrictive license, EE is an interesting example of a newly open source, corporate-led project with a community that is rediscovering its place while ownership of the software is transferred from one company to another. Responses to the acquisition are mostly positive, and users seem excited about Packet Tide’s first planned initiative – finishing development on ExpressionEngine 6.0. Ellis described this upcoming release as “an exciting new version we’ve been quietly working on behind the scenes.” It will include a new control panel with a dark theme, along with add-on and service integrations inside the app.

EEHarbor does not plan to merge its add-ons with ExpressionEngine core at this time, and the statement published today reiterates the company’s commitment to “keep the add-on marketplace fair and open to all developers.”

WPTavern: Rosa 2 Restaurant Theme Provides a Frustrating and Satisfying Experience

Wordpress Planet - Wed, 10/09/2019 - 19:47

Rosa 2 is the sequel to Pixelgrade’s best-selling theme, Rosa. The new theme re-imagines its previous incarnation in the context of the block editor (Gutenberg). I was provided a copy of the theme for free to test and provide my thoughts.

The theme sells for $75/year, or you can pay a one-time fee of $95 for lifetime access. The product launch post could make anyone excited about this theme, but is it worth it?

TLDR; Rosa 2 made for a satisfying experience when building restaurant-style pages. However, the early learning curve and basic setup were frustrating. It also lacks some of the polish I’d expect at a premium price.

A Rundown of the Issues

Before I dive into the good things about Rosa 2 (and there are some nice things about this theme), let me dive into the frustrating aspects. There were so many pain points that I nearly gave up on the theme several times. However, I soldiered on in the hopes of understanding why this theme might be worth using.

Install the Required Plugins First

Let me save you some time right now. When the theme says that it requires the Customify and Nova Blocks plugins, it truly requires them. Otherwise, the theme looks and behaves nothing like the demo or screenshots. It may as well not be the same theme.

When first activating the theme, the front page of your website will become a completely white screen. It is not the dreaded White Screen of Death caused by an error. Instead, the theme is forcibly hiding the content with custom styles.

Why? Yeah, good question.

I see no reason to do so. Outside of changing some code (which I did), users must activate the plugins to make their content appear. There is no technical reason this should be the case when using this theme.

There should be no path in which a user installs a theme only to have their content disappear.

I get it. I was told these were required plugins. The theme even provides easy installation and activation links via the TGM Plugin Activation script. I also get that WordPress lacks any sort of real dependency system for handling this feature. That doesn’t make it any less of a poor user experience.

As a developer, I thought I’d trick the system and test the theme without those plugins installed. I wanted to see what the theme looked like out of the box, which you can see in the following screenshot.

Oh, and that big block of category links in the above screenshot, it never goes away. It just sits there on your blog posts page. It is hard-coded in the posts page template (home.php). Rosa 2 is billed as a restaurant theme, so it might be acceptable if you don’t plan on running a blog.

Header and Nav Problems

The default header looks nothing like the screenshots, demo, or video for the theme. After nearly two hours of using the theme, I was ready to throw in the towel and rule this theme out as a lost cause. Not being able to get the basic nav menu set up for the theme was an exercise in self-punishment that I wouldn’t wish on anyone.

It turns out that the Nova Blocks plugin really is required. Did I mention that you should install the required plugins first?

Stretched images

On blog and archive pages, expect stretched featured images that attempt to fill out the box next to the excerpt for existing posts. There doesn’t seem to be any remedy to this outside of uploading new images.

The theme uses the standard post-thumbnail size but does not define this size in the code. For those unfamiliar with the technical aspects when using this specific size, the theme should ideally define it via the set_post_thumbnail_size() function.

Sticky header

The large sticky header gave me a gut-wrenching feeling that walls were closing in on me. I became light-headed and dizzy. I found it tough to breathe. This is not hyperbole. I’m dead serious.

On a personal note, I’ve had some issues with claustrophobia for the last couple of years. I first had this feeling after being stuck indoors for two weeks while watching over one of my cats who had surgery. I typically work from the porch where I can get fresh air, but that was one of the worst periods of my life.

Since then, I often get this same feeling when sites have large sticky headers. It feels like the walls are closing down. I wonder if others have similar issues.

This feeling could be alleviated if the theme minimized the sticky-header height while scrolling down the page. Fortunately, the theme allows users to choose a static header, which I strongly suggest using. There are some other spacing and sizing options for the header area, which can help shrink some of this down.

Where the Theme Shines

If there is one thing this theme does well, it is making it simple to create pages for a restaurant via the Nova Blocks plugin. Within minutes of creating a custom page, I had a restaurant-style page set up and ready to go.

When coupled with Nova Blocks, the theme beautifully handles the process of creating custom pages with numerous unique outcomes. The integration with the plugin is brilliant. Each block has custom demo content that you can easily modify.

Some of the names of the blocks and block options were cutesy and fun, such as “Hero of the Galaxy,” but they became a slight nuisance when wanting to quickly figure out the purpose of a block. I could see some users becoming annoyed at the names, and they might not be ideal for some professional settings. They were kind of fun though. I have mixed feelings about them.

How Does the Theme Handle Gutenberg?

Rosa 2 is a theme primarily built for the block editor. It wonderfully handled core block output in my tests.

When using Gutenberg-ready themes, I view the pullquote block as sort of the theme designer’s signature. It is one of those blocks where designers can have a lot of fun and put a unique spin on the display. I’m a fan of the pullquote style in this theme (pictured above).

On the whole, it works well. When coupled with Nova Blocks, you have a lot of power at your disposal.

How Does the Code Stack Up?

Rosa 2 is lightweight in terms of custom code. Nearly all of the functionality is within the accompanying plugins. Because this is a theme review, I didn’t dive into the plugin code.

From a purely technical standpoint, the theme does most things according to standards.

There are some things I’d change from an architectural standpoint. For example, the file for its Customify plugin integration is over 1,100 lines of code. I would break that down to more digestible bits, which would help with long-term maintenance and bug hunting.

Some of the editor-related JavaScript code could be more efficient. Repeated patterns should be grouped together to make the code smaller. The editor JavaScript file is not large, but every byte counts in a world where developers assume everyone is running on Gigabit internet connections.

The primary stylesheet is 173 kb, which is OMGBBQ large, especially when you top it off with 100s of kb coming from the stylesheets and scripts loaded by Nova Blocks plugin. Unless you’re a user who is heavily optimizing your site, you can count on some slow page loads.

The Final Verdict

I’d only recommend this theme to people who have more patience than me. While I didn’t follow instructions right off the bat (as a reviewer, I’m trying to push limits and break things), the theme did have some pain points that simply made for a frustrating process.

I’m in the camp of people who believes themes should work out of the box. This theme doesn’t work without some setup. You’ll need to put in some legwork to get it going. However, once you make it over the initial hump, you can build some beautiful page layouts.

I suggest using it strictly for its defined purpose of building a restaurant website. The typography is designed well enough for blogging, but the overall theme isn’t well-suited to it.

WordPress.org blog: WordPress 5.3 Beta 3

Wordpress Planet - Tue, 10/08/2019 - 20:58

WordPress 5.3 Beta 3 is now available!

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site to play with the new version.

You can test the WordPress 5.3 beta in two ways:

WordPress 5.3 is slated for release on November 12, 2019, and we need your help to get there.

Thanks to the testing and feedback from everyone who tested beta 2 (and beta 1) over 60 tickets have been closed in the past week.

Some highlights
  • Fixes and enhancements in the admin interface changes introduced in previous 5.3 beta releases.
  • Wording changes in login screen (#43037).
  • Improved accessibility in media upload modal (#47149).
  • Changes in the way the new error handling with images works (#48200).
  • MediaElement.js has been updated from 4.2.6 to 4.2.13 (#46681). The script is now also being loaded in the footer again. This fixes a regression that happened two years ago, so might be worth noting (#44484).
  • Update to the REST API media endpoint to allow resuming of uploads (#47987).

In addition to these, Beta 3 landed a number of small consistency and polish changes to the REST API, including an improvement to the permissions check used when editing comments, a fix for post type controller caching edge cases, and most importantly, the ability to use the _embed parameter to access the full data for a post using the /wp/v2/search endpoint.

Developer notes

WordPress 5.3 has lots of refinements to polish the developer experience. To keep up, subscribe to the Make WordPress Core blog and pay special attention to the developer notes tag for updates on those and other changes that could affect your products.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac where you can also find a list of known bugs.

WordPress 5.3 Beta 3

Wordpress News - Tue, 10/08/2019 - 20:58

WordPress 5.3 Beta 3 is now available!

This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site to play with the new version.

You can test the WordPress 5.3 beta in two ways:

WordPress 5.3 is slated for release on November 12, 2019, and we need your help to get there.

Thanks to the testing and feedback from everyone who tested beta 2 (and beta 1) over 60 tickets have been closed in the past week.

Some highlights
  • Fixes and enhancements in the admin interface changes introduced in previous 5.3 beta releases.
  • Wording changes in login screen (#43037).
  • Improved accessibility in media upload modal (#47149).
  • Changes in the way the new error handling with images works (#48200).
  • MediaElement.js has been updated from 4.2.6 to 4.2.13 (#46681). The script is now also being loaded in the footer again. This fixes a regression that happened two years ago, so might be worth noting (#44484).
  • Update to the REST API media endpoint to allow resuming of uploads (#47987).

In addition to these, Beta 3 landed a number of small consistency and polish changes to the REST API, including an improvement to the permissions check used when editing comments, a fix for post type controller caching edge cases, and most importantly, the ability to use the _embed parameter to access the full data for a post using the /wp/v2/search endpoint.

Developer notes

WordPress 5.3 has lots of refinements to polish the developer experience. To keep up, subscribe to the Make WordPress Core blog and pay special attention to the developer notes tag for updates on those and other changes that could affect your products.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac where you can also find a list of known bugs.

WPTavern: The Evolution of Anonymity in the Internet Age

Wordpress Planet - Tue, 10/08/2019 - 19:20

As a child of the ’90s, I was growing up in one of the largest transitional periods in human history. The Internet Age was upon us.

I was born and raised in a small community in rural Alabama. The country. The backwoods. To give you an idea of how small the place was, my entire school (grades K-12) had around 800 students. While I was fortunate enough that my family could afford to travel for vacation almost every year, I mostly lived a sheltered life.

I rode bikes down the dirt road and explored neighbors’ hunting lands with my best friend in the summer. We’d get up at dawn, grab some provisions, and cycle out for the day’s adventure. We’d race old lawnmowers, build unstable treehouses, and swim in what were likely snake-infested creeks. We’d camp out under the stars. Our parents never asked where we were. As long as we showed up for supper and took a bath a few times each week to scrub the dirt off, we were generally left up to our own imaginations.

There was another aspect of growing up in the ’90s, and that was video games. At 16, I spent most of the summer in the fields picking watermelons or throwing bales of hay onto a trailer. It was hard work, but it kept me supplied with whatever video games I wanted. When not out in the wild, my best friend and I would be glued to a 19-inch television playing the Nintendo 64 (and later the Sega Dreamcast).

I lived in this somewhat country-bumpkin bubble with no idea of the outside world.

Then came the explosion of the internet. My family never had a computer at home. That left me to access this wonderful new thing during school hours or at a friend’s house.

Like pretty much every teen boy I knew at the time, the best use of the internet was logging into adult chatrooms and hoping to chat with a woman. Yeah, the average teenage boy wasn’t doing anything productive with the internet, even in the ’90s. Big surprise there. This isn’t groundbreaking news, folks. Move along.

There were other uses of chatrooms, such as finding other gamers. That’s where my original love of the internet began. I could talk to people across the world about Nintendo and Sega games. I even started getting pen-pals where we would exchange weekly emails.

At the time, there was this common saying among adults, “You don’t know who you’re talking to on that thing. It could be a fat, 40-year-old man living in his parents’ basement.” Hey, why you throwin’ shade at heavyset men? Just tell me it could be a psycho.

My parents drilled this lesson into my brain. School teachers did the same. Like my peers at the time, I was required to use a pseudonym when going online. The thought of using a real name was almost unheard of. As teens, we’d joke about the basement-dwelling bogeyman who our parents and teachers warned us against. It was all a game to us despite there being legitimate fears, particularly now that I have 20 years of hindsight at my disposal.

That’s where I came up with my username of greenshady, by the way. One day I may even tell what it means. One day. For now, I’ll keep all of you who have asked about it over the years guessing.

I used that username for years because there was always this little voice in the back of my mind telling me to remain anonymous.

Anonymity in the Age of Transparency

I’m not exactly sure at what point attitudes toward anonymity changed. Social networks likely played a huge role transitioning us from silly screen names to using our real-life names on the internet. Otherwise, it’d be harder for our real-life friends to find us on Facebook, Twitter, and elsewhere.

This prevailing attitude toward anonymity didn’t limit itself to social networks. More and more, people shunned the idea of anonymous posts or comments on blogs and elsewhere.

There’s likely some form of stardom attached to using real names as well. Everyone is just one video, one blog post, or one tweetstorm away from their 15 minutes in the spotlight.

Even within the WordPress community over the years, I’ve witnessed a shift toward automatically disliking anonymous comments. The prevailing idea is that a person’s contribution to a discussion has less worth if it’s hidden behind the veil of anonymity, that one’s opinions are invalid if they cannot be backed up by a real name.

It opens the person to attack not based on their ideas but on how they choose to present themselves online. This is a part of the culture that is unhealthy.

In a time when you can effectively be shut out from the modern-day public square for making one wrong statement, anonymity is more important than ever for some. Often, there’s no recourse for missteps after you’ve been taken down by the angry horde over a lapse in judgment. Once your name has been hauled through the mud and back again, there’s little you can do about it.

That little voice in the back of my mind, the one carefully crafted by my parents and teachers, is a reminder that a simpler period during the Internet Age once existed.

There are other pockets of the internet where the pseudonym has persisted. One area is in gaming. You’d be the oddball if using a real name in an online multiplayer match. I suppose “Brett” or “Molly” doesn’t strike fear in the heart’s of enemies. The entire culture of online gaming is built upon anonymity, which is at odds with much of the internet world today. Frankly, I find it oddly satisfying.

I do wonder whether a real name online is important for civil discourse. Quite often, online personas are much different than their real-life counterparts. I mean, have you seen the numerous alpha-male groups on social networks made up of men who all think they’re the leaders of the pack? Hmmm…maybe there was some truth to that basement-dweller theory, after all. Thanks for the heads up, Mom and Dad.

The point is that an online persona, even attached to a real name, is still a persona. It’s not much different than a fake user handle.

I’d wager that the need to see a person’s real name has more to do with knowing exactly who to shun for controversial ideas rather than attaching some sort of validity to it. Usernames can be altered. You’re pretty much stuck with your real name, and mishaps follow your real name around.

As we were reviewing the Tavern’s comment policy last week, one point I brought up is that I believe we should allow anonymous comments. A large reason for this is that people should feel safe to communicate their thoughts within the community. While I won’t get into the specifics of internal discussions, I do hope that it’s something we officially remove from the policy.

Being in favor of anonymity does not mean being in favor of personal attacks or handing over a license to use a vulgar term as a username. It’s about protecting people’s ability to speak freely without fear of becoming an outcast within the community for an unpopular opinion.

Sometimes anonymity provides people the freedom they need to effectively discuss ideas. More importantly, it allows them to be a part of the community in a way that they choose.

Are We Moving back?

With the European Union, Japan, Australia, and other countries passing stricter privacy laws, there’s a growing movement to protect privacy across the world. While this movement has focused more on large corporations and what they do with personal data, there’s an underlying fear that’s likely been there from the beginning.

People are coming to the realization that we gave up too much.

We handed over our names. And, once we handed over our names, it was a slippery slope to handing over everything else about ourselves. If you dig deep enough you can find the names of all my cats and when they were all born.

I’m not sure how I feel about that. I’m in too deep at this point.

My parents from 20 years ago would not have liked the idea too much. My dad just uses YouTube to watch videos on building stuff for the most part today (it took years to stop him sending me email chains), but my stepmom is right there along with everyone else on social networks.

It’s odd to look back on the past 20 years to see how some of our initial fears surrounding anonymity have transformed. In another 20 years, we’ll all be back to using pseudonyms again. Call me out on it if I’m wrong. I do wonder if we’ll look back at this time and think everyone was crazy for using their real names.

I welcome your anonymous comments on this post. Just don’t use “wanker” for your handle.

WPTavern: GNU Project Maintainers Move to Oust Richard Stallman from Leadership

Wordpress Planet - Tue, 10/08/2019 - 04:33

GNU Project maintainers are working to oust Richard Stallman from his position as head of the organization. In a joint statement published yesterday morning, a collection of 22 GNU maintainers and developers thanked Stallman for his work and declared that he can no longer represent the project:

We, the undersigned GNU maintainers and developers, owe a debt of gratitude to Richard Stallman for his decades of important work in the free software movement. Stallman tirelessly emphasized the importance of computer user freedom and laid the foundation for his vision to become a reality by starting the development of the GNU operating system. For that we are truly grateful.

Yet, we must also acknowledge that Stallman’s behavior over the years has undermined a core value of the GNU project: the empowerment of all computer users. GNU is not fulfilling its mission when the behavior of its leader alienates a large part of those we want to reach out to.

We believe that Richard Stallman cannot represent all of GNU.

Stallman’s personal website continues to prominently display his intentions to remain in the leadership role. He added the header to his site, following the publication of remarks he made regarding a 17-year old victim of sex trafficker Jeffrey Epstein, which precipitated his resignation from both MIT and the Free Software Foundation:

The Stallman saga has continued to grow stranger in the aftermath of his resignations, as many were concerned that he would be homeless after his website featured a notice that he was “Seeking Housing,” accompanied by a link leading to his specific requirements for a temporary residence. His personal site was also reportedly vandalized nine days ago with a message that he was stepping down from the GNU.

The defacement with the false GNU resignation message was reverted shortly thereafter on September 30, and replaced with the header saying he continues to be “Chief GNUisance of the GNU Project” with no intention of stopping soon. Stallman has not yet publicly acknowledged the statement from the GNU maintainers. He has also not yet responded to our request for comment.

Yesterday the Free Software Foundation (FSF) published a statement indicating it was re-evaluating its working relationship with the GNU project, which has provided some of its technical infrastructure, fiscal sponsorship, and copyright assignment:

GNU decision-making has largely been in the hands of GNU leadership. Since RMS resigned as president of the FSF, but not as head of GNU (“Chief GNUisance”), the FSF is now working with GNU leadership on a shared understanding of the relationship for the future. As part of that, we invite comments from free software community members.

Stallman responded the next day, indicating he wanted to work with FSF on restructuring the relationship between the two organizations:

I recently resigned as president of the FSF, but the FSF continues to provide several forms of crucial support for the GNU Project. As head of the GNU Project, I will be working with the FSF on how to structure
the GNU Project’s relationship with the FSF in the future.

The FSF maintains some critical responsibilities in that it currently holds the copyrights to enforce the GPL. Stallman has recently called on people to continue supporting the FSF’s work, despite his resignation from the organization.

The small contingency of GNU project maintainers who penned the statement published yesterday seem to be on the same page with FSF in its rejection of Stallman’s leadership. Their message concludes with their intention to overhaul the leadership of the free software movement to be more inclusive of the people who have been alienated by Stallman’s behavior over the years:

“We think it is now time for GNU maintainers to collectively decide about the organization of the project. The GNU Project we want to build is one that everyone can trust to defend their freedom.”

WPTavern: Google Chrome Announces Rollout Plan for Blocking Mixed Content Beginning January 2020

Wordpress Planet - Mon, 10/07/2019 - 19:09

The Google Security Team has announced a timeline for when Chrome will begin blocking mixed content by default in order to ensure that HTTPS browsing is more secure. Mixed content refers to HTTPS pages that load resources, such as images, videos, stylesheets, and scripts, over HTTP.

The gradual rollout will begin with Chrome 79, which is scheduled for release in December 2019. The browser already blocks mixed scripts and iframes, but this release will add a new setting (that can be toggled on or off) for users to unblock it on a per-site basis.

The next phase of the rollout will progress with Chrome 80, due in January 2020, where mixed audio and video resources will get auto-upgraded to HTTPS. If they fail to load over HTTPS, Chrome will automatically block them. Mixed images will still load but Chrome will display a “Not Secure” warning in the omnibox next to the URL.

The last phase of the rollout is planned for February 2020. Along with the release of Chrome 81, mixed content images will bet auto-upgraded to HTTPS and Chrome will block them if they fail to load.

The Google Security Team reports that Chrome users now spend more than 90% of their browsing time on HTTPS on both desktop and mobile. The plan to begin blocking mixed content is targeted at addressing insecure holes in SSL implementations of sites that have already made the switch to HTTPS.

WordPress site owners have plenty of time to ensure all their resources load over HTTPS. The official plugin directory has several popular plugins that can assist with fixing problems with mixed content. Really Simple SSL, a plugin that is active on more than 3 million sites, has a built-in mixed content scan that shows users what they need to do if they aren’t seeing the green lock in the omnibar yet. It also includes a “mixed content fixer” for the back-end.

Other popular plugins, such as SSL Mixed Content Fix (20k active installs) and SSL Insecure Content Fixer (300k active installs) are focused specifically on fixing these issues and may assist in making other installed plugins compatible with HTTPS. They include tools that will diagnose insecure content and automatically perform basic fixes. The SSL Insecure Content Fixer plugin is also compatible with WordPress multisite and includes a network settings page to set defaults for the entire network.

WPTavern: U.S. Supreme Court Denies Domino’s Appeal to Determine Whether Websites Must Be Accessible

Wordpress Planet - Mon, 10/07/2019 - 18:02

In what is seen as a win for accessibility advocates, the U.S. Supreme Court denied Domino’s petition to appeal a lower-court decision on whether the pizza chain’s website and mobile app must be accessible to those with disabilities. The earlier U.S. 9th Circuit court ruled that websites fall under Title III of the American with Disabilities Act (ADA).

The original case was brought forth by Guillermo Robles, a blind man, who claimed the Domino’s website and app did not allow him to place an order in 2016. Robles, like many other people with disabilities, relies on screen-reader software to use the web. Despite using such software, he was not able to make an order.

The primary issue of the case was whether the ADA applied to websites or apps in the same way that they applied to brick-and-mortar locations. Title III specifically points out public places of accommodation but not websites.

The specific section of the ADA related to the case reads as follows:

Section 36.201(a) contains the general rule that prohibits discrimination on the basis of disability in the full and equal enjoyment of goods, services, facilities, privileges, advantages, and accommodations of any place of public accommodation.

Full and equal enjoyment means the right to participate and to have an equal opportunity to obtain the same results as others to the extent possible with such accommodations as may be required by the Act and these regulations. It does not mean that an individual with a disability must achieve an identical result or level of achievement as persons without a disability.

The 9th Circuit decided the ADA also applied to businesses on the internet.

There were three key issues in the case: whether the ADA applied to the website and app, whether Domino’s had fair notice to comply, and whether the court or the Department of Justice (DOJ) should decide the case.

The DOJ is the body that regulates the ADA. Since it was signed into law in 1990, the DOJ has not created specific guidelines for how businesses can ensure their websites are within the law.

One argument is that it would have been cheaper and easier for Domino’s to follow accessibility standards such as the Web Content Accessibility Guidelines (WCAG). Such arguments don’t address the need for meaningful regulations from a governing body. The WCAG are not legal guidelines in the U.S. However, the 9th Circuit ruled that the lack of guidelines does not remove Domino’s responsibility.

Circuit Judge John B. Owens wrote in the 9th Circuit decision, “While we understand why Domino’s wants DOJ to issue specific guidelines for website and app accessibility, the Constitution only requires that Domino’s receive fair notice of its legal duties, not a blueprint for compliance with its statutory obligations.”

The lack of such regulations is why this case was important from Domino’s standpoint. While they lost the case, it may further push the need for more specific guidelines for businesses, both large and small, to follow.

The lack of specific regulations could also be seen as a feature rather than a bug, to use a developer phrase. Government-specific rules are often slow to keep up with the changing nature of the web. Guidelines that apply one day may need to change soon thereafter. It also leaves businesses the ability to make their websites accessible via a method of their choice rather than limiting what they can do to potentially bureaucratic rules that are out of touch with the modern web.

At the same time, it could leave smaller business owners without large legal and website development budgets wondering if they could be looking at lawsuits in the future. Courts were flooded with 2,285 accessibility lawsuits in 2018, which was nearly triple the 814 cases in 2017.

What Does This Mean for Website owners in the U.S.?

In terms of the case, the Supreme Court didn’t make a ruling. They denied Domino’s petition and left the decision of the 9th Circuit in place, which covers much of the western U.S. In the coming years, more cases will make their way through the courts. More than likely, case law will continue becoming stronger in favor of making websites compliant with the ADA.

If you run an online business, it’s past time to make sure your website is accessible. It could be years before the current law is amended or new ones are written on the legislative level. The winds of change will likely not favor those with inaccessible websites as more court decisions come down.

In a nutshell, businesses with websites, apps, or other online presences need to make sure all people have access to their goods or services. While there are no specific guidelines in the U.S., WCAG is the largely agreed-upon standards internationally.

If you’re a small business owner using WordPress, you should start with a WordPress theme labeled as accessibility-ready. It is worth noting that “accessibility-ready” does not mean that your website will automatically become accessible. It simply means that the WordPress theme meets a minimum number of accessibility guidelines. Custom content on your website should also follow the same guidelines.

Accessibility is not a set-it-and-forget-it type of thing. It’s something that business owners need to continually evaluate and make sure that all their customers, regardless of how that person accesses the internet, can enjoy the same services equally.

The official theme review team is working through a long-term plan to make all themes accessible at WordPress.org. Many theme businesses outside of WordPress.org also comply with those same guidelines. If purchasing a theme, you should check with the business beforehand.

As always, if you’re unsure whether your website meets legal guidelines, you’ll need to consult a lawyer who specializes in website accessibility.

WordPress.org blog: People of WordPress: Alice Orru

Wordpress Planet - Sat, 10/05/2019 - 04:24

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 Alice Orru, from Sardinia, Italy.

Alice Orru was born in Sardinia, an island in the middle of the Mediterranean Sea. As a child, she dreamt of becoming a flight attendant, traveling the world, and speaking many foreign languages.

Unable to meet the height requirements of her chosen profession, Orru ended up choosing a different path in life, following the Italian mantra: “You have to study something that will guarantee a stable and secure job for life.”

The unemployment rate in Sardinia is very high, a challenge shared throughout the surrounding islands. In addition to that, Alice wasn’t that keen on having the same job all her life, as her parents had.

When Orru was 22 she moved to Siena, Tuscany, to finish her studies. That is when she created her first personal blog. The website was built on an Italian platform named Tiscali, which she later migrated to WordPress.com.

After 2 years in Tuscany Orru moved to Strasbourg, France. She studied French and worked several jobs while living there. Her first serious job was in Milan – working 40 hours/week in the marketing department of a large, international company. She found herself surrounded by ambitious colleagues and a boss who constantly requested extra —unpaid— working hours per day.

Alice Orru Choices, choices, choices…

Alice gave up blogging because she wasn’t feeling inspired enough to write. She questioned whether she really wanted to do that job forever; working 10 hours per day under the neon lights of an office. It forced her to set aside her dreams for the time being, and for a while, she mainly lived for the weekends.

Alice decided to leave the job and moved to Barcelona, Spain, all by herself, in 2012.

After a few months of intense Spanish learning at the university, she found a job in an international clinic as a “Patient Coordinator.” Orru assisted international patients coming to Barcelona for their treatments. She acted as their translator, interpreter and administrative consultant. 

Patients came from Italy, France, England, Morocco, Senegal, and several other countries. Alice was so inspired by some of their stories, that she started to write again: She dusted off her WordPress blog and filled it with stories about her new life in Barcelona and some of the women she met at the clinic. “I was feeling stronger and more independent than ever,” Orru expressed.

Technical issues led to unexpected opportunities

In the summer of 2015, Alice was writing on her blog and got stuck with a technical problem. While she was searching through the WordPress.com documentation, she saw a pop-up in the bottom right corner of her screen. It was a staff member of Automattic, checking if she needed help. They chatted for a few minutes and the problem was solved. Alice left the chat with one question, though: how did that person on chat find a support job with WordPress?

Alice found the official WordPress job page: jobs.wordpress.net and noticed a job offer that caught her attention: WP Media, a French startup, was looking for a polyglot and remote customer service teammate for one of their plugins, WP Rocket. She read their requirements: fluency in English, French and possibly other languages, excellent experience with WordPress, and some coding skills.

She knew she didn’t meet all the requirements, but could speak 4 languages, and she had a WordPress blog. She didn’t know anything about PHP, though. Orru had been a WordPress.com user for years and knew she was ready to learn more.

Orru wrote a cover letter and sent her CV. A Skype interview was conducted and several days later she received the news that she had gotten the job! 

A steep learning curve

The early days in her new job were intense. Alice felt inexperienced but was supported by her teammates. She started studying and reading everything about WordPress for beginners. Initially, she answered easy tickets from customers. All the while her teammates were sending useful material to read, setting up video-calls for 1 to 1 training, and encouraging her the entire time.

Soon, Orru was replying to customers whose first language was either Spanish or Italian in their native language. This was much appreciated and resulted in several happy comments. Until that moment the plugin’s support had been offered only in English and French.

Finding her way in the WordPress community

At WordCamp Paris 2016, one of Alice’s teammates introduced her to how the WordPress community collaborated and kept in contact through Slack.

“You speak multiple languages, why don’t you try to contribute to the polyglots team?” he asked.

Alice knew very little about contributing to WordPress. She had only been working for WP Media for 6 months and didn’t feel ready to dive into a new challenge and start also contributing to WordPress.

Yet, curiosity led her to join both the local Italian and the global WordPress Community on Slack. For the first few months, she mainly observed what was happening the channels. Then, she attended WordCamp Milan and met some members of the Italian Polyglots team.

It was love at first string! Laura, one of the General Translation Editors (GTE) for Italy, taught her how to start contributing and translating, following the polyglots guidelines. She also told her about the Italian community’s big efforts to work together, consistently, to boost and grow WordPress related events in Italy.

With her teammates’ encouragement, Orru applied to WordCamps as a speaker and gave her first talk in December 2016 at WordCamp Barcelona. After that, she both spoke at WordCamp Torino on April 2017 and at WordCamp Europe in 2017.

Alice Orru speaking at WordCamp Europe, in Paris, in 2017 Dreams evolve, all the time!

Orru knows that her experiences are not just due to luck. She used her previous skills and passions and adapted them to a new career and life path.

“We all have some skills; and if we don’t know which they are exactly, we should take some time to make a list of the things we’re really good at. With that in mind, just try. Apply. Get involved. Don’t get stuck in the feeling of ‘I can’t do it because I don’t know enough’. So that’s what I did. Without even realizing it, I started putting into reality the dream of the little girl who was born on an island and wanted to travel and speak different languages.WordPress made this possible. I’m now part of a big community, and I am proud of it.”

Alice Orru

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: Alice Orru

Wordpress News - Sat, 10/05/2019 - 04:24

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 Alice Orru, from Sardinia, Italy.

Alice Orru was born in Sardinia, an island in the middle of the Mediterranean Sea. As a child, she dreamt of becoming a flight attendant, traveling the world, and speaking many foreign languages.

Unable to meet the height requirements of her chosen profession, Orru ended up choosing a different path in life, following the Italian mantra: “You have to study something that will guarantee a stable and secure job for life.”

The unemployment rate in Sardinia is very high, a challenge shared throughout the surrounding islands. In addition to that, Alice wasn’t that keen on having the same job all her life, as her parents had.

When Orru was 22 she moved to Siena, Tuscany, to finish her studies. That is when she created her first personal blog. The website was built on an Italian platform named Tiscali, which she later migrated to WordPress.com.

After 2 years in Tuscany Orru moved to Strasbourg, France. She studied French and worked several jobs while living there. Her first serious job was in Milan – working 40 hours/week in the marketing department of a large, international company. She found herself surrounded by ambitious colleagues and a boss who constantly requested extra —unpaid— working hours per day.

Alice Orru Choices, choices, choices…

Alice gave up blogging because she wasn’t feeling inspired enough to write. She questioned whether she really wanted to do that job forever; working 10 hours per day under the neon lights of an office. It forced her to set aside her dreams for the time being, and for a while, she mainly lived for the weekends.

Alice decided to leave the job and moved to Barcelona, Spain, all by herself, in 2012.

After a few months of intense Spanish learning at the university, she found a job in an international clinic as a “Patient Coordinator.” Orru assisted international patients coming to Barcelona for their treatments. She acted as their translator, interpreter and administrative consultant. 

Patients came from Italy, France, England, Morocco, Senegal, and several other countries. Alice was so inspired by some of their stories, that she started to write again: She dusted off her WordPress blog and filled it with stories about her new life in Barcelona and some of the women she met at the clinic. “I was feeling stronger and more independent than ever,” Orru expressed.

Technical issues led to unexpected opportunities

In the summer of 2015, Alice was writing on her blog and got stuck with a technical problem. While she was searching through the WordPress.com documentation, she saw a pop-up in the bottom right corner of her screen. It was a staff member of Automattic, checking if she needed help. They chatted for a few minutes and the problem was solved. Alice left the chat with one question, though: how did that person on chat find a support job with WordPress?

Alice found the official WordPress job page: jobs.wordpress.net and noticed a job offer that caught her attention: WP Media, a French startup, was looking for a polyglot and remote customer service teammate for one of their plugins, WP Rocket. She read their requirements: fluency in English, French and possibly other languages, excellent experience with WordPress, and some coding skills.

She knew she didn’t meet all the requirements, but could speak 4 languages, and she had a WordPress blog. She didn’t know anything about PHP, though. Orru had been a WordPress.com user for years and knew she was ready to learn more.

Orru wrote a cover letter and sent her CV. A Skype interview was conducted and several days later she received the news that she had gotten the job! 

A steep learning curve

The early days in her new job were intense. Alice felt inexperienced but was supported by her teammates. She started studying and reading everything about WordPress for beginners. Initially, she answered easy tickets from customers. All the while her teammates were sending useful material to read, setting up video-calls for 1 to 1 training, and encouraging her the entire time.

Soon, Orru was replying to customers whose first language was either Spanish or Italian in their native language. This was much appreciated and resulted in several happy comments. Until that moment the plugin’s support had been offered only in English and French.

Finding her way in the WordPress community

At WordCamp Paris 2016, one of Alice’s teammates introduced her to how the WordPress community collaborated and kept in contact through Slack.

“You speak multiple languages, why don’t you try to contribute to the polyglots team?” he asked.

Alice knew very little about contributing to WordPress. She had only been working for WP Media for 6 months and didn’t feel ready to dive into a new challenge and start also contributing to WordPress.

Yet, curiosity led her to join both the local Italian and the global WordPress Community on Slack. For the first few months, she mainly observed what was happening the channels. Then, she attended WordCamp Milan and met some members of the Italian Polyglots team.

It was love at first string! Laura, one of the General Translation Editors (GTE) for Italy, taught her how to start contributing and translating, following the polyglots guidelines. She also told her about the Italian community’s big efforts to work together, consistently, to boost and grow WordPress related events in Italy.

With her teammates’ encouragement, Orru applied to WordCamps as a speaker and gave her first talk in December 2016 at WordCamp Barcelona. After that, she both spoke at WordCamp Torino on April 2017 and at WordCamp Europe in 2017.

Alice Orru speaking at WordCamp Europe, in Paris, in 2017 Dreams evolve, all the time!

Orru knows that her experiences are not just due to luck. She used her previous skills and passions and adapted them to a new career and life path.

“We all have some skills; and if we don’t know which they are exactly, we should take some time to make a list of the things we’re really good at. With that in mind, just try. Apply. Get involved. Don’t get stuck in the feeling of ‘I can’t do it because I don’t know enough’. So that’s what I did. Without even realizing it, I started putting into reality the dream of the little girl who was born on an island and wanted to travel and speak different languages.WordPress made this possible. I’m now part of a big community, and I am proud of it.”

Alice Orru

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: WooSesh 2019 Scheduled for October 9 and 10: Registration Now Open

Wordpress Planet - Fri, 10/04/2019 - 19:10

WooSesh is happening next week on October 9 and 10, and registration is now open. This is the second edition of the virtual WooCommerce event hosted by WPSessions. In addition to presentations focused entirely on e-commerce, the event will include a “Hallway Track” that offers opportunities for attendees to connect with each other, along with virtual swag donated by various WordPress companies.

Day 1 will cover a wide range of topics for WooCommerce professionals with a focus on store builders, including sessions on designing with blocks, sales tax, optimizing the checkout experience, and store emails. The first day will also feature a two-hour “State of the Woo” keynote address from the WooCommerce team. They plan to discuss case studies, lessons learned, and priorities for the year ahead.

Day 2 will focus on more technical topics for WooCommerce developers, such as “Custom Tables and the Checkout Bottleneck,” solving store UX problems, and productizing development work.

The event is being organized by Brian Richards and Patrick Rauland. For the past two years it has been the official successor to the previously held in-person WooConf events. Given how successful WooSesh has been in connecting the WooCommerce community, it’s easy to see why WooConf has not yet been reinstated.

“One thing I can say, having helped three WooConfs and both WooSesh’s, is that a virtual event is a fraction of the cost,” Rauland said. “And we had twice as many people show up live for WooSesh compared to an in person event.”

In 2018, WooSesh had 2,800 registrants and more than 1,400 who participated live during the event. Rauland reported that 900 people watched the keynote address. After the conclusion, 94% of respondents to an attendee survey said they would like to attend again the next year.

Last year attendees could watch all sessions for free as long as they attended at least one presentation during the live event. This year sessions will be free during the event to encourage maximum engagement, and the recordings will be available on WPSessions.com for a fee after its conclusion.

Tickets are free, thanks to sponsors that include WooCommerce, Jilt, and Avalara. Attendees can register on the website and preview the schedule in their own timezones.

WPTavern: WordPress.org Bumps PHP Maximum for Plugin Directory to Version 7.2

Wordpress Planet - Fri, 10/04/2019 - 16:41

The WordPress.org SVN system received a version bump to 7.2 on October 3. This change means that plugin authors can now use newer PHP syntax in plugins they submit to the official plugin directory. In the future, the version maximum will match what’s running on WordPress.org.

This should be good news for any plugin developers who are using newer PHP syntax. Previously, authors were able to submit code using newer PHP functions if they had a compatibility check in the same file. However, newer syntax wasn’t allowed.

“The issue was that the Linter (being stuck on 7.0) prevented anyone from checking in code via SVN that used 7.1+ standards,” said Mika Epstein from the plugin review team. “So things like the Spaceship operator would fail on commit and you’d be told the syntax was invalid. This was holding back certain plugins from committing code into the directory.”

Epstein first opened a ticket to address the issue 13 months ago but said she’d been quietly asking for a fix for a while longer.

The max PHP version isn’t listed anywhere in the plugin guidelines. Technically, it’s an SVN limitation on WordPress.org and not something the plugin team chose. However, for plugin authors, they may not have known about the issue until their plugin was rejected by the system. They would then message the plugin team about the problem. “I may end up putting something in the docs, but it’s a somewhat uncommon occurrence,” said Epstein.

This has been an issue for some plugin authors since PHP 7.1 was released, which was December 1, 2016. “It was a once a year issue, then twice, and then it inched up to every couple months,” said Epstein. “As of September, at least once a month someone would hit this and complain to plugins.”

One potential problem with blocking newer PHP code is with plugins that rely on third-party libraries, which may only have security patches in more recent versions. However, Epstein said that she was not aware of any security issues that resulted from the version limitation.

Andrey “Rarst” Savchenko pointed out in the ticket that “7.2 was released almost two years ago.” While he says it’s an improvement over the previous 7.0 limitation, version 7.2 should not be a hard ceiling for plugins in the repository.

PHP 7.3 was released on December 16, 2018, and PHP 7.4 will be released on November 28, 2019.

“Given PHP’s poor adoption curves,” responded Dion Hulse, “all that this means is that you can’t release a plugin through WordPress.org that only works on 15% of WordPress sites. “You can even use newer functions in PHP if including compat code, just not newer syntax.”

Plugin author Josh Pollock called awareness to the issue on Twitter in February. “Hours later, I’m downgrading a dependency, because it requires another dependency, which requires PHP 7.1.”

“I think we got lucky and there were no bugs,” Pollock said of downgrading to an earlier version of the dependency. “I don’t think I’ve used SVN since. I’m really fortunate that’s not a part of my life anymore.”

“I agree with Rarst,” said Pollock. “We should be allowing for PHP 7 and making it easier for plugins not to support sites on out of date versions of PHP.” This echoes the sentiment of other developers who are pushing for WordPress to adopt newer standards or at least allow them to do so in their own plugins in the official directory.

For the majority of plugin authors, this should be a non-issue as long as the SVN system remains updated to match the version of PHP used on WordPress.og.

PHP 7.2 will lose active support on November 30, 2019, and security support on November 30, 2020.

Catalog Lite

Drupal Themes - Fri, 10/04/2019 - 13:41

WPTavern: WordPress Theme Review Team Brings Back Review Shindigs

Wordpress Planet - Thu, 10/03/2019 - 18:29

The WordPress theme review team (TRT) is kicking off a review weekend October 5 and will begin at 10:00 Coordinated Universal Time (UTC). These events, called “review shindigs,” are marathon sessions where the team joins together to review themes and teach best practices. The current plan is to hold the event on the first Saturday of every month.

“The goal of the review weekend is to get together and do as many quality reviews as possible,” wrote Carolina Nymark, one of the team’s review representatives, in the event’s announcement. Events sometimes have different goals, depending on what the team needs to work on at the time.

Most of the event will happen over the team’s Slack channel. They will also hold a live presentation or Q&A on Zoom at 13:00 UTC. Anyone is welcome to attend (the Zoom link will be provided in Slack). This will help teach those who are interested in how to perform reviews and check common issues. Anyone attending is also able to submit topics for discussion in the comments on the announcement post.

The TRT originally announced plans for the event after the last team meeting, but it was overshadowed by other news, such as the team moving to a flat structure. “Not sure if anyone but myself will be there,” joked Nymark. “It’s short notice. Some of the team reps already had other plans.”

Anyone from the WordPress community is allowed to participate in the event by simply commenting on a ticket without being assigned a review. Nymark provided links on how to become a reviewer and the team’s reviewer onboarding process to get new reviewers started.

Review shindigs can help new reviewers because it puts them in touch with more experienced reviewers at a time when they know someone will be online to answer questions. They’re also a team-building exercise where people can join together and work toward a common goal.

Currently, 214 tickets are awaiting review. A successful event would significantly cut that number down.

Events From the Past

Theme review shindigs have seen varying levels of success over the years. In the TRT’s earliest days, review gatherings were regular events and helped keep the ever-growing ticket queue under control. Participation waned over time as leaders within the team switched to other projects or no longer had time to run the events. Proposals to bring back them back have not gone far in the last couple of years.

The last TRT shindig was a December 2016 event that saw over 50 participants. Reviewers worked on 108 tickets throughout the weekend. The event also coincided with contributor day at WordCamp US, which helped bump up participation numbers.

Jose Castaneda, Cristiano Zanca, Benjamin Lu, and Afzaal Ahmed held a live stream that covered how to load scripts and styles in themes in the previous review event.

Matt: Debating OSS with DHH

Wordpress Planet - Thu, 10/03/2019 - 00:04

The other week I ended up going back and forth in tweets with David Heinemeier Hansson, it wasn’t going anywhere but he graciously invited me to their podcast and we were able to expand the discussion in a way I found really refreshing and mind-opening.

DHH and I have philosophies around work and open source that I believe overlap 95% or more, so that makes where we have differences all that more interesting to mine. Although we would see each other logged into the same server 15 years ago, we haven’t actually spoken directly until this podcast started, but the conversation flowed so naturally you’d think we have been talking since then.

Check out the episode on Open Source and Power on the Rework Podcast, hopefully you enjoy listening as much as we enjoyed recording it.

WPTavern: First Look at PHP 7.4 for WordPress Developers

Wordpress Planet - Wed, 10/02/2019 - 18:16

PHP 7.4 is slated for release on November 28, 2019. WordPress 5.3 will also include several commits that address deprecated features.

It’s unlikely that most WordPress plugin and theme developers will be able to use the new PHP 7.4 features for a while except when working on setups where they have some measure of control over the environment. Given WordPress’ reluctance to bump the minimum PHP version to the latest supported versions, it could be years before it’s safe to use new features. However, developers should make sure their plugins and themes are compatible with 7.4. It’s also good practice to keep up with current features.

WordPress 5.2 bumped the minimum requirement to PHP 5.6 with a recommendation of PHP 7.3. The following is the breakdown for current PHP usage stats for WordPress installs:

  • PHP 7.3 – 9.6%
  • PHP 7.2 – 22.2%
  • PHP 7.1 – 13.5%
  • PHP 7.0 – 14.9%
  • PHP 5.6 – 25.7%

Currently, PHP 7.2 and 7.3 are the only versions receiving active support. PHP will drop security support for version 7.1 on December 1.

New Features

PHP 7.4 includes a number of new features that will make writing code easier. The following is a small overview of some of the features that will likely be useful for WordPress plugin and theme authors.

Typed Properties

PHP first introduced type hinting in 5.0 and has continued improving the feature. PHP 7.0 introduced return type declarations. PHP 7.4 steps it up a notch and allows developers to declare types for class properties. This lets developers make sure the type of data assigned to a specific property is always that data type.

In the following example, the $id property can only be assigned an integer and the $title property a string. Attempting to assign the wrong data type will result in a fatal error if strict types are declared. Otherwise, PHP will coerce the value to the correct type.

class Event { public int $id; public string $title; } Arrow Functions

Many developers have been clamoring for arrow functions similar to JavaScript. They are pretty sweet to use. However, PHP’s arrow functions, also called “short closures,” are slightly different. PHP 7.4 introduces the fn keyword (now a reserved keyword). Short closures can only contain one expression and have no return keyword. They’re not quite as powerful as their JavaScript cousins, but they do offer a quick solution for some scenarios.

For example, the following code snippet shows two different ways to build an array of user emails from a collection of user objects.

// Old way, but still acceptable. $value = array_map( function( $user ) { return $user->user_email; }, $users ); // New way. $value = array_map( fn( $user ) => $user->user_email, $users ); Unpacking Inside of Arrays

Argument unpacking was introduced in PHP 5.6, so this may still be unfamiliar territory for many developers in the WordPress space. It’s been an invaluable feature in some of my projects.

PHP 7.4 allows developers to unpack an array within an array. This should be faster than array_merge() because the spread operator (...) is a language construct rather than a function.

Consider the following example of injecting an array of two colors within a larger array of colors.

$colors_a = [ 'green', 'blue' ]; $colors_b = [ 'red', ...$colors_a, 'yellow', 'purple' ]; // [ 'red', 'green', 'blue', 'yellow', 'purple' ]; Null Coalescing Assignment Operator

The null coalescing assignment operator is a shorthand way of combining an isset() check with a ternary operator.

The following example shows how to check the $product['id'] variable. If it’s set, do nothing. Else, assign it the value on the right. You can see the evolution of the code between PHP versions. It’s much simpler to write in 7.4.

// Pre-PHP 7.0. $product['id'] = isset( $product['id'] ) ? $product['id'] : 0; // PHP 7.0. $product['id'] = $product['id'] ?? 0; // PHP 7.4. $product['id'] ??= 0; Deprecated Features

PHP 7.4 will deprecate several features. Plugin and theme authors will want to consult the complete list to determine whether they should update any outdated code. I cherry-picked a few items that I’ve seen in plugin and theme code over the last few years. Most other deprecated features are unlikely in current code bases.

Nested Ternary Operators Without Parenthesis

Nested ternary operators are generally something you should avoid as a developer. Seriously. Just don’t write them. They’re tough to follow and are prone to bugs due to human error. However, if you’re going to throw caution to the wind and dismiss good advice, at least use parenthesis. PHP 7.4 deprecated nested ternaries without them.

// Not OK (deprecated). $value = $a ? $b : $c ? $d : $e; // OK. $value = ( $a ? $b : $c ) ? $d : $e; // OK. $value = $a ? $b : ( $c ? $d : $e ); Using array_key_exists() on Objects

Developers should not use array_key_exists() on objects simply because objects are not arrays. Instead, use the more appropriate property_exists() function or isset().

// Not OK (deprecated). if ( array_key_exists( $property, $object ) ) {} // OK. if ( property_exists( $object, $property ) ) {} // OK. if ( isset( $object->$property ) ) {} Array and String Offset Access With Curly Braces

Using curly braces for array and string offset access is a bit more of a rarity, but I’ve seen it in the wild a couple of times. Make sure you’re using square brackets such as [] instead of curly brackets like {}.

// Not OK (deprecated). $value = $a{ $key }; // OK. $value = $a[ $key ];

DCF Theme

Drupal Themes - Wed, 10/02/2019 - 15:44

The DCF Theme project consists of a base theme and a starter theme, DCF Base and DCF Starter, respectively.

DCF Base

DCF Base is a Drupal base theme that contains generic templates and implements generic preprocess functions for the purpose of adding DCF classes to Drupal's rendered markup. It is meant to be updated over time as new features are added upstream.

DCF Starter

DCF Starter is a starter theme that provides scaffolding on which themers can build front-end, DCF-based Drupal projects. It includes 1) a Node.js project that downloads DCF as a dependency and 2) a Gulp-based workflow. The sub-theme, itself, it not meant to receive upstream updates. Upstream updates from DCF should be managed through the included Node.js project.

WPTavern: BuddyPress 5.0 Introduces BP REST API, Paving the Way for Blocks

Wordpress Planet - Wed, 10/02/2019 - 11:06

BuddyPress 5.0.0 “Le Gusto” was released this week with the long-awaited BP REST API, a new Invitations API, and BuddyPress info on the Site Health screen. The release was named for a favorite pizza restaurant in Fortaleza, Brazil, where BP REST API contributor and core committer Renato Alves resides.

The new REST API is fully documented and includes endpoints for members, groups, activities, private messages, screen notifications and extended profiles.

The first feature powered by the new API is an improved interface for managing group members. It enables administrators to quickly search for specific members to promote, demote, ban, or remove.

https://wptavern.com/wp-content/uploads/2019/06/5zJCxp2ARb.mp4

BuddyPress 5.0 also includes a new BP Invitations API to help developers better manage group invites and membership requests.

BuddyPress site administrators may notice a new panel in the Site Health Info screen, containing plugin-specific debug information that may be useful when seeking help in the forums.

This release updates the BP Nouveau template pack to use the same password control as the one used in WordPress core. It provides a more consistent interface for users when setting their passwords on the registration page and on the user’s general settings page.

Blocks Are Coming to BuddyPress

The BP REST API offers a myriad of opportunities for developers to create new interactive features and front-end experiences, as well as improve performance by replacing AJAX calls. It also opens up the world of block creation. BP core contributors and community developers will have a much easier time creating blocks, since Gutenberg mainly uses REST.

In anticipation of BP blocks, 5.0 includes a new panel in the block inserter that allows developers to organize their custom blocks under a BuddyPress category.

BuddyPress 6.0 may include core blocks for specific components and core blocks may ultimately replace the plugin’s existing widgets. Contributors are still discussing which blocks to begin building. They are looking to get community feedback on blocks that will be the most useful, particularly from BuddyPress theme developers. The team plans to discuss 6.0 release priorities during the BP core dev chat on October 2, 2019, at 1900 UTC.

Pages