suitecommerce advanced administrator’s guide...netsuite, price is a standard field on item...

58
SuiteCommerce Advanced Administrator’s Guide April 26, 2017 2016.2

Upload: others

Post on 23-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SuiteCommerce Advanced Administrator’s Guide

April 26, 2017 2016.2

Page 2: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

General NoticesSample Code

NetSuite Inc. may provide sample code in SuiteAnswers, the Help Center, User Guides, or elsewherethrough help links. All such sample code is provided “as is” and “as available,” for use only with anauthorized NetSuite Service account, and is made available as a SuiteCloud Technology subject to theSuiteCloud Terms of Service at www.netsuite.com/tos.

NetSuite may modify or remove sample code at any time without notice.

No Excessive Use of the Service

As the Service is a multi-tenant service offering on shared databases, customers may not use theService in excess of limits or thresholds that NetSuite considers commercially reasonable for theService.  If NetSuite reasonably concludes that a customer’s use is excessive and/or will causeimmediate or ongoing performance issues for one or more of NetSuite’s other customers, NetSuitemay slow down or throttle such customer’s excess use until such time that the customer’s use stayswithin reasonable limits. If a customer’s particular usage pattern requires a higher limit or threshold,then the customer should procure a subscription to the Service that accommodates a higher limit and/or threshold that more effectively aligns with the customer’s actual usage pattern.

Integration with Third Party Applications

NetSuite may make available to Customer certain features designed to interoperate with third partyapplications. To use such features, Customer may be required to obtain access to such third partyapplications from their providers, and may be required to grant NetSuite access to Customer’saccount(s) on such third party applications. NetSuite cannot guarantee the continued availability ofsuch Service features or integration, and may cease providing them without entitling Customer toany refund, credit, or other compensation, if for example and without limitation, the provider of athird party application ceases to make such third party application generally available or availablefor interoperation with the corresponding Service features or integration in a manner acceptable toNetSuite.

Copyright

This document is the property of NetSuite Inc., and may not be reproduced in whole or in part withoutprior written approval of NetSuite Inc. For NetSuite trademark and service mark information, seewww.netsuite.com/portal/company/trademark.shtml.

© 2017 NetSuite Inc.

Page 3: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Table of ContentsSuiteCommerce Advanced Setup ............................................................................................. 1

Creating a Website ............................................................................................................ 1Enabling SCA Features ........................................................................................................ 1Item Configuration for Web Stores ....................................................................................... 2

Item Setup for SCA ........................................................................................................ 2Item Search Index ......................................................................................................... 3Item Inventory in Web Stores .......................................................................................... 4

SCA Item Search Settings .................................................................................................... 7Search Fields ................................................................................................................. 8Search Results ............................................................................................................... 9Sort Fields for Search Results ........................................................................................ 13Facet Fields ................................................................................................................. 16Field Sets .................................................................................................................... 17The Item Search Index Process ...................................................................................... 20

SCA Domains and Touch Points ......................................................................................... 24SCA Product Images ......................................................................................................... 26

Renaming Image Files with an Item Identifier .................................................................. 27Setting the SuiteCommerce Advanced Image Domain and the Image Folder ......................... 28Uploading Images to the File Cabinet for SuiteCommerce Advanced ................................... 29Setting Up Image Resizing for SuiteCommerce Advanced .................................................. 29Viewing Images on Item Records with SuiteCommerce Advanced ........................................ 31

SCA Web Site Preferences ................................................................................................. 32SuiteCommerce Advanced Installation .................................................................................... 33

Initial Installation ............................................................................................................. 36Migration to New Releases ................................................................................................ 38Minimum Setup Requirements .......................................................................................... 41

Field Set Setup Script ................................................................................................... 47Touch Points ................................................................................................................... 50Diff and Patch Files .......................................................................................................... 51

How to Apply Diff Files ................................................................................................. 52Diff File Structure ......................................................................................................... 53

Page 4: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SuiteCommerce Advanced Setup 1

SuiteCommerce Advanced Setup

Creating a WebsiteTo create a SuiteCommerce Advanced website, you must first enable features, and then set up itemrecords, create custom fields, and configure item search settings. Follow the steps below to create aSuiteCommerce Advanced website:

1. Contact your NetSuite account representative to provision SuiteCommerce Advanced in youraccount, and then turn on the SuiteCommerce Advanced feature. For more information, seeEnabling SCA Features.

2. Prepare item records for use in your SuiteCommerce Advanced website. See Setting Up ItemRecords for SuiteCommerce Advanced.

3. Go to the SuiteCommerce Advanced website Setup page to complete the tasks listed below:

a. Set up preferences for the Item Search API. For more information, see SCA Item SearchSettings.

b. Enter custom shopping domains, and associating those domains with SSP applicationtouch points. For more information, see SCA Domains and Touch Points.

c. Map image files to item records, and image resizing. For more information, see SCAProduct Images.

d. Set general preferences for your site such as, email templates, payment options,shipping preferences, and languages. For more information, see SCA Web SitePreferences.

4. To optimize your site and decrease website load time, configure caching. See the help topicCaching.

5. Use the Item Search API for product presentation, faceted navigation, and product keywordsearch. See the help topic Item Search API Overview.

6. Set up your local environment to download the source code and deploy your initial site. See thehelp topic SCA Developer Tools.

Enabling SCA FeaturesThe first step in creating a SuiteCommerce Advanced site is to contact your account representativefor provisioning the appropriate modules in your account. Note that some features you need forSuiteCommerce Advanced are associated with Site Builder.

Next, an Administrator can turn on the features you will need to get started. The list below includes allthe features you need to create a SuiteCommerce Advanced website.

1. Go to Setup > Company > Enable features.

a. Click the SuiteCloud subtab, enable the following features:

■ Client SuiteScript

■ Server SuiteScript

■ SuiteScript Server Pages

■ Web Services

b. Click the Web Presence subtab, enable the following features:

■ Web Site

Page 5: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Enabling SCA Features 2

■ Web Store

■ Advanced Site Customization

■ Descriptive URLs

■ Host HTML Files

■ SuiteCommerce Advanced

■ Online Ordering

Note: If you are using the My Account reference implementation and you donot have the Online Ordering feature enabled, Sales Order details can not beviewed in the web store.

After you finish enabling features, go to the next step, Setting Up Item Records for SuiteCommerceAdvanced.

Item Configuration for Web StoresTo set up item records for SuiteCommerce Advanced, you must complete general NetSuite item recordsetup tasks. In addition to setting up item records for your website, you must also complete a set oftasks to prepare items for the search index.

Step Task Description

Step 1 Set Up Item Records for SCA This section provides instructions for displayingan item on your SCA website.Item Setup for SCA

Step 2 Set Up Item Records for theSearch Index

This section details how to set up the searchindex for item records on the web store.Item Search Index

Step 3 Set Up Item Inventory forweb store

This section details how to set up the iteminventory for the web store.Item Inventory in Web Stores

Step 4(If necessary)

Improve SEO Ranking for webstore

This section provides tips on optimizing searchengine results for the web store.SCA Search Engine Optimization (SEO)

Step 5(If necessary)

Create Commerce Categories This section details how to use commercecategories.Commerce Categories

Item Setup for SCAThis section details how to make items which are already created available to site visitors for viewingand purchase on your web store. If your item is not yet created, see the help topic Creating ItemRecords. To make your item available for display on your web store, you must complete the followingtasks in the item record:

To make your item available for display on your web store:

1. Go to Lists > Accounting > Items.

Page 6: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Item Configuration for Web Stores 3

2. Use the Sales/Pricing subtab to enter a price for the item.

3. On the Web Store subtab under Web Store Display, check the Display in Web Store box.

4. In the Page Title field, enter the text you want to appear as the page’s title for that item. This textappears in the browser tab. Use a descriptive title for the item page, this can help achieve betterresults with search engine ranking.

5. In the Web Store Display Name field, enter the name to show in the Website for this item.

6. In the Web Store Description field, enter a brief description of this item.

7. In the Detailed Description field, enter the details about the item to display when a site visitorviews the item.

The description fields can have letters, numbers, and basic punctuation. You can also enter basicHTML codes like lists, bold characters, and underlines. You can enter 999 characters in the StoreDescription field and 1,300 in the Detailed Description field.

8. In the Featured Description field, if this is displayed on the home page of your Website, enter afeatured description for this item.

This description appears below the item’s store display name on the Home page of your store orsite. You can enter up to 999 characters including basic HTML code. Enter and format text usingthe formatting options, or click the HTML Source Code link to enter HTML.

9. Attach and display images with the items in the web store. See SCA Product Images.

10. Enable Commerce Categories as required. See the help topic Commerce Categories.

11. Click Save.

Item Search IndexOn a SuiteCommerce Advanced site, item records published to your website are indexed to a searchserver. After the search index process is complete, fields from item records are available for display onyour site. A web developer can use the Item Search API to query the server and return data from anyfield on the item record.

Field sets also play an important role in product display. Field sets are a collection of fields that youselect from item records to display on your site. A web developer can use API calls to field sets todisplay product information on your site.

While setting up item records, consider which item record attributes you want to use on your site.

Note: Search fields, facet fields, sort fields, and Field Sets exposed to your website can be anycombination of standard item record fields, and custom item record fields.

For example, two facets that are commonly used on e-commerce sites are: price and brand. InNetSuite, price is a standard field on item records. Brand would be a custom field that you create.Include both fields in the field sets so price and brand information can be displayed on yourSuiteCommerce Advanced site.

The search index plays a key role in product display. The search index picks up the item attributes thatyou want to expose on your site including fields used for search, faceted navigation, sorting, and fieldsets. Item records must be indexed to the search server before data from item record fields can beused. For more information, see The Item Search Index Process.

Another consideration is how you want item records to be indexed. You can index all item recordsin NetSuite by setting the Show Uncategorized Items preference, or you can select the item recordsyou want indexed. For more information, see Guidelines for Using the Show Uncategorized ItemsPreference.

Page 7: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Item Configuration for Web Stores 4

To set up item records for the search index:

1. Go to Lists > Web Site > Items.

2. Determine which standard fields you want to use as search fields, facet fields and sort fields.Make sure there is data in each of the fields you plan to access with the Item Search API.

Consider the list of supported API calls. For more information, see the help topic Item Search APIInput Parameters.

3. Determine the fields on the item record you will use to create field sets.

For example, for SEO purposes, you can use descriptive URL components in an item template.To do this, you must enter a value in the URL Component field on item records, and then includethe URL Component field in a Field Set.

For more information, see Field Sets.

4. Create custom fields for use as search fields, facet fields and sort fields. For example, you cancreate a custom item field named Brand.

Note: Only certain field types are supported as facet and sort fields. For moreinformation, see Field Set Reference.

5. Enter information in the custom fields you created. For example, if you created the custom fieldBrand, enter the brand on each item record for display on your site.

6. Check the Display in Web Site box on the item record.

7. Clear the Inactive check box. Items marked Inactive will not be included in the search index.

8. Choose whether to index all item records marked to display in the website by checking theShow Uncategorized Items preference, or index only the items published to the site. For moreinformation, see Including Item Records in the Search Index.

9. Click Save on the item record when you have finished entering data.

Ensure the item record has data in all the standard and custom fields that you want to use on your site.

Note: Saving an item record triggers a search index update, not an index rebuild. After youhave completed setting up item records, then you can configure search settings. You will need touse the fields you set up on your item records to configure search settings properly.

Select your item search settings at Setup > SuiteCommerce Advanced > Set Up Web Site. Use theSearch Index subtab to set search preferences, and the Field Sets subtab to select all the fields youwant to show on your website. For more information, see SCA Item Search Settings

Item Inventory in Web StoresSuiteCommerce Advanced relies on multiple fields to determine on-hand inventory visibility in yourweb store. How you set up the following fields determines what and how items display. Some fieldstake precedence over others.

Setting Precedence

Precedence Field Location in NetSuite

1 Make Inventory Available in Web Store Store Record

Page 8: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Item Configuration for Web Stores 5

Precedence Field Location in NetSuite

Drop Ship Item Inventory Item Record

Special Order Item Inventory Item Record

2

Drop Ship/Special Order Items areAlways in Stock

Web Site Setup Record

3 Out of Stock Behavior Inventory Item Record

4 Include Out of Stock Items in Web Store Web Site Setup Record

The following diagram details the logic behind NetSuite’s inventory visibility based on these fieldsettings:

Make Inventory Available in Web Store

This setting takes precedence over all other inventory visibility settings. If any location is not set upto display inventory in the web store, that store’s inventory does not appear, regardless of any othersettings.

Drop Ship Item, Special Order Item, and Drop Ship/SpecialOrder Items are Always in Stock

