Category: WordPress

WPTavern: Drupal Gutenberg 1.0 Released, Now Ready for Production Sites

The Gutenberg module for Drupal, created by Frontkom, reached the 1.0 milestone earlier this month. It is the first stable release recommended for use in production with Drupal 8.x.

The 1.0 release removes the Gutenberg-JS dependency and uses Gutenberg core files directly. It is based on Gutenberg version 5.6.1, which was released in early May. The module boasts better handling for media files, adding support for title, caption, and alternative text. It also adds an “Allowed Blocks UI” to the content type admin UI, so administrators can restrict which blocks show up in the block selector.

“We’re now ready for production sites in the sense that we’ll be more careful with structure changes, will try to do update paths when possible, and will create automated tests for crucial functionality,” Frontkom project manager Thor Andre Gretland said. “We’ve solved the blockers for a stable release.”

Upgrading the module from RC-1 may require some extra steps, because it is a big jump, taking the Gutenberg library from 4.8.0 to 5.6.1. Users will need to update the database. It is also necessary to navigate to content types and click save to enable Gutenberg again so that it will begin storing the Allowed blocks in the database. If users get notices about invalid blocks, they are advised to try the Attempt Block Recovery option:

“It’s actually a rather large update,” Gretland said. “We were planning to add a couple of last needed features to release our 1.0 version, but ended up using the latest Gutenberg version with several new great features. We’re also using more of the Gutenberg Core, that we’ve been able to use before.”

The module still has one critical issue that Frontkom is working on. Reusable blocks are not working with the latest release. Users are getting a “this block is unavailable or deleted” message when attempting to insert a reusable block. In the meantime, those who require this feature can roll back to RC1 to get it working again.

So far the Gutenberg module has been well-received. It has been downloaded more than 12,000 times and 494 sites are reported to be using it.

Drupal’s Gutenberg module includes access to the Gutenberg Cloud library of free blocks. Although the library has been slow to gain contributors, it does contain several blocks that are helpful for creating page layouts, such as Content in Columns, Hero Section, Section Wrapper, Section Row, and a Feature Box block. Site administrators can also use the Gutenberg module in combination with Drupal’s new Layout Builder, which was introduced as a stable module to Drupal 8.7 core.

“We see a valid use case for mixing Drupal Gutenberg with the Drupal layout builder when you might want to create layout templates with the layout builder, and keep the actual content editing in Gutenberg,” Gretland said. “For example you could use the layout builder to define fixed byline elements for author and create date, but leave the actual content creation experience to Gutenberg.”

There are a few limitations to using the two tools together. The only way to use them on the same project is if they deal with different content types.

“Since Drupal Gutenberg takes over the whole node UI, it can have some unexpected effects when used together with Layout Builder,” Gretland said. “That doesn’t mean that they won’t ever ‘work’ together. One idea could be using the LB data structure to generate Gutenberg fixed layouts/templates and even save Gutenberg data in a structured way handled by Layout Builder.”

Gretland said his team believes Gutenberg delivers a better editing experience than Layout Builder, as it is a more mature project. However, Layout Builder stores its data in a structured way, which has its advantages and disadvantages over Gutenberg.

WebWash has a good video tutorial for Drupal users who want to learn how to configure the Gutenberg module and use it on the Page content type. It includes a walkthrough for common actions like uploading images, creating reusable blocks, and using the Gutenberg Cloud. If you want to see how Gutenberg can improve Drupal’s authoring experience without installing the module, check out the frontend demo of Drupal Gutenberg created by the team at Frontkom.

WPTavern: WP Engine Launches DevKit Open Beta

Those who host or manage sites on WP Engine now have a new tool at their disposal. It’s called DevKit, developed by Chris Wiegman and Jason Stallings.

DevKit is a WordPress local development environment that includes SSH Gateway access, push and pull deployments to WP Engine, Command Line Interface commands for the Genesis theme framework and other tools.

Although DevKit has tight integration with WP Engine the software can be used independently of the host. With Local by Flywheel, Vagrant, XAMPP, and other tools available, Wiegman explains what motivated him to create a new solution.

“I’ve been working on the perfect WordPress developer environment since I learned about Vagrant in 2013,” he said. “As it was never my full-time job, I could never take it to the next level. DevKit gives me the power to do that.”

Stallings added, “We wanted to build a kick ass set of tools for developers building on WP Engine. That’s been our mission from the start, build something that all developers want to use (including us)!”

