Wordpress News


Drupal Themes - Wed, 05/22/2019 - 00:01

Simple elegant Drupal 8 theme.

HeroPress: Growing Through Translating WordPress

Wordpress Planet - Tue, 05/21/2019 - 23:00


I have spent most of my adult life knowing WordPress. In November 2003, a few months after I discovered WordPress, I gave it a spin on my personal blog. A few months later, I started contributing in the form of translating WordPress core and documentation into Japanese.

Today, I make a living as a project and community manager in the field of translation & localization. I get to help people all over the world publish their voice online using their own language, while raising two kids in Tokyo, Japan. This is all thanks to WordPress, which showed me the brand new world of open source I never knew existed, and those who had given me the opportunity to participate in it.

Let me share my story about how WordPress has changed my life.

WordCamp Tokyo 2018 organizing team & volunteer staff Discovering WordPress

I first found WordPress in the summer of 2003. At that time, with a degree in graphic design at a state university in the Midwest, I was working in a field that had nothing to do with design or web. The small web marketing company I joined after graduation couldn’t make it through the dot com bubble. When I moved back to the U.S. with my then-husband for him to go back to graduate school in Detroit, I couldn’t re-enter the field because of my lack of experience. I settled with a temp in-house translator/admin assistant position at an automotive company to financially support the household. You could say it was a practical choice. Or, to put it frankly, I just gave up and went with the demand for the clerical job with Japanese skill.

The good thing that came out of it was that I had plenty of time after work. My ex-husband had to study all day, and my temp job was precisely 9-5. Every night, we rarely watched T.V. or went out but headed for our computers. I worked on my own website and sometimes friend’s site for a fee, using just HTML and a little bit of CSS. Back then, reading blogs written by web designers was the best way to follow up-to-date news and techniques of frontend development.

Inspired by those blogs in both English and Japanese, I decided to start mine. I published my first post on a Movable Type blog in April 2003. I wrote almost every day for a few months. Then as I was getting frustrated with some aspects of Movable Type, I tried several blog engines including WordPress.

With WordPress, the process of customizing blog design through edits to PHP files was straightforward and enjoyable, so I got addicted to working with WordPress right away. I almost had no experience beyond HTML and CSS before then, but I was surprised that I was able to create a dynamic site myself.

My blog design between 2003-2019 Translating WordPress

In November 2003, I re-launched my blog using WordPress. In December, I learned that there was a person named Otsukare who made a Japanese version of WordPress. This fork of WordPress, called “WordPress ME (Multilingual Edition)”, had the first comprehensive WordPress resource site in Japanese, with documentation Wiki and phpBB forums. Through the forum, I started helping him with translating documentation from English to Japanese.

WordPress stayed as a relatively minor blog tool/CMS in Japan for years, but that didn’t change the fact that it was a piece of software that I really enjoyed using. I kept translating Codex, participated in theme competitions, and helping others on the forums. It was the first time for me to experience being part of an open source community and working together with people I’ve never met in person (and without being paid!).

What kept me going was the feeling that I’m part of something bigger. I loved using WordPress, and it was exciting that I could help spread the word. WordPress community gave me a chance to work with people around the world — years before “remote work” was a universally recognized word. There were no free voice/video chat applications, no Slack, but the interpersonal connections have grown deeper because everyone in the community was centered around a tool to deliver your voices to others far from reach.

WordPress Polyglots at #WCEU contributor day, translating to so many languages! Thank you for coming! pic.twitter.com/bGvnfTIBYI

— WordCamp Europe (@WCEurope) June 26, 2016


Organizing WordCamp Tokyo

In 2007, I went to WordCamp San Francisco and had a short conversation with Matt Mullenweg. I vaguely remember my question – something like “I love WordPress, and I want to help spread it more in Japan. What should I do?” But I still clearly remember his answer.

“You should do a WordCamp.”

Although it probably was just a casual suggestion since we happened to be at a WordCamp, that idea stayed with me. That short interaction was no doubt the initial trigger of our first WordCamp in Japan, a year later. I was living in the U.S., but that really didn’t matter. Japanese WordPress translators, developers, and users who knew each other through the forums and blogs all worked together to run WordCamp Tokyo 2008.

WordCamp Tokyo 2008. Photo credit: Odyssey Career and Leadership

My career also changed dramatically between 2006 and 2009.

Because I gained general blog template customization skills through working with WordPress, freelance work started to come in. I also had the opportunity to write WordPress books in Japanese. Thanks to WordPress, I was able to learn and practice the idea of ​​Web Standards. My ability to write solid markups was valued, and I got my first full-time technical job as a frontend engineer at an ad agency in a suburb of Detroit.

In April 2009, I started as a part-time Happiness Engineer (customer support for WordPress.com) at Automattic, then in 2010 offered a full-time position. Since then, my role had evolved into the field of localization, and I’m happy to tell you that my 10th anniversary is coming up soon.

In the past few years, I’ve taken up some more global responsibilities within the WordPress community, such as one of the Global Mentors for the Polyglots Team, and lead organizer of WordPress Translation Day 4. Most recently, I was selected as the global leader of the first WordCamp Asia (planned for 2020 in Bangkok, Thailand).

Growing and Giving Back

The WordPress community taught me so much.

  • Keep making efforts in good faith and results will follow.
  • It takes time to build trust.
  • Everyone has the potential to grow.
  • You can’t ignore diversity so might as well embrace it.

Sometimes the process of gaining such new insights was painful, but I still feel I’m lucky to have been given challenges that made me grow.

To give back, I want to continue helping communities outside of the English speaking world. I believe that’s the most powerful thing I can do to remove the barriers on the web and the vast world that it touches.

Tokyo WordPress Meetup / WordPress Translation Day 4


WordPress を通して成長できたという話



WordPress のことを知ったのは、約16年前でした。

その数カ月後には元持っていたブログを WordPress に切り替え、さらにまた数カ月後には現在も続いている WordPress への翻訳という形での貢献を始めることになりました。振り返ると、社会人になってからほとんどの年数を、WordPress とともに過ごしてきたわけです。

私が現在東京で子育てをしながらグローバルかつ柔軟な環境で働くことができるのは、新しい世界を見せてくれ、機会を与えてくれた WordPress の存在のおかげです。

今こうやって、「WordPress との関わりが自分と周りの『バリア』を破ったこと」というテーマで記事を書かせてもらうにあたって思いを巡らせてみると、本当にこのソフトウェアと出会わなければまったく違う人生を歩んでいただろうなと思います。多くの人たちにもめぐりあうことはなかっただろうし、仕事はもちろん、住んでもいる場所も違っていたかもしれない。

そんな、私にとってとても大きな存在の WordPress が、迷える20代を過ごしていた自分をどんなふうに変えてくれたかのお話をしようと思います。

WordPress との出会い

私が WordPress を知ったのは、2003年の春か夏頃でした。その頃の私はというと、高校留学後にアメリカ中西部の地方大学でグラフィックデザインの学位を取ったものの、新卒で入った小さな会社がドットコムバブルで立ち行かなくなったり、当時の夫の大学院入学のためにアメリカに戻ってきても経験不足で Web 関係の仕事には就けなかったり。とは言え家計を支える立場を選んだわけで、一旦やりたかった仕事はあきらめて、日系自動車会社で派遣をやっていた日々でした。インハウス翻訳者兼事務補助職のような感じで、お給料と需要を優先して良く言えばがむしゃらにがんばっていたし、悪くいうと目の前のことでいっぱいいっぱいという状況。


趣味やフリーランスの制作者として細々と HTML 手打ちのサイトなんかも作っていたのですが、Web デザイナーが個人で発信する情報はその当時ブログを読むのが何より最新で、ワクワクするものでした。

そこからいきなり WordPress をインストールしたわけではなくて、まずは一番簡単そうだった Blogger.com を触ってみて制限がちょっと多すぎると感じ、Movable Type をしばらく運用してあまり相性がよくないかもと感じた、というのが私のブログ作りのスタートでした。その後ぴったりなタイミングで b2 からフォークしたリリース版を出したばかりだった WordPress に出会いました。

