Five Ways of Synchronising Multithreaded Integration Tests

558fe5180e0e8fc922d31c23ef84d240

A few weeks ago I wrote a blog on synchronizing multithreaded integration tests, which was republished on DZone Javalobby from where it received a comment from Robert Saulnier who quite rightly pointed out that you can also use join() to synchronize a worker thread and its unit tests. This got me thinking, just how many ways can you synchronise multi-threaded integration tests? So, I started counting... and came up with:

  1. Using a random delay.
  2. Adding a CountDownLatch
  3. Thread.join()
  4. Acquiring a Semaphore
  5. With a Future and ExecutorService


Engineering Manager: Continuous Feedback

Featured Imgs 26

Feedback is one of the most valuable tools to support people and company growth. What is feedback? It is any information about the product, workplace, company culture, team, workmates, or managers used as a basis for improvement. The feedback comes from many sources, but in this article, we focus on feedback between engineers and their engineering managers.

The feedback goals, frequency, and methodology to achieve them are good indicators of the company's culture. For example, there are many companies where the goals are only focused on performance delivery and not on the growth of the people's career path or skills.

How to Get a Domain Name for Free: 4 Methods That Still Work

Featured Imgs 26
how to get a domain name for freeGetting a domain name is most people’s roadblock when trying to release a new website to the world. Basically, you cannot even start working on a website until you have a domain name at your disposal. But what if you could actually get your domain without paying anything for it? In this guide, we’re going to show you four very real methods of how to get a domain name for free.

Newsletter Glue Closes Free Plugin on WordPress.org

Featured Imgs 26

The creators of Newsletter Glue have removed their free plugin from WordPress.org in favor of focusing on the commercial version. The plugin streamlines the publishing workflow for newsletter authors who also publish to their WordPress sites. It includes blocks and patterns for email templates and subscriber forms. Five months ago the plugin’s authors warned users that they would be closing the free version and would no longer be updating it as of May 1, but the process of removing it was delayed until today.

Co-founder Lesley Sim announced the plugin’s closure on Twitter and shared a few valuable lessons for WordPress product businesses looking to use WordPress.org as a their primary distribution channel.

“We made a bunch of noob mistakes in the way we set up free vs paid,” Sim said. “Which made the customer upgrade flow kind of weird. I think it could’ve worked. We just didn’t set it up right, and it just doesn’t make sense to fix it.”

At the time of closure, the free Newsletter Glue plugin had approximately 200 active installations, which seems low for a growing commercial plugin. This is because the free version got uninstalled when a user upgraded to pro, so it was never a good representation of how many people were using the product. Sim said Newsletter Glue wasn’t growing the free user base and “it was just sitting there like a dead tree stump.” The company had not updated it in over a year.

“We stupidly set it such that when a user upgrades, they install the pro version and the free version automatically uninstalls,” Sim said. “So we lost free active users as a ‘reward’ for new conversions.”

This architectural choice meant that WordPress.org wasn’t bringing the product a significant flow of traffic and prospective upgrades.

“A year ago, we simply didn’t have enough features to make good decisions on what to put in the free versus pro,” Sim said. “So we went from having all our integrations on the free plugin to gating some integrations instead. I think this was a poor decision and led to our install count instantly stagnating. This could have been reversed, so I don’t think this was a key reason. But it was an instigating reason to begin considering removing the plugin from the repo since it was no longer bringing us traffic and installs.”

Despite not finding WordPress.org a good source of traffic for the product, Sim said the decision to close was not easy.

“Here are some things we lost out on:” Sim said. “1) Biggest distribution channel in WP. 2) Easy way for reviewers to check out the plugin for free without having to contact me. 3) Source of credibility (reviews).”

Current users can still use the free plugin but it will not be getting updates anymore. In lieu of a free plugin, Newsletter Glue is offering a test drive option where users can try it on a demo site before purchasing. The company has taken a unique path to becoming a commercial plugin that is fully independently distributed.

“I hate the free to paid user experience on the WP directory with a passion,” Sim said. “We had a full standalone pro plugin so the upgrade flow was really clunky. We’d get users using the free version emailing us saying, ‘I’ve just upgraded, but I don’t see any pro features on my site. What’s wrong?’ I also had some wonderful customers who would upgrade then continue using the free version for over a year, not even realizing they were on the free version.”