Assuming a location’s inventory is available in the web store, these settings take the next level ofprecedence. If an inventory item is marked as a Drop Ship or Special Order item and the Drop Ship/

Page 9: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Item Configuration for Web Stores 6

Special Order Items are Always in Stock field is checked, the item is considered in stock and appearsin the web store.

Out of Stock Behavior

If an inventory item is out of stock, this setting determines the next level of precedence. Keep thefollowing in mind when setting this field:

■ If you set this field to Default, the Site Setup Record’s Include Out of Stock Items in Web Store fieldtakes precedence.

■ If you set this field to Remove Item When Out of Stock, NetSuite does not index the item foravailability on your web site and ignores the Site Setup Record’s Include Out of Stock Items in WebStore field.

■ If you set this field to any other option, NetSuite indexes the item for availability on your site andignores the Site Setup Record’s Include Out of Stock Items in Web Store field.

■ This setting is not available for Sub Items.

Include Out of Stock Items in Web Store

This field takes precedence only if the Inventory Item’s Out of Stock Behavior field is set to Default.

Example:

You have two store locations with on-hand inventory, and you want your web store to function in thefollowing ways:

■ You want Store Location A’s inventory to be available in your web store.

■ You do not want Store Location B’s inventory to be available in your web store.

■ You do not want any out-of-stock items to appear in your web store.

■ You want drop-ship items to always be listed as in stock.

Your NetSuite set up will look like this:

Location in NetSuite Field Setting

Store Record for Location A Make Inventory Available inWeb Store

Checked

Store Record for Location B Make Inventory Available inWeb Store

Unchecked

Inventory Item Record (for any itemsto be listed as drop ship items)

Drop Ship Item Checked

Web Site Setup Record Drop Ship/Special Order Itemsare Always in Stock

Checked

Inventory Item Record Out of Stock Behavior Remove itemwhen out-of-stock

Based on these settings, the Site Setup Record’s Include Out of Stock Items in Web Store field doesnot apply.

Page 10: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 7

SCA Item Search SettingsSuiteCommerce Advanced provides enhanced item search capabilities for your website. On the WebSite Setup page, you can configure the item search settings for your site using the subtabs, SearchIndex and Field Sets.

After you complete the setup tasks listed below, click Save on the Web Site Setup page to trigger thesearch index process. When the index process is complete, a web developer can start Item Search APIOverview.

Task Before you begin Goal

1. Search Fields Identify the item record fields that contain key wordsshoppers will use when searching for products on yoursite.

Define relevance rankingof search results on yoursite.

2. Sort Fieldsfor SearchResults

Determine the item fields you want to use as sortingoptions on your site.For example, you may want to allow shoppers to sorttheir search results by brand or online price.

Influence the order inwhich products are listedin search results.

3. Facet Fields Make sure you have set up your item records correctly.Determine the item attributes that shoppers can useto filter their searches for products on your site.

Enable a web developerto use the Item SearchAPI for designing facetednavigation.

4. Field Sets Determine different collections of fields that areappropriate for different product views.For example, you can create one field set that containsonly the product name and description. Use this fieldset for the search results template. Create anotherfield set that includes more data, such as price andbrand. Use the second field set for an item detail viewtemplate.

Define the item recordfields exposed to sitetemplates.Enable a web developer touse the Item Search API toaccess field sets.

Page 11: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 8

For information about search settings, such as details about fields exposed in field sets, field typessupported by facets and sorting, as well as details about the search index process, see Field SetReference.

Search FieldsUse the Search Fields subtab to select item attributes that shoppers use to search for products onyour site. Here, you can also boost the relevance ranking of each field by organizing the list in order ofrelevance. The fields used for most relevant matches should appear at the top of the list.

Note: Avoid adding excessive search fields as it can have performance implications and resultin less relevant search results.

The list on the Search Fields subtab defines the relevance ranking of search results. The top row showsthe item field and the type of match that results in highest relevance ranking. Each subsequent rowresults in lesser relevance ranking. For example, put exact matches at the top of the list to get thehighest relevance ranking for exact matches.

NetSuite provides default settings to get you started. However, you can drag and drop rows torearrange the list. You can also add or remove fields to customize your Search. For more information,see Best Practice for Controlling the Order of Search Results.

Note: For items to be searchable on your website, item fields that you add under Search Fieldsshould have values assigned to them in the item record.

Observe the following definitions for each type of match as it would be applied to the item attributetext "wifi router":

Type of Match Description

Keyword Appears anywhere in the text. For example, the shopper types “router” in thesearch box. The search matches “wifi router."

Exact Matches the exact text of the item field contents. For example, the shopper types“wifi router” in the search box. The search matches “wifi router.”

Starts With Exact Matches the exact text from the beginning of a field but only up to the first 20characters. For example, the shopper types “wifi” or “wifi rou” in the search box.The search matches “wifi router.”

Fuzzy Matches similar text or misspellings up to two characters different. For example,the shopper types “mifi” in the search box. The search matches “wifi router.”

Starts with Behaves the same as Keyword search but only for the first 20 characters of everyword in a field. For example, the shopper types "wifi" in the search box. Thesearch matches "wifi router."

Page 12: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 9

By default, the standard full-phrase search is enabled for your SuiteCommerce Advanced website.With the full-phrase search, the entire search query (consisting of multiple terms separated by spaces)is treated as a single phrase, and only exact matches are returned. For example, with the “mini wifirouter” search query, items containing only the exact phrase “mini wifi router” are returned.

An alternative search mechanism is the multi-term search. With the multi-term search enabled, allitems containing at least two of the specified terms ("mini", "wifi", or "router") are returned for the “miniwifi router” search query.

Important: If you wish to enable the multi-term search feature for your SuiteCommerceAdvanced website, you should contact NetSuite Technical Support.

After you have selected the fields you want shoppers to be able to search on, and you havereorganized the list in your preferred order of relevance, go to the next step in configuringSuiteCommerce Advanced item search settings, Sort Fields for Search Results.

You can also refer the Field Set Reference topic, which includes a spreadsheet of all fields available forsearch, facets, sorting and field sets.

Search ResultsThe search returns results based on your search setup, item data, and search query. This sectiondescribes an example search setup, sample data set, and several use cases that illustrate expectedresults for a search based on this setup.

Example Search Setup

Following is an example search setup with detailed expected results.

Entry # Field Search

1 Online Name Exact Match

2 Online Name Keyword

3 Item Name/Number Exact Match

4 Item Name/Number Fuzzy

5 Product Description Keyword

Note: On the Search Fields subtab, the Item Name/Number field is displayed as Name in theSearch dropdown list.

The following table details the relative weights of searches based on all parameters.

Entry # Search Type of Match Weight (Hidden)

1 Online Name Exact Match 5

2 Online Name Keyword 4

3 Item Name/Number Exact Match 3

4 Item Name/Number Fuzzy 2

Page 13: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 10

Entry # Search Type of Match Weight (Hidden)

5 Product Description Keyword 1

Sample SearchesTo clarify expected search results based on the search algorithm described above, consider thefollowing product data set and example use cases.

Note: Use cases assume that the information in the product data set is available in the itemrecord and only these items are in the account and active on the website.

■ Use Case 1 — Search Term: Jacket

■ Use Case 2 — Search Term: Waterproof Pants

■ Use Case 3 — Search Term: FMHJ-B-40

Product # Item Name/Number Online Name Description

1 FMBT-B-40 Filament Miler BlueTight

Blue is the trendy fall color. Aperfect spark to your workout isfound in these Filament Tights!

2 WCB-U-M Way2CoolBandana

Stylish bandana or neck and facegaiter.

3 FMS-S-40 Flannel Mojo Shirt Trends come and go, but flannelis forever. And since all Mojoshirt patterns are uniquely SportsGear, you won't ever bump intoyour twin.

4 CWP-B-30 ConvertibleWaterproof Pants

Light and quick to dry, this isgreat for hiking. Zip off the legsfor shorts.

5 OWP-B-30 OutdoorWaterproof Pants

Light and quick to dry, thesehiking waterproof pants deliver.The Mesa seems like an oldfavorite from the moment youput it on.

6 PSG-B-06 Power StretchGlove

Snug fitting Polartec® PowerStretch® keeps hands warm andallows them to breathe. Can beworn alone or as a liner.

7 FB-OC-10 Fenite Beanie Stylish outdoor cap that is warmand cozy.

8 BDB-AL-40 Barn Door Belt 40 mm cotton webbing belt withan extruded aluminum buckle.Buckle also functions as a bottleopener. Logo screenprinted onbuckle for extra style points.

9 FMHJ-R-40 Flannel MilerReversible HoodedJacket

A stylish warm flannel look.These jackets give you thewarmth you need from jacketsready for the wilderness.

Page 14: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 11

Product # Item Name/Number Online Name Description

10 FMHJ-B-40 Flannel Miler BluffHooded Jacket

Oh the places you will go in thesehooded jackets!

Use Case 1 — Search Term: Jacket

Product # Search Type ofMatch

Products # thatmatch

Matching term

1 Online Name Exact Match - -

2 Online Name Keyword 9, 10(9 & 10 haveequal weight)

9 - Flannel MilerReversible Hooded Jacket10 - Flannel Miler BluffHooded Jacket

3 Item Name/Number

Exact Match - -

4 Item Name/Number

Fuzzy - -

5 ProductDescription

Keyword 9, 10(9 has higherweight sincethe search termappeared morefrequently)

9 - A stylish warm flannellook. These jackets giveyou the warmth you needfrom jackets ready forthe wilderness.10 - Oh the placesyou will go in thesehooded jackets!

Search Results are returned to the customer in the following order:

Product # Item Name/Number Online Name Description

9 FMHJ-R-40 Flannel MilerReversible HoodedJacket

A stylish warm flannel look.These jackets give you thewarmth you need from jacketsready for the wilderness.

10 FMHJ-B-40 Flannel Miler BluffHooded Jacket

Oh the places you will go inthese hooded jackets!

Use Case 2 — Search Term: Waterproof Pants

Product # Search Type ofMatch

Products # thatmatch

Matching term

1 Online Name Exact Match - -

2 Online Name Keyword 4, 5(4 & 5 have equalweight)

4 - ConvertibleWaterproof Pants5 - Outdoor WaterproofPants

3 Item Name/Number

Exact Match - -

Page 15: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 12

Product # Search Type ofMatch

Products # thatmatch

Matching term

4 Item Name/Number

Fuzzy - -

5 Product Description Keyword 5 5 - Light and quick to dry,these hiking waterproofpants deliver. TheMesa seems like anold favorite from themoment you put it on.

Search Results are returned to the customer in the following order:

Product # Item Name/Number Online Name Description

5 OWP-B-30 OutdoorWaterproof Pants

Light and quick to dry, thesehiking waterproof pants deliver.The Mesa seems like an oldfavorite from the moment youput it on.

4 CWP-B-30 ConvertibleWaterproof Pants

Light and quick to dry, this isgreat for hiking. Zip off the legsfor shorts.

Use Case 3 — Search Term: FMHJ-B-40

Product # Search Type of Match Products # thatmatch

Matching term

1 Online Name Exact Match - -

2 Online Name Keyword - -

3 Item Name/Number Exact Match 10 10 - FMHJ-B-40

4 Item Name/Number Fuzzy 1, 9, 10(all have equalweight)

1 - FMBT-B-409 - FMHJ-R-4010 - FMHJ-B-40

5 Product Description Keyword - -

Search Results are returned to the customer in the following order:

Product # Item Name/Number Online Name Description

10 FMHJ-B-40 Flannel Miler BluffHooded Jacket

Oh the places you will go inthese hooded jackets!

1 FMBT-B-40 Filament MilerBlue Tight

Blue is the trendy fall color. Aperfect spark to your workout isfound in these Filament Tights!

9 FMHJ-R-40 Flannel MilerReversible HoodedJacket

A stylish warm flannel look.These jackets give you the

Page 16: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 13

Product # Item Name/Number Online Name Description

warmth you need from jacketsready for the wilderness.

Sort Fields for Search ResultsYou can influence the order in which products are listed in search results on your site. First, identifyitem record fields that contain keywords that customers may use to find products. Then select thosefields on the Search Fields subtab. The default Relevance setting on the Sort Fields subtab is affected byyour settings on the Search Fields subtab. You can mark Search Fields for exact match to improve therelevance score.

Note that the relevance score is based on how the search index scores query term matching, and theorder of the fields on the Search Fields subtab. To have more control of the sort order of search results,select more sort fields in addition to using the default Relevance setting.

To define sort fields for search results:

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Click Edit next to your SuiteCommerce Advanced site.

3. Click Search Index, and then Sort Fields.

Note that Relevance is selected by default. You cannot remove Relevance from the list. You canselect other item fields to use as sorting options for your site. For more information, see BestPractice for Controlling the Order of Search Results.

