Post Featured Image

2018: End of Year Review

As the end of 2018 approaches, let's look back at some of SuiteCommerce's new features and enhancements, as well as the best supporting blog posts.

New Products


First and foremost, we welcomed SuiteCommerce to the NetSuite commerce offering.

As a SaaS version of its sibling, SuiteCommerce Advanced, its greatest strength is that you get all of the goodness of SuiteCommerce Advanced's core offering with none of the stress and worry about it going out of date. The cost for this is that you let us manage your site's JavaScript and SuiteScript, which therefore limits your customization opportunities.

Commerce Extension Framework

However, we also released the commerce extension framework, which provides new fertile grounds in which to grow your site and business. It comprises three key components:

  1. An extensibility API — a code-level, stable JavaScript API that lets you access and customize key parts of a web store
  2. Refreshed developer experience — new but familiar developer tools and concepts for making customizations
  3. Powerful UI features — new power tools for site administrators (such as the extension manager and enhanced site management tools)

In short, the extension framework encourages you, as developers, to focus on making sure your customizations are written in a way so that your site remains maintainable and upgradeable. The API offers pre-defined components, methods and events that make writing customizations quick, easy and, hopefully, reusable. Importantly, the API also makes sure that your customizations will endure when you upgrade your site to a new version of SuiteCommerce. It's also available for SuiteCommerce Advanced sites, so long as you're running Aconcagua or newer (but newer versions of SCA get access to newer components and methods).

To help you get acquainted with the new framework, we gave an in-depth presentation at this year's SuiteWorld, which I've written up as a way to get to grips with the framework. We also held a follow-up webinar a few months later, which I wrote up, detailing what we've learned in the intervening months and how you can take advantage of our best practices. Remember, a lot of traditional customization avenues are still open to you with extensions, but there are now new ones that may be a better fit.

I explored a number of different components and methods available to us in a number of blog posts:


An important change was that we introduced a logical division between the presentation of a site and its underlying functionaity. Specifically, we moved the Sass and templates into themes, which allows for look-and-feel changes to be made to a site quickly and easily, in an isolated environment away from the site's JavaScript.

While we've talked about theming before, in SuiteCommerce terminology, this is now a specific thing. They mean:

  • Designers can get to work changing a site's appearance separately from a developer
  • Site administrators can customize an existing theme through the SMTs, or select a different skin
  • Themes can be packaged up and distributed, with a high-level of certainty that they will work across any site, regardless of the site or code version

There's a few fair bit of nuance with themes, so we took at how we can get started using the base theme.

New Releases

We released a number of new versions of NetSuite Commerce over the past year, and I've already raised the significance of the extension framework, but let's take a look at some of the new stuff that we proudly introduced.

Aconcagua and Aconcagua R2

Aconcagua was our final release to use the mountain naming convention. As well as heralding in the aforementioned releases of SuiteCommerce and the commerce extension framework, it brought with it improvements to the SuitePromotions engine, which we introduced last year.

Crucially, we built on features such as best offer, stackability, and auto-apply, with one of our most strongly requested features: free gift. What this means is that you can set up a new promotion, so that once a shopper meets your specified criteria, a free item is automatically added to their cart — this could be a great way to offer a promotion item for all your customers, or perhaps as a reward for those who have placed a particularly large order. Of course, the item can be removed if they decide they don't want it, or you can set up a promotion code so that they have complete control.

We also added the ability to import and export commerce categories. Commerce categories are a popular and powerful feature, in particular for their integration with the site management tools. By enabling administrators to modify them by importing and exporting CSV files, they're given made more powerful as bulk operations can prove more efficient for large operations.

The final big change in Aconcagua was content scheduling. This handy little feature lets you designate when SMT content should go live — and when it should expire! Now merchandisers and content creators can get their work done and dusted, and then tell the system to publish their content exactly at the time they designate. No more late nights spent launching a new sale!

We quickly followed up Aconcagua with a mini-update, which included a small number of bug fixes as well as the introduction of the layout component to the extensibility API. Up until this point, all of the components available were specific to certain areas on the site; now, if you wanted to make customizations that were outside of these areas, you could use generic methods attached to the layout component.


The first release after mountain-named ones was 2018.2, which included an important security update: two-factor authentication (2FA) was now mandatory for all admin accounts across NetSuite. The knock-on effect from that was all that developers using the Gulp tools to deploy their code now had to use alternative accounts, ie, ones specifically set up for deploying.

The second big thing was that we moved towards our goal of making themes and extensions available on While, at the time of writing, we're not quite there yet, we included some points in the release notes because we wanted to show our intentions and progress.

We also introduced the registerView() method to the layout component, which allows you to make a view available globally. In other words, if you've got a view that doesn't need a particular context, then you can use this method to make it available to any of your templates simply by adding an attribute to a template element.