As what for what sets DevKit apart from the others, “I think our architecture is very different from both tools,” Stallings said.

“Similar to Docker Engine, DevKit CLI is the interface to DevKit. So when we build the GUI it will 100% complement the CLI, and the two can be used interchangeably. This will enable us to build other interfaces in the future too.”

DevKit provides the following features:

  • Container-based local development environment
  • SSH Gateway access
  • Push and pull deployments to WP Engine
  • Preview your local site with others via ngrok
  • PHP version selector
  • Email testing client
  • MySQL
  • Local SSH & WP-CLI
  • Genesis Framework WP-CLI commands
  • phpmyadmin
  • webgrind
  • Varnish
  • HTTPS Proxy
  • xdebug

Currently, DevKit’s user interface is command line only with plans to add a GUI later this year. It’s available for free and is in open beta for Mac and Linux. Those interested in participating in the open beta can sign up on the DevKit landing page.

WPTavern: Former npm, Inc. CTO Announces Entropic, a Decentralized Package Registry

CJ Silverio, former CTO of npm Inc., gave a presentation at JSConf EU 2019 in Berlin earlier this month titled “The Economics of Open Source.” More specifically, she discussed the economics of package management as it applies to open source software, based on her unique perspective and experience gained in working for the company that runs the world’s largest JavaScript package registry.

Silverio tells the story of how npm gained official status and characterizes its success as a catastrophe for a centralized package registry and repository. Although centralization has some advantages for usability and reliability, success can be expensive when a centralized service becomes popular. She described the events leading up to npm’s incorporation in 2013. The registry was down more than it was up in October 2013 and npm needed money.

npm’s owner took seed funding from a VC firm and the Node project continued to give npm special privileges. Developers perpetuated this by continuing to use npm, as over time it had come to define developers’ expectations in serving JavaScript packages. Silverio discusses some of the consequences of npm coming under private control, how developers now have no input into registry policies or how disputes are resolved.

Presumably speaking from her intimate knowledge of the company’s inner workings, Silverio describes how VC-funding turned npm Inc. into a financial instrument.

“Financial instruments are contracts about money,” she said. “npm Inc, the company that owns our language ecosystem, is a thing that might as well be a collection of pork bellies, as far as its owners are concerned. They make contracts with each other and trade bits of it around. npm Inc. is a means for turning money into more money.”

Silverio contends that JavaScript’s package registry should not be privately controlled and that centralization is a burden that will inevitably lead to private control because the servers cost money.

Her sharp criticism of centralized package management leads into her announcement of a federated, decentralized package registry called Entropic that she created with former npm colleague Chris Dickinson and more than a dozen contributors. The project is Apache 2.0 licensed and its creators are working in cooperation with the OpenJS Foundation.

Entropic comes with its own CLI, and offers a new file-centric publication API. All packages published to the registry are public and developers are encouraged to use something like the GitHub Package Registry if they need to control access to packages. The project is just over a month old and is not ready for use.

“I think it’s right that the pendulum is swinging away from centralization and I want to lend my push to the swing,” Silverio said. The last decade has been about consolidation and monolithic services, but the coming decade is going to be federated. Federation spreads out costs. It spreads out control. It spreads out policy-making. It hands control of your slice of our language ecosystem to you. My hope is that by giving Entropic away, I’ll help us take our language commons back.”

Silverio’s Economics of Package Management essay is available on GitHub. Check out the video of the presentation from JSConf EU below. If decentralized package management gains momentum and becomes the standard for the industry, this video captures what may become a turning point in the JavaScript ecosystem and a defining moment for the future of the web.

WPTavern: BuddyPress 5.0 to Update Password Control to Match WordPress

WPTavern: BuddyPress 5.0 to Update Password Control to Match WordPress

BuddyPress 5.0 development began in December 2018 after 4.0.0 was released in November. The core BuddyPress team has not published a roadmap for what will be coming in 5.0, but features and fixes added so far can be found on GitHub in the commit log.

One noteworthy addition to the upcoming major release is that the BP Nouveau template pack is being updated to use the same password control as the one used in WordPress core. BuddyPress users will now be able to set their passwords using WordPress’ interface on the registration page and on the user’s general settings page.

Here’s what it will look like in the templates:

By default, BuddyPress will generate a strong password, but the user can still edit it, if necessary. If the user selects a password that is too weak, the submit button will be disabled until the user confirms they want to proceed by checking the checkbox.