■ Field Name — (Required) Select an item record field. Select item attributes that you wantshoppers to use for sorting search results.

Note: Only certain fields on item records are available as sorting options based onthe field type. For more information, see Field Set Reference.

■ Field ID — (View only field) Displays the field's internal ID.

■ Sort Order — Choose ascending or descending order. This is the order in which products aresorted in search results.

Note: If you have set up multiple price levels for items, ensure that you add all the pricelevel fields as sort fields. However, you need not configure these additional price levelfields as sort fields as described in the next step.

4. Configure the sort field.

1. Select the domain to configure at Setup > SuiteCommerce Advanced > Configuration.

2. In the SuiteCommerce Configuration record, navigate to the Search tab and the ResultSorting subtab.

3. Define your sort options. For details, see the help topic Result Sorting Subtab.

For example, if a custom field, custitem41 has been configured as a sort field in theweb site record, a line item for that field must be added to the Desktop, Phone, andTablet sections before the selection is available on the web store in the applicablebrowser.

Page 17: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 14

Note that to configure sort fields for pre-Vinson implementations, the sortOptions array inthe SC.Shopping.Configuration.js configuration file must be extended to include the new sortfield. For guidance on extending your implementation, see the help topic Customize and Extend.For example, if a custom field, custitem41 has been configured as a sort field in the web siterecord, a line item for that field must be added to the sortOptions array before the selection isavailable on the web store.

sortOptions: [

{id: ­'relevance:asc', name: _('Sort by relevance').translate(), isDefault: true}

, {id: ­'onlinecustomerprice:asc', name: _('Sort by price, low to high').translate()}, {id: ­'onlinecustomerprice:desc', name: _('Sort by price, high to low ­').translate()}

, {id: ­'custitem41:desc', name: _('Sort by best seller, low to high ­').translate()}

]

Note: By default, the onlinecustomerprice field is added as a sort option. SuiteCommerceAdvanced is pre-configured to display two pricing options: Sort by price, low to high and Sort byprice, high to low. No additional configuration is needed to support price sorting.

After you have selected sort fields for search results, go to the next step in configuring SuiteCommerceAdvanced item search settings, Facet Fields.

Combine Sort Fields Using Item Search APIEven if the default sort order is by the relevance score, you can manipulate the sort order by usinga custom item field along with the relevance field. This is beneficial when two or more items in thesearch results have the same relevance score, and you want to use another parameter as a tie breakerto display the search results. For example, you could use Most Popular or Best Seller as anotherparameter.

Since API calls override default settings in NetSuite, you can use an Item Search API request to combinemultiple sort fields and display the search results.

For example, suppose you add a custom field, Best Seller (custitem_best_seller), to your itemrecord to record the best selling item. Enter a value in the custom field on item records, assigningnumbers 1 – 10, with 10 being the best selling item. Then, use an Item Search API request to sort byRelevance and Best Seller.

/api/items?sort=relevance,custitem_best_seller:desc

For information on Item Search API, see the help topics Item Search API Overview, and for the completelist of parameters supported by the Item Search API, see Item Search API Input Parameters.

Sort Options and Matrix ItemsWhen working with Matrix items, ensure that sorting values are consistent between the child andparent records. For fields defined as sortable, define those fields in child items with the same values asdefined for the parent items. If values differ, you will see inconsistent sorting results.

For example, suppose you have added a custom field, Best Seller, to your item record. If the value forBest Seller is set on the parent record but the same value is not set on the child records, sorting onBest Seller may not return the parent records in the expected order.

Note that parent items are assigned a sort value defined as the lowest sort field value from amongsttheir children. The parent items are then sorted according to those selected sort values.

Page 18: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 15

Best Practice for Controlling the Order of Search ResultsUse a combination of Search Fields and Sort Fields that are appropriate for your site. Your settings onthe Search Fields tab influence the sort order of search results. The top row on the Search Fields listshows the item field and the type of match that result in highest relevance ranking. Ranking is based onthe sequence of search terms. For best results, define exact matches at the top of the list.

For example, to rank keywords in the Online Name field on item records first, make sure the field isselected at the top of the list. Put fuzzy matches at the bottom of the list, or remove them. If yourintention is to return accurate ordering of search results (for example, return all items that matchShirt at the top of list), then do not include fuzzy match fields at the top of the list of Search Fields.Because the list of search fields is ranked in order, top to bottom, fuzzy matches near the top of thelist can return irrelevant items (short vs. shirt) at the top of the search results list. To further control thesequence of search results, use the Item Search API to specify values for the sort parameter.

To control sorting and sorting sequence:

1. Click the Search Fields subtab.

a. Determine the item attribute fields whose relevance score you want to improve.

b. Select these fields first on the Search Fields subtab.

c. Set the type of match to Exact.

Note: Select an appropriate type of match based on the type of field that youselect. For example, for a product description field that has lot of text, Keywordmight be a better type of match.

2. Click the Sort Fields subtab.

3. Select the fields you want to use for sorting search results on your site.

4. Click Save.

5. Make Item Search API calls to the same fields you defined on the Sort Fields subtab to furtherrefine the sort order.

Note that API calls override default settings in NetSuite. For example, you can create a custom fieldcalled, Most Popular. Enter a value in the custom field on item records, assigning numbers 1 – 10.Then, use an Item Search API request to sort by Most Popular.

http://www.mystore.com/api/items?sort=mostpopular:asc

For the complete list of parameters supported by the Item Search API, see the help topic Item SearchAPI Input Parameters

Additional Notes on Sorting■ Adding a related items group to an item does not affect ranking. The related items are loaded and

included in the response but any sorting behavior applied to the top-level items is not applied to thelist of related items.

Page 19: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 16

■ At a high level, ranking is related to the frequency with which a term appears on item records. Forexample, if the term Shirt appears in four fields on an item record, then this item will have a higherrelevancy score than an item where the term only appears in one field.

Facet FieldsSelect the facets, or item attributes, that shoppers can use to filter their searches for products on yoursite.

After you have selected Facet Fields, a web developer can use the Item Search API to query forproducts with a certain facet value.

For more information, see the help topic Item Search API Input Parameters.

Best Practice:

■ Before selecting facets on the Web Site Setup page, make sure you have set up your item recordscorrectly. For more information, see Setting Up Item Records for SuiteCommerce Advanced.

■ Only certain fields on item records are supported for faceted navigation based on the field type. Formore information, see Field Set Reference. This topic includes a spreadsheet of all fields availablefor search, facets, sorting and field sets.

■ Avoid adding excessive Facets or Facet Values. For more information, see the help topic SEO PageGenerator Best Practices.

■ You must limit the length of facet field values to 200 characters. If the facet field value exceeds themaximum character length, the search index fails to rebuild.

To select facet fields for the search index:

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Click Edit next to your SuiteCommerce Advanced site.

3. Click Search Index, and then Facet Fields.

1. Facet Field Name — (Required) Select the fields that shoppers can use to filter productsearches and browse products on your website. Typically, a variety of product attributesare used as facets, for example: Brand, color, or gender.

2. Field ID — (View only field) Displays the field's internal ID. You can use this ID in calls tothe Item Search API. The Field ID also appears in JSON response data.

After you have completed the task of selecting facet fields, go to the next step in configuringSuiteCommerce Advanced item search settings, Field Sets.

Facet Options and Matrix ItemsWhen working with Matrix items, ensure that you have set values on all of the child matrix items alongwith the parent matrix item for the custom item fields used as facets. If the facet value is set on theparent matrix item but not on all the child matrix items, and you search for items with this facet value,the search results may not have strict ordering.

Page 20: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 17

Note: The child matrix items need not have the same facet value as defined for the parentmatrix item.

For example, suppose you have added a custom field, Color, to your item record, and its value is setto Red on the parent record but is not set on any of the child records. Now if you search for this itemjust by entering the facet value Red in the search query, the item will not be returned even if the parentrecord matches the search query.

Note: When you are using a CSV import for populating the facet field values, ensure that thefacet field values are not missing for the child matrix items. If the facet field values are missingfor the child matrix items, the facet filter might not work as expected. This issue is observed onlywhen you use non-matrix options as facet fields.

Field SetsField sets define the item data exposed to site templates. Field sets include real-time data from itemrecords in your NetSuite account. A web developer can use the Item Search API to access field values inthe field sets you define here.

For example, you might create a field set that includes fields from the item record that contain productdetails. This field set might include fields that display matrix items and their options, product images,product descriptions, and price. You could also create a different field set for search results. In additionto the matrix item information and price, this field set might also include a thumbnail image andproduct availability.

Note: Field Sets are made public on the internet. Any field type can be selected for use in fieldsets, so consider which fields you choose to expose.

You can run a script to create field sets. For more information, see Field Set Setup Script. The FieldSet to return item details is typically named details. If a different name is used, you must update thesearchApiMasterOptions property. See the help topic Search Results Subtab for more details onconfiguring this property.

Defining Your Own Field SetsWhen extending SuiteCommerce Advanced, you can define your own field sets on the Web Site Setuppage. To access a complete list of fields available to use in field sets, see Field Set Reference.

To define fields sets:

1. Go to Setup > SuiteCommerce Advanced/Site Builder> Set Up Web Site.

If you use multiple websites, click Edit next to the site you are working with.

2. Click the Field Sets subtab.

3. Enter data in the fields described below:

a. Name – (Required) Enter a name for the new Field Set. This name is only displayedinternally on the Field Sets list page and in dropdown lists on the Web Site Setup page.

Page 21: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 18

Name each Field Set based on the product views you will create for your site. For example,a field set named Multiple Item View might consist of a few fields, such as name, onlineprice, and rating. Another field set, Item Detail View might include the store description,shipping information, and price.

b. Field Set ID – (Required) You create this ID for use with the Item Search API to specify thefield set.

The Field Set ID is displayed internally, on the Field Sets list page and in dropdown lists onthe Web Site Setup page.

Important: Note the following requirements when creating a Field Set ID: It mustbe alphanumeric, lowercase, and contain no spaces or special characters.

c. Record Type – (Required) Only item records are supported.

d. Description – (Optional) Enter a description of this field set. The description only shows onField Set records, the Field Set list page, and on the Web Site Setup page.

e. Click the icon in the lower right of the field in the Fields Included in Field Set column.

■ Field Name – (Required) Select from a list of fields on item records in your NetSuiteaccount.

■ Field ID – Shows the internal ID for each field you select in a Field Set.

You can use this ID to refer to specific fields when writing SuiteScript. This is also thefield ID returned in the JSON response when using the Item Search API.

■ Field Type – Shows the NetSuite field type. Field types provide information aboutthe type of data web developers can expect in the JSON response to Item Search APIqueries.

4. Click Save after you have selected fields for this field set.

5. Click Add.

6. Click Save on the Web Site Setup page to Save your changes.

Defining field sets is the final task in configuring SuiteCommerce Advanced item search settings. Whenyou click Save on the Web Site Setup page after defining field sets, the item search indexing process istriggered. For more information, see The Item Search Index Process. See also, Checking Search IndexJob Status.

Page 22: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 19

Field Set ReferenceThis section includes reference information you can use as you complete the task of defining field sets.Defining field sets is how you expose information from item records in NetSuite to your website.

We have provided a Microsoft Excel worksheet listing all the fields available for field sets. You canuse this list to find information such as, field IDs and field types. The list also identifies fields thatare available for facets, sorting and keyword search. In addition to fields on item records, there areadditional fields that include derived values. These fields are identified on the worksheet as Syntheticfields.

To access the worksheet, click this link: FieldSetsList.xls

Note: Depending on the features enabled in your account, some of the fields in thespreadsheet may or may not appear in your account.

You can also run a script to create field sets. This script contains all field set required to usefunctionality that ships by default with SuiteCommerce Advanced. For more information, seeField Set Setup Script.

Synthetic Fields for Field SetsIn addition to the fields on supported records, there are additional fields that include derived values.You can use these synthetic fields in field sets. The table below contains detailed descriptions ofsynthetic fields.

Synthetic FieldName

Field ID Description

* Price (Formatted)and * Price Level(Formatted)

pricelevel*_formatted Each price field has a formatted counterpart.For example, the field, Base Price has the fieldID, pricelevel1. The synthetic field, Base Price(Formatted) has the field ID, pricelevel1_formatted.The plain field value returns a numeric value. The*_formatted variant returns the price formattedwith a currency symbol and the appropriatenumber of decimal places based on regionalrounding conventions.

Price for CurrentCustomer (Detail)

onlinecustomerprice_detail

Returns a JSON object with all available informationabout the item's current price. If a customer islogged in, the price displayed on the websiteapplies to the logged-in customer, includingspecial pricing and quantity pricing. If the item hasquantity pricing, the price schedule is returned. Ifthe item is a donation item, information definingthe donation parameters such as minimum anddefault amount are included.

