Posts

news icon

Aelia plugins – Performance improvements and PHP 8.2 compatibility

In this post, we’re going to discuss the improvements we made to our products to deal with the breaking changes introduced by PHP 8.2, as well as the possible issues that you might encounter. If you’re not familiar with the PHP programming languages and the technical aspects of WordPress and WooCommerce, we recommend to involve your developer to fully understand the topics we will cover.

news icon

EU VAT Assistant on WordPress.org – Update 12 December 2018

This post is a follow-up to the one we published on the 10 December 2018, in relation to the removal of our EU VAT Assistant from the WordPress repository.

Analysing the issue with the WordPress Team

As explained in the earlier post, due to technical limitations, the WP.org repository can only be used to host plugins that don’t have external dependencies. Plugins are expected to carry around a copy of all the files they need, even if this may cause conflicts with different versions of the same files, which might be installed on the site. Our EU VAT Assistant relies our Aelia Foundation Classes (or AFC, for short), which is an external framework. Due to that, it didn’t match the described requirement.

We had a long discussion with the WordPress Team, during which we went into the details of the decisions behind the design for our EU VAT Assistant, as well as our other plugins. We proposed several solutions, all of which were technically valid, but they were rejected on the ground of not being fully compliant with the current policies that apply to WordPress.org. The conclusion was our solutions are highly modular (and work well that way), but the public WordPress repository, in its current form, doesn’t support such architecture.

The challenge

The restrictions on the WordPress repository presented a significant challenge. We spent a significant amount of time and effort to create our existing, modular architecture. All our solutions are based on it, and they have been thoroughly tested. The WordPress Team insist that all plugins should carry around their own copy of the required files, while we have enough experience and statistical data to disagree with such statement. Besides, we couldn’t afford to discard years of work to go back to the required “monolithic” design, risking to introduce issues in the process.

The main hurdle came from one of the core principle on which the Aelia Foundation Classes is based. We wrote the AFC Framework with the assumption that there will always be one copy of such framework installed, at any given time. Such requirement can be easily enforced, and it allows to share the same code across multiple plugins. It also avoids having to write a convoluted logic to check if multiple copies of a framework are installed, and which one should be used. Based on our tests and experience, it’s a leaner and more effective approach.

Our challenge was to find a way to reach the following targets:

  1. Allow the EU VAT Assistant to carry around and load its own framework.
  2. Allow plugins that rely on the shared AFC Framework to keep doing so.
  3. Avoid substantial rewriting of any of the plugins, or the framework.

The AFC Framework as the key

After a careful analysis of our options, we realised that the AFC Framework could be the solution to the issue. Like our plugins, the framework is highly modular, and structured so that its components are loosely coupled. Although we designed the framework to be installed as a separate plugin, we were able to extract parts of it, and transform them into an “embedded framework”. This was also made easier by the logic used by our plugins to find the AFC, and interact with it, which allows for good flexibility. In short, we found a way to satisfy all the requirements, while keeping our modular structure and full compatibility with our other products.

The proposed solution

We reviewed the AFC Framework, focusing our attention on its basic, core elements, and we came up with a smart, yet simple solution:

  1. We built a smaller version of the framework, called AFC Embedded, which excludes non-essential features, as well as any feature that is not deemed “appropriate” for inclusion in the WordPress repository.
  2. We added the AFC Embedded framework to the EU VAT Assistant.
  3. We modified the loader logic used by the EU VAT Assistant, to perform the following operations:
    1. When the standalone AFC Framework is active, use that one. In such case, the plugin would behave exactly as it did before.
    2. When the standalone AFC Framework is not active, or not installed, load the embedded AFC Framework.

This approach required only minor changes in both the framework and the EU VAT Assistant, and no changes at all in our other products. It also covers the scenario where the EU VAT plugin is installed first, and the standalone framework at a later stage, e.g. after installing one of our premium WooCommerce plugins. In that case, the EU VAT Assistant switches from the embedded framework to the standalone one, transparently. Simple, yet effective!

Current status

We discussed the above solution with the WordPress Team, and they agreed that it would be within the guidelines of the WordPress.org repository. We have submitted an updated version of our EU VAT Assistant for their review, and we are waiting for their reply. If all goes well, our solution for EU VAT compliance should be back online very soon.

Any questions? Always happy to answer!

Should you have any questions about the EU VAT Assistant, or the progress with the new version, please feel free to contact us. We will be happy to answer all your questions, and give you any information you might need.

