Skip to content

Major: Multisite Network Integration, Add-Ons Enhancements, and Bug Fixes

Compare
Choose a tag to compare
@vovafeldman vovafeldman released this 04 Apr 06:33
· 1817 commits to master since this release
7059f9e

Today we’re excited to release version 2.0.1. The reason for the major version bump is that we spend about 4 of the last months on integrating the SDK with WordPress multisite networks. We had to make major design changes of the storage model to offer a seamless experience in multi-site environments.

Multisite Network-Level Integration

Just to clarify, the WordPress SDK was working fine with multi-sites before, but the UX wasn’t optimized. Your users had to opt-in or skip the activation for each site, and your customers had to activate their license key for every sub-site in the network. For instance, when a super-admin with a 20 sites network purchased a 25-site license for your product, they had to activate the license 20 times. Not very user-friendly :) Even frustrating.

With the new integration, super-admins can now opt-in/skip/activate-license on the network level, making the UX way better. I can confidently say that this is the best multisite network-level integration on the market today! We made an elegant and seamless UX, while also very flexible when needed (keeping agencies in mind).

The special integration will only work for network activated plugins.

Network Level Opt-In

When a user activates your plugin on a multisite network they will see the following opt-in screen:

freemius-network-level-opt-in

There are 2 new elements:

  1. The “Apply on all sites in the network” checkbox.
  2. The “Delegate to Site Admins” action link.

You’re probably asking yourself “what is the site-admins delegation option?” So let’s start with that. One of the use-cases for running a multisite network is hosting (e.g. WordPress.com is actually the largest WordPress multisite network). Consider the following scenario where a hosting provider would like to activate an “essential” plugin across their entire network, but doesn’t want to make the decision regarding the usage-tracking or licensing for the hosted sites. Robert Abela, who is a new Freemius partner (plugin seller), started to sell WP Security Audit Log with Freemius and is an excellent example of that use-case. They offer a plugin for audit log tracking, which is quite an essential product for every website to have. So when a small hosting company wishes to offer Robert’s plugin to their entire network they can easily do that, while delegating the management of the plugin to the site admins, without taking any actions in their behalf.

Now that we’re clear on the delegation part, let’s explore the new checkbox. When the checkbox is selected, the action that the super-admin will take will affect all of the sites on the network (including new ones that will be created). In case the super-admin would like to take different actions for different subsites they can uncheck the box and easily choose which action to take, per site:

freemius-network-level-opt-in-sites-selection

Network-Level License Activation

In a very similar manner, super-admins can activate a license across their entire network, delegate the license activation to site admins, or handpick which subsites to activate the license for:

freemius-network-level-license-activation

Network-Level Management

Super admins that didn’t delegate the activation to the site admins will now have an Account page on the network Admin, allowing them to manage the plugin on the network-level without the need to open the Account for every subsite:

freemius-sdk-network-account-management

Additionally, the Account page will not be shown on the site level at all.

How to Activate The Multisite Network Integration?

To activate the network-level integration you’ll need to update to the new SDK, but also make a small adjustment to the integration code. Go to your SDK INTEGRATION page in the Freemius Dashboard, where you’ll notice a new checkbox which will activate the network integration:

freemius-dashboard-multisite-network-integration-activation

Add-Ons Enhancements

If you’re selling freemium add-ons with a WordPress.org free version, the add-ons information dialog box now shows a new button to install the free WordPress.org add-on version:

freemius-sdk-freemium-addon-dialog

A small but important addition is a new license activation button next to the installed add-ons on the Account page, allowing an easy way to activate a license:

add-on-license-activation

Bug Fixes

  • The new SDK comes with a bunch of fixes related to the “__clone exception” when cloning environments (staging/production). The SDK is now bulletproof against filesystem changes (changes in folder names) and symlink changes.
  • Also, we add a recovery mechanism for cases when the user’s data disappears from the local storage. This is a major enhancement that should eliminate data corruption edge-cases.
  • All paths are now stored as relative paths and not absolute, making sure migrations between environments work smoothly without triggering any “file not found” exceptions.
  • Since shifting to SSLv3 we noticed that some outdated environments with old cURL and/or OpenSSL versions fail to properly handshake with our API server. Since it will take a while until all hosting providers will be ready for SSLv3 we added a fallback mechanism to HTTP for those outdated environments.