Item Options(Detail)

itemoptions_detail If the item has item options, this returns all theitem options, their values (if list-type options) andtheir default values.

Matrix Child Items(Detail)

matrixchilditems_detail Gives information on the matrix child items thatexist for the matrix parent item, including whichitem option values define each child item. Specificfields for each child item can be retrieved bydefining a field set called ‘matrixchilditems'.

Page 23: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 20

Synthetic FieldName

Field ID Description

Related Items(Detail)

relateditems_detail Lists the related items of an item. Specific fields foreach matrix child item can be retrieved by defininga field set called ‘relateditems.’

Correlated Items(Detail)

correlateditems_detail Lists the correlated items of each item. Specificfields for each matrix child item can be retrieved bydefining a field set called ‘correlateditems.’

Item Images(Detail)

itemimages_detail Lists the images associated with an item. Providesthe default URL for each image (not resized).

Default Category(Detail)

defaultcategory_detail Returns the default category of each item.These are special, reserved field set names that cancontribute sub-fields to the individual entries forfield set field values that return item lists.- matrixchilditems- relateditems- correlateditems

Note: The price level field name appears in the Field Name select list, but the field's internalID is displayed in the JSON response (for example, “pricelevel1” or “pricelevel5” will show in JSONresponse data). For information about creating a field set to expose item quantity by location,see the help topic Accessing Item Quantity Per Location with the Item Search API

The Item Search Index ProcessWhen you use SuiteCommerce Advanced, NetSuite indexes your item record data on a search server.The search index process prepares your item records for use with the Item Search API. The searchindex is first built when you click Save on the Web Site Setup page after selecting Search Index settingsfor the first time. Certain changes you make in NetSuite will cause the search index to rebuild.

For more information, see Including Item Records in the Search Index, Events that Trigger Rebuildingthe Search Index, Events that Trigger Search Index Update, and Manually Rebuilding the Search Index.

Use the Job Status page to check the status of the search index process. For more information, seeChecking Search Index Job Status.

Note: The search index fails to rebuild if you take your website offline for maintenance. Formore information on taking your website offline, see the help topic Taking your Web Site Offlinefor Maintenance.

Including Item Records in the Search IndexItems in your account are indexed on a search server, so that data on item records can be queriedusing the Item Search API. Item records are only indexed in accounts that use the SuiteCommerceAdvanced feature.

The settings below represent the basic conditions that must be met for item records to be included inthe search index. To ensure that item records are included in the search index:

■ Check the Display in Web Site box.

■ Do not mark the item record as inactive.

Page 24: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 21

Important: Currently, although all items configured for search are indexed, a maximum of10K results are returned in a single search API call. However, any indexed item can be returnedby a specific API call to that item using search parameters such as the item id (see the helptopic Item Search API Input Parameters).

Guidelines for Using the Show Uncategorized Items Preference

When you use the Show Uncategorized Items preference all item records that have the Display in WebSite box checked are indexed. This preference enables items to display in search results, even if theitems are not published to a site or site category.

Alternately, you can clear the Show Uncategorized Items preference, and publish item recordsindividually. In this case, only item records that are published to a site and site category will be indexed.If you use the Multiple Web Sites feature, you must add each item to a category on the site where youwant it to appear. You can do this on the item record, or use the content manager.

Note: Saving an item record triggers a search index update each time an item record issaved. This action occurs on saving any item record, independently of your setting for the ShowUncategorized Items preference.

If the number of items in your account exceeds 10K, changing the Show Uncategorized Items settingtriggers a process that runs asynchronously in the background. A Job Status popup screen shows therunning process. This process is separate from the search index. When the process is complete, theShow Uncategorized Items check box in NetSuite reflects the change you made.

The search index process is triggered after the process that updates the Show Uncategorized Itemscheck box has completed. You can track the search index at Setup > SuiteCommerce Advanced > Set UpWeb site. Click View under Search Index Status.

Indexing All Item Records

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Click the Setup subtab.

3. Check the box next to Show Uncategorized Items.

4. Click Save.

Setting up Individual Item Records to be Indexed

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Clear the box next to Show Uncategorized Items.

3. Click Save.

Page 25: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 22

4. Go to Lists > Web Site > Items.

5. Click Edit next to an item record.

6. Select a Site and Site Category on the Web Site Categories subtab of each item record youwant indexed.

To learn more about preparing item records for the search index, see Item Search Index.

Events that Trigger Rebuilding the Search Index

Any of the following changes in your NetSuite account trigger a search index rebuild:

■ Changing facets, search, and sort options (on the Search Index subtab of the Web Site Setup page).

Note: When you remove a search field and save your changes, the search index is rebuiltonly if you have removed all types of matches for that particular search field.

■ Adding or removing languages.

■ Adding or removing Subsidiary accounts.

■ Changing site currencies when the site has currency-based fields defined as facets or sort options(such as, price or cost).

■ Changing the preference, Include Out Of Stock Items in Web Store (on the Web Site Setup Page).

■ Deleting a SuiteCommerce Advanced Web Site deletes the index for the site.

Note: Saving an item record triggers an index update, not an index rebuild. Also note thatthe indexer is always triggered when an item record is saved. This action occurs on saving anyitem record, apart from your setting for the Show Uncategorized Items preference on the WebSite Setup page. For information on events that triggers a search index update, see Events thatTrigger Search Index Update.

Events that Trigger Search Index Update

Any of the following changes in your NetSuite account trigger a search index update:

■ Item Availability

■ Item Pricing

■ Item record changes

Note: This includes changes on item records as a result of using a CSV import.

■ Currency Exchange Rates

■ URL Components for Facets

■ Web Site Tabs

■ Site Categories

■ Commerce Categories

Page 26: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 23

For information on events that trigger the search index to rebuild, see Events that Trigger Rebuildingthe Search Index.

Manually Rebuilding the Search IndexEven though certain changes that you make in your NetSuite account automatically trigger the searchindex to rebuild, you can manually rebuild the search index for your SuiteCommerce Advanced Site. Forinformation on events that trigger the search index to rebuild, see Events that Trigger Rebuilding theSearch Index.

Manual rebuild of the search index is typically done when you want to force a rebuild, and not wait forthe changes that you made in your NetSuite account to automatically trigger the rebuild.

After you initiate the search index rebuild process, it may take up to 10 minutes to start rebuildingthe search index. The time it takes to complete the process is relative to the number of items beingindexed.

Note: There is a limit to the number of times you can request a rebuild of the search index. Ina 24-hour period, you are allowed only two requests.

To manually rebuild the search index for your SuiteCommerce Advanced Site:

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site. Click Edit next to yourwebsite.

2. On the Web Site Setup page, choose Actions > Rebuild Search Index.

A popup message appears.

3. In the popup message dialog box, click OK to rebuild the search index for this website.

4. (Optional) Open the Job Status page to check the status of the rebuild process. For moreinformation, see Checking Search Index Job Status.

Note: The search index fails to rebuild if you take your website offline for maintenance.Therefore, you must not rebuild the search index when the Take Web Site Offline forMaintenance option is enabled.

Checking Search Index Job StatusYou can check the status of the search index process, by going to Setup > SuiteCommerce Advanced >Set Up Web Site. Click View in the Search Index Status column.

The Job Status page shows elapsed time as the item search index is processing. Click Refresh to updateinformation on the page. The search index process consists of the following tasks:

1. Dropping the search index

2. Updating search index (this step in the process includes, adding, updating, and deleting items)

Page 27: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Item Search Settings 24

3. Rebuilding the search index core

Note that changes to the item record trigger an index update. The Records Finished column on the JobStatus page always indicates the total number of records being processed.

SCA Domains and Touch PointsUse the Domains subtab on the Web Site Setup page to view the shopping domains that you createdfor your site. Here, you can also add new domains, associate your shopping domains with SSPapplication touch points, and set CDN cache. A custom domain is required for SuiteCommerceAdvanced websites.

For more information on CDN Cache, see the help topic Caching.

Note: Only shopping domains are shown on the Web Site Setup page. To manage domainsused for campaign email, redirects, and secure checkout, go to Setup > SuiteCommerceAdvanced > Domains. For more information, see the help topic Setting Up Domain Names inNetSuite.

Using the Domains Subtab in SuiteCommerce AdvancedOn the Domains subtab, you can set up your website to use Sticky domains, or choose to set a PrimaryWeb Site URL for your website.

Sticky DomainsIn SuiteCommerce Advanced, if you do not designate a primary domain, then each domain namepersists as shoppers navigate around your site. You can modify the shopping experience for customersby associating different domains with different SSP applications.

Best Practice for Using Sticky DomainsYou can use an SSP application along with multiple shopping domains in one SuiteCommerceAdvanced site. In this case, you can use the Touch Points subtab to associate an SSP application with atouch point for the site. Next, use the Domains subtab to associate a domain with an SSP application.

To set up domains for your SuiteCommerce Advanced Site:

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site. Click Edit next to awebsite.

2. Click the Domains subtab.

3. Enter your domain in the Domain Name field.

Note that you must use the CNAME (Alias) to set up DNS to point your domain at NetSuite. Formore information, see the help topic Pointing Domain Names at NetSuite.

Page 28: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Domains and Touch Points 25

4. Select an HTML Hosting Root. The folder you select here, should contain all the assets for yourSuiteCommerce Advanced site. If you are using a reference implementation or custom SSPapplication that you create, select the root folder where that SSP application resides.

Note: The hosting root determines which touch points can be valid for the domain.

5. (Optional) Select an HTML page to display if a 404-Page Not Found error occurs.

6. (Optional) Check the Primary Web Site URL box.

7. (Optional) Select touch points for each domain.

Note: To select touch points here, you must have already created an SSP application.

1. Click the Open button in the Touch Points column to display the New Touch Point popupwindow.

2. Select the touch point.

3. Select the SSP application. Note that the SSP application must have touch points alreadyset up. If touch points are not set up on the SSP application, then touch points are notvisible on this screen.

4. Click Add.

5. Select more touch points as needed.

6. Click Submit.

8. Click Save.

A shopper's experience with your site can now be controlled by domain. Using a specific domain willdetermine which SSP application a shopper interacts with. Note that touch points defined on theDomains subtab of the Web Site Setup page override the touch points defined on the Touch Pointssubtab.

Page 29: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Domains and Touch Points 26

For more information on using the Touch Points subtab on the Web Site Setup page, see the help topicLinking Your Website to an SSP Application.

Selecting a Primary Web Site URLSelecting a Primary Web Site URL is optional for SuiteCommerce Advanced websites. Note that whenyou designate a Primary Web Site URL, any domain you set up in NetSuite redirects to the domain youmarked as the Primary Web Site URL. The domain name marked as the Primary Web Site URL shows onyour list of websites as the Primary Domain.

For example, you might set up two shopping domains such as www.mystore.com andshop.mystore.com. If you set www.mystore.com as the primary domain, then customers who typeshop.mystore.com/item in the browser will be redirected to the same page on the primary domain,www.mystore.com/item.

SCA Product ImagesYou can upload image files to the file cabinet in a ZIP file and have them automatically matched withitem records in NetSuite, based on the image file name.

First decide on a naming convention for your image files, next rename your image files, and thenupload your image files to the file cabinet. After you have saved your settings on the Advanced tab,and uploaded all your image files, you can view the image files assigned to each item on the itemrecord.

Note: After you set up product images for SuiteCommerce Advanced, you must add theitemimages_detail field to Fields Sets so that images display correctly on the site. Go to Setup> SuiteCommerce Advanced/Site Builder > Setup Web Site. If you are using the ShopFlow SuiteApp, add itemimages_detail to the Search and Details Field Sets.

Setting up images for SuiteCommerce Advanced consists of the following tasks:

Page 30: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 27

Task Before you begin Goal

1. Renaming Image Files withan Item Identifier

Decide on a namingconvention for imagefiles that includes an itemidentifier.

To link image files to item records.NetSuite uses the item identifier tomatch image files to item records.

2. Setting the SuiteCommerceAdvanced Image Domain andthe Image Folder

  To set the root folder for all productimage files associated with aparticular SuiteCommerce Advancedwebsite.

3. Uploading Images to the FileCabinet for SuiteCommerceAdvanced

Complete renaming all ofthe image files you want toassociate with item records.Create a .zip file on yourcomputer that contains allthe image files for your site.

To populate the images folder foryour SuiteCommerce Advancedwebsite with product images.

4. (Optional) Setting Up ImageResizing for SuiteCommerceAdvanced

  To specify the maximum heightand width for images, and IDs fordifferent image sizes.You will use the Image Size ID toresize images in site templates.

5. Viewing Images on ItemRecords with SuiteCommerceAdvanced