Thanks again for staying with us, we are looking forward to sharing with you some good news soon!

Regards,

The Aelia Team

news icon

The EU VAT Assistant for WooCommerce is still “alive and kicking”!

On the 9 December 2018, the WordPress Team removed our popular EU VAT Assistant from the public repository on WordPress.org. In this article, we are going to explain why they took that decision.

Preliminary note

Before explaining the reason for the removal, we would like to clarify that the EU VAT Assistant is still working fine, it’s fully supported and it will be maintained for the foreseeable future. There isn’t any technical issue, we’re just dealing with a minor conflict with the regulations on WordPress.org.

Why the plugin was closed on WordPress.org

The WordPress Team closed the EU VAT Assistant on the 9th of December, 2018, because that plugin, like (almost) every other Aelia plugin, requires our mini-framework, called Aelia Foundation Classes (or AFC, for short). That mini-framework comes as an independent plugin, which has to be installed separately. We introduced such framework in our development cycle back in 2013, when we realised that the old approach of bundling multiple copies of the same files and libraries in each plugin was inefficient. Since WordPress didn’t include a dependency management system (and still doesn’t), we implemented our own, simple solution. That allowed us to get the result we were looking for:

  1. We were able to the files and libraries common to multiple plugins to a shared framework (the Aelia Foundation Classes).
  2. We were able to leverage the functions offered by WordPress to detect when such plugin is missing, and prompt the administrator to install it.

Thanks to the above, the EU VAT Assistant and our other plugins can detect if the AFC framework is not installed. When that is the case, they ask the administrators if they want to install it manually. To make thins even easier, our plugins also offers a convenient “one click” interface to do that installation. This is how the EU VAT Assistant always worked, ever since we released its first version, back in 2014. Apparently, now this presents an issue.

The issue

The rules for the WordPress repository indicate that a plugin can’t download another plugin from sources other than WordPress.org. Since the “one click install” downloads the framework from our site, that feature is no longer allowed. Due to that, the WordPress team deemed necessary to close the plugin, and informed us about that closure right after it was performed. Unfortunately, we didn’t receive an advance notice about this, or we would have informed our users about it.

As mentioned, the reason for the plugin closure is not technical. The EU VAT Assistant works perfectly fine as it is, and it’s not affected by bugs or technical issues. More simply, there’s a disagreement about our plugin’s architecture, as the WordPress team deemed such design to no longer conform with the repository guidelines. Due to this, they decided to remove the plugin, despite its popularity and the fact that it has been running smoothly for over 4 years.

Possible solutions

The only reported non-conformity in the EU VAT Assistant is the dependency management that the plugin uses. Our solution allows administrators to download the required AFC mini-framework from our site, which is external to WordPress.org. From a technical perspective, this could be solved easily in a few ways:

  1. The AFC framework could be hosted on WordPress.org.
  2. The framework could be bundled within the EU VAT Assistant, which would then take care of installing it as a separate plugin, without having to download it from an external source.
  3. The “once click install” feature could be removed from the EU VAT Assistant, thus removing the “download from an external site” altogether.

Unfortunately, the WordPress team didn’t accept any of the above:

  1. The first solution won’t be allowed by another regulation, which doesn’t allow to use WordPress.org to host framework plugins.
  2. The third solution would involve “bundling a plugin within a plugin”, which is also not allowed.
  3. The third solution won’t be allowed either. Requiring a manual installation of the framework would imply that the EU VAT Assistant “doesn’t work” straight out of the box (unless the framework is installed first), which is another of the requirements on WordPress.org repository to ensure a smooth user experience.

Feedback from the WordPress Team

The WordPress Team suggested that we change the the EU VAT Assistant so that it doesn’t require the AFC framework, or so that the files from the framework are part of the plugin itself. Unfortunately, that won’t be an option. The decision of having the framework as an external plugin was deliberate, to make our plugins modular and more robust. Such design, fairly common on other platforms, allows to keep modules lean, and greatly reduces the chance of conflicts caused by the presence of multiple copies of the same files. Our target was to move away from the obsolete “monolithic” architecture, and all the bloating that it involves, and have a single, shared framework. Other developers adopted such approach (popular themes like Genesis and Avada also use a framework plugin), and it works well.

Rewriting the EU VAT Assistant to go back to the old “bundle everything” design would be a significant step backward, and it would introduce a high risk of causing conflicts with our other plugins, which are based on current “shared framework” architecture. Regrettably, we can’t redesign all the plugins we developed just to comply with a restriction on WordPress.org, which affects a single plugin.