PHP のファイルを触りながら自分のブログを作っていく過程が本当に楽しくて、いつのまにか WordPress にハマっていました。そのころはシンプルな構成だったからというのはもちろんあるんですが、それまでほぼ HTML と CSS しか書いたことがなかった自分がいつのまにかそんなふうにいわゆる「動的」サイトを作れるようになっていくことに自分でも驚きました。

WordPress 翻訳を始める

2003年11月にブログエンジンの変更を完了したサイトを公開し、12月に日本語版の WordPress フォーク “WordPress ME (Multilingual Edition)” を公開しているサイトがあることを知りました。Otsukare さんというエンジニアが行なっていた日本語情報の発信や日本語フォーラムでの回答をお手伝いしているうち、1ユーザーからファンへ、そしてローカリゼーションという分野でのコントリビュートをするようになっていきました。

それから何年も、WordPress は日本では比較的マイナーなブログツール/CMS ではあったんですが、自分の中では本当に大好きなソフトウェアで、地道に Codex の翻訳をしたり、テーマ作成コンテストに応募したり、フォーラムで回答したりしていました。オープンソースという世界も、会ったこともない人たちと(お金にならない!)作業を一緒にするのも初めてでしたが、WordPress を通して会う人たちは本当に様々で、固定観念を覆してくれた気がします。留学や在米で「世界」を分かった気になっていたけど、それよりも私にとって理解を深めてくれたのは、英語を使ってアクセスすることができるようになった、多様な価値観が存在するオンラインのコミュニティでした。

自分がブログを書くことが好きで、そのツールの成長に少しでも関われるという喜びが、飽きずにオープンソース活動を続けられた理由だった気がします。まだ「リモートワーク」なんて言葉も、動画チャットツールや Slack さえもない時期からオンラインで世界中の人達とコラボレーションする文化を持つ WordPress でしたが、遠く離れた人に考えを届られるブログというツールが中心にあったからこそ、コミュニティは深みを持って成長してきたし、人と人のつながりが構築されていったのだと思います。

WordCamp Tokyo の運営

2007年、サンフランシスコで開かれた WordCamp に遠征し、マットに声をかけました。「WordPress が好きで、日本でももっと広めるために何かできないかなと思ってるけど、どうしたらいいかな?」そんな内容だったと思います。質問の記憶はおぼろげですが、彼の答えは今でも覚えています。

「WordCamp やったらいいよ!(You should do a WordCamp.)」

たまたま WordCamp にいたからの思いつきから出た言葉だったのかもしれませんが、そのときの一言が印象的で、約1年後に日本初の WordCamp を実行するきっかけになったのは間違いありません。私自身は日本に住んでいなかったにも関わらず WordCamp Tokyo 2008 が実行できたのは、単なる言い出しっぺの私に「いいね!」と言って一緒に運営をしてくれた他の翻訳者、開発者、日本語版ユーザーの方々とのつながりがあったからでした。



WordPress にハマることで身につけたブログテンプレート一般のカスタマイズ能力でフリーランスの仕事が入ってきたり、WordPress の本を日本語で書く機会もいただきました。Web 標準の考え方に触れて実践することができたのも WordPress のおかげで、「普通に、きちんとマークアップが書ける」スキルを評価されて、ずっと前から入社したかったデトロイト郊外の会社でフロントエンドエンジニアとしての経験を積むこともできました。その後、2009年にお声がけをいただき、Automattic でのカスタマーサポート職としてスタートして、2010年からフルタイムでこの会社の「社員」となり、現在はローカリゼーション関連のチームでプロジェクト管理を担当しています。もうすぐ勤務10年を迎えます。

回り回って今は翻訳チームのグローバルメンターや、WordPress Translation Day 4のリードオーガナイザーを任せてもらったり、そして自分でも驚くことに第一回 WordCamp Asia(2020年、バンコクにて開催予定)のグローバルリードにも選んでいただきました。

  • 誠実に努力を積み重ねていくことが実を結ぶ。
  • 信頼を築くには時間がかかる。
  • 誰にでも大きく成長できる可能性がある。
  • 多様性は必然。容認してしまうしかない。

こういうことは当たり前のようでいて、実感できないような環境も少なくないのではないでしょうか。WordPress コミュニティだって常にパーフェクトではもちろんないにしろ、この場所ではそんな「当たり前」が大事されている、と私はよく感じます。みんなが納得できる普遍的な正しさが、長期的な視点での深みのあるコミュニティの維持と成長に欠かせない要素だと理解している人が多いからなのかなと思っています。

自信も経験も少なかった自分にたくさんのことを学ばせてくれた WordPress と、その周りにいる人たちへの恩返しも込めて、これからさらに英語圏以外のコミュニティも手助けしていければと思っています。そうすることで、Web と世界を少しでも良い場所にできると信じているし、関わる多くの人のバリアを取り除くきっかけとなるはずです。

The post Growing Through Translating WordPress appeared first on HeroPress.

WPTavern: Loveland Public Library to Host Free Beginners WordPress Class Online May 22, 2019

Wordpress Planet - Tue, 05/21/2019 - 21:56

image credit: Janko Ferlic

Public libraries are one of the few remaining community centers where people freely pass on valuable skills to neighbors young and old. In addition to offering free access to books, computers, and the internet, libraries often host educational classes as a public service, with an emphasis on teaching fundamental skills for navigating the digital world.

Many people who are on fixed incomes or living paycheck to paycheck cannot afford to have internet service at home. For them, the library is a gateway to online communication, job hunting, and learning new skills.

Over the past five years, using WordPress has become one of those important skills, as the software is now used by 33% of the top 10 million websites, across nearly every major industry.

Packed into a full schedule of toddler story time, book chats, and knitting groups, the public library in Loveland, Colorado, is hosting a free workshop called Getting Started with a WordPress Website on May 22, 2019, from 9:00 AM – 10:30 AM MDT. Participants will learn the history and terminology of WordPress, along with the step-by-step basics of creating a website. Topics include posts vs pages, using media, installing a theme, and using plugins.

Participants who cannot attend in person at the library can register online for a free ticket on Facebook or through Eventbrite. Those participating remotely will need to install the Adobe Connect meeting browser plugin and will be able to listen to the lecture through the digital classroom and ask questions via chat.

Another class will be hosted July 2, 2019, for those who are unable to attend the May workshop.

Loveland Public Library is one of many libraries that host free WordPress classes. Skokie Public Library in Skokie, Illinois, will be hosting a Build a Website with WordPress.com workshop on Friday, May 24, and the Denver Public Library offers similar courses for WordPress.com in various locations. The New York Public Library plans to offer a Blogging for Beginners course at its Woodland Heights location on October 3, 2019. These are just a small sampling of the educational opportunities offered in this format. If you know someone who wants to get started with WordPress, local libraries are a good resource for finding a free, in-person class.

WordPress 5.2.1 Maintenance Release

Wordpress News - Tue, 05/21/2019 - 19:04

WordPress 5.2.1 is now available! This maintenance release fixes 33 bugs, including improvements to the block editor, accessibility, internationalization, and the Site Health feature introduced in 5.2.

You can browse the full list of changes on Trac.

WordPress 5.2.1 is a short-cycle maintenance release. Version 5.2.2 is expected to follow in approximately two weeks.

You can download WordPress 5.2.1 or visit Dashboard → Updates and click Update Now. Sites that support automatic background updates have already started to update automatically.

Jonathan Desrosiers and William Earnhardt co-led this release, with contributions from 52 other contributors. Thank you to everyone that made this release possible!