BP Nouveau replaced the bp-legacy template packs in 2018, introducing JavaScript-powered templates, integration with the Customizer, and more layout options for BuddyPress navigation and component directories. As a result of the password control update, the src/bp-templates/bp-nouveau/js/password-verify.js template is scheduled to be deprecated and deleted in BuddyPress 6.0.0, so developers will want to take note if using the bp-nouveau-password-verify script as a dependency for custom password control implementations.

BuddyPress 5.0 also adds BP-specific debug into to the Site Health Info screen that was introduced in WordPress 5.2. This release will require WordPress 4.7 or greater for optimal compatibility and older versions will not be supported. Site owners running on older versions of WordPress have time to prepare.

Although the BuddyPress core team and contributors have put out several security and maintenance releases since version 4.0.0, regular project meetings have been sporadic in 2019. BuddyPress 5.0 was expected at the end of May but a new timeline may be discussed at the next meeting, which is tentatively planned for Wednesday, June 12.

WPTavern: Gutenberg 5.9 Brings Major Improvements to Block Grouping, Introduces Snackbar Notices

Gutenberg 5.9 is now available for those who are running the plugin to get the latest features on their sites. This release brings significant improvements to the grouping capabilities, allowing users to group and ungroup blocks inside a container block. Once placed inside a group, the blocks can be moved up or down within the group using simple up/down controls.

Nested blocks have also been improved so that users can click through to each layer to configure each and navigate to the deepest nested block.

Gutenberg 5.9 introduces “Snackbar” notices to communicate completed actions in the block editor UI that do not require further action.

The term “Snackbar” doesn’t adequately describe the way these notices behave. The concept was inspired by Material design and is traditionally used for providing brief messages about app processes at the bottom of the screen. Gutenberg’s new Snackbars pop up and disappear after a short delay, so the notice doesn’t have to be dismissed.

“For a distraction-free experience, all the notices used in the editor to inform about the post saving/publishing, reusable blocks creation and updates have been updated to use this new type of notice,” Gutenberg Phase 2 lead Riad Benguella said. He posted a gif demonstrating Snackbar notices in action:

This release brings several visual enhancements to blocks and UI components, including a redesign of the Table block placeholder, refactoring and consolidation of dropdown menus, and improvements the output of the Spacer block.

Gutenberg 5.9 contains more than two dozen fixes for bugs found in both desktop and mobile experiences. The editor took a slight dip in performance from the previous version, going from 4.8 to 4.9 seconds in loading time and 62.8ms to 66.3ms for keypress events. More than 40 people contributed to this release and approximately 15% were new contributors.

HeroPress: My “Hero’s Journey” Through the Dark Underworld of WordPress Hosting

HeroPress: My “Hero’s Journey” Through the Dark Underworld of WordPress Hosting

Pull Quote: Make things as simple as possible, while avoiding single points of failure on mission-critical systems.

The following is an expanded and updated version of my presentation at WordCamp Salt Lake City 2017.

My girls love Moana. Especially when it first came to video and they could watch it every day… or two or three times a day if mom wasn’t feeling good or catching up on sleep from being up with baby brother the night before.

There’s this strange part of that movie where Moana follows Maui to a place under the ocean called “The Realm of Monsters.” It’s where monsters go after being killed. If you have younger kids, you know what I’m talking about. If you don’t have kids, it’s when the giant crab sings the song “Shiny.”

One common theme in myths, legends, and ancient religious writings, is where the hero visits the underworld, aka “afterlife” or “hell.” There they experience a symbolic or actual death for themselves or a loved one. Often through conquering a monster who is the Lord of the Underworld, they then re-emerge with their loved one, new knowledge and power, and/or some object to help them on their quest.

The film Moana clearly plays out this theme. She and Maui emerge triumphant from the realm of monsters, having defeated the giant crab by flipping it on its back and retrieving Maui’s magical hook.

In Return of the Jedi, Luke descends to the underworld of Jabba’s Palace. There, he’s able to bring his friend Han Solo back from a virtual death, defeat the Rancor, kill Jabba the Hut (lord of the criminal underworld), save the princess, and retrieve his lightsaber. All this happens before we see even one single, fuzzy, cute, unblinking Ewok…. Unless you believe in the “special editions,” in which case the Ewoks blink.

There are many movies, books, stories, mythologies, etc that all follow similar patterns.