Complete tasks 1 — 3. To view images associated with aparticular item record. You can alsoedit Alt Image text.

Renaming Image Files with an Item IdentifierThe first step in setting up images for SuiteCommerce Advanced is to rename each of your image fileswith an item identifier.

Decide on a naming convention that includes an item identifier for image files intended for yourSuiteCommerce Advanced website. Use the Item Identifier field to choose a field on item records thatNetSuite can use to link image files together with item records.

Note: For custom fields, only stored custom fields are available to be used as an Itemidentifiers. If a custom field has the Store Value set to False in the custom field record, it is notavailable.

Rename image files by appending the item identifier to the beginning of the image file name youwant associated with each item record. You can add to the filename of each image using the Item IDDelimiter and the Structure Delimiter.

The example below shows the image file name format when the item identifier is set to UPC code:

Page 31: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 28

SKU123_modelshot-longcoat.jpg.

The Item ID Delimiter is required. The default value is an underscore (_). It is used to parse the itemidentifier from the image filename.

The Structure Delimiter is optional. The default value is a single dash (-). The Structure delimiter can beused to add information to the image filename.

The file naming convention you choose, should make sense for your website.

Examples:

■ You can upload image files intended for different types of site templates. For example, if you createone site template is for a list of search results, and another for the product detail view, then nameimage files accordingly:

camera_sideview-searchresults.jpg camera_sideview-detail.jpg.-

sku123_main-red.png

sku123_detail-red.png

■ You can upload different images optimized for various devices:

camera_sideview-mobile.jpg

camera_sideview-browser.jpg.-

Notes on delimiters:

■ Delimiters parse the file name from the item identifier.

■ You can change the value for either of the Item ID or Structure delimiter. Both delimiters can be thesame.