Alex Dimitrov, Alex Shiels, Andrea Fercia, Andrew Duthie, Andrew Ozz, Andrey “Rarst” Savchenko, Andy Fragen, anischarolia, Birgir Erlendsson (birgire), chesio, Chetan Prajapati, daxelrod, Debabrata Karfa, Dima, Dion Hulse, Dominik Schilling, Ella van Durpe, Emil Dotsev, ghoul, Grzegorz (Greg) Ziółkowski, gwwar, Hareesh, Ian Belanger, imath, Jb Audras, Jeremy Felt, Joen Asmussen, Jonathan Desrosiers, Jonny Harris, Josepha, jrf, kjellr, Marius L. J., MikeNGarrett, Milan Dinić, Mukesh Panchal, onlanka, paragoninitiativeenterprises, parkcityj, Peter Wilson, Presskopp, Riad Benguella, Sergey Biryukov, Stephen Edgar, Sébastien SERRE, Thorsten Frommen, Tim Hengeveld, Timothy Jacobs, timph, TobiasBg, tonybogdanov, Tor-Bjorn Fjellner, William Earnhardt, and Yui.

WordPress.org blog: WordPress 5.2.1 Maintenance Release

Wordpress Planet - Tue, 05/21/2019 - 19:04

WordPress 5.2.1 is now available! This maintenance release fixes 33 bugs, including improvements to the block editor, accessibility, internationalization, and the Site Health feature introduced in 5.2.

You can browse the full list of changes on Trac.

WordPress 5.2.1 is a short-cycle maintenance release. Version 5.2.2 is expected to follow in approximately two weeks.

You can download WordPress 5.2.1 or visit Dashboard → Updates and click Update Now. Sites that support automatic background updates have already started to update automatically.

Jonathan Desrosiers and William Earnhardt co-led this release, with contributions from 52 other contributors. Thank you to everyone that made this release possible!

Alex Dimitrov, Alex Shiels, Andrea Fercia, Andrew Duthie, Andrew Ozz, Andrey “Rarst” Savchenko, Andy Fragen, anischarolia, Birgir Erlendsson (birgire), chesio, Chetan Prajapati, daxelrod, Debabrata Karfa, Dima, Dion Hulse, Dominik Schilling, Ella van Durpe, Emil Dotsev, ghoul, Grzegorz (Greg) Ziółkowski, gwwar, Hareesh, Ian Belanger, imath, Jb Audras, Jeremy Felt, Joen Asmussen, Jonathan Desrosiers, Jonny Harris, Josepha, jrf, kjellr, Marius L. J., MikeNGarrett, Milan Dinić, Mukesh Panchal, onlanka, paragoninitiativeenterprises, parkcityj, Peter Wilson, Presskopp, Riad Benguella, Sergey Biryukov, Stephen Edgar, Sébastien SERRE, Thorsten Frommen, Tim Hengeveld, Timothy Jacobs, timph, TobiasBg, tonybogdanov, Tor-Bjorn Fjellner, William Earnhardt, and Yui.

WPTavern: New in EditorsKit 1.5: Justify Text Alignment, Autosave On/Off Toggle, and Highlighted Text

Wordpress Planet - Tue, 05/21/2019 - 14:58

WordPress plugin developer Jeffrey Carandang continues to plough forward with new features for EditorsKit, a collection of page building block options for Gutenberg. What began as a block visibility management plugin has grown to include more features aimed at tweaking various settings in the editor.

Version 1.5 adds some text, heading, and paragraph styling and formatting options that aren’t currently available in core. For example, Gutenberg lets users change the background color and text color for an entire paragraph, but that’s where the color customizations end. EditorsKit now supports highlighting a section of text or a heading and choosing a color or background color.

This may seem like a niche request to implement but Carandang has tracked nearly two dozen related issues and discussions where users are asking for text highlighting or similar features.

This release also adds underline and justify alignment options to the paragraph block. Gutenberg doesn’t include it by default, as WordPress 4.7 removed the justify button from the TinyMCE editor in 2016. However, the demand for justified text has not disappeared.

In adding the format to EditorsKit, Carandang cited 10 issues from Gutenberg’s GitHub repository and eight WordPress.org support topics where users have asked for the justify text option or have commented on it being missing.

Those who have Jetpack installed will already have the justify alignment option. Carandang plans to add a check for wpcom/justify to the next release so users of both plugins won’t have two justify options.

EditorsKit 1.5 tackles the widespread issues with Gutenberg’s autosave function by adding a toggle that allows users to enable/disable it. This setting can be found under the vertical ellipses menu at the top of the editor.
Users have reported getting stuck in autosave, particularly with slower connection speeds, and some have experienced problems with their hosts.

Neat. I’ve seen users leave their browser tab open all night and their session expires, but the autosaves continue to post even though it’s now getting a 403. Then when the person wakes up their server blacklisted their IP.

— Jay (@wpdevlife) April 30, 2019

As the result of getting stuck in autosave, users often attempt to refresh the screen only to lose the work. This has been an ongoing problem since last year. EditorsKit gives users the option to turn autosave off if they are experiencing problems and save manually as they see fit.

Version 1.5 adds theme support for changing the block width to match the page template and layout. This allows theme developers to customize block sizes based on the template the users selects.

Carandang has been adding new features based on his own needs but has found most of them to be fairly common requests in the Gutenberg repository. He made upcoming features and ideas for EditorsKit public on GitHub and is accepting feature suggestions in this format. A few of his current ideas under discussion include:

  • a React emoji picker
  • copy link icon for the top bar of the editor
  • to-do style using checkbox and strike through
  • Markdown support for RichText API
  • uppercase and indent formats

I asked Carandang if he has any plans to add an option for paring down Gutenberg to the bare essentials with an interface more focused on writing. He said it is a possibility but is optimistic that the Gutenberg team may work to solve this common complaint in core.

“I’ve thought of that, specially when my writer colleague asked me about it,” he said. “But I think it’s not time for that yet. I’ll wait for more Gutenberg releases before deciding if it’s needed in EditorsKit.”

Carandang said he doesn’t plan to add any custom blocks to EditorsKit. His goal is to extend blocks for users to have options that they can utilize globally, while using whichever blocks plugin(s) they prefer. The plugin currently has no revenue model but he may pursue monetization in the future.

“At of the moment, I’m more focused on building the plugin features rather than monetization, but extensions may come in a year or two when Gutenberg is more stable,” Carandang said.

WPTavern: CoBlocks 1.9.5 Merges Block Gallery Plugin into Collection, Adds New Form Block

Wordpress Planet - Tue, 05/21/2019 - 00:57

CoBlocks, a collection of page builder blocks that was recently acquired by GoDaddy, has added four new blocks in version 1.9.5. This is the first major release since the plugin was acquired from Rich Tabor and his co-creators. Tabor now heads up a WordPress Experience team at GoDaddy where CoBlocks’ development continues.

This release merges the three gallery blocks (Masonry, Stacked, and Carousel) from the Block Gallery plugin into CoBlocks. There is a migration path for users to convert their existing Block Gallery blocks to CoBlocks’ gallery blocks. Block Gallery is still available on WordPress.org as a separate plugin with 5,000 active installs, which is actually more installs than CoBlocks (4,000). Tabor said his team is still discussing whether or not it will remove the plugin in the future.

“CoBlocks is already a suite of blocks that level-up the block editor, bringing in those gallery blocks into the core plugin removes a barrier for folks who already have CoBlocks installed,” Tabor said. “Instead of folks having to install, activate, and maintain two plugins – only one is needed. On top of that, it’s far easier to maintain them collectively under one roof, as many of the components are shared between the two plugins.”

In addition to merging the gallery blocks, CoBlocks 1.9.5 introduces a new Form block that allows users to customize a simple form directly within the editor. The block includes name, email, and message form fields but does not offer the ability to create new fields or change them to different types of fields. Users can set any of the fields as required using a toggle inside the block preview. For anything beyond these capabilities, a dedicated forms plugin would be required.

CoBlocks 1.9.5 also adds official support for Gutenberg 5.7 and includes more than a dozen tweaks and fixes.

Tabor said his team is identifying further solutions that can be leveraged to make page building in WordPress more simple. CoBlocks is rapidly becoming a another one-stop shop for the mostly commonly used page building blocks.

“We’re looking at how to make adding maps easier (a better Map block) and developing a system that enables restaurants to build out menus,” Tabor said.