Like Maui’s hook or Luke’s lightsaber, in these stories the hero often emerges from the underworld with newfound knowledge and/or a powerful object. Briefly, I’d like to take you on my own personal “Hero’s Journey” to the dark underworld of WordPress hosting. Along with it my quest of building a business on WordPress and hosting, with its own mythical monsters to slay, trials to be conquered, riddles to be solved, and ultimately new knowledge and weapons gained.

The Call to Adventure

In the early days of my business, Fiddler Online (now called WordXpress), I envisioned building websites for companies on WordPress, then charging a monthly fee to maintain, support, edit, update, and manage them. I got started with a few clients and wanted to grow.

I’d trusted someone to set me up with a very inexpensive VPS on unmanaged hosting. He was supposed to do the managing and ensure it all ran smoothly. I quickly learned you get what you pay for! Soon our members’ sites started going offline, usually all at once as the VPS crashed from one problem or another. It wasn’t just the server being down that caused problems. It was also corrupting data and other strange and scary things that I’d never encountered before, such as the body content of posts and pages being cut off, starting with the first special character that appeared in the content (a database issue).

These were dark and scary monsters to battle. I knew cPanel pretty well, but the APACHE stack that ran beneath it was mostly a mystery to me. So was database encoding and other advanced technical realms that all have an impact on the server, WordPress, and ultimately our clients’ businesses.

The monsters appeared, seemingly determined to kill my small and struggling business, shortly after the birth of our first child. I was frequently up all night working with “Todd” the server guy (we’ll call him) to try and get the websites back online. We’d vanquish one monster, rest a day or so, and find another had taken some sites down again.

After a few weeks of constant frustration, I said “enough” and signed up for a Hostgator reseller plan. This was back when they were an independent hosting company. On this new plan I could install as many cPanel’s as I needed and manage each separately! I thought it was wonderful and would solve all my problems. Hostgator transferred all our sites from the terrible VPS hosting we’d been on to their servers and I thought perhaps that was it!

I thought my quest was over. I’d fought the monsters and won.

Scary as it was, it had been relatively brief. I’d learned a lot, but felt like I’d been to the underworld and back!

The Illusion of Safety

Unfortunately, the wraiths had cast a spell over me, blinding me to the fact that they were still lurking in the shadows. When transferring our WordPress websites to our new account, Hostgator had copied each entire cPanel over from the VPS. This eliminated the underlying problems in the APACHE stack on that horrible VPS, but brought with it the fiends that had infiltrated cPanel and even our WordPress websites. To be clear: they weren’t infected with any kind of malware, but configuration problems, cruft, and who knows what else, caused some really bad results.

With my new spellbound, but misled confidence, I pushed our business forward. I brought on a business partner, Kurt as the sales guy. Later we acquired another website company. Through all that, we’d learned a lot, and doing okay for that stage, but still struggled financially as we bootstrapped this new business from nothing.

When we acquired this other business, they’d been running all their client’s sites on WordPress Multisite. It seemed like a great idea because of how it allowed us to manage all the websites in one place.

Despite the progress the business made, the monstrosities emerged again and this time with higher stakes since our business had grown and was now managing many more websites. These monsters emerged partly from what had been transferred over with cPanel, and the difficulties of running a large Multisite where each child site had its own theme, plus the weight of adding more and more websites and traffic to hosting that was really just shared hosting with WHM access and more control.

The Plunge Into the Underworld

In each hero’s journey, there’s often a wizard or goddess that helps guide and mentor the hero along his journey. I eventually made friends with a great guy we’ll call Sam. He ran his own hosting company with data centers and a great support staff. Sam was somewhat like Obi-Wan, Merlin, or Maui in these stories: he was my mentor and companion on my adventures into the underworld that followed. He made a great guide, because he’d been there before. Unfortunately, his own journey had never taken him to some of the deepest darkest places we would soon encounter.

So we moved to Sam’s hosting, where he kindly watched things closely and provided a server admin’s perspective and advice at a much lower price than he would have normally charged.

It wasn’t long before the demons, wraiths, monsters, and other ghouls started crawling from the darkness. It started with random downtime. Then followed strange limitations on websites. Next emails were not getting delivered. Then it was slowness. Now we were hacked… or were we? Suddenly all the contents of all pages and posts were cut off (we thought we killed this monster before)! Then email wasn’t being sent. Next our server is sending spam email. Now a hard drive is dying. It just kept going and going. Many of these demons were completely new to Sam and his very experienced team.