By focusing focusing exclusively on promoting the commercial product, the Newsletter Glue team is now free of the burden of supporting customers transitioning from the free version. The trade-off is missing out on exposure on WordPress.org. It’s an approach that works for the company at this stage but may not be suitable to other new products without strong marketing in place.

“Unless you already have experience marketing a plugin from scratch AND you have a good go to market plan, I think the default choice should be to be on the [WordPress] repo,” Sim said. “Just make sure you set up the commercial part of your plugin correctly so that it makes sense.”

It’s A Hit! Client Billing Reaches $500K Volume Processed and Is Now Completely Free 🎉

Featured Imgs 26

Billing your clients with WPMU DEV’s complete white label subscription and invoice solution is hitting goals. So, to celebrate, we have made it… completely free (no credit card required!) for anyone to use, with 0% commission fees for business-level members.

The Hub - Client Billing screen
Client Billing … your complete (and free) billing and invoicing management solution!

“I love the client billing system. In the past I used Paypal to charge my client and it was just a mess. I started using WPMU DEV’s client billing system and I have a more automated billing process.”

Giovani R – G2

Let’s get right to the point…if you are a web developer, and you like getting paid for your services, and you’re not using WPMU DEV’s Client Billing to set up automated client billing (or standalone invoicing!), then you’re missing out on a powerful free tool that can make a huge difference to your business.

Example of an invoice generated from the Client Billing tool.
Set up your products and services, generate invoices, and get paid…all without leaving The Hub!

“The site management tools are amazing, all your sites in one dashboard with any and every tool you could think of to manage your websites, from client billing to performance analytics, its all there.”

Web Host Wizards – Trustpilot

Client Billing is a complete white label subscription and invoice solution that integrates fully with your site and The Hub Client and lets you streamline the way you manage and bill your clients with a full payment system for your business.

Client Billing - Confirm & Send Invoice screen.
Create automated recurring invoices or send one-time payment requests to clients with one click.

Think of an “automated client billing management” system with automated subscriptions, white label client portal, secure checkout, branded invoices and emails, and a whole lot more, and you’ll be close to imagining what our Client Billing tool lets you do (oh…and did we also mention that it’s free?).

But you don’t have to imagine. You can learn all that Client Billing does and take it out for a spin to see for yourself!

An example of a white label invoice generated with WPMU DEV's Client Billing tool.
Use Client Billing’s white label tools to generate and send client invoices under your own brand.

“Using WPMU Dev, I have benefitted from their convenient client billing and client management system”

Sian E- G2

Just How Good Is WPMU DEV’s Client Billing Anyway?

Since launching Client Billing in November 2021, our members are now close to generating almost $100,000 p/mth in gross monthly recurring revenue (MRR).

Monthly Gross Volume Processed Through Client Billing
Monthly recurring revenue keeps going up…that’s a good thing, right?

And we have processed over $500,000 in client billing and invoicing payments so far…

Monthly Payments Processed Through Client Billing
WPMU DEV members have used the Client Billing tool to pocket over half a million dollars in services.

The results speak for themselves. More members are using Client Billing to invoice their clients and get paid and monthly recurring revenue is going up and up. Our members are making money and we have many other great features planned for Client Billing, so we are breaking out the bubbly!

“Their suite of plugins is amazing and I love that I can connect all of my clients using their hub and billing.”

Megan W – G2

Save Time with Free Client Billing and Make More Money with 0% Fees!

Client Billing is available to all WPMU DEV members, regardless of the membership level you are on.

If you are a WPMU DEV member on a Freelancer or Agency plan (our business-level plans), use our powerful free Client Billing tool to set up automated client billing for recurring subscriptions and services or standalone invoices for any service or package you offer and we won’t charge you any commission fees…ever!

This means that as a business-level member, we will absorb the admin costs of the service , and the only fees you will pay for billing or invoicing your clients through our Client Billing system are whatever your payment processor (e.g. Stripe) charges, as we have no control of what 3rd-party payment providers do.