Current status (updated 10 December 2018)

We had an extensive conversation with the WordPress Team about the removal of the EU VAT Assistant from the repository, and how it could be restored. As of the the 10th of December, we haven’t reached an agreement. We proposed a few solutions that would not require a radical changes in the plugin’s architecture. They would also avoid a cascade effect with other plugins based on the same design. Unfortunately, the WP Team keeps insisting that the only solution they deem acceptable by them is to rewrite the plugin and bundle the framework in it. As explained above, that’s basically the only approach we can’t follow. It’s simply not feasible.

We are aware that this sudden change could cause alarm among the merchants who are using our EU VAT Assistant. We received several enquiries, from our customers, asking what the future of the our VAT plugin is going to be. All of them expressed their support to us, and were puzzled by such sudden decision about an established and useful solution. You can read the conversation on the plugin’s public support forum, available here: https://wordpress.org/support/topic/plugin-removed-from-wordpress-repository/.

As anticipated, the EU VAT Assistant is still fully functional and supported, still free and it will be maintained for the time being. We will keep checking with the WordPress Team if we can find a compromise that can allow to restore our plugin on the WordPress repository. In the meantime, the EU VAT Assistant will still be available, free of charge, directly from our website. We will also take care of serving updates for our solution directly, while the files hosted on WordPress.org are offline.

Any questions? Always happy to answer!

Should you have any questions about the EU VAT Assistant, please feel free to contact us. We will get back to you as soon as possible.

Thanks for reading this long post, and apologies for the inconvenience caused by the sudden change, which was outside our control.

Regards,

The Aelia Team

news icon

We are a proud sponsor of WordCamp Dublin 2017!

Short and sweet: we just received the confirmation that our sponsorship for WordCamp Dublin 2017 has been approved. If you would like to meet us in person, our founder will be there on the 14th and 15th October, and he will be happy to answer any questions you might have. He won’t be a speaker this time, but don’t worry: he’s still a chatterbox, and you will have plenty of time to talk about (almost) anything. Here you can find a super-short summary of the important information.

Where

The event will be held in DCU Business School, Dublin. The DCU Business School is a fantastic venue, and the institute is in the top 5% of business schools worldwide.

When

The WordCamp event will be held on October 14th and 15th 2017. So far, 250 WordPress enthusiasts confirmed their presence, it’s going to be an amazing event.

Less than a month to go, tickets are running out. Get yours, and come and meet us and hundreds of other awesome folks at WordCamp Dublin 2017!

The Aelia Team

news icon

WooCommerce 3.1 is coming – The Aelia plugins are ready

The WooCommerce team recently released WooCommerce 3.1 Release Candidate 1. As they wrote, this means that they should be ready to release the final 3.1 version very soon. The planned release date for WooCommerce 3.1 is the 28th June 2017.

What you should do before updating WooCommerce

If you are running WooCommerce 3.0.x, then you should be able to upgrade it to version 3.1 quite easily. Version 3.1 is a minor update, which should be fully backward compatible.

If you are still running WooCommerce 2.6, or even if you just like to “play safe” (which never hurts), you can follow the step by step guide we sent some time ago via our newsletter. The guide describes our recommended way of upgrading WooCommerce. You can find the guide below, for your convenience.

The core idea behind this guide is not to update your live site directly, but test the upgrade on a staging copy of the site first. Here are a few simple steps that will help you with the task:

  1. Take a full backup of the live site.
    Tip: if you don’t have a strategy for automated backups, we would strongly recommend to prepare one as soon as possible. Please feel free to contact us if you need more information.
  2. Ensure that the backup is usable and ready to be restored in case of emergency.
  3. Create a copy of your site on a staging/test server. Work only on the test copy.
  4. Update all the plugins, except WooCommerce, to the latest versions.
    Note: some updates might not appear in the WordPress Plugins page. You can always get the latest versions of the Aelia plugins from the My Account section on our site.
  5. Update your theme to the latest version.
  6. Update WooCommerce.
  7. Test the site extensively, to ensure that all the plugins you are running, as well as your theme, are compatible with WooCommerce 3.1.
  8. If you spot any issue, contact the authors of the affected plugin or theme before updating the live site.
  9. Apply any fix provided by plugin authors and repeat the testing from step #7.

When you are comfortable that the test site is working correctly, you can repeat the above steps on the live site.

Compatibility status of the Aelia plugins

Based on the tests we conducted so far, all of our plugins are currently compatible with WooCommerce 3.1.x. We will keep testing them as updates for the new version are released, to ensure maximum compatibility.

Of course, should you encounter any issue, please report it, and we will look into it as soon as possible.

Important
If you don’t receive an update notification in your WordPress Admin Panel about the Aelia plugins, we recommend you to follow our our site, our Twitter account or our Facebook page, as we will announce the new releases there. You will then be able to download them from our site, or from the download link you received with your email.

Need assistance, or have any questions?

Should you need assistance, or have any questions about our plugins and how to update them before installing WooCommerce 3.1, please get in touch. We will get back to you as soon as possible, with the information you need.

Thanks for your time, and have a great weekend!

Sincerely,

Aelia – The Internationalisation Experts

news icon

WooCommerce 3.0 “Bionic Butterfly” has just arrived!

WooCommerce 3.0, the Bionic Butterfly, is here!

WooCommerce 3.0 is now available for download. This is a great update, which lays the foundation of a more powerful, flexible and scalable e-commerce system, and it will greatly improve the e-commerce experience for millions of merchants and buyers worldwide.

Still, “with great change comes great responsibility”. Yes, the original sentence was slightly different, but it applies nevertheless. The improvements that WooCommerce 3.0 brings can have side effects, therefore we would like to repeat our invitation to being careful with the upgrade.

Below you can find a summary of the information we sent to our newsletter subscribers. We recommend to keep this information handy, as it will make the update process easier and smoother.

What you should do before updating WooCommerce

In the past few weeks, we sent a step by step upgrade guide to our subscribers, describing our recommended way of upgrading WooCommerce. You can find it below, if you missed our email, or if you are not registered to our newsletter.

The most important concept to keep in mind that you should not update your live site immediately. It looks like a tempting shortcut, but we strongly recommend not to do that (you can take our word on this). Instead, you should follow a few simple steps:

  1. Take a full backup of the live site.
    Tip: if you don’t have a strategy for automated backups, we would strongly recommend to prepare one as soon as possible. Please feel free to contact us if you need more information.
  2. Ensure that the backup is usable and ready to be restored in case of emergency.
  3. Create a copy of your site on a staging/test server. Work only on the test copy.
  4. Update all the plugins, except WooCommerce, to the latest versions.
    Note: some updates might not appear in the WordPress Plugins page.You can always get the latest versions of the Aelia plugins from the My Account section on our site.
  5. Update your theme to the latest version.
  6. Update WooCommerce.
  7. Test the site extensively, to make sure that all the plugins you are running, as well as your theme, are compatible with WooCommerce 3.0.
  8. If you spot any issue, contact the authors of the affected plugin or theme before updating the live site.
  9. Apply any fix provided by plugin authors and repeat the testing from step #7.

When you are comfortable that the test site is working correctly, you can repeat the above steps on the live site.

This process may look long and boring, but it’s worth spending some time to double check that the shop will work fine after an update, as that will prevent unexpected crashes and downtimes.

Recommended reading

The WooCommerce Team also wrote a useful article to guide you through the upgrade process: How to prepare your WooCommerce store for any release. We recommend to read it and familiarise yourself with the steps required for a smooth upgrade.

Compatibility status of the Aelia plugins

We updated our plugins to work with WooCommerce 2.7 a couple of months ago, and tested them again with WooCommerce 3.0. Below you can find a list of the plugins that you will have to update before installing WooCommerce 3.0, together with their version number and release date:

Our tests showed that plugins such as Shipping Country, or the Blacklister, should already be compatible with WooCommerce 3.0. We will keep reviewing them as updates for the new version are released, to ensure maximum compatibility.
Of course, should you find any issue, please report it, and we will look into it as soon as possible.

Important
Our licensing system is still undergoing maintenance, and you might not receive an update notification in your WordPress Admin Panel. We would recommend you to follow our our site, our Twitter account or our Facebook page, where you will find the information about new releases there. You will then be able to download them from our site, or from the download link you received with your email.
Once our licensing system will be back up, you should start receiving update notifications from within WordPress.

Need assistance, or have any questions?

Should you need help, or have any questions about our plugins and how to update them before installing WooCommerce 3.0, please get in touch. We will get back to you as soon as possible, with the information you need.

Thanks for your time, and have a great day and an amazing weekend!

Sincerely,

Aelia – The Internationalisation Experts