It didn’t take long before there were whisperings of “the Fiddler curse.” This curse referred to Fiddler Online the name of our company. The hosting support team joked that we were cursed. All kinds of issues arose that they’d never seen before, and with a frequency they’d never experienced either.

When a car crashed into the data center’s power regulation center during a freak storm, it cut off power from the normal power lines, as well as from their automatic backup power supply! It completely took the data center offline. The “Fiddler curse” was in full force.

Or put better, we were in the deepest, darkest, part of the underworld, locked in an all-out battle with the worst demons and wraiths it had to send against us.

We tried method after method to defeat the monsters. We tried rebuilding the server stacks. We tried various WordPress optimizations. We bought our own server and had it installed in their data center. We even tried a totally different Linux stack and something called Interworx, a cPanel alternative, that came with load balancing and real-time backup. But no matter how much money, time, and knowledge we threw at it, the issues continued. No matter how many monsters we slew, we were still losing the war.

The “Real World” Dragons

When I recently asked my wife Jill about that time of our lives, she said:

“From my perspective, it was hard to know when to throw in the towel and say ‘enough’ because it’s just not working. Getting the hosting sorted out totally changed the entire dynamic and perspective of doing our own business. Before that, it felt like we were building a dream on a crumbling foundation.”

And don’t get the wrong idea from this image. Jill was no damsel in distress. She’s a warrior too. I’d have never completed this quest without her there, fighting alongside me. She may have not fought the technical fiends, but there were plenty other monsters in the form of financial struggles, moves, and difficult situations that arose from my unavailability, our lack of money, and more.

This was all a lot like battling the Hydra of Lerna: we’d cut off one head, and two would grow back in its place. We’d take a breather for a week, and then here came the wraiths!

The stress of it all exacerbated a gallstone problem I had. Because of a misdiagnosis, I thought it was something there was no solution for. So even when I wasn’t up in the middle of the night battling monsters demons of the hosting underworld with Sam, I was often awake at night in massive amounts of pain as my gallbladder tried to pass gigantic gallstones. So even then, I’d be sleeping the next day when I needed to be designing websites or networking.

Throw in a healthy dose of anxiety and some intermittent depression and you get the picture. Instead of growing, our business stagnated. The quest through this dark underworld seemed to have no end in sight. It ruined vacations, stole away family time, punished me physically, hurt our client’s business, and was pushing myself, Jill, and our finances, to our very limits.

Death and Rebirth

It all seemed to come to a head when the pain of my gallstones became so intense I thought I was going to die. After 2 visits to the Emergency Room and 3 days in the hospital, I gave birth to this baby. They actually saw a larger one than this in the ultrasound beforehand, but my body had apparently broken it up before they removed my gallbladder. I returned home with real-world wounds that would turn into scars, and lighter by one gallbladder and several massive gallstones.

I left the hospital with a new lease on life. I felt like I’d been resurrected, fighting my way out of the underworld and back to the land of the living. It helped me open up to a completely different approach to hosting and allowed me to see that tiny speck of light that ended up being the doorway out of this underworld made up of the dark side of WordPress and hosting.

I was able to use my newfound perspective to find some awesome new weapons, and fight my way to that exit. Luckily for you, you can learn from my pain and battles with the underworld.

The Road Back: Simplify

Illumination was mine! Of the knowledge I gained, one key principle stood out among the rest: make things as simple as possible, while avoiding single points of failure on mission-critical systems. Multisite was great for managing all the websites at once, but if one had a problem, they all went down! The same with having a single server to run all our sites: if the server went down, we had the urgency of 30 or 40 clients (back then) all being negatively impacted at once.

We started by killing our Multisites and traditional hosting setups. Instead of a single Multisite with 1 database where a problem could take down all the sites in the Multisite, we moved to individual WordPress installs for each site. As we pulled each site out of the Multisite and migrated it to our new cloud hosting, we also checked the databases and files thoroughly to ensure they were clean, light, and that we eliminated any cruft that had built up in the database. We also stopped running email and DNS through our web servers. This effectively killed the demons that had moved with us in previous hosting migrations.

Here’s my recommended do’s and don’ts for any smaller businesses hosting and maintaining WordPress websites:

Don’t:

  1. use shared hosting or hosting that uses cPanel
  2. use Multisite (SPoF)
  3. put all your sites on 1 server (SPoF)
  4. use your web server as an email server
  5. send WordPress transactional emails from your webserver
  6. use your web server for DNS
  7. use your hosting company for domain registration

Do:

  1. use cloud hosting with WordPress-optimized stack and custom control panel
  2. use a bulk-site-management tool
  3. spread your sites across multiple servers
  4. use an email suite (Hover, Zoho, G Suite, Office 365)
  5. use a transactional email service (SendGrid, Postmark, MailGun)
  6. use your registrar for DNS
  7. use a different registrar for registering domains, than your hosting

Following these tips eliminates many single points of failure, simplifies things greatly, and gives you the tools and ability to go right to the source of the problem. Since all your important WordPress functionality isn’t in one place with one point of failure, you can go where the problem is.

For example, if a client isn’t receiving WooCommerce new order emails from their website, we can quickly go to SendGrid to see why that is and what needs to be done to fix it in an easy to use interface. Try that on a traditional APACHE/cPanel setup that sends your client’s company emails, WordPress emails, etc. all from one place.

Cloud Hosting

We eliminated cPanel and the normal Linux hosting stacks by moving to CloudWays, which has a nice WordPress setup that they run on top of a number of cloud hosting services such as Google, Amazon, Digital Ocean, and Vultr. They have their own in-house customized stack and management dashboard. CloudWays removed all the normal bloat and potential for problems that comes with it, and really took away most of the pain, hassle, and responsibility of the hosting part of WordPress and for quite cheap.

On CloudWays, instead of putting all 40+ sites on one server, we split them up, with about 15 – 18 sites on one small Digital Ocean (and later Vultr) server. This meant that if one site had issues, it wouldn’t take down all our other sites. And even if the issue was bad enough to affect the whole server, or the server had its own issues, only a small portion of our clients would be affected at once.

Email Accounts and Transactional Email

Additionally, we stopped running email through our servers. Part of simplifying is outsourcing to people/services who can just do it better than you (or that old hosting you’re clinging to because it’s cheap). I love that good WordPress hosts like CloudWays, Flywheel, and Kinsta have no options for you to do this or include built-in services like SendGrid. I slew a lot of email monsters. Using something like SendGrid or Postmark for WordPress and G Suite or Office 365 for email accounts, eliminates tons of headaches.

We set up WordPress’s emails to go through SendGrid and all our members’ email accounts we migrated to Hover, Google Apps, or Office 365.

Bulk-WordPress Management

In place of Multisite, we found MainWP and chose it over other options like InfiniteWP. It provided us the bulk-control of Multisite, but without the single point of failure issue. The upside is that it’s fairly inexpensive and runs on a WordPress install, so you control it on your hosting.

That’s kinda its downside as well. If something goes wrong, it’s on my team and I to run the problem down and fix it. Or we have to go through the cumbersome process of reporting it to the MainWP support team, then providing them access to both the dashboard site and an affected child site. Eventually we decided to move to ManageWP because it’s a hosted platform. That means when something goes wrong, much of the time, it’s on them to fix, and they have access to fix their own platform, plus the logs, etc from our sites.

MainWP:

  • Inexpensive
  • Runs on top of your WP install
  • You maintain control
  • Familiar interface
  • Free to use the basics
  • Lifetime extensions purchase option
  • GPL licensed
  • Great support
  • Good community

ManageWP:

  • More expensive
  • Runs on their servers, so problems are largely theirs to deal with
  • Less overall responsibility and time drain
  • Free to use the basics
  • Great support

Master of Two Worlds of WordPress

Fortunately today there are many awesome hosting options and bulk-management tools that simply weren’t available to me years ago when I started on this journey. After this last, final push, my team and I stood back and waited and rested, expecting more monsters. And occasionally one crawled out of it’s hole. But by and large the underworld was defeated and left far behind. Moving to cloud hosting and simplifying were finally the spell that broke the Fiddler curse and freed us from the underworld. Our business’s core service was stable and safe and running like it should be. We could start growing again! It was such a relief!

To reiterate some of the illumination gained on my journey: simplify your WordPress websites and hosting through offloading everything you can to experts who do it better, often for cheaper (if you properly calculate the value of your own time). Focus on your super-power whether it be design or development, or just creating solutions on WP with existing plugins and tools. If your super-power isn’t WordPress at all, you can outsource maintenance, content updates, backups and security, plugin and core updates, and much more to a company like WordXpress. I’ve built this company based on the knowledge and tools I learned on my quest.