“Just now I input all of my websites and hooked it up to client billing, to see my MRR right there motivates me so much I think I will upgrade to the agency plan and push hard with business.”

Web Host Wizards – Trustpilot

Note: If you are a Free, Basic, or Standard Member, you also get Client Billing included for free in your WPMU DEV membership, and we’ll only charge you a 5% fee on the transaction amount for administering the service.

“The customer billing integration with stripe has been a huge help with all of my web design clients saving me a lot of time.”

Clarence H – G2

Get Started With Free Client Billing Today!

If you haven’t started using Client Billing yet, don’t wait any longer to start getting paid automatically for your services and generate monthly recurring revenue (MRR). You can get started right now from The Hub if you are a member, or join the WPMU DEV community and start billing your clients the smart and automated way!

Check out our in-depth step-by-step documentation, read our tutorials on how to get the most out of client billing, and if you need any help,  you’ve always got 24/7 access to our expert support team.

Getting paid for your services just keeps getting easier with WPMU DEV’s built-in client billing system!

Save at Last! Forminator’s New Save and Continue Feature

Featured Imgs 26

Allow users to save a partially filled WordPress form as a draft so they can complete it later before submitting it with our Forminator plugin.

Sometimes, form-filling takes time – especially multipage or lengthy forms. With Forminator’s Save and Continue option, users can save a form as a draft and complete a form at a later time via a custom link.

save as draft image.
Saving long forms as a draft is now an option for your users!

This highly requested feature is available and easy as ever to implement. You’ll be able to customize your form’s settings to allow draft retention periods, allow drafts of forms sent to an email address, edit messages, and more!

This brief article takes you through all the features and how to implement them.

We’ll cover:

You can begin using this feature immediately, so let’s…

Get Started

The Save as Draft feature can be applied to a new, draft, or published form. To begin, choose a form from Forminator’s Dashboard or create a new one.

If you’re new to Forminator and need a detailed look at creating a form from scratch, be sure to check out our article about How to Get the Most Out of Using Forminator.

List of all of the forms created in Forminator.
Pick a previously created form or start a new one from scratch.

If you’d like to add this to a previously created form, simply click the Gear Icon and then Edit.

The gear icon.
The Edit button will get you started!

And for a new form, the process will be the same. Once you get your form started, you’ll click Behavior to begin. When you scroll down a bit, you’ll see Save and Continue.

Ready for launch? Click Enable Save and Continue to activate.

Enable save and continue button.
One click is all it takes to get started.

When enabled, a dropdown menu will appear with customizable options. There is a Configuration and Permissions area.

Configurations and Permission buttons.
Once enabled, you’ll have two options.

We’ll start with all of the options in the Configuration tab.

Draft Retention Period

Choose the days a form’s draft will be stored on your server. Then, once the time expires, they’ll be automatically deleted.

By default, it’s set at 30-days.

Draft retention period.
Set any amount of days you’d like.

Set whatever time frame suits your needs.

Save Form Link Text

You can also customize the text when it comes to saving the form. This is what users will see.

Save form link text area.
Whatever you want to include in your messaging, do so here.

Additionally, when a form is successfully submitted, the user will get a message. Customize the message to anything you’d like.

The form fields for text.
It even shows what form fields will not be saved.

Your message can include links, form data, and more – to make them as clear, personalized, and precise as possible.

Enabling Draft to Email

When a user wants to save and continue at a later date, there’s no better way to remind them than by having an email sent to their account. By activating this feature, a link to the draft will be sent directly to them with the option to resume.

The send draft to email area.
It’s as easy as ever to let users’ send the incomplete form to their email.

As soon as you have your Save and Continue features set up – click Update on the form.

The Permission Area

Decide whether every user can save their format as a draft – or just registered users. That’s all done from the Permission tab.

The Permissions area.
There are two options to choose from.

Just choose your option – and it’s all set.

User Experience

So, now that you know how to set up the Save and Continue feature, what does it look like from the users’ perspective?

Of course, every form is different. Unlimited style options, fields, etc., can be used (which we cover in numerous articles, like this one). For this article, we’ll keep it simple and have a look at what happens when a user saves the form we just created.