Some of the biggest changes in this release was to do with the SMTs. We released more enhancements, with improvements to the publishing workflow, date-effectivity, and the UI. A highly requested feature — the ability to see and modify CMS pages as records in NetSuite — was added. We also added them to the workflow, so that you can schedule them to go live with the rest of your content.

Platform Improvements

There were a number of changes to the underlying NetSuite platform that benefits web store owners, and two of the biggest ones were in the forms of a new on-site search service, powered by Elastic, and a new SEO page generator, powered by Prerender.

System Email Templates for Web Stores

Before that though, the first important platform update for developers was system email templates. What we learned about them is that they are much more powerful than what we had, especially since we can now use the Freemarker templating language to get the results that we want. We think that this will be a useful tool for making your web store emails atractive and functional.

On-Site Search (Elastic)

This isn't really something we talked a lot about, but we upgraded the on-site search service that powers all of the search results returned from your NetSuite instance. While there were improvements to performance, there were also some other small enhancements you may have noticed:

  • Better 'fuzzy' matching / typo detection, where the keyword search term doesn't match exactly with items, the ones that are returned should be better related to those terms
  • Better multi-term search, where multiple keywords can match items where some keywords are ignored, or their order is different to what the shopper provided
  • Sorting items now places items with null values at the end (eg if you sort by price, an item with no price will appear last)

We hope to bring more improvements next year.

SEO Page Generation (Prerender)

One thing we did dedicate a fair bit of time to, was the new SEO page generator. We hosted a webinar on it, as well as posted a follow-up blog post.

Remember, the page generator is what produces the pages that search engines see, as we can't be sure that they'll be able to render all of the JavaScript that we show to normal, human shoppers. It's important that it's performant and always available. Some customers were experiencing problems where it took too long to render pages, and search engines were marking them down, or pages would fail to render at all because of how big they were.

So, these two issues should be a thing of the past. We've also made it easier to debug any potential issues that may arise in pages generated by the page generator. At the time of writing, not everyone will have been moved over to the new page generator, but good progress is being made.

Performance and Troubleshooting Blog Posts

There were quite a lot of other blog posts that I haven't mentioned yet, but I'm not going to go through them all. The key ones I wanted to highlight are to with troubleshooting bugs and improving the performance of your site:

While in some cases we looked at specific cases/places to do troubleshooting or make performance gains, part of the reason we do these posts is to try and give you the tools and concepts you need to approach other cases. Hopefully running through them will give you the confidence to figure out whatever issues your site faces.

A number of those posts are also guest posts from other NetSuite employees, and I hope in the new year I can get more of them to pop by and share their wisdom! Mike Lynch, for example, shared his wisdom on how to add units of measure to the site's frontend.

Developer Portal Improvements

In addition to the code and platform improvements, we also made some improvements to the supplementary content: the documentation, blog posts, and the developer portal itself.

Documentation Reorganization

One of the important improvements we made was to how we organize and present our documentation on the portal. Our technical writers worked really hard making a number of improvements to the structure and hierarchy of content, including splitting up into developer and user guide sections, tagging content with their applicable versions, as well as introducing new kinds of content, such as checklists and more videos. The thing I like most is the What's New? section, where the technical writers highlight important changes that they've made. Great stuff.

I also worked with them to think about how you navigate around the site, for example creating new links between sections and highlighting areas we think are important.

Another thing the blog post mentions that actually happened last year but I don't think people have noticed: the site is now fully (nearly fully anyway!) by search engines. Therefore, if your favorite search engine is your jumping-off point for a lot of your SuiteCommerce queries, then you should start seeing our results appear. If you know the right syntax, you can also force results to be returned only from our site. For example, if you want to return results for "extensibility" only from this site, you could type in: extensibility


We launched a newsletter this year. The request came in from a couple of customers who said they want to see the latest content, but don't want to swing by every day or so to see if there's anything new, and would instead prefer an email every month highlighting all the important stuff that they have missed. So, we started a newsletter.

If you haven't already signed up, and that sounds like something you'd like, then do it!


Finally, SuiteCommerce had a strong showing at this year's SuiteWorld. Even though I highlighted eight key breakout sessions worth attending, there were many more, as well as a feature in the keynotes. We also had a dedicated area in the expo hall called Commerce Connect and Grow, which was more than just a showcase of our latest features. It was interactive, with numerous staff members at hand to offer both ad hoc advice and guidance, as well as dedicated sessions for UX research, Q&A sessions and tech talks.

For SuiteWorld 2019, we should be back with the best of last year and plenty of new ideas for next year. We also hope to have some excellent commerce breakout sessions, and plenty of staff at the event for you to talk to.

If you haven't got your ticket yet, or if you want to see why you should go, head over to our dedicated SuiteWorld website!

Thanks for joining us for a great 2018 — we hope that 2019 is even Suiter 😊