The post My “Hero’s Journey” Through the Dark Underworld of WordPress Hosting appeared first on HeroPress.

WPTavern: In Case You Missed It – Issue 25

photo credit: Night Moves(license)

There’s a lot of great WordPress content published in the community but not all of it is featured on the Tavern. This post is an assortment of items related to WordPress that caught my eye but didn’t make it into a full post.

Open Call for People Interested in Being Team Leads

Josepha Haden has published an open call on the Team Updates blog looking for people interested in learning about the Team Lead role. The post includes links to training materials that will be open for two weeks where people can make suggestions.

Once the training materials are complete, interested parties will be sent the team leads training materials and quizzes. Those who pass the quizzes will then be part of a group orientation in which team leads and future leads will be chosen. Even if you’re not interested in becoming a team lead, the training materials in the post contain a lot of useful information about the inner workings of the project.

Marcel Bootsman Continues on After Hospital Visit

Marcel Bootsman who is walking more than 700km to Berlin, Germany for WCEU recently made a hospital visit. “The doctor asked about what I’m doing, and what the problem is, so I explained everything,” Bootsman said. “She examined both legs and found that there was a swelling on my right ankle. She sadly could not diagnose further, since it’s impossible. An expert has to look at it, and an x-ray picture has to be taken.”

YESS! Nothing serious, just an overloaded ankle which is almost healed.
Doctor said I can continue with just one more resting day, so I’m going by train to my next stop. Just to be of extra help he bandaged my ankle.#WalkToWCEU pic.twitter.com/VdW7C8m71N

— Marcel Bootsman (@mbootsman) June 5, 2019

The doctor diagnosed him with having an overloaded right ankle. After wrapping his ankle for extra support, Bootsman continued on. Check out his description and photos from day 19 of his travels.

WooSesh is Coming Back

WooSesh, a global, virtual conference devoted to WooCommerce, is scheduled to take place on October 18-19th. You can follow WooSesh_ on Twitter or sign up to their email list to be notified of when tickets are available.

ANNOUNCEMENT: If you use @WooCommerce to build ecommerce sites, or do any kind of ecommerce development, you’ll be thrilled to hear that @WooSesh returns on Oct 9 and 10!

Follow @WooSesh_ and join the mailing list at https://t.co/Pyev9v2CPv to stay in the loop pic.twitter.com/hPdv8Yu5LU

— WordSesh (@WordSesh) May 23, 2019

GitHub Repo Templates

Earlier this week, GitHub launched Repository Templates to help developers manage and distribute boilerplate code. Web development agency 10UP has a Theme and Plugin repo template that is available for anyone to use.

WordPress 5.2.2 Release Date Changed

WordPress 5.2.2 was originally scheduled to be released on June 13th, but the release team has decided to push the date back. Tickets that are slated for WordPress 5.3 that meet the requirements to be in a minor release will be merged into 5.2.2. The new release date is Tuesday, June 18th, a few days before WordCamp EU.

WordCamp US After Party Is Now Wordfest

There won’t be a big after party at the conclusion of WordCamp US this year. Instead, organizers are hosting WordFest on Friday, November 1, 2019, at City Museum in St. Louis. According to organizers, the party doesn’t always have to be at the conclusion of the event thus the name change.

How to Use and Create Reusable Block Templates

Justin Tadlock has published a tutorial that explains how to create, use, import, and export reusable block templates in WordPress.

“A lot of this is not intuitive at this point and might take some digging for someone not intimately familiar with all the block editor features. But, this is an extremely powerful feature that I’m sure will become more useful in the future. I can even see things like theme authors sharing reusable blocks to help users build out certain page designs.”

I’m looking forward to seeing other people share their reusable blocks or templates. One of the beautiful things about the new editor is that it doesn’t require a developer to sort blocks into a particular layout and then save it as a reusable block that can be shared.

C02 May Be the Cause of Feeling Drowsy During Conference Sessions

I always thought it had something to do with lunch but I’ve felt drowsy before then. Interesting data shared in a Twitter thread. Hat tip to David Bisset.

Ever wonder why you get so sleepy during conference talks? Turns out lots of conference venues aren’t well-ventilated, causing CO2 to rise to levels that cause drowsiness (>1000ppm). Data from @keflavich shows this steady rise over the first 50min of a conference session. pic.twitter.com/AjFO2eQDrJ