Several other block collections already offer a map block and/or a similar suite of page building functionality, such as Ghost Kit, Atomic Blocks, Stackable, and Editor Blocks. Collections seem to be the best way to offer multiple small UI elements, especially if they are all designed to be complimentary in style. Plugin authors differentiate their collections from the others with additional block options, support, complimentary themes, and immediate compatibility with the Gutenberg plugin.

At the moment, there is little incentive for developers to maintain functionality as separate plugins, but WordPress’ planned single block directory may change the way blocks are packaged for optimal discovery. For now, it’s a race to see which block collection can offer the most useful suite with the most intuitive UI.

WPTavern: WordPress 5.2 Improves the Security of Automatic Updates

Wordpress Planet - Mon, 05/20/2019 - 21:28

WordPress 5.2, released earlier this month, added the first step towards fully secure updates with offline digital signatures. Scott Arciszewski, Chief Development Officer for Paragon Initiative Enterprises, explains how it works and how developers can migrate away from mcrypt to libsodium.

When your WordPress site installs an automatic update, from version 5.2 onwards, it will first check for the existence of an x-content-signature header.

If one isn’t provided by the update server, your WordPress site will instead query for a filenamehere.sig file.

No matter how it’s delivered, the signatures are calculated using Ed25519 of the SHA384 hash of the file’s contents. The signature is base64-encoded for safe transport.

Scott Arciszewski

The WordPress core development team manages the signing or secret keys. WordPress 5.2 contains a signing key that expires on April 1, 2021. The verification key or public key is used to decipher the secret key. This value determines the validity of the signature.

Since the feature is still in an experimental phase, WordPress 5.2 allows an update to occur if a soft error or invalid signature is encountered. This is to prevent more severe errors from causing the user to be locked out of the update process until a manual update is applied. The team will use the reported error information to improve the signature checking process.

The digital signatures are only supported for core updates with Themes and Plugins to follow in a later release. It’s also likely that the team will include separate keys for core releases, plugins, themes, translations, etc. to allow for more fine-grained control.

Digital signatures applied to WordPress core updates is an important milestone because it prevents users from unknowingly downloading updates from malicious sources.

For example, without digital signatures, if the server or servers that house the core update files were compromised, a false update could be sent to millions of sites. In 2016, WordFence explained how this scenario could play out when they publicized a security vulnerability they discovered with api.wordpress.org.

Persistence Pays Off

In early 2017, Arciszewski published a plea to Matt Mullenweg to focus on securing WordPress’ automatic updates system by using secure cryptographic signatures. Mullenweg responded to the article with one of his own on Medium.

We will at some point; as said above it’s a good idea — can’t hurt, might help. There are, however, some more important security issues in front of it, that impact millions of sites in the real world, so we are prioritizing those issues above a nice-to-have, defense in-depth effort.

Matt Mullenweg

Arciszewski has spent at least six years trying to convince the core team to implement digitally signed updates. Four months ago, Gary Pendergast, WordPress core developer, responded to the ticket saying that the feature fell in line with the list of WordPress priorities planned for 2019 and beyond. Pendergast laid out a plan and with a confirmed commitment to landing it in core, Arciszewski worked with the core team to make it a reality.

Millions of WordPress sites are on their way to becoming more secure thanks to the persistence and efforts of Arciszewski and the WordPress core team.

WPTavern: Jetpack Opens Signup for Membership Block Beta

Wordpress Planet - Sat, 05/18/2019 - 04:09

Jetpack has opened a signup for the beta of its upcoming Membership feature in order to collect feedback from potential testers. The changelog for version 7.3, released two weeks ago, hinted at a new Membership block coming to the plugin. The work in progress was added behind the JETPACK_BETA_BLOCKS constant, presumably in preparation for wider testing.

Based on the feature’s description on GitHub, the first iteration will function like a recurring payment/donation button that uses Stripe as the payment gateway. In this case, “membership” might be a misnomer for the feature. The wording on the beta signup page lends to the confusion: “WordPress.com is currently preparing a feature that will let you enable subscriptions on your site.”

At the moment, it appears that the Jetpack team hasn’t fully decided what this feature will become and seems open to seeing where it will go. Beta testers will likely refine the direction of the block. If you have an interest in using Jetpack’s membership capabilities in the future and want to shape its development, you can sign up for the beta by providing your WordPress.com login and a description of your needs and expectations for the feature.

WPTavern: Jetpack Retires Proofreading Module, Time to Find A New Grammar and Spellchecking Alternative

Wordpress Planet - Sat, 05/18/2019 - 00:00

Jetpack 7.3 was released last week and if you didn’t read the changelog, you may have missed that the spelling and grammar checking module that uses After the Deadline has been retired.

“Grammar and Spelling: Remove from Jetpack. We’ve chekced the spelling alot over the years, but now time to retire.”

From the Jetpack 7.3 Changelog

According to James Huff, an Automattician and volunteer moderator, the module was removed in favor of better options being available.

“We removed the feature as it has become a bit redundant lately,” he said. “Most major web browsers have some form of this already built-in, and free extensions like Grammarly are making huge strides in the field. It felt like the right time to back out of that field and focus more on everything else we offer.”

After the Deadline is a service that was created in 2008 by Raphael Mudge and was acquired by Automattic in 2009. It not only checked for grammar and spelling errors, it did so contextually and provided style suggestions. Mudge moved on from Automattic in 2010 and the service has seemingly operated on auto-pilot.

After the Deadline Proofreading Button in the Calypso Editor

Between 2010 and 2011, the Jetpack team added support for AtD with a proofreading module. Unfortunately, the proofreading button that was available in the Classic editor was not ported over to Gutenberg. This issue was originally reported on GitHub in 2018 but was closed 14 days ago due to AtD support being removed from Jetpack, WordPress.com, and Calypso.

I’ve used After the Deadline for 10 years and although there’s no official statement on when the service will be retired, the writing appears to be on the wall.

I plan to give Grammarly a try but I’ll miss After the Deadline. What grammar and spellchecking services or software do you use and recommend as an alternative to After the Deadline?

WPTavern: VVV 3.0 Introduces New Ubuntu 18 Box, Support for VVV 2 is Discontinued

Wordpress Planet - Fri, 05/17/2019 - 21:11

VVV 3.0 was released this week, introducing a new Ubuntu 18.04 LTS box. The project’s previous versions used Ubuntu 14, which has now reached end of life (EOL).

Support for VVV 2 is now discontinued, due to an unforeseen complication with its PHP dependencies. Ondřej Surý, who maintains all the PHP packages VVV uses, deleted the unsupported ones in response to Ubuntu 14 reaching EOL. VVV contributors had set up a package mirror but only 70% of them were mirrored. As a result, VVV 2 installs were no longer able to provision. VVV maintainers have stopped supporting it and it will not receive any fixes or updates in the future.

Tom Nowell said he and his fellow VVV maintainers had “a mini- Ubuntu 14-apocalypse of sorts when it reached EOL,” so the new Ubuntu 18 box is a big bump up that should cover the project until 2024. It includes Kernel improvements that make Ubuntu faster when used in a virtual machine. The 3.0 update came out of necessity but it includes changes the team had already intended to make.

“We wanted to move from 14 to 18 for a long time anyway, and Anton Vanyukov had written a PR starting that, so we went ahead,” Nowell said. “The internals are based on VVV 2 so 99% of things should still work exactly the same (but a bit better and a little faster).”

VVV now uses a leaner custom built box, but it requires users to destroy their VMs in order to update. Directions for updating to 3.0 are in the release post. This destroys the database but VVV creates its own backups that can be quickly restored with a simple command.

Another major change in 3.0 is that VVV no longer stores MariaDB data inside the VM. The data has been relocated to database/data, which has the added benefit of being preserved when using the vagrant destroy command.

The release also includes quite a bit of restructuring with the removal of the /vagrant mapped folder that eliminates overlapping vagrant shared folders. In addition to several dozen smaller improvements, VVV 3.0 adds a new teddy bear when it finishes provisioning.

