The article is relevant if you would like to get dynamic content to WordPress from NetSuite.
Background
Since 2008, my firm has been delivering system integration and customized solutions to NetSuite customers. While our business strategy has always been to provide expert professional services to our clients, over the years we enhanced our offerings by working to bring algorithms to our client situations. Simply put, we leveraged NetSuite bundling technology and have grown a library of solutions that we can give to our clients, without license fee. Over the time we produced a number of bundles, we subsequently built a NetSuite application for our internal use to help us manage and track the array of free NetSuite client offerings.
After writing about many of these bundled applications on this blog, it became clear that there would be value by publishing all the tools and utilities that we offer our clients and prospects. Consequently, we had a need to get the information out of NetSuite and on to this blog — a challenge which is similar to so many we regularly solve for other clients.
In our internal case, this blog is hosted by a WordPress publishing platform. The internal NetSuite application is a simple solution to track the bundled application, the bundle dev, test and distribution number and other pertinent information for on going software maintenance. In addition, we created an application version history to help care for our clients installations as the software distribution and use widens. When considering how to publish this information, I speculated that we would leverage our Content Renderer Engine to showcase what is possible with that technology.
Using the Content Renderer Engine (CRE) to Output HTML
The first step was to define a Content Rendering Engine profile to target all the applications so that I could draw an HTML list. Effectively, this is a simple saved search against our custom managed application records. Then, I created a two simple FreeMarker templates (one for the list and one for the detail) as shown below to output the information as an HTML snippet:
<div>The following NetSuite application is available to all active <a href="https://www.prolecto.com/clients/" target="_blank">Prolecto Resources clients</a> without license charge:</div> <p /> <h2>${app.name}</h2> <div>${app.custrecord_pri_application_description}</div> <p /> <#if app.custrecord_pri_application_bundle_dist?has_content> <h3>Bundle ID</h3> <div>Ask for Bundle ID: ${app.custrecord_pri_application_bundle_dist}.</div> </#if> <h2>Version History</h2> <#list versions as version> <h3>${version.name}</a></h2> <div>${version.custrecord_pri_application_ver_enhance}</div> </#list> <p /> <h2>Access to ${app.name} Bundle</h2> <div>If this ${app.name} bundle has interest for you, <a href="https://www.prolecto.com/services/innovations/" target="_blank">let's have a conversation</a></div>
Getting the HTML Snippet to WordPress
The next major step in the solution was to get the content over to the WordPress. Many content management systems work on integration by providing client side JavaScript to suck content out of one site and the display it dynamically to the user. I did not want this approach because search engines generally do not index this type of content. Instead, I needed to have the content appear that it was coming from WordPress system directly. I didn’t want any type of solution that would shuttle or sync data between NetSuite and WordPress which then means data could get stale or out of whack. Instead, I wanted WordPress to call out to NetSuite on demand and get the latest content.
Leveraging the WordPress Remote Content Shortcode Plugin
One of the reasons that WordPress is popular is all the plugins that extend the architecture. I am certainly no WordPress expert but I understand the underlying application leverages the PHP scripting language on the Linux operating system. I knew that PHP has a library to call HTTP services. I found a plugin that almost met my needs which. It is called the Remote Content Shortcode and basically calls out to the Linux operating system to make a command line cURL call to retrieve content. Since I was going to work with NetSuite remotely (from WordPress’s perspective) my choice to make an HTTP call was either to a SuiteLet or a RestLet. I chose a SuiteLet because simply because I wanted to deliver straight HTML. See image for how it looks in the WordPress page.
Example Use Case
See the follow link which draws all the bundles out of our NetSuite application manager. Here is a link to the Prolecto Application Manager which draws detail in HTML out of the NetSuite Application.
Get NetSuite Expert Systems Integration Assistance
One of the major capacities I love about the NetSuite Platform is the way it allows us to invent to solve modern challenges using business systems. Besides being strong in accounting and general business processes, this capacity for NetSuite innovation is my firm’s core competency. If you feel you information is locked up or that there “must be a way…”, then perhaps we can have a conversation.
Do you’ve any idea on what are the best practices to pass Suitecommerce Certification exam.
I’m planning to write this certification exam.
good post. Having a blog on a subdomain or anywhere else does very little good when compared to having the content in your store’s domain.
Pushing the data the other direction would be useful to us. So, we’d create content in WordPress and have it post to non-inventory items or to “information items” in our NetSuite account.
The ultimate would be to be able to host wordpress in a tab of our NetSuite store (not using an iFrame). WordPress has handy SEO plug-ins and the ability to connect to so many platforms to re-tweet posts and such.