06 December 2017
On 9th November the NopCommerce team announced the release of version 4.0. Alongside some new features, some improvements and some bug fixes, the new version has been developed with ASP.NET Core.
From a non-technical perspective, the advantage to using ASP.NET Core is that it can be built upon .NET Standard instead of the .Net Framework. The difference is that .Net Framework has to sit in a Windows Operating System so by extension, your application that depends on it also has to be hosted in a Windows environment. With .Net Standard, it doesn’t rely on Windows libraries like .Net Framework, so it can be installed on both Linux and Mac environments. By extension this means that an ASP.Net Core application can also be run in those environments providing it targets .Net Standard.
At present, NopCommerce 4.0 is still targeting the .Net Framework, but this is more to do with awaiting updates with Entity Framework, which are expected in the first half of 2018.
The NopCommerce team have made a large amount of improvements for 4.0, too many to go into detail about so we’ll look at the ones that will make the biggest difference.
First up is performance, primarily speed. Caching has been added for Azure blob storage, stores, currencies and languages. And the addition of more database table indexes and tweaking of where scripts load in a page, should offer a faster page loading experience for customers.
Next up are the improvements to the Admin area. NO MORE FTP!! Plugins and themes can now be uploaded directly from the admin screens, so you only need a few clicks to upload a plugin instead of doing it via FTP. In addition to this, settings have been nested to make it easier to navigate them and administrators can also complete purchases via phone or chat in impersonation mode if products are marked as “Call for Price”.
Finally, there’s the addition of some convenient features, such as the ability to override the tax display type based on the customer role which allows the toggling of tax fbetween B2B and B2C customers. The other interesting feature is the ability to store customer IP addresses(where local law allows) from which, there lies a huge potential to harvest much more useful data that can assist in generating leads or directing marketing.
Please see the full release notes for more details.
From a developer’s perspective, the switch from 3.x to 4.0 is substantial. Within NopCommerce, a few things like the Admin section have moved, whereas the bulk of the changes are to do with ASP.Net Core, which we’ll leave for another blog.
The first thing of note is the move to the new json format for certain files like the plugi.json and the stripped down project file. Additionally, there are the additional base components such as the NopViewComponent to assist the move to view components, as well as helpers for "replacement" and "new" tags.
For plug-in developers, whether temporary or permanent, the miscellaneous plug-ins are now more aligned to widget plug-ins in the way they are routed. And in line with the way view engine overrides are handled in ASP.Net Core, the NopCommerce team have provided the INopStartup interface to register View Expanders at startup.
As a developer of a range of nopCommerce Plugins, we have updated our Google Analytics Enhanced e-Commerce and Google Merchant Center plugins, and at the time of this blog we are testing the upgrade of our Feefo Integration Plugin.