The Future of VVV: Version 4 to Focus on User-Friendly Improvements to Provisioning

Although VVV doesn’t yet have a user-friendly interface and requires the use of a terminal, Nowell said the team is working towards making it easier to use. For now, VVV distinguishes itself from other development apps, like Local and DesktopServer, by being a community project that is free from commercial interests.

“VVV does a lot of the things DesktopServer does but for free,” Nowell said. “We don’t charge $99 for PHP7, SSL, or WP CLI. VVV won’t up sell you on hosting either, and you can have as many sites as you want out of the box.

“A lot of people like Local for using Docker containers, but all those containers are inside a boot2docker virtual machine using VirtualBox. They have a pretty UI, and it’s great if you use FlyWheel as a host, but it’s not the easiest to get set up for contributing to WordPress.”

VVV has a specific pre-built version that provides a development environment optimized for contributing to WordPress core. It can be copied onto a USB drive and set up on a user’s machine, even while offline. This pre-built version is often handed out at the beginning of contributor days at WordCamps.

“We’re a community driven project,” Nowell said. “People going to contributor days use VVV – the entire package can be pre-built and put on a USB stick and it runs in a lot more places than some of the docker based setups that some devs use. Until recently you needed to upgrade to Windows 10 Pro to be able to use Docker on Windows. Imagine 100 contributors downloading Windows 10 iso files over conference wifi.”

VVV maintainers and contributors are working on releasing version 3.1 in the next month with all the little things they want to polish. Nowell said they have the basis for what they want to accomplish in version 4. Instead of waiting for VVV to install and configure PHP/MySQL/nginx/etc, the install process will happen on a server somewhere and the user will be able to just download the result, similar to how VVV is pre-built for contributor days.

Nowell identified the major impacts of taking this approach:

  • It doesn’t matter if provisioning works for you, we’re doing that for you.
  • If someone makes a big slip up, that’s ok, users get the last working build and see nothing.
  • Getting everything set up should be much much faster, it will remove about 70-80% of the startup time for a lot of users.

Nowell said the general goal is to “just make it more fun to use” but his personal goal is for people to be able to use VVV without ever touching a terminal. He thinks it can be done with an Electron wrapper and has performed a few experiments with it. In the past, he spent a lot of time improving the messaging for provisioning errors, but the days of trying to preempt those problems may soon be drawing to a close.

“Why fix provisioning for users if they never have to do it in the first place?” Nowell said. “I’d say VVV 4 will come pre-built so it only builds the sites themselves, like how you can grab a docker image with PHP/MySQL already setup, and fill it with a site. Eventually the dashboard itself can become an Electron app where you can turn VVV on/off and adds sites.”

VVV maintainers have some ambitious plans for version 4 that will make it available to a wider population of WordPress users and save existing users more time on startup. The project needs more testers and feature requests. Contributions to the main project are welcome on GitHub. Developers and testers can also contribute to the meta environment to improve how it works with WordCamp sites and WordPress.org.

WPTavern: Block building without JavaScript: Testing ACF, Block Lab, and Lazy Blocks

Wordpress Planet - Thu, 05/16/2019 - 22:42

Not everyone is able or willing to build blocks in JavaScript just yet, and sometimes you have to install three or four block collections until you find the blocks you would like.

There is a third way: plugins that create the blocks for you from a set of specific custom fields, with a template to control the frontend display of the blocks. The three most popular options for doing this include: Block Lab, ACF (Advanced Custom Fields) and Lazy Blocks.

My use case for this test is a small task I set out to accomplish with each of the plugins – to create a block for team members of a company that includes the following fields: first name, last name, headshot, bio, phone number, and email address and use the block on a page in a two-column display with two team members.

For each plugin I will demonstrate

  • how to create the Fieldgroup,
  • how to create the template for the frontend and
  • how to use the blocks to create a team page.

I used Local by Flywheel as my local development tool. The test site ran on WordPress 5.1.1, Gutenberg 5.4 and the Business Theme from WordPress.com

After reading this post you will be able to select the plugin that fits your needs.

Creating a Team Block with Block Lab

Members of the  XWP team built Block Lab and it is available as a free plugin with a commercial version. I used Block Lab first, installed the plugin and then started a new block.

Here is the video on how to set-up the fields.

The next step is setting up the block template

When I looked at the expected location, the template will be made part of the theme directory in a subfolder called /blocks/ That’s something a developer needs to remember, as there is some content lock-in when switching themes.

To create the template, I opened my code editor, created the file block-team-member.php, and added the HTML + and minimal PHP to reference the fields.

<h2> <?php block_field( 'first-name' );?> <?php block_field( 'last-name' );?> </h2> <p><img class="teamphoto" src="<?php block_field( 'picture' ); ?>" alt="<?php block_field( 'first-name' );?> <?php block_field( 'last-name' );?> " width="150" style="float:left;padding:4px;margin;2px;"/> <?php block_field( 'short-bio' ); ?></p> <p><em>You can reach <?php block_field( 'first-name' );?></em> <br/>via email <span><a href="mailto:<?php block_field( 'email-address' ); ?>"> <?php block_field( 'email-address' ); ?></a></span> or <br/> via phone: <span><?php block_field( 'extension' ); ?></span></p>

In the last step, I finished the configuration of this block with the Block Properties

  • I set the icon to a person,
  • selected the “Layout Elements” as Category and
  • added “team member, team” as keywords

All this is necessary for the Block inserter in the editor.

Let’s see how it works.

I added a new Page called Meet our Block Lab Team and added the team members, using the Block “Team Member”.

For now, I decided to have all the information filled within the block editor boundaries. During setup of the fieldgroup, I had also the choice to display form controls in the Block Options tab in the sidebar. For the moment, I have determined that’s it’s just personal preference. Once you click outside the block, the form disappears and the block is rendered similar to its frontend representation.

Now that I have the block finalized, I can add more team members to the page. I decided, I’d like them in a column block with two columns.

So far, so good. I was not thrilled that the location of the template points to the theme folder.

When I want to switch out the theme, I still would like to keep the block and the layout for the block with my site, so I would need to make sure to copy the blocks folder to the new theme’s directory. Another way is outlined in the  documentation for Blocklab on Github. It offers two filters to change the default location of the template:

“To use a different template inside your theme, use the block_lab_override_theme_template( $theme_template ) filter. To use a different template outside your theme (for example, in a plugin), use the block_lab_template_path( $template_path ) filter.”

This was fairly easy to set up, even if you are not a PHP developer, you can probably use the one PHP function block-field() and make sure to reference the right field names.

Block Lab, in essence, provides you with a method to create the fields and configure the block properties in one screen, and then you need to add the corresponding block template to a folder /blocks/ in your theme’s directory.  It’s fairly straight forward.

Creating a Team Block with ACF 5.8

ACF (Advanced Custom Fields) version 5.8 came out with a block builder (only available in the Pro version). For my test I used ACF 5.8 RC 1. The final release is available now.  Elliot Condon is the plugin’s author and the first version was released in 2011. The plugin has grown into a hugely popular developer tool for freelancers and agencies alike and has over 1 million installs.

Its success and versatility make the creation of the field group a more involved process compared to the other two plugins. The Pro version 5.8 contains the first release of its block building tool.

This is the admin view of the Field group “Team Member”.

Now how do I make this into a block? The documentation is comprehensive enough.  Note: In this test I went in a slightly different order…

I started with the Field Group and I needed to get back to that admin screen after I registered the block (see below) .

I  used two files. First, I needed to register the block in the functions.php of my theme. For the template/block rendering code I used content-block-team-member.php also to be stored in the active theme’s folder.

You will see how those two fit together in a second. The rest of the work is done by the plugin in the back end.

So let’s write the Block Code in PHP

The first snippet is the block registration. I gave it a name, title, a description, point to the render template, give it a category, an icon and some keywords, under which the content producer can find the block in the Block Inserter. I scrolled all the way to the end of my theme’s functions.php and added this snippet:

function register_acf_blocks() { // register a team member block. acf_register_block(array( 'name' => 'acf-team-member', 'title' => __('ACF Team Member'), 'description' => __('A custom team member block created via ACF 5.8'), 'render_template' => 'content-block-team-member.php', 'category' => 'formatting', 'icon' => 'admin-comments', 'keywords' => array( 'team member', 'team' ), )); } // Check if function exists and hook into setup. if( function_exists('acf_register_block') ) { add_action('acf/init', 'register_acf_blocks'); }

This code is straight from the documentation and I just changed a few values.

In the next section I created the block rendering template. The file name needs to match the “render_template” attribute in the above text, which is “content-block-team-member.php

I also just followed along ACF’s documentation and only changed a few values and updated the display code.

<pre class="wp-block-syntaxhighlighter-code"><?php // create id attribute for specific styling $id = 'team-member' . $block['id']; // create align class ("alignwide") from block setting ("wide") $align_class = $block['align'] ? 'align' . $block['align'] : ''; // Load values and asigning defaults for the block fields. $short_bio = get_field('short_bio') ?: 'the short bio goes here... '; $first_name = get_field('first_name') ?: 'First Name'; $last_name = get_field('last_name') ?: 'Last Name'; $image = get_field('picture'); $email_address = get_field('email_address'); $extension = get_field('extension'); ?&gt; <div>" class="team-member "&gt; <h2> </h2> <blockquote class="team-member-blockquote"> <img class="teamphoto">" alt="" alt=" " width="150" style="float:left;padding:4px;margin;2px;"/&gt; <span class="team-member-short-bio"></span> <br /> <span class="team-membe-extension"></span><br /> <span class="team-membe-email-address"> </span> </blockquote> </div> </pre>

As I started with the Fieldgroup, I needed to go back and make sure that the group is associated with the block I just registered.  Below the Fieldgroup screen I created a rule for the Location: It needs to read: “Show this field group if the Block is equal to ACF Team Member.  

Now let’s see how this works in the Block editor when I add two members.

It was an interesting experience. You can use the form in the editor section to enter the data. Another option is to enter the data in the form fields available in the the sidebar and you see the block update in real time. You can toggle between the two methods but clicking on the Button “Switch to Edit” or “Switch to Preview” depending which method you are using right now.

The block editor UI works well. It’s worth going through the more elaborate setup and code necessary.

Creating a Team Block with Lazy Blocks

The third plugin in this test is called “Lazy Blocks” by Nikita of nkdev.info, the same team that also published the GhostKit block collection.

It not only allows me to store information in post_content but I also get a choice to store it in the post_meta table.

Here is a video of using the interface to create the fields.

As this admin screen is focused on getting all the information to create the blocks, on the left I created my fields and in the sidebar.  I filled in the information needed to register a block with the editor.

Underneath,  I was able to add the HTML for frontend and backend. The syntax is even easier than Block Lab, and of course much easier than ACF’s  templating.

I didn’t need to add any code to my theme’s functions.php nor did I need to create additional files with my template code.

You can add it all right here, aided by syntax highlighting and merge tags rather than function calls.  The documentation shows multiple ways to write your template code. I am definitely a fan of Handlebars (semantic templating) as it is in this context much closer to other systems’ merge tags.

I copy/pasted the same code into the “Editor HTML” tab, so I could see the frontend display below the form fields.

Let’s use it.

This seems to work. It was little bit awkward that the form didn’t disappear when I unselect the block. It takes up a lot of real estate in the editor. Although, I wanted to have the team members in a two-column block, I did not succeed in dragging and dropping the two blocks into a Column Block. I mentioned this in my support topic and nK answered: “…hiding controls when the block is not selected is a good feature, that already added in ACF Blocks and will be added in Lazy Blocks soon.” Here you have it – all in due time.

Conclusion: Complex, Evolved, or Easy.  

ACF 5.8  has a very robust block building feature, and every one who has been using the plugin to build sites will be very happy to be able and create dynamic blocks for their customers. It’s well thought through, and developers of all skill sets will get up and running quickly.

Someone, who is not well versed in PHP will have her fair share of trial and error to get it all going. It will get even more complicated when the requirements for the blocks get more involved and beyond this test’s use case. This is not a tool for WordPress beginners or DIY site implementers who don’t write a lot of code themselves.  

For now, only the ACF 5.8 Pro version comes with the block builder feature. Condon is contemplating making it a stand alone plugin. (See what the Twitteratti think about the idea… )

Block Lab is in its early stages of development. It succeeds in abstracting most of the block architecture and reduces the amount of code that needs to be written. The documentation is very helpful. The template is stored in a separate file, and needs to be maintained with the rest of the theme files. If we at my company would use it for any of our projects, we would store the template file with one of our helper plugins, so our customers are able to switch themes without losing the content and display of the blocks built with Block Lab.

The Pro version boasts additional features, such as repeater fields, import/export of blocks, user object fields, map field and many more block features.

XWP is an agency working with enterprise clients on the WordPress.com VIP hosting and other corporations. Their team members are contributing to other big ideas in the WordPress space, including the Customizer,  AMP and Tide. I expect the plugin to stay around and grow with Gutenberg Phase 2 into a robust system for site implementers, agencies, and theme developers.

Lazy Blocks is a delight to set up and as mentioned, I am a fan of the Handelbars templating syntax. It’s easy to learn even for beginners, and with a little practice, a site owner would be able to create specific Gutenberg blocks for their site. The block handling in the editor although functioning, is a little clunky, as the display doesn’t switch between block select state and unselect state at the moment.

If there is a requirement of having additional fields for a page or a section of a post, Lazy Blocks is a great tool to prototype and get quickly from idea to proof of concept.

The only caveat: I was not able to find out who the people are behind nkdev.info and the name Nikita. The website only reveals that it is a young company but nothing more. If you use the plugin, make sure you have Plan B in place just in case the developers abandon the plugin before it takes off.

ACF 5.8 is quite complex; Block Lab is a very flexible and only semi-complex; and Lazy Blocks is adequately named and the easiest to use. None of them lets you get away without writing code, as each block needs some display output in HTML.

Let me know what you think about these three block generating plugins. Also, if you found another plugin that allows you to build blocks without getting into Javascript, I want to know about it! Please share your thoughts and discoveries in the comments!

WPTavern: HostCamp: An Unconference For Advancing the WordPress Infrastructure

Wordpress Planet - Thu, 05/16/2019 - 21:09

HostCamp is a small, semi-informal, invitation-only, event with an unconference style that is bringing leaders together from within the hosting industry to discuss and share ideas on how to advance the WordPress infrastructure across the web.

The organizing team is comprised of, Jonathan Wold, Ecosystem Consultant, Formerly VP of Strategy at XWP, Mile Rosu, Co-founder and CEO of Presslabs, Mihai Grescenko, Head of Design at Desero, Anna Maria Radu, Event producer for DigiTales, and Andreea Oproiu, Communication and PR specialist for DigiTales.

Speakers will present on a variety of topics including, malware, ethics in WordPress hosting, PHP versions, portability, and more. Betahaus, a network and co-working facility in Berlin, Germany, is hosting the event.

Betahaus Facility in Berlin, Germany

Rosu describes the unconference as, “A launchpad for innovations in the hosting industry where opportunities in WordPress infrastructure are encouraged and promoted.”

If you’re interested in attending, there is an application form near the bottom of the HostCamp site that is available until June 1st. Tickets are on sale now for €200 or $223.47. Refunds are available if you contact the organizing team 30 days prior to the event.

It should be noted that WordCamp EU is taking place in Berlin, Germany, as well and begins a day after HostCamp.

WPTavern: Matt Mullenweg Launches New Blog and Podcast on Distributed Work

Wordpress Planet - Thu, 05/16/2019 - 18:14
photo credit: Min An

Automattic CEO Matt Mullenweg has launched a new blog and podcast at Distributed.blog where he will be sharing what he has learned over the past 15 years of managing a distributed workforce. In 2019, Automattic now employs more than 900 people from 68 countries who have all worked in a distributed fashion since day one.

“With the Distributed podcast I wanted to take a closer look at how some of the most innovative companies and brilliant minds think about the future of work,” Mullenweg said. “Not just the binary questions of ‘remote work’ vs. ‘office work,’ but the wider spectrum of what’s possible and why it matters. How can we work better and smarter in the decades to come—and what’s the moral imperative driving our desire to change?” 

The first episode of the podcast features Upwork CEO Stephane Kasriel, who is deeply embedded in the labor market for remote work. His company offers a global platform for connecting businesses with freelancers. Upwork went public in 2018 and is expected to do more than $1.7 billion in business this year. Kasriel has a wealth of knowledge to share from his experience managing more than 1,100 remote freelancers in 500 cities, in addition to 400 on-site employees.

“Our mission at this company is to create economic opportunities for people to have better lives, and the way we measure that is how much money goes into people’s pockets,” Kasriel said.

Both Mullenweg and Kasriel are passionate about seeing more companies embrace remote work and the first part of the podcast goes deeper into what is currently broken about work. Those living in big cities are often paid well for their talents and expertise but will spend a large portion of that money on the cost of living. Kasriel said he believes Upwork can be a “driving force in creating a better future” by championing remote work as the economic catalyst for improving working conditions across the globe.

“This distributed-company movement is the awakening of the tech industry [to the reality] that we are part of the problem,” Kasriel said. “Part of the reason why jobs have been destroyed in plenty of places in the country while all the new jobs were created in a small number of areas is because of tech.”

For those who are curious about how CEOs and managers make distributed work a success, the first episode includes discussions on some of the more practical issues of managing a remote work force. Mullenweg and Kasriel discuss the challenges of working across timezones, strategies for improving communication and preventing employees from feeling a sense of isolation, and managing productivity and performance.

The topics included in the episode are even applicable for smaller distributed companies that are just starting out. Kasriel shared tips on establishing a strong culture of employee satisfaction for both on-site employees and those working remotely, navigating conflict, integrating new employees into remote culture, and allowing people to “delocate” from on-site work.

After listening to this episode, I found that Mullenweg and Kasriel presented a compelling case that distributed work is not just a buzzword in the tech industry. It is actually a movement with a powerful economic impact that is poised to change the world. Remote work also has the added benefit of creating opportunities for people who have a difficult time participating in the traditional labor market, effectively increasing the diversity of a company’s employees by offering a more inclusive model for working.

The podcast is produced by Mark Armstrong and the team at Charts & Leisure. There’s a lot of valuable information efficiently packed into just 37 minutes. If you manage a distributed team or are part of one, this is a high quality new show to add to your subscriptions.

Matt: Introducing the Distributed Podcast

Wordpress Planet - Thu, 05/16/2019 - 14:59

I’ve been meeting with some brilliant people for Distributed, my new podcast dedicated to exploring the future of work. The first episode is a conversation with Stephane Kasriel, CEO of Upwork, about how they built a distributed culture, and how flexible work will shape the future of the global economy.

Unlike Automattic, Upwork does have an office in Silicon Valley (albeit one with a remote receptionist!). It was interesting to hear how Stephane’s teams balance in-person culture with inclusiveness for all employees, no matter where they live. Read more about Stephane’s work at Distributed.blog, and subscribe at Apple Podcasts, or wherever you listen to podcasts.

WPTavern: Gutenberg 5.7 Adds New Block Appender for Group and Columns Blocks

Wordpress Planet - Thu, 05/16/2019 - 04:44

Today’s release of Gutenberg brings a major improvement to the usability of the Group block. In previous versions of the editor, it wasn’t easy to see if a block had been inserted as a child block, especially since the default behavior was to insert an empty paragraph block. Gutenberg 5.7 brings more clarity to the UI for Group blocks by displaying the new block appender as the default state when no inner blocks are detected. (The “appender” is the fancy name for the button with the plus sign inside it that opens the UI for inserting a new block.)

The Columns block has also been updated to add the new block appender, and this release adds support for setting column widths. The inflexibility of the Columns block has been a frustration for users since it was introduced, but this release makes progress on one of the most common requests. Users can now set a percentage width for the columns in the block settings. The UI for this is a bit clunky, but a more interactive, draggable column resizer handle is coming in a future release. Future iterations may also include “quick-select” template options for users to select from when setting up their columns.

Other new features in this release include support for showing post content or an excerpt in the Latest Posts block and support for header and footer toggles in the Table block.

One handy little addition to Gutenberg 5.7 is the ability to update images using drag & drop. Users can now drag an image onto an image block that already contains an image. The image will be uploaded and will replace the previous one, saving users many clicks in the process of changing an image. Future updates may also add the same behavior to the audio, video, file, and Media & Text blocks.

Gutenberg 5.7 includes dozens of bug fixes and accessibility improvements, with several suggestions that originated from WPCampus’ accessibility audit. It also brings a significant boost in performance with a 14% faster loading time than the previous version.

The project’s documentation has a new home on WordPress DevHub and has been reorganized for better navigation.

A list of all the changes in the 5.7 release is available in the release post.

WPTavern: Site Health Tool Manager Provides A Convenient Way to Disable Unnecessary Site Health Check Tests

Wordpress Planet - Thu, 05/16/2019 - 02:33

WordPress 5.2, released last week, added two new pages to the WordPress backend to help users diagnose common configuration issues. The Site Health Check page runs a series of tests and categorizes the results as critical, recommended, and good. This helps users prioritize which issues require immediate attention.

WordPress 5.2 adds filters for developers to add, edit, or remove tests but these filters may not be as accessible as a plugin. Site Health Tool Manager by William Earnhardt is a new plugin that provides an easy way to disable tests.

Site Health Tool Manager Settings

In some situations, consultants may want to disable certain tests to prevent the results from panicking a client. For example, if a consultant has configured a site to not receive automatic updates because the site is managed with version control, the site health check test is unnecessary.

Disabling unnecessary tests can also increase a Site’s Health Percentage score. However, in the plugin’s description, Earnhardt stresses that the plugin should, “only be used to disable tests with a legitimate and acceptable reason for failing. It should not be used to hide tests which can be fixed.

Site Health Manager also supports the tests that were recently added in Jetpack 7.3. Site Health Tool Manager is free and can be found on the WordPress plugin directory.

WPTavern: Pressing Topics – Episode 2

Wordpress Planet - Wed, 05/15/2019 - 19:37

Pressing Topics is a daily podcast hosted by Malcolm Peralty and myself. We discuss the news that’s making headlines in the WordPress ecosystem as well as related topics that catch our eyes. Generally speaking, if you listen to this show on a daily basis, you should have a good idea on what’s going on in the WordPress community.

In this episode, Malcolm and I review the most common mistakes WordPress theme developers make based on a veteran theme reviewer’s experience, the 10 best countries to outsource software development too, and a new proposal to the Plugin Directory Guidelines.

Due to a software issue, the volume of my voice in the beginning of the show varies from loud to quiet to loud again. The audio normalizes after about 5-10 minutes. I’ve made some software changes and am hopeful the audio quality in episode three is much better.

Stories Discussed:

The Most Common WordPress Theme Development Mistakes (and How to Fix Them)

10 Best Countries to Outsource Software Development, Based on Data

4 Reasons You Should Choose WordPress for Your E-Commerce Site

Jetpack 7.3.1: Maintenance Release

Proposal to Modify Plugin Guidelines

The transcript is in Rich-Text format. You can download the show or listen to it via the embedded audio player below.

Pressing Topics Episode 2 TranscriptDownload Pressing Topics Episode 2Download Listen to Episode 2 of Pressing Topics

HeroPress: I Found My Tribe

Wordpress Planet - Wed, 05/15/2019 - 12:00

When I was a kid not a single girl said “I want to be a web designer when I grow up”. Mostly because there was no world wide web. There weren’t video games either, until I was in junior high school and Pong came out. Back when I was a kid, girls mostly thought about becoming teachers, nurses, ballerinas, and mothers. We weren’t encouraged to do “man” jobs. We definitely weren’t encouraged to pursue STEM careers.

As a matter of fact, my high school guidance counselor told me that I should give up my dream of college and concentrate on being a stay-at-home mom. (It was 1987 and I was ranked 21/325 students in my graduating class.)

I’ve always been a bit of a calculated rebel, so I didn’t heed her advice. Instead I started down a long path through academia that would eventually bring me here, to WordPress and the community that has become my tribe.

I’m often asked how I started my WordPress business. I would love to tell you a story about how I did a ton of research, met with mentors, found advisors, wrote a perfect business plan, crafted an amazing marketing plan, and launched according to a timeline all neatly written out (and using a project management app, of course).

It wasn’t like that at all.

At the time I started my business I had worked in higher education for over twenty years as an administrator in five different colleges, universities, and trade schools. I had a bachelor of arts degree in Religion and Philosophy, classical training in vocal performance, an MBA (in marketing, e-commerce, and information systems management), and coursework completed toward a doctorate in higher education administration.

In June of 2013, I decided it was time to leave my job as an administrator in a local trade school. I hadn’t really been happy for a long while, and the timing was right financially for me to make a move. My plan was to take July off, use August to job search, then be employed by September.

Have you ever heard the phrase, “Men plan, God laughs”?

While it was still June, and within the two weeks’ notice I had given, I was afraid I might become bored. I thought I could make a little money doing some marketing, so I posted to my personal Facebook page that I would love to help out friends and family with social media or web design. The customers came out of the woodwork.

And just like that, I had a business.

I made many mistakes along the way, of course. I charged $300 for a website when I started ($500 for e-commerce). I paid my dues and learned the trade. I started attending WordPress meetups in Rochester. They were sporadic, at best, so when the organizer asked me if I would become the organizer, I jumped at the chance and got us on a regular schedule, with topics in advance and volunteer speakers.

From there it was just a matter of time before I would attend my first WordCamp (Buffalo, 2014). Since then I’ve attended more than thirty camps, organized six, mentored five, and spoken at twenty.

I love WordPress. But I love the people even more.

I don’t just love WordPress. I fell in love with WordPress. The ease of use. The total control. I love that there’s always more to learn. I love that I can teach others how to use it. I love the events. I love the collaboration. I love the people.

I don’t just have WordPress acquaintances. I have WordPress friends. I have a WordPress family.

The first site I ever logged into was created for my best friend and me. We had just started a nonprofit organization and her husband built us a website. He made the structure, but we had to add the content. He emailed us our logins. I remember logging in like I had mistakenly been given the key to the castle and wasn’t really supposed to use it. I was afraid to click links. I was afraid to click “publish” or “update.”

I thought for sure I’d kill the whole site. But I didn’t.

I wrote. I added classes. I added pages. I added posts. We added a membership component and soon I was navigating that like a sailor in well-known waters. I was a great WordPress user, but I still didn’t understand the connection between purchasing a domain and having a WordPress site, so I called my friend’s husband.

Rob and Christine had five kids and Christine worked evenings. When I asked Rob to teach me how to get from the domain purchase to having a site, a deal was struck: if I would cook dinner for their kids, he would teach me WordPress. I made spaghetti, purchased a domain and hosting, and I wrote 4 things down on a piece of paper:

  1. Download WordPress from wordpress.org.
  2. Upload WordPress through FTP.
  3. Edit wp-config file (don’t forget to change the salt keys)
  4. Don’t use “admin” as the account name.

The rest I (miraculously) remembered. That was eight years and over 300 WordPress installations ago.

Which all led me to where I am now.

Getting up the courage to speak at WordCamp about a year after I started building sites was scary. I felt like an imposter. I was sure I would be “found out,” but I really did “know my stuff.” People were very complimentary about my talk, so I applied to more camps. I met more people. My friends teased me that I wanted to know all the “A-Listers” in WordPress. Others teased that I wanted to BE an A-Lister. What I really wanted was to learn as much as I could, share what I knew, and build a network.

In 2017 I spoke at WordCamp Ottawa. It was there I built a connection with Jason Knill of GiveWP.com. I had used Give before, and I told him about how it worked for me. He asked if Give could write about the nonprofit site I had built to raise money to feed children in South Sudan. He interviewed me about it. At the end of our meeting I mentioned to Jason that “if you ever have an opening, I’d love to work for you.” Four and a half months later I started working full-time as the Head of Customer Success for Give.

What I love about my job.

In my role at Give I get to talk to people all over the world. I get to help them increase their fundraising, which in turn helps their organizations – most of which are nonprofits helping make the world a better place.

With our WP Business Reviews plugin I get to work with businesses that are hoping to grow and succeed – just like I did when I started my freelance business.

I get to build a team that helps us succeed by helping others succeed. I get to employ people locally in my small hometown outside of Rochester, NY.

I get to keep sharing my love of WordPress.

I continue to speak at WordCamps, mentor and teach locally, and organize my local WordPress Meetup and Technology Nonprofit Meetup. I love Slack, Facebook Groups, Facebook Messenger, and Twitter messages because they let me keep in touch with all of the wonderful people I meet in the community.

Mostly I love how WordPress has empowered me to do more and to be more.

I’ve spent most of my life trying to broaden my comfort zone.

As you can probably tell, I have a pretty large comfort zone. Actually, I can’t remember the last time I saw the border of my comfort zone, because it’s that big; but it wasn’t always so. When I was a child I had a comfort zone the size of a postage stamp. I had to stand in it on one toe, like an uncoordinated ballerina trying to learn to go en pointe and failing miserably. I was timid and shy. I was afraid of everything.

Then one day I decided to do something uncomfortable. I ran for 8th grade student council secretary. It didn’t occur to me that I might not win. I have no idea where that hubris came from. I figured, at that point, that I had just as good a chance as anybody else. I made posters. I gave a speech. And something amazing happened. I lost the election. I mean, I cataclysmically lost the election.

Most people wouldn’t think that losing an election was amazing, but it was. It was amazing because I learned that I could step outside of my comfort zone, lose, and survive. I could still breathe. Still be me. It had changed me and my perceptions of myself. After that, instead of a postage stamp-sized comfort zone, I could put my foot down on the whole envelope.

It didn’t end there.

What I learned is that comfort zones are like concentric circles. A step outside doesn’t just stretch the zone to fit that footstep. Instead, it increases it exponentially. Where before you had a three-foot circle, now you have a six-foot circle, then twelve feet, then twenty-four feet, then before you know it, you won’t be able to see the edge of your zone because it’s so big.

WordPress helped me with that, too.

Instead of feeling like an imposter, the WordPress community embraced me and gave me the validation I needed to feel like I belonged. People were receptive to my ideas. Some wanted to teach me. Some wanted to learn from me. Some wanted to work with me. People hired me. Others asked my opinion or for help. I belonged. I had a tribe.

I will continue to contribute to, support, learn from and grow with WordPress. I love it here. I love my tribe.

I hope you find your tribe, too.

The post I Found My Tribe appeared first on HeroPress.

Webpack Reactjs SASS

Drupal Themes - Wed, 05/15/2019 - 06:15

This is a Barrio subtheme that simplifies integrating Bootstrap 4 SASS and Reactjs with Drupal.

Following are the steps :

1) Make sure you are in folder webpackrs/webpackcontainer/app
2) Run the command npm install --only=prod
3) Run the command npm install --only=dev
4) Configure the js and css files in webpackrs/webpackcontainer/app/webpack.config.js under the section entry .
5) SCSS and js files can be created in the folder webpackrs/webpackcontainer/app/_devapp
6) Run the command npm run-script watch to see the generated files under the folder webpackrs/js and webpackrs/css
7) For production to get minified CSS and javascript run the command npm run-script build

The command webpack --watch can also be used to watch the files. The mode (development,production) can be configured in webpackrs/webpackcontainer/app/webpack.config.js