First, they’ll see the Save as Draft Option on every page (if you have multiple pages) of the form as they complete it.

The save as a draft button.
Here, it’s on page three.

When clicked, it will bring up the custom (or default) message to let them know their form was saved. Plus, the user will get a link that they can copy and paste so that they can get back to the form at any time.

The text view for the user.
As you can see, the text that we created in the admin is clearly visible.

Since we incorporated the Send Draft Link, this option is available. All the user has to do is enter their email address and hit – in this case – the ‘Send Draft Link’ button (which, as we talked about, can be edited to say something else).

Instantly, an email will go to the user’s email address. It contains the name of the form, website, link, and expiration date of the link.

Text the user sees about reminding them to complete the form.
A short and sweet reminder for the user to complete the form.

All a user has to do is click the link to return to the form and complete it!

Good Save

With Forminator’s new Save and Continue feature, forms will be saved and not forgotten by users who, for whatever reason, can’t complete a form in one session. As you can see, it’s simple to set up in just a few clicks and highly customizable. Plus, this feature is entirely free to use.

This feature is a welcome addition to Forminator, as it was a top request from our users. And so, we’re happy to now include it.

After all, a good form deserves a good save.

 

Athens to Host WordCamp Europe 2023

Featured Imgs 26
photo credit: Wikimedia Commons

WordCamp Europe 2022 concluded last weekend in Porto, Portugal. The event sold 2,746 tickets and had 2,304 people attend. It kicked off with a record-setting Contributor Day that coordinated the efforts of 800 participants giving back to WordPress and its related projects.

WCEU featured 70 speakers across 26 sessions and 18 workshops, made possible by the efforts of 65 sponsors, 91 organizers, and 164 volunteers.

Attendees and organizers were thrilled to be back together in person after two years of not hosting the event due to the COVID-19 pandemic. Remkus de Vries, one of the founders of WCEU, joined our recent WP Jukebox podcast and commented on the importance of being back in person with fellow WordPress enthusiasts. He characterized WordCamps as the “glue” that keeps the community together.

“I think the glue part is way more important than people thought that it was,” de Vries said. “I think you can say the same thing for what we’re seeing here. Yes, you can be connected. You can have great relationships online and everything, but the real deal is in real life. That’s where you make the actual connections. 

“You have things you say that you then in real life have time to correct if that wasn’t the intent that you actually had. All of these little things make up what that glue actually consists of, so not having that for two years creates a like a vacuum of things that are not seen, not communicated, not spoken about, not processed.

“There have been companies started from WordCamps. There have been mergers started. There have been friends made there have been marriages come from WordCamps. Everything happens when you’re together.”

In 2023, the project that is democratizing publishing will be hosting its European conference in the birthplace of democracy, Athens, Greece. The date is set for June 8-10, and the call for organizers has already been published. Check out the intro video below for a taste of what’s to come next year.

How to Record Screen on Windows: 2 Easy Methods

Featured Imgs 26
How to Record Screen on WindowsWhile it might seem like instructional video is a modern invention, it can trace its way to the beginning of moving images. However, there hasn’t been a straightforward way to record your screen on Windows, Mac, or Linux until this last decade. Given the amount of time we all use computers, you’ll likely need a solution for this purpose on your machine on an occasional basis at the very least.

The Official DZone Style Guide

Featured Imgs 26

Welcome to DZone! 

This is the content style guide for user contributions on the site. A style guide is a document that lays out rules and guidelines to help maintain the tone and voice of the content across the site.

7 Factors to Consider When Choosing a Network Performance Solution

Featured Imgs 26

A high-performing network is integral for the maintenance of a functioning IT infrastructure in any modern company. It helps facilitate effective business communications and promotes synergy between systems. Therefore, it’s no exaggeration to say that a poorly functioning network can severely disrupt business operations or even drive a company to a standstill.

Network problems are a constant issue in most companies and network managers often find themselves trying to untangle increasingly complex problems. Simply put, the business runs on the network, and if the network is compromised, so is the business. Fortunately, there is a pretty simple solution for all of this—investing in a network performance solution.