■ You can change the delimiters to any combination of up to five supported characters ($ - _ . + ! *' ( ) ,). The maximum limit is five characters.

Setting the SuiteCommerce Advanced Image Domain andthe Image FolderAfter you have completed renaming all of the image files you want to associate with item records,select a domain and create a new folder for storing the image files.

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Click Edit next to the site.

3. Click the Advanced tab.

4. Select the domain you want to use in the Image Domain field.

5. Click (+) next to the Image Folder field to create a new folder for image files. Remember thefolder name.

Page 32: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 29

6. Click Save.

After you have created an image folder for the SuiteCommerce Advanced website, you can uploadimage files to this folder at any time. Images files will be mapped to item records based on the itemidentifier and the image file name.

Uploading Images to the File Cabinet for SuiteCommerceAdvancedOn your computer, you can create a .zip file that contains all the image files for your site, and thenexpand the zipped file after it has been uploaded.

1. Go to Setup > SuiteCommerce Advanced > Web Site Hosting Files.

2. Find the folder you selected as Image Folder.

3. Click Advanced Add.

4. Select the .zip file on your computer.

5. Check the Unzip Files box.

6. Click Add.

Setting Up Image Resizing for SuiteCommerce AdvancedIf you want to resize images files for your website, you can use the Image Resizing section on the WebSite Setup page. Here, you can specify the maximum height and width of the image and an ID for theimage size. You will use the Image Size ID to include a specified image size in a template.

To set up Image Resizing for SuiteCommerce Advanced

1. Go to Setup > SuiteCommerce Advanced/Site Builder > Set Up Web Site.

2. Click Edit next to the web site you want to modify.

3. Click the Advanced subtab.

4. Go to the Image Resizing section and modify the following fields:

■ Image Size ID – Assign an ID for the image resize definition. Use a name that denotes aparticular image size.

For example, you may want to configure two different sizes for image on your site. In theImage Size ID field, enter thumbnail, and then in the next row, enter rectangle.

Note: To allow resizing of an image slider, you must add a homeslider Image Size ID(at 200 pixels wide by 220 pixels high) and a homecell Image Size ID (at 125 wide by125 pixels high).

■ Description – (Optional)

■ Enabled – Check this box so that you can use the Image Size ID with the Item Search API. If anImage Size ID is not enabled, then the Item Search API ignores the image size you set up, andreturns the image in its original size.

Page 33: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 30

For example, if the enabled check box is cleared here, and the Image Size ID is included ina website template, the Image Size ID you set up is ignored, and the original image size isrendered.

■ Maximum Width and Maximum Height – Enter the values you want to use for the maximumheight and width of the image. You can specify one or neither. For example, if you enter avalue for Maximum Width, the Maximum Height is automatically calculated.

Note that the image aspect ratio is stored with the image file in the file cabinet. Automaticresizing is based on the image aspect ratio. Width and height are computed.

5. Click Save after you have set your specifications for image resizing.

After you have set up resizing images for your SuiteCommerce Advanced site, you can use theCommerce API to include image resize settings for a site. For more information, see Using theCommerce API to Resize Images.

To confirm images are associated with the correct item records, see Viewing Images on Item Recordswith SuiteCommerce Advanced.

Using the Commerce API to Resize ImagesCalls to the Item Search API return image URLs without resize information. However, you can callthe Commerce API from an SSP application to return the image resize settings for a site. Use thesitesettings.imagesizes field to get the image sizing parameters. The JSON response contains anarray of objects that includes the urlsuffix for each Image Resize ID that has been defined for thesite. The urlsuffix can then be used to construct the correct image URL. For more information on thesitesettings.imagesizes field, see the help topic sitesettings.

Note the following examples:

■ An image URL without parameters, such as http://mysite.com/images/OU9613.media.orange.01.jpg? displays on the site as follows:

http://mysite.com/images/OU9613.media.orange.01.jpg?resizeid=10&resizeh=230&resizew=201 -

■ An image URL that includes a parameter, such as http://mysite.com/images/OU9613.media.orange.01.jpg?&variant=3, displays the following URL on the site:

http://mysite.com/images/OU9613.media.orange.01.jpg?variant=3&resizeid=10&resizeh=230&resizew=201 -

The following image resize data is included in the JSON response for the sitesettings.imagesizes field.

■ maxwidth–maximum resized image width in pixels

■ maxheight–maximum resized image height in pixels

■ urlsuffix–suffix that should be added to the image URL to return a resized image

■ name–value from the Image Resize ID field (image resize definition) as entered on the Web SiteSetup page

■ internalid–internal system ID of resize definition

Note the following example of image resize data in the JSON response for the sitesettings.imagesizesfield:

"imagesizes":[ -

{ -

Page 34: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 31

­"maxwidth":100, - ­"internalid":104, -

­"urlsuffix":"resizeid=104&resizeh=100&resizew=100", -

­"maxheight":100, -

­"name":"large" - ­}, -

{ -

­"maxwidth":800, -

­"internalid":103, -

­"urlsuffix":"resizeid=103&resizeh=600&resizew=800", - ­"maxheight":600, -

­"name":"medium" -

­}, -

{ -

­"maxwidth":100, - ­"internalid":102, -

­"urlsuffix":"resizeid=102&resizeh=100&resizew=100", -

­"maxheight":100, -

­"name":"small" -

­} -

Viewing Images on Item Records with SuiteCommerceAdvancedItem records include the Images sublist, where you can see the list of images associated with each itemrecord.

When the item record is in Edit mode, you can change the Image Alt Text, and you can click on the filename to open the image file record in a new tab. Note that the image can be associated with multiplewebsites.

Notes on product-image mapping with SuiteCommerce Advanced:

■ You can have different image size configurations on different sites. For example, you can use amedium sized rectangle for images on site A, and a large rectangle on site B.

■ You define the Image Size ID in website templates. This sublist shows the images associated withthe item. The Image Size ID is not applicable to the information shown on this list.

■ Multiple sites can share one image folder, or you can create different image folders for each site.

■ One image can match multiple items or multiple images can match one item, based on how youname the image file.

Setting Up Multiple Images for an ItemYou can configure your SuiteCommerce Advanced site to display multiple images for an item in theProduct Details Page of your site.

You can configure the Item Option ID that determines what images display in your web store whena user makes an option selection in the PDP. For example, you configure an item option with the ID:

Page 35: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SCA Product Images 32

customColor to be the selection that triggers an image change. In your web store, a user selects ashirt from your store that offers multiple color options. In the PDP, the user selects blue for the item’scolor option. This triggers the image change to display the correct image of a blue shirt.

In the Elbrus release of SCA and later, the image change capability extends to configuring two ormore item option IDs. This allows you to configure your images to accurately depict items based onmultiple item option selections. For example, you configure two item options with the following IDs:customColor and customSize. When a user selects a shirt in your web store and then selects color:blue (ID: customSize), the image for the shirt changes to display the correct image of a blue shirt. Theuser then selects size: medium (ID: customSize). The image in the PDP changes again to depict thecorrect blue, medium shirt.

To configure the multiple-image option for your site:

1. Determine the Item Option ID you want to use to trigger an image change in the PDP.

2. Configure the multiImageOption property using the SuiteCommerce Configuration record. Seethe help topic Multi-Image Option Subtab for more information.

a. In the SuiteCommerce Configuration record, navigate to the Shopping Catalog tab andMulti-Image Option subtab.

b. Add the ID of the triggering Item Option to the table.

c. Click Add. Repeat this for every Item Option ID you want to add, as required. Vinsonrelease of SCA and earlier allow only one level of Item Options.

d. Save the record.

Note: If implementing Mont Blanc release of SCA and earlier, you cannot use theSuiteCommerce Configuration record. You must customize SC.Shopping.Configuration.jsto configure this property. See the help topic Extend Frontend Configuration Files formore information.

3. Format your images following the same configuration pattern in your image file name format.

Important: For the multiple image option feature to work, you must format yourimage file names to include options that match those of the triggering item option oroptions. See Renaming Image Files with an Item Identifier for more information.

For example, if you configured an item option ID for the item color, followed by the ID for theitem size, include the item color and size in the file name. Your file name format should looksomething like this:

sku_media_blue_small.jpg

sku_media_blue_medium.jpgsku_media_blue_large.jpg

sku_media_red_small.jpg.­.­.-

SCA Web Site PreferencesMost of the web site preferences you might set up on a Site Builder site apply to SuiteCommerceAdvanced. To read a detailed description of each web site preference available for SuiteCommerce websites, see the help topic Web Site Preferences.

Page 36: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SuiteCommerce Advanced Installation 33

SuiteCommerce Advanced InstallationSee the following sections for instructions on managing your SuiteCommerce Advanced SuiteAppinstallation.

For more general information on working with bundles, see the help topic SuiteApp Installation andUpdate.

■ Versioning

■ Prerequisites

■ Supported Browsers for SuiteCommerce Advanced

■ Initial Installation

Versioning

Important: Before an initial installation or when migrating to a new bundle version, refer tothe SuiteCommerce Advanced Release Notes for information on enhancements and fixes inthat bundle.

SuiteCommerce Advanced SuiteApps are generally available as unique bundles, with unique bundleIDs, unless explicitly stated otherwise. Each bundle has a version number appended to the foldername. You can install multiple versions of the same bundle into your account.

There are three different types of SuiteCommerce Advanced bundle updates that can occur. Bundleupdates use the following naming conventions:

■ X.01.0: These updates include major updates, new features, and enhancements. These bundleshave a unique IDs and generally correspond with other NetSuite core releases.

■ 1.0X.0: These updates include bug fixes and small enhancements. These bundles will have a uniqueID and be released on a frequent basis.

■ 1.01.X: These updates include critical bug fixes. A new bundle ID is not created for these fixes.Upgrading existing bundles with these releases should have little to no impact on existingcustomizations.

In addition to versioning of the SuiteCommerce Advanced SuiteApp, each Module within theapplication has it’s own unique version following the same convention outlined above. You can easilydetermine if a specific module has been updated by checking your existing version against the versionin the updated release. Because of this versioning of Modules, when migrating to a new release youcan easily stage the migration as needed. For example, you may have [email protected] in your existingimplementation and the updated release has [email protected]. You can choose to migrate jus theAddress module to take advantage of it’s new features, leaving the other modules for future migration.

Important: SuiteCommerce Advanced SuiteApps are unmanaged bundles. With unmanagedbundles, updates are not automatically pushed to installed bundles. You must explicitlyupdate the bundle to receive the latest changes. This is important to ensure that existingimplementations with customizations are not impacted unexpectedly by an update.

Site Builder Extension Editions

Currently there are two available editions for SiteBuilder:

■ SiteBuilder Extensions: This edition provides all of the core functionality needed for a complete B2Cexperience and is available for all Site Builder subscriptions.

Page 37: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

SuiteCommerce Advanced Installation 34

■ SiteBuilder Extensions Premium: This edition provides all of the functionality offered in SiteBuilderExtensions plus additional advanced features for an enhanced B2B experience. This edition isavailable for Site Builder subscriptions for an additional fee.

Note: All of the functionality listed for SiteBuilder Extensions is available by default forSuiteCommerce Advanced subscriptions.

The following table outlines the feature set available with each edition.

Important: Multi-currency is not supported in the My Account application.

Feature SiteBuilder Extensions SiteBuilder Extensions Premium

Address Book Management X X

Billing

Account BalancePrint A StatementMake A PaymentTransaction History & DetailsCredit Memos/Deposits

  X

Case Management X X

Credit Cards Management X X

Email Preferences X X

Logon/Signup/Forgot Password X X

Order History & Order Details X X

Product Lists   X

Profile Information

Email PreferencesAddress Book ManagementCredit Card Management

X X

Receipt History & Details X X

Reorder Items X X

Returns X X

Quotes   X

Important: Attribute tags, and other Web Site Tag substitution capabilities are not supportedin Site Builder Extensions. When you customize the SSP application, you must use SuiteScript orCommerce APIs to access various website attributes.

PrerequisitesTo install SuiteCommerce Advanced, you must have the following features enabled:

1. Click the SuiteCloud subtab, enable the following features:

■ Client SuiteScript

Page 38: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Supported Browsers for SuiteCommerce Advanced 35

■ Server SuiteScript

■ SuiteScript Server Pages

2. Click the Web Presence subtab, enable the following features:

■ Web Site

■ Web Store

■ Advanced Site Customization

■ Descriptive URLs

■ Host HTML Files

■ SuiteCommerce Advanced

Note: When installing SiteBuilder Extensions for use with a Site Builder website, theSuiteCommerce Advanced feature is NOT required.

SuiteCommerce Advanced is developed in such a way that you can install it, customize CSS files tomatch the look and feel of your website, and then start using it right away. Using SuiteCommerceAdvanced, you can extend the functionality to meet your company's specific ecommerce needs.

Important: SuiteCommerce Advanced requires additional setup before the site is functional.For example, you must set up of specific field sets and Item fields.

Supported Browsers for SuiteCommerceAdvanced

Important: This topic only describes browser support for SuiteCommerce Advanced, whichis different from the browser support in NetSuite. See the help topic Supported Browsers forNetSuite for details.

SuiteCommerce Advanced is supported in the following browsers and operating systems:

Browser Platform

Internet Explorer 11Internet Explorer 10Internet Explorer 9

Windows 10Windows 8.xWindows 7 with Service Pack 1 (SP1) or higher

Google Chrome 50 (1) Windows 10Windows 8.xWindows 7iOSAndroid

Microsoft Edge (Anniversary Update and later) Windows 10 (Anniversary Update)

Mozilla Firefox 45 (1) Windows 10Windows 8.xWindows 7Windows VistaMac OS X 10.6 and newer

Safari 8 Mac OS X 10.10

Page 39: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Initial Installation 36

Browser Platform

Safari 7 iOSAndroid

Notice: Internet Explorer 8 No Longer Supported as ofthe Elbrus Release of SuiteCommerce AdvancedAs of the Elbrus release and later, SuiteCommerce Advanced implementations no longer support theuse of Internet Explorer 8 (IE8) and older. SuiteCommerce Advanced implementations and featuresprior to the Elbrus release of SuiteCommerce Advanced are not affected by this change.

Discontinued support of IE8 does not mean that your SuiteCommerce Advanced website will crashon IE8 users. However, it does mean that they may experience unexpected behaviors. Test alldevelopment for browser compatibility.

Consider discontinuing support of IE8 on your SuiteCommerce Advanced website to makedevelopment easier and more cost effective. Use Google Analytics to get demographics on your IE8users. See the help topic GUA in SCA for more information.

There are multiple reasons for discontinuing IE8 support.

■ IE8 exposes users to security vulnerabilities.

■ IE8 usage has declined to approximately 2.5% across the web.

■ Microsoft no longer supports IE8.

■ Preparation for SuiteCommerce Advanced migration to newer JavaScript libraries.

Initial InstallationWhen installing SuiteCommerce Advanced for the first time you must install the most recent version ofthe bundle.

If you have previously implemented SuiteCommerce Advanced see Migration to New Releases forinformation on migrating to a new version.

To install the SuiteCommerce Advanced SuiteApp:

1. Click Customization > SuiteBundler > Search & Install Bundles.

2. In the Keyword field, enter the Bundle ID of the version of the SuiteApp you want to install.

In addition to the SuiteCommerce Advanced SuiteApp and extensions for Site Builder, thereare also SuiteApps for the SuiteCommerce Configuration, Product Review Records, Product ListRecords, Content Management, and Product Merchandising. These must be install separately.The following table itemizes each SuiteApp and corresponding ID.

Important: For shared bundles, contact your NetSuite Representative if you do nothave access to the bundle.

SuiteApp Bundle ID

SuiteCommerce Advanced 165410 (this is a shared bundle)

Page 40: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Initial Installation 37

SuiteApp Bundle ID

SiteBuilder Extensions 165411

SiteBuilder ExtensionsPremium

165412

SuiteCommerceConfiguration

135010

Content Delivery 33437

Product Merchandising 35075

Reference Product ListsRecords

53051This bundle is required when using Product Lists or Save for Laterlists with SuiteCommerce Advanced. For details on using ProductList Records, see the help topic Product List Custom Records.

Reference Product ReviewRecords

53053This bundle is required when using Product Reviews withSuiteCommerce Advanced. For details on using Product ReviewRecords, see the help topic Product Reviews

3. Click Search.

4. Verify that the correct SuiteApp is returned in the search and select it.

5. Review the SuiteApp details and then click Install.

After installation of the SuiteCommerce Advanced bundle, two implementations are available:

■ Source – this implementation contains all of the original installation files. It is locked toprevent any changes. The Source implementation can be used in the future for creating diffsagainst your customizations to troubleshoot issues.

■ Development – the Development implementation is where you begin your work.

In the _Sources directory of the Development implementation, there is a zipped source fileavailable. Download this file to your local development environment to begin working onyour customizations and to create Distribution files. Appropriate default Touch Points areautomatically deployed to this implementation. After deployed to a website, your site isavailable at the domain defined for that site. See the help topic SCA Developer Tools fordetailed information on working with the source files available here.

6. Link your Development implementation to your development domain.

Note: The development domain is the domain that will be used by developers beforedeploying to a production site. If you have not already created this domain for your site,see SCA Domains and Touch Points.

1. Go to Setup > SuiteCommerce Advanced > SSP Applications and click View next to theSuiteCommerce Advanced Dev application.

2. Click Link to Domain.

3. Select the development domain for the desired site.

7. Verify the installation is successful.

Navigate to the domain defined in your Web Site Setup record. If the site does not display, checkthe following:

■ Does the site have the proper Touch Points defined? For details, see the help topic SelectingSupported Touch Points.

■ Are you using the proper domain?

Page 41: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Initial Installation 38

■ Is your domain properly registered?

Migration to New Releases

Important: Before migrating to a new release of SuiteCommerce Advanced, refer to theSuiteCommerce Advanced Release Notes for information on enhancements and fixes in thatrelease.

With SuiteCommerce Advanced, there are two types of releases:

■ Minor Releases: with these releases, the existing bundles are updated. No new bundle IDs aregenerated.

■ Major Releases: with these release, a new bundle is available and must be installed separately fromyour existing SuiteCommerce Advanced bundle.

Minor Releases

Minor releases generally include bug fixes, developer tool updates, or small new features with noimpact on existing features. The effort to migrate existing customizations is minimal. These releasesare delivered as unmanaged bundle updates. To take advantage of enhancements and fixes in therelease, you need to do a bundle update from the Installed Bundle record in NetSuite.

Warning: Performing a bundle update causes all files in the existing Source and Developmentdirectories to be replaced with the updated set of files. If you have previously deployedcustomizations to the Development SSP application, those customizations must be redeployedfrom your local environment before any domain pointing to the Development SSP applicationsreflects the customizations.

To migrate to a new minor release:

1. Review the SuiteCommerce Advanced Release Notes for details on changes included in therelease and important notifications.

2. Update the existing bundle installation.

1. Go to Customization > SuiteBundler > Search & Install Bundles > List.

2. Hover over the icon in the first column and select Update.

The bundle update begins. This may take awhile. While updating a pending messagedisplays in the status column. Refresh the screen during the process to see when theinstallation is complete.

3. Download the new Source code from the file cabinet to your local environment.

The source zip file is located at Web Site Hosting Files > Live Hosting Files > SSP Applications >NetSuite Inc. — SCA <version> > Source > _Sources. After downloaded, unzip the file into a newworking directory.

4. In your local environment, migrate existing customizations to the new source code directory.

1. Create a duplicate of your custom module folder in the new source code directory.

2. Copy your existing custom modules into the new custom module folder.

3. Update the new distro.json file to include references to any custom modules and todefine any custom application dependencies.

Page 42: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Migration to New Releases 39

Important: Do NOT copy the existing distro.json file contents directly intothe new distro.json file. Doing this causes overwrites to changes made in thedistro.json file to support the new release. For example, a new module may bereferenced. We suggest you do a DIFF of the files to ensure that you migrate allchanges from your local distro.json file into the new distro.json file.

5. Deploy your local files to NetSuite.

For details, see the help topic Deploy to NetSuite.

Tip: Remember, any domain pointing to the Development SSP application willnot reflect existing customizations until you re-deploy migrations from your localenvironment.

Major ReleasesMajor releases may include significant product enhancements and new features or bug fixes. Whenmigrating to a new release with a new bundle ID, you install the new bundle and then merge existingcustomizations to the new bundle before pointing your live site domain to the new bundle.

The following procedure also applies to administrators who want to test a new major release bydeploying to a development SSP within a site record.

To migrate to a new major release:

Important: Before migrating to a new release, review the SuiteCommerce Advanced ReleaseNotes for important notifications and details regarding changes included in the release.

1. Install the new bundle.

Page 43: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Migration to New Releases 40

1. Go to Customization > SuiteBundler > Search & Install Bundles.

2. Enter the bundle ID for the version of the bundle you want to install. Bundle IDs arelisted in the Release Notes.

3. Select the bundle in the results list and then click Install. Follow any on-screen promptsto continue the install.

The bundle installation may take a while. A pending message displays in the statuscolumn of the Installed Bundles page. Refresh the screen during the process to see whenthe installation is complete.

2. Download the new Source code from the file cabinet to your local environment.

The source zip file is located at Web Site Hosting Files > Live Hosting Files > SSP Applications >NetSuite Inc. — SCA [version] > Source > _Sources. After downloading is complete, unzip the fileinto a new working directory.

3. In your local environment, migrate existing customizations to the new source code directory.

1. Create a duplicate of your custom module folder in the new source code directory.

2. Copy your existing custom modules into the new custom module folder.

3. Update the new distro.json file to include references to any custom modules and todefine any custom application dependencies.

Important: Do not copy the existing distro.json file contents directly intothe new distro.json file. Doing this causes overwrites to changes made in thedistro.json file to support the new release. For example, a new module maybe referenced. NetSuite recommends evaluating the DIFF between files toensure that you migrate all changes from your local distro.json file into the newdistro.json file.

4. Any module that changed in the new release bears a higher version number from itsprevious release. Compare module version numbers to assess which modules have beenupdated and migrate the changes to any existing customizations as necessary. Refer tothe SuiteCommerce Advanced Release Notes for details on which modules were changedand why.

Important: Migrating to a new release requires testing to ensure any existingcustomizations remain viable. Evaluate differences in code against your existingcustomizations and test thoroughly before deploying to your live site. See thehelp topic Best Practices for Customizing SuiteCommerce Advanced.

4. Deploy your local files and test appropriately.

Testing may consist of various scenarios depending on your setup. You can deploy your localfiles to any of the following locations:

■ Primary SSP Application linked to a primary domain (live site)

■ Development SSP Application linked to a development domain

■ Local server. See the help topic SCA on a Local Server.

■ NetSuite sandbox account. See the help topic Deploy to a NetSuite Sandbox.

■ Custom SSP Application. See the help topic Deploy to a Custom SSP Application

For example, you can deploy your customizations to a local server or to a Netsuite sandboxaccount for testing. If you do not have a Sandbox account, you can deploy to an SSP Applicationlinked to a development domain in NetSuite. After testing, deploy your files to the SSPApplication linked to the primary domain.

Page 44: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Migration to New Releases 41

To deploy your new implementation to a development SSP Application:

1. Go to Setup > SuiteCommerce Advanced > SSP Applications and click View next to theSuiteCommerce Advanced Dev <version> application.

2. Click Link to Domain.

3. Select the development domain for this SSP Application.

Minimum Setup RequirementsFollowing are the minimum requirements for a complete SuiteCommerce Advanced website.

Set the following preferences:

■ On the Setup tab, in the Home Page field, select Hosting Files : Live Hosting Files

■ On the Shopping tab, you must select at least one currency and one language to be online anddefault.

■ On the Search Index tab, under Facet Fields, select at least one facet selected to show facets in thefrontend (for example, Online Price)

■ On the Touch Points tab, verify that all default Touch Points are defined. These are automaticallyconfigured during installation.

■ On the Domains tab, enter one domain. For more information, see SCA Domains and Touch Points.At least one domain is required.

■ On the Field Sets tab, select fieldsets needed as described in the following table. Fields not indicatedas required are used inside SuiteCommerce Advanced as an example.

Field Sets

Note: See Field Set Setup Script for instructions on running a script to populate your websitewith these default Field Set requirements.

Important: The Field Set to return item details is named details. If a different name is used,you must configure that change as described in Items Fields Advanced Name.

Name Id Fields Required/Details

Details details    

    custitem_ns_pr_count: NS PRCount (Custom)

 

    custitem_ns_pr_item_attributes: NS PR Attributes(Custom)

 

    custitem_ns_pr_rating: NS PRRating (Custom)

 

    custitem_ns_pr_rating_by_rate: NS PR Rating By Rate(Custom)

 

    defaultcategory_detail:Default Category (Detail)

 

    itemimages_detail: ItemImages (Detail)

 

Page 45: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 42

Name Id Fields Required/Details

    itemoptions_detail: ItemOptions (Detail)

Required for matrix items

    matrixchilditems_detail:Matrix Child Items (Detail)

Required for matrix items

    onlinecustomerprice_detail: Price for Current Customer(Detail)

 

    pagetitle2: Page Title 2  

    pricelevel1: Retail  

    pricelevel1_formatted: Retail(Formatted)

 

    quantityavailable: Available  

    displayname: Display Name  

    featureddescription:Featured Description

 

    internalid: Internal ID Required for ShoppingCart and My Account

    itemtype: Type Required for ShoppingCart and My Account

    itemid: Name  

    outofstockmessage: Out OfStock Message

 

    pagetitle: Page Title  

    stockdescription: StockDescription

 

    storedetaileddescription: Detailed Description

 

    storedescription2: StoreDescription 2

 

    storedisplayname2: StoreDisplay Name 2

 

    urlcomponent: URLComponent

 

    isinactive: Inactive Required for My Account

    isonline: Available Online Required for My Account

    isinstock: In Stock Required for ReferenceShopFlow

    ispurchasable: Available forPurchase

Required for ReferenceShopFlow

    isbackorderable: Availablefor Backorder

Required for ReferenceShopFlow

Page 46: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 43

Name Id Fields Required/Details

    showoutofstockmessage: Display Out-of-StockMessage

Required for ReferenceShopFlow

    minimumquantity: MinimumQuantity

Required if is set smallestquantity for allowcustomers to purchase foran item.

    metataghtml: Meta TagHTML

To be included in thedocument's head onproduct detailed page.

    searchkeywords: SearchKeywords

Coma separated words tobe included in the metakeywords on the productdetailed page.

    isfulfillable: Can be Fulfilled/Received

Required for Pickup InStore

    isstorepickupallowed: StorePickup Allowed

Required for Pickup InStore

    quantityavailableforstorepickup_detail: Available For StorePickup (Detail)

Required for Pickup InStore

Matrix ChildItems

matrixchilditems    

    onlinecustomerprice_detail: Price for Current Customer(Detail)

 

    quantityavailable: Available  

    internalid: Internal ID Required for ShoppingCart and My Account

    minimumquantity: MinimumQuantity

Required to allowcustomers to purchase foran item.

    outofstockbehavior: Out OfStock Behavior

 

    outofstockmessage: Out OfStock Message

 

    isinstock: In Stock Required for ReferenceShopFlow

    ispurchasable: Available forPurchase

Required for ReferenceShopFlow

    isbackorderable: Availablefor Backorder

Required for ReferenceShopFlow

    isfulfillable: Can be Fulfilled/Received

Required for Pickup InStore

    isstorepickupallowed: StorePickup Allowed

Required for Pickup InStore

Page 47: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 44

Name Id Fields Required/Details

    quantityavailableforstorepickup_detail: Available For StorePickup (Detail)

Required for Pickup InStore

Search search   Required for ReferenceShopFlow

    itemimages_detail: ItemImages (Detail)

 

    itemoptions_detail: ItemOptions (Detail)

Required for matrix items

    matrixchilditems_detail:Matrix Child Items (Detail)

Required for matrix items

    onlinecustomerprice_detail: Price for Current Customer(Detail)

 

    pricelevel1: Retail  

    pricelevel1_formatted: Retail(Formatted)

 

    displayname: Display Name  

    internalid: Internal ID Required for ShoppingCart and My Account

    itemid: Name Required for ShoppingCart and My Account

    outofstockmessage: Out OfStock Message

 

    stockdescription: StockDescription

 

    storedisplayname2: StoreDisplay Name 2

 

    urlcomponent: URLComponent

 

    itemtype: Type  

    isinstock: In Stock  Required for ReferenceShopFlow

    ispurchasable: Available forPurchase 

Required for ReferenceShopFlow

    isbackorderable: Availablefor Backorder 

Required for ReferenceShopFlow

    showoutofstockmessage: Display Out-of-StockMessage 

Required for ReferenceShopFlow

    custitem_ns_pr_count:Product Reviews Count(Custom)

 

Page 48: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 45

Name Id Fields Required/Details

    custitem_ns_pr_rating:Product Reviews Rating(Custom)

 

Order id order    

    itemimages_detail: ItemImages (Detail)

 

    itemoptions_detail: ItemOptions (Detail)

 

    onlinecustomerprice_detail: Price for Current Customer(Detail)

 

    displayname: Display Name  

    internalid: Internal ID Required for ShoppingCart and My Account

    itemid: Name  

    storedisplayname2: StoreDisplay Name 2

 

    urlcomponent: URLComponent

 

    outofstockmessage: Out OfStock Message

 

    showoutofstockmessage: Display Out-of-StockMessage

 

    isinstock: In Stock Required for ReferenceMyAccount

    isbackorderable: Availablefor Backorder

Required for ReferenceMyAccount

    ispurchasable: Available forPurchase

Required for ReferenceMyAccount

    pricelevel1: Retail  

    pricelevel1_formatted: Retail(Formatted)

 

    stockdescription: StockDescription

 

    matrixchilditems_detail:Matrix Child Items (Detail)

Required for My AccountProduct Lists

    itemtype: Type Required for ShoppingCart and My Account

    minimumquantity: MinimumQuantity

 

    isonline: Available Online Required for ReferenceMyAccount

Page 49: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 46

Name Id Fields Required/Details

    isinactive: Inactive Required for ReferenceMyAccount

Type Ahead typeahead    

    itemimages_detail: ItemImages (Detail)

 

    displayname: Display Name  

    itemid: Name  

    storedisplayname2: StoreDisplay Name 2

 

    urlcomponent: URLComponent

 

Correlated Items Id

correlateditems same as search  

Related ItemsId

relateditems  same as search  

Correlated Items Details

correlateditems_details correlateditems_detail:Correlated Items (Detail)

 

Related ItemsDetails Id

relateditems_details relateditems_detail: RelatedItems (Detail)

 

Referenced LibrariesSeveral JavaScript libraries may need to be referenced from your SuiteCommerce Advancedapplication. These files integrate the Content Delivery Service bundle, Host Mapping for multiplelanguages and domains, and the required backbone, underscore, commons, and models JavaScriptlibraries. A single ssp_libraries.js files is automatically referenced during the installation process. Youwill need to add the additional files if needed.

To verify that the required libraries are added to the application:

1. Edit the SuiteCommerce Advanced SuiteApp.

Go to Setup > SuiteCommerce Advanced > SSP Applications and click Edit next to theSuiteCommerce Advanced SuiteApp.

2. On the Scripts tab, verfiy the following references:

Note: The order of these libraries MUST match the order listed below.

■ Web Site Hosting Files/Live Hosting Files/SSP Applications/[NetSuite Inc. – SCA x.0]/Development/ssp_libraries.js

■ Web Site Hosting Files/Live Hosting Files/SSP Applications/NetSuite Inc. - Content Delivery/ContentDeliveryService/ssp_libraries/ContentDeliveryService.Models.js

This script is not added during installation of SuiteCommerce Advanced and must be addedif you intend to use Content Delivery services. Before adding the script the Content Deliverybundle must be installed in your account. For more information on Content Delivery see thehelp topic Content Delivery.

■ Web Site Hosting Files/Live Hosting Files/SSP Applications/[NetSuite Inc. – SCA x.0]/Development/hosts.config.js

Page 50: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 47

This script is not added during installation of SuiteCommerce Advanced and must be added ifyou intend to define custom host mappings for your website.

3. Click Save.

Required Item FieldsSeveral fields are required to be set up for each item record before items are returned in the searchresults sets and displayed correctly in item lists and details. For detailed information on setting up itemfields see Item Search Index.

Field Set Setup ScriptFollowing is a script you can leverage to quickly populate your site with required Field Sets. Werecommend that you understand your site setup requirements fully before using this script. For details,refer to Minimum Setup Requirements. You can then modify the script to add Field Sets that are criticalto your needs. For example, if your account does not define correlated or related items for a certainitem, do not include the correlated and related items Field Sets. Your modified script is intended to beused during the initial development phase of your site so that you can quickly replicate a site setup asneeded.

Note: To execute the script, you need to use the SuiteScript Debugger tool. If you areunfamiliar with this tool, refer to Working with the SuiteScript Debugger for detailedinstructions. To execute this script, you shouldn’t need to know all of the debugging capabilitiesbut it is a good idea to familiarize yourself with the tool.

To use the script:

1. Create your new site, without adding any Field Sets, as described in Creating a Website.

2. Using the script below as a template:

■ (Optional) Add any Field Set definitions to the Setup Script below as needed for your site.

The set included in the Setup Script are the required fields including Product Reviews andnormally provide a good starting point for your website. See Field Sets to review the requiredfields.

Important: The Field Set to return item details is named details. If a different nameis used, you must configure that change as described in Items Fields Advanced Nameon the Backend Subtab.

■ Edit the siteID variable with the site id you want to use.

The site id is displayed in the URL when you navigate to the Web Site Setup page for thedesired site. The default value of zero will fail since no site is ever assigned an ID of zero.

3. Execute the script in the SuiteScript debugger.

1. Go to Customization > Scripting > Script Debugger.

2. Enter the SuiteScript Debugger domain (by clicking the link as indicated) and then re-enter your login credentials if prompted.

3. From the API Version dropdown, select 1.0.

Important: This script can only be run against SuiteScript Version 1.0.

4. Copy and paste the script code into the debugger.

5. Click Debug Script and then hit the Continue button.

Page 51: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 48

After the script has executed, Field Sets are properly populated and can be verified in the Field Sets tabof the Web Site Setup record at Setup > SuiteCommerce Advanced > Set Up Web Site.

Setup ScriptUse the default script if you need to define field sets with Product Reviews. Set the has_store_pickupflag to true if you need to define field sets with Pickup In Store. Set both flags to false if you need todefine default field sets.

Note: Before running this script, delete any field sets that are currently defined for the websitewhere you want to run the script.

var siteID = 99999 ­// change to the site id you want to use

, has_product_reviews = true

, has_store_pickup = false

, siteRecord = nlapiLoadRecord('website', siteID);siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Search');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'search');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');

var search_fields = ­'urlcomponent,itemimages_detail,itemoptions_detail,internalid,onlinecustomerprice,onlinecustomerprice_detail,onlinecustomerprice_formatted,onlinematrixpricerange,onlinema

trixpricerange_formatted,quantityavailable,displayname,itemid,outofstockbehavior,outofstockmessage,stockdescription,storedescription,storedisplaythumbnail,storedisplayname2,isinstock,isbacko

rderable,ispurchasable,showoutofstockmessage';if(has_product_reviews)

{

search_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating';}

if(has_store_pickup){

search_fields += ­',isstorepickupallowed,isfulfillable';

}siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', search_fields);

siteRecord.commitLineItem('fieldset');siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'details');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'details');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');