— Cara Battersby (@battersbot) June 4, 2019

That’s it for issue twenty-five. If you recently discovered a cool resource or post related to WordPress, please share it with us in the comments.

WPTavern: Experimenting With Reusable Blocks to Create Post Templates

For the past several years, I’ve used the Post Template plugin developed by Vincent Prat to create and manage post templates. For example, some of the information in the WordPress Weekly and In Case You Missed It posts never changes and instead of manually entering it each time, it’s nice to use a template where only a few changes are necessary.

The other day, I was wondering if I could use the reusable block feature in Gutenberg to replace the plugin. Justin Tadlock reached out and provided me a reusable block template JSON file that I imported into Gutenberg. By the way, if you successfully import a block into WordPress, the block won’t appear until you manually refresh the page.

The reusable block template approach works fairly well. However, I noticed that I was unable to add a block inside the reusable block. When I tried, a red line was displayed and any blocks that were inserted were removed.

Red Means No

I understand that reusable blocks are meant to be restricted templates where changes are distributed across a site to wherever the block is displayed. But it’s still a bummer that I can’t add a block inside the template for a singular purpose if a need arises.

One other thing I noticed is that reusable blocks are custom post types. While there is a link to manage them within the reusable block selector, there isn’t a dedicated item within the admin menu. Unless you know the location of the management link, adding and managing them can be a bit more time-consuming.

If you want a quick shortcut to the reusable block management screen, add this to the URL after your domain name. wp-admin/edit.php?post_type=wp_block

I think I’ll experiment with reusable blocks a bit more but as long as they’re not changing often, I believe they’ll make a nice replacement for the Post Templates plugin. What use cases have you encountered where reusable blocks were the solution?

WPTavern: Branch Continuous Integration Service Selected for TinySeed Startup Accelerator

Branch, a Docker-based continuous integration service for WordPress, has been selected for TinySeed’s startup accelerator. The company was founded by Peter Suhm who is also the creator of WP Pusher, a plugin that lets developers install and update WordPress themes and plugins directly from GitHub, Bitbucket, and GitLab.

TinySeed, founded by Rob Walling and Einar Vollset, is a remote accelerator that focuses on providing enough funding for early-stage SaaS founders to live for a year and focus full-time on their startups. It advertises itself as “the first startup accelerator designed for bootstrappers.” TinySeed is unique in that it does not have a bias against single founders. The website states that the majority of successful $1m-$30m SaaS companies that TinySeed is connected with were started by founders working alone.

Branch fits the bill as a SaaS company with a single founder and no employees. As part of the investment terms, TinySeed invests $120k for the first founder (plus $20k per additional founder) in exchange for 8-15% equity. If founders do not need the money for living expenses they are free to spend it on growing the business. Both Branch and WP Pusher are included in Suhm’s participation in TinySeed.

“WP Pusher was doing just enough to pay my bills living in a fairly cheap city (Glasgow), but not enough to pay a full time developer salary,” Suhm said. “However, I didn’t spend much time on WP Pusher in the past few years and was working part time for other companies – mainly Timekit as a backend developer.”

Suhm said the TinySeed investment will allow him to work full time on Branch and WP Pusher for at least a year or two without having to worry about making a salary.

“I may also decide to make a hire during the program, but I want the product to be a little bit more mature,” he said. “In terms of the roadmap, I’ll be able to focus more on building the best tool and less about making a lot of money in the beginning.”

Branch and WP Pusher are fairly unique products in the WordPress space. Suhm said he sees most of his competition coming from continuous integration services that are not tailored to WordPress.

“However, my biggest competitor at the moment is probably manual labor – WordPress developers testing and deploying everything manually,” Suhm said.

TinySeed received approximately 900 applications from which they will select 10-15 companies for participation in 2019. Co-founder Rob Walling has knowledge of the WordPress ecosystem, as he previously invested in WP Engine’s 2011 round of funding.

“Peter has a distinct advantage with Branch in that he’s building on the audience, customer base, and domain knowledge he’s developed with WP Pusher,” TinySeed co-founder Rob Walling said. “His methodical approach to shipping code and content every week has been a good signal for us that he’s pushing the product forward, as well as a key factor in building Branch’s traction in the space.”

Branch is joining a handful of other SaaS companies that have already been selected for 2019, including ClientSherpa, Gather, SimSaaS, Reimbi, and Castos.