Posts

Aelia - News badge

Multi-currency Points and Rewards and Product Feeds with Aelia Currency Switcher

WooCommerce Points and Rewards, by wpweb

The WooCommerce Points and Rewards, developed by wpweb, now includes full support for the Aelia Currency Switcher. Thanks to this new integration, introduced in version 1.0.6 of the Points and Rewards plugin, it will be possible to reward your customers and allow them to spend their earned credit in multiple currencies. Credits to the wpweb Team for the great job they did in implementing this integration.

Product Feed PRO for WooCommerce, by AdTribes

The WooCommerce Product Feeds Pro for WooCommerce, developed by AdTribes, has also been updated to support our Aelia Currency Switcher. This new feature, available from version 4.2.2 of the Product Feeds plugin, will make it possible to generate product feeds in multiple currencies, quickly and easily. The plugin authors sent us a few screenshots that show how easy it is to use this new feature:

We would like to thank the AdTribes Team for implementing this new integration.

Would you like to contribute?

If you have a plugin, or a custom solution, that you would like to update by adding multi-currency support to it, please feel free to get in touch. We are always happy to assist developers who would like to write integrations with our solutions, and we can send you guidelines and technical information to make the job easier.

Thanks for being with us, see you soon with more great news!

The Aelia Team

Aelia - News badge

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

Aelia - News badge

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

Aelia - News badge

The XAdapter Table Rates Shipping now supports our Aelia Currency Switcher

Using XAdapter Table Rates Shipping plugin with Aelia Currency Switcher

The XAdapter Team has recently updates their Table Rates Shipping plugin, adding native support for our WooCommerce Currency Switcher. Thanks to this new integration, you will be able to have the shipping costs configured in the Table Rates plugin converted automatically at checkout.

Getting started

Adding the XAdapter Table Rates Shipping plugin to your multi-currency site is easy. You can get started quickly and easily, by following the steps below:

  1. Install and configure the Aelia Currency Switcher. Our installation guide can help you configuring the plugin: Aelia Currency Switcher – Getting Started.
  2. In WooCommerce > Currency Switcher > Geolocation page, enable the Geolocation option. This setting will automatically select the currency based on visitor’s location.
  3. Install the Table Rates Shipping plugin. If you already have that plugin installed, make sure that you are running version 3.0.5 or newer.
  4. Configure the Table Rates plugin, following the documentation provided by XAdapter.
  5. The last step is to verify that the Table Rates plugin works, by simulating the purchase process. Simply add an item to the cart and reach the checkout page. There, you will see the shipping rates, which will be in the active currency.

You’re ready! Your customers will now see the shipping costs you entered, converted to the appropriate currency, on the checkout page.

Should you have any questions about using the Table Rates Shipping with our Currency Switcher, please contact the XAdapter Support Team. They will be happy to assist you in configuring their shipping plugin on your site.

Thanks again for reading, and have a great day!

The Aelia Team

Aelia - News badge

The XAdapter UPS Shipping now supports our Aelia Currency Switcher

Using XAdapter UPS Shipping plugin with Aelia Currency Switcher

The XAdapter Team has recently updates their UPS Shipping plugin, adding native support for our WooCommerce Currency Switcher. Thanks to this new integration, now you can easily add UPS delivery services to your multi-currency site, with a few simple steps.

Getting started

Adding the XAdapter UPS Shipping plugin to your multi-currency site is easy. The following steps will get you ready in a few minutes:

  1. Install and configure the Aelia Currency Switcher. Our installation guide can help you configuring the plugin: Aelia Currency Switcher – Getting Started.
  2. In WooCommerce > Currency Switcher > Geolocation page, enable the Geolocation option. This setting will automatically select the currency based on visitor’s location.
  3. Install the UPS Shipping Plugin with Print Label. If you already have that plugin installed, make sure that you are running version 3.9.13 or newer.
  4. Configure the UPS plugin, following the documentation provided by XAdapter.
  5. Verify that the UPS plugin works, by simulating the purchase process. Add an item to the cart and reach the checkout page. There, you will see the UPS Shipping rates, which will be in the active currency.

Done! Your customers will be able to select one of the UPS delivery options at checkout and see the correct rates in the currency used at checkout.

Should you have any questions about using the UPS Shipping with our Currency Switcher, please contact the XAdapter Support Team. They will be happy to assist you in configuring their shipping plugin on your site.

Thanks again for reading, and have a great day!

The Aelia Team