var details_fields = ­'urlcomponent,itemimages_detail,itemoptions_detail,internalid,matrixchildi

tems_detail,onlinecustomerprice_detail,quantityavailable,displayname,itemtype,itemid,outofstockbehavior,outofstockmessage,pagetitle,rate,rate_formatted,relateditemsdescription,stockdescripti

on,storedetaileddescription,storedisplayimage,storedisplayname2,isinstock,isbackorderable,ispurchasable,showoutofstockmessage,metataghtml,minimumquantity';

if(has_product_reviews)

{ details_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating,custitem_ns_pr_item_attribut

es,custitem_ns_pr_rating_by_rate';

}

if(has_store_pickup)

{ details_fields += ­',isfulfillable,isstorepickupallowed,quantityavailableforstorepickup_deta

il';

}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', details_fields);

Page 52: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 49

siteRecord.commitLineItem('fieldset');siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'matrixchilditems');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'matrixchilditems');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');var matrix_fields = ­'onlinecustomerprice_detail,internalid,quantityavailable,outofstockbehavior

,outofstockmessage,stockdescription,isinstock,isbackorderable,ispurchasable,showoutofstockmessa

ge,itemid,minimumquantity,itemtype';

if(has_store_pickup)

{ matrix_fields += ­',isfulfillable,isstorepickupallowed,quantityavailableforstorepickup_detai

l';

}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', matrix_fields);

siteRecord.commitLineItem('fieldset');siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Correlated Items');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'correlateditems');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');

var correlated_fields = ­'urlcomponent,itemimages_detail,itemoptions_detail,internalid,onlinecustomerprice,onlinecustomerprice_detail,onlinecustomerprice_formatted,onlinematrixpricerange,onlinematrixpricerange_formatted,quantityavailable,displayname,itemid,outofstockbehavior,outofstock

message,stockdescription,storedescription,storedisplaythumbnail,storedisplayname2,isinstock,isb

ackorderable,ispurchasable,showoutofstockmessage';if(has_product_reviews)

{

correlated_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating';}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', correlated_fields);siteRecord.commitLineItem('fieldset');

siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Related Items');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'relateditems');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');var related_fields = ­'urlcomponent,itemimages_detail,itemoptions_detail,internalid,onlinecustom

erprice,onlinecustomerprice_detail,onlinecustomerprice_formatted,onlinematrixpricerange,onlinem

atrixpricerange_formatted,quantityavailable,displayname,itemid,outofstockbehavior,outofstockmessage,stockdescription,storedescription,storedisplaythumbnail,storedisplayname2,isinstock,isback

orderable,ispurchasable,showoutofstockmessage';

if(has_product_reviews){

related_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating';}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', related_fields);

siteRecord.commitLineItem('fieldset');

siteRecord.selectNewLineItem('fieldset');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Order');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'order');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');

var order_fields = ­'itemimages_detail,itemoptions_detail,onlinecustomerprice_detail,displayname

,internalid,itemid,isfulfillable,storedisplayname2,urlcomponent,outofstockmessage,showoutofstockmessage,isinstock,isbackorderable,ispurchasable,pricelevel1,pricelevel1_formatted,stockdescrip

tion,matrixchilditems_detail,itemtype,minimumquantity,isonline,isinactive';

if(has_store_pickup)

{

Page 53: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Minimum Setup Requirements 50

order_fields += ­',isstorepickupallowed,quantityavailableforstorepickup_detail,isfulfillable';

}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', order_fields);

siteRecord.commitLineItem('fieldset');siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Type Ahead');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'typeahead');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');

var typeahead_fields = ­'itemid,displayname,storedisplayname2,urlcomponent,itemimages_detail';if(has_product_reviews)

{

typeahead_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating';

}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', typeahead_fields);siteRecord.commitLineItem('fieldset');

siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Items Searcher');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'itemssearcher');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');var items_searcher_fields = ­'itemimages_detail,displayname,itemid,storedisplayname2,urlcomponent,minimumquantity,itemoptions_detail,matrixchilditems_detail,isinstock,showoutofstockmessage,ou

tofstockmessage,onlinecustomerprice_detail,pricelevel1,pricelevel1_formatted,itemtype,ispurchas

able,isbackorderable';if(has_product_reviews)

{

items_searcher_fields += ­',custitem_ns_pr_count,custitem_ns_pr_rating';}

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', items_searcher_fields);siteRecord.commitLineItem('fieldset');

siteRecord.selectNewLineItem('fieldset');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Related Items Details');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'relateditems_details');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', ­'relateditems_detail');

siteRecord.commitLineItem('fieldset');

siteRecord.selectNewLineItem('fieldset');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetname', ­'Correlated Items Details');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetid', ­'correlateditems_details');

siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetrecordtype', ­'ITEM');siteRecord.setCurrentLineItemValue('fieldset', ­'fieldsetfields', ­'correlateditems_detail');

siteRecord.commitLineItem('fieldset');recId = nlapiSubmitRecord(siteRecord);

Touch PointsTouch Points must be defined for the places on your site where you want visitors to interact withthe SSP Applications installed with SuiteCommerce Advanced. After deploying touch points, you candetermine the URL you need to access your site. You can use this URL to create links and buttonsshoppers can use to navigate your site.

Page 54: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Touch Points 51

Note: Default Touch Points are defined for the SSP Applications configured during theinstallation of SuiteCommerce Advanced.

For more technical information about touch points, see the help topic Selecting Supported TouchPoints.

Some touch points are for the Shopping experience, some are for My Account, some are appropriatefor Checkout. Best practice is to set touch points on the Web Site Setup page. See, SCA Domains andTouch Points.

■ Log In

■ Log Out

■ Proceed to Checkout

■ Register

■ View Cart

■ View Customer Center

■ View Homepage

Diff and Patch FilesThis section provides the following information on patch files available for previous releases ofSuiteCommerce Advanced:

■ List of Available Diff and Patch Files

■ How to Apply Diff Files

■ Diff File Structure

Note: The terms diff and patch are used interchangeably within this document.

When updating SuiteCommerce Advanced, NetSuite provides diff and patch files for upgradingSuiteCommerce Advanced source code when new features are released. These .patch files typicallycontain the complete diffs between new and previous releases across all source files. In some cases,NetSuite may provide diffs for specific purposes, such as for backporting code to previous releases tosupport new features.

A diff file contains the differences between two identically titled files. The diff designates these foldersas a and b. Distributing the patch to an identically titled path/folder allows the diff to transformchanges in b (the source of the changes) to the matching file in a (the target of the changes).

List of Available Diff and Patch FilesDiff and patch files are saved as either .patch or compressed .zip files, located in the File Cabinet. Thefollowing table describes diff and patch files currently available for SuiteCommerce Advanced.

Description Applies ToRelease

File

Application Performance Management(APM) Backport for Mont Blanc Releaseof SuiteCommerce Advanced

Mont Blanc montblanc-sensors.patch

Mont Blanc Release of SuiteCommerceAdvanced

Mont Blanc Mont_Blanc_2.0_Patch_Files.zip

Page 55: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Diff and Patch Files 52

Description Applies ToRelease

File

Serversync touchpoint patch for MontBlanc Release of SuiteCommerceAdvancedThis patch maintains the identity of theuser and cart contents.

Mont Blanc Serversync.zipSee the help topic ServersyncTouchpoint for instructions on applyingthis patch.

Customizing PayPal Address forSuiteCommerce Advanced.Provides instructions to retain PayPalAddress details in the NetSuitecustomer record.

Vinson and earlier Customization instructions only.See the help topic Customizing PayPalAddress for SuiteCommerce Advanced

SSL and Single Domain Backport forDenali release of SuiteCommerceAdvancedThis patch maintains a secure browser.This patch also maintains the identityof the user and cart contents.

Denali Denali-ssl.patch

SSL and Single Domain Backport forMont Blanc release of SuiteCommerceAdvancedThis patch maintains a secure browser.

Mont Blanc MontBlanc-ssl.patch

SSL and Single Domain Backport forVinson release of SuiteCommerceAdvancedThis patch maintains a secure browser.

Vinson Vinson-ssl.patch

How to Apply Diff FilesFollow the appropriate procedure to apply the diff, depending on how you customized the source codein previous releases.

■ If you have not altered any SuiteCommerce Advanced source files in Modules/suitecommerce/,you can use third-party software to run the patch.

■ If you have modified any source files in Modules/suitecommerce/, you must implement changesmanually.

Warning: Applying a diff adds and removes lines of code. This can break your site if youare not careful. Do not apply any diffs using third-party software unless you have followedNetSuite’s best practices for customizing JavaScript files as outlined in Best Practices forCustomizing SuiteCommerce Advanced.

Warning: Do not patch your live site directly. Create a test site or test files locally using the devtools. Failure to test any changes thoroughly before deploying to your live site can result in dataloss.

To apply a diff using third-party software:

1. Download the correct diff file to the target directory. For example, montblanc. See List ofAvailable Diff and Patch Files for details.

Page 56: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Diff and Patch Files 53

2. Make a backup of your original source code.

3. Review the diff as applicable. See Diff File Structure for details.

4. Ensure that you have not altered any source code provided by NetSuite and apply the diff usingyour preferred third-party method.

Various programs are available that can apply a diff file to your SCA source code. The followingexample applies a Mont Blanc release diff using Git.

cd montblancgit init

git apply ­/path/montblanc-sensors.patch

rm ­-rf ­.git

To apply a diff manually:

1. Download the correct diff file. See List of Available Diff and Patch Files for details.

2. Open the diff.

3. Make a backup of your local source code.

4. Make all changes manually in your local source code. For a detailed description of a diff file andits components, see Diff File Structure

Diff File StructureThis section explains how SuiteCommerce Advanced diff files are structured. The information in thissection should help you understand any diff files provided by NetSuite for SuiteCommerce Advanced.

Example Diff File

The following example shows a simple diff (.patch file). This example only compares one file, althoughmost diffs include more than one file. One diff file typically contains many comparisons, each with itsown components, as described in this section.

diff ­--git a/myDirectoryPath/myFile.js b/myDirectoryPath/myFile.jsindex 5d7cd7e.­.fca4091 100755

--- a/myDirectoryPath/myFile.js+++ b/myDirectoryPath/myFile.js

@@ ­-76,7 +77,7 @@ define('Sensors'

{ _.each(arguments, function (argument)

{

- if(argument)

+ if (argument)

{ _.extend(data, argument);

­}

File Comparison Header

The File Comparison Header is a statement explaining two files being compared. The two files beingcompared include leading directory names a and b to distinguish the two files, which typically haveidentical names and locations.

Page 57: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Diff and Patch Files 54

This example shows changes between two versions of myFile.js. Note the file names and paths areidentical. --git simply informs you that this diff is written in Git-specific diff format. Each comparisonwithin the diff begins with a header.

diff ­--git a/myDirectoryPath/myFile.js b/myDirectoryPath/myFile.js

Index

Technically part of the Header, the index is a line of metadata describing technical information aboutthe given files. The first two numbers (separated by ..) represent the IDs of the two files beingcompared. In this case, each version of the project file is an object at a specific revision.

The last number is a mode identifier for the file containing the changes:

■ 100644 specifies a normal, non-executable file.

■ 100755 specifies an executable file.

■ 120000 specifies a symbolic link.

In this example, this part of the diff is comparing two different file IDs (5d7cd7e and fca4091) ofmyFile.js, which is an executable file.

index 5d7cd7e.­.fca4091 100755

Change Markers

The next two lines describe the two files (and paths) being compared, but with +++ or --- prefixes.The file with the minus symbols shows lines that exist within the a version but are missing from the bversion. Likewise, the file with the plus symbols contains lines missing in the a version but are presentin b.

In this example, a is the existing (old) file and b is the updated (new) file.

--- a/myDirectoryPath/myFile.js

+++ b/myDirectoryPath/myFile.js

Range Information

Diff files show only the portions of the file being changed. These portions are called hunks. One hunkof data containing changes is depicted within two sets of @@ symbols. This information declares thelines within the hunk that are affected by the change. One index can contain multiple hunks, depictingthe various changes throughout the file.

In this example, the diff contains one hunk of differences. Seven lines are extracted from the a file,beginning at line 76. Likewise, seven lines are displayed in the b file, beginning at line 77.

@@ ­-76,7 +77,7 @@

Changes

The changes to each hunk immediately follow the range information. Each changed line is prependedwith either a + or a - symbol. These symbols act in the same way as they do in the Change Markerssection. The diff removes lines prepended with a - and adds lines prepended with a + sign. If making

Page 58: SuiteCommerce Advanced Administrator’s Guide...NetSuite, price is a standard field on item records. Brand would be a custom field that you create. Include both fields in the field

Diff and Patch Files 55

changes to your code manually, any lines bearing the - prefix need to be removed. Any lines bearingthe + prefix need to be added.

Additionally, a hunk typically contains unchanged lines before and after the modification to providecontext for the change. In this example, the diff removes if(argument) and adds the corrected code:if (argument).

define('Sensors'

{

_.each(arguments, function (argument)

{

- if(argument)+ if (argument)

{

_.extend(data, argument);

­}

Note: In diffs provided by NetSuite, a files and lines marked with - are old, and b files and linesmarked with + are updates.