Beruflich Dokumente
Kultur Dokumente
Revision History
Date
Description
Description
Author
12/14/2012
2/19/2013
V 0.1
V 0.2
First draft
Updates based on feedback on team. Added 13.1
newURL feature
Shelby Walker
Shelby Walker
Contents
Revision History ............................................................................................................................................ 2
Introduction .................................................................................................................................................. 8
LRBC Prep Timeline ................................................................................................................................... 8
Additional Documentation Available to Provide to the Client ................................................................. 8
Site Backup Settings ...................................................................................................................................... 9
Catalog Management.................................................................................................................................. 12
Storefront Categorization ....................................................................................................................... 12
Sequencing Categories ............................................................................................................................ 12
Enabling Comparison Charts ................................................................................................................... 12
Using Search Placement & Search Rank ................................................................................................. 12
Uploading Category & Product SEO Attributes....................................................................................... 13
Search Refinements ................................................................................................................................ 13
Search Query Window ............................................................................................................................ 21
Product Management ................................................................................................................................. 22
Types of Products.................................................................................................................................... 22
Assigning Products to a Category ........................................................................................................... 25
Uploading Supplemental Product Data .................................................................................................. 26
Product Options ...................................................................................................................................... 26
Variation Attributes ................................................................................................................................ 28
Creating Product Sets.............................................................................................................................. 28
Recommendations .................................................................................................................................. 29
Price Books .............................................................................................................................................. 31
Inventory ................................................................................................................................................. 32
Sitemaps.................................................................................................................................................. 32
Import & Export ...................................................................................................................................... 36
Search.......................................................................................................................................................... 37
Search Indexes ........................................................................................................................................ 37
Query Processing Overview .................................................................................................................... 44
Searchable Attributes ............................................................................................................................. 46
Stopword Dictionary ............................................................................................................................... 47
Synonym Dictionary ................................................................................................................................ 47
3
Orders ..................................................................................................................................................... 99
Site Preferences Order Page ................................................................................................................. 102
Payment Processors .............................................................................................................................. 103
Shipping Methods ................................................................................................................................. 104
Taxation................................................................................................................................................. 106
Import & Export .................................................................................................................................... 108
Analytics .................................................................................................................................................... 109
Site URLs.................................................................................................................................................... 112
SEO / Search Support (Deprecated with 13.1 Release) ........................................................................ 112
Upgrading from SEO Support to URL Rules .......................................................................................... 112
URL Rules Module (New with 13.1 Release) ......................................................................................... 115
When to Use the Alias, Mapping Rule, Static Mapping, and URL Redirect Features ........................... 121
Mapping Rules ...................................................................................................................................... 122
URL Redirects ........................................................................................................................................ 127
Static Mappings..................................................................................................................................... 133
Aliases ................................................................................................................................................... 136
Canonical Tags ...................................................................................................................................... 141
Site Preferences ........................................................................................................................................ 143
Products ................................................................................................................................................ 143
Baskets .................................................................................................................................................. 143
Customers ............................................................................................................................................. 144
AB Test Preferences .............................................................................................................................. 146
Locales................................................................................................................................................... 146
Source Codes......................................................................................................................................... 147
Gift Certificates ..................................................................................................................................... 148
Guided Search ....................................................................................................................................... 148
Sequence Numbers ............................................................................................................................... 149
Order ..................................................................................................................................................... 150
Coupons ................................................................................................................................................ 151
Promotions............................................................................................................................................ 151
Storefront Toolkit.................................................................................................................................. 152
Custom Site Preferences ....................................................................................................................... 154
5
Introduction
The following document is a guideline for preparing and delivering a Launch Readiness Boot Camp (LRBC). The boot camp is a
multi-day hands-on activity conducted by a Solution Strategist who works with the business team to setup the staging instance
with merchandised data, promotions, coupons, SEO, legacy URLs, search and other configurations required for launch.
This workshop is conducted after the Managing the Storefront (MTS) training has been completed.
2.
3 weeks out:
1.
2.
3.
4.
Meet with Client to review and finalize agenda and clarify Client deliverables needed.
Request access to Staging, if not already granted.
Book travel.
Prep for boot camp by reviewing project documentation (i.e. FSD, wireframes, tech spec, data modeling spreadsheet).
2 weeks out:
1.
Meet with tech lead to review customization and implementation questions. Obtain a good understanding of all custom
attributes, objects, and site preferences.
1 week out:
1.
Walk through business manager again and do checklist to ensure the Client is ready for boot camp. Staging
environment must be stable for a successful boot camp.
2.
3.
4.
5.
Encourage everyone to follow the Solution Strategy space on xChange under Merchants and Marketers. This is where we
store how-to guides, fact sheets, best practice guidelines, etc.
https://xchange.demandware.com/community/merchants_and_marketers/solution-strategy
Product & Category SEO Upload Template and how-to video: https://xchange.demandware.com/docs/DOC-6087
Check that regular Backups are set so that if data is lost during Boot Camp for whatever reason, there is an easy way of
restoring.
Demandware recommends disabling cache during Boot Camp: Administration> Sites
Backup Schedule
Enabled: check this box to enable backups. No backup is run if this box is not checked. Backups are normally only enabled
on production systems.
Job Settings
Max Backups To Keep: Select the number of backups you want to keep.
Job Status
Last Run: displays the date and time when the last backup was run.
Backup Schedule Information
Enter how often you want the backup to run.In the From and at fields enter the time when you want the scheduled backups to
start. In the Every field enter how often you want all subsequent backups to run.
Every:
Apply - click to save any changes.
Subsequent snapshots (future in relation to the restored snapshot) become irrelevant and cannot be used after the
restore.
A snapshot can only be taken when the database is not running. All three instances in a PIG must be down and the database
stopped. Snapshots are instantaneous.
Backup
A backup is a script that exports all tables and values to a file. They can be run against individual instances. Backups can take
between 15 minutes to more than an hour, depending on database size and certain table content.
If a backup fails for any reason, the system still generates a zip file, but appends the suffix "-invalid" to the filename.
Demandware recommends that you establish a mechanism to detect if an invalid file is produced.
Note:
The individual instance must be down for the duration of the backup (not the database, however).
This section describes when Demandware Operations uses one method over the other.
General
Operations recommend the snapshot method. However, there are several scenarios that require the backup method.
Customer Requests
If a customer requests the backup of a non-live PIG instance or instances, Operations will assume the backup method is
required unless a snapshot is specifically requested.
If a customer requests the backup of a live Development or Staging instance, Operations will always use the backup
method, like in a live migration scenario (to avoids Production downtime).
If a customer requests the backup of a live Production instance, Operations will always use the snapshot method, like in
the live migration scenario (to reduce downtime). In this scenario, a restore will also return Development and Staging
instances to this point-in-time. Any changes on Development and Staging in the interim will be lost.
Sandbox Instances
Operations requires a sign-off on which method the customer prefers after understanding the basic impact.
Snapshot means short downtime and recovery, but no changes in development/Staging will be accounted for the
duration of testing.
Backup means long downtime for production during backup and recovery. Development/staging are not impacted, and
can be used as long as a Staging operation is not triggered for the duration of load testing.
Migration - Non-live PIG
Because a non-live PIG is not as sensitive to downtime, either method can be used. It is the customer's choice.
10
Snapshots are commonly used at Demandware during a testing phase where the effects of the testing must be rolled
back quickly.
It is important to understand that all three instances are affected with snapshots.
A backup is preferred if the need to restore is unknown or if a restore will take place in more than a few days.
Migrations always start with the Staging instance and are usually followed by Development and then Production.
To avoid Production downtime, Operations will always use the backup method for the Staging and Development
instances.
To avoid excessive downtime for the Production instance, Operations will always use the snapshot method for the
Production instance.
Because all three instances are affected, Staging and Development instances will remain down for the duration of a
Production migration. This prevents changes to these instances during the migration, which will be lost in the event that
a snapshot restore is required.
If a snapshot restore is required (for example, with a migration failure), all three instances will be restored. Because
they were down, there is no risk of data loss.
11
Catalog Management
Storefront Categorization
Navigate to: Products and Catalogs> Catalogs
1.
2.
3.
4.
Review the catalog structure and discuss how it will be maintained going forward (i.e. manual vs feed).
Ensure categories that are intended to display on the website have the online flag enabled: Products and Catalogs>
Catalogs> edit > General
Ensure categories that are intended to display as part of the global navigation have the Show in Menu Navigation flag
enabled: Products and Catalogs> Catalogs> edit> Category Attributes
Review the Presentation and Custom Attributes: Products and Catalogs> Catalogs> edit> Category Attributes
Sequencing Categories
Navigate to: Products and Catalogs> Catalogs
1.
Ensure categories that are intended to utilize comparison charts have the Enable Compare flag enabled.
Based on the Clients product catalog, if necessary, ensure that the product compare attributes for each category have been
set up and visible at the (classification) category level under product attribute groupings.
2.
If a product is assigned to multiple categories with multiple search placements or search ranks assigned to them, in search
results, the PRIMARY category assigned to the product overrides. So if the primary category has a rank/placement of 1 and
another category has a 5, the system will look at the 1.
The catalog default sorting rule MUST include search rank/placement b/c the catalog default sorting rule is what is returned
for all search results.
In Business Manager, set the Search Placement attribute value for the category or product.
To set it for the category: Products and Catalogs> Catalogs> edit> Category Attributes
All products in this category are assigned this value, unless a different value is selected for a subcategory or the
product itself.
3.
4.
To set it for the product: Catalogs and Products> Products> Product Attributes
Select one of the following values:
7 (Featured Product)
6 (Product)
5 (Secondary Product)
4 (Featured Accessory)
3 (Accessory)
12
5.
6.
7.
8.
2 (Spare Part)
1 (NLA Product)
Include the Search Placement product attribute in a sorting rule. Search Placement is selected as a product attribute in
sorting rules, even although the values might be defined at a category-level.
Search Placement values can be added so youre not limited to 8.
Edit Category values at Administration> Site Development> Category> Attribute Definitions> searchPlacement
Edit Product values at Administration> Site Development> Product> Attribute Definitions> searchPlacement
2.
3.
4.
5.
6.
In Business Manager, set the Search Rank attribute value for the category or product.
a. To set it for the category: Products and Catalogs> Catalogs> edit> Category Attributes
All products in this category are assigned this value, unless a different value is selected for a subcategory or
the product itself.
b. To set it for the product Catalogs and Products> Products> Product Attributes
Select one of the following values:
3 (High)
2 (Medium)
1 (Low)
Include the Search Rank product attribute in a sorting rule. Search Rank is selected as a product attribute in sorting
rules, even although the values might be defined at a category level.
Search Rank values can be added so youre not limited to 3.
Edit Category values at Administration> Site Development> Category> Attribute Definitions> searchRank
Edit Product values at Administration> Site Development> Product> Attribute Definitions> searchRank
Review category SEO (page title, page description, page keywords, page urls).
Review product SEO (page title, page description, page keywords, page urls).
Product & Category SEO Upload Template and How-To Video: https://xchange.demandware.com/docs/DOC-6087
Utilize completed spreadsheet to upload category and product SEO attributes: Products and Catalogs> Import & Export>
Import and Export Files> Upload. Catalogs> Import.
Search Refinements
Navigate to: Products and Catalogs> Catalogs> edit> Search Refinement Definitions
1.
2.
Identify search refinements at the global and category level and set them up with the Client.
You can import search refinements from the catalog import file.
13
The graphic above shows the refinements as they appear in the storefront and how they are configured in Business Manager.
1. Category refinements - customers refine by subcategory. This is most useful for customers who have navigated to a
top level category from the menu on the main page.
2. Attribute refinements - customers refine by attribute values, in this case, by selecting a particular shade of the color
attribute.
3. Boolean refinements - customers refine by whether a boolean value is set to true or false.
4. Date refinements - customers refine by whether the date set in a date refinement matches a period set up as a bucket.
When a customer clicks on a bucket, the link creates a new query and passes the value for the refinement to the Search-Show
subpipeline as an additional parameter. The search query is performed again, rather than iterating over the existing results.
Refinement Inheritance
Refinement definitions are inherited by subcategories by default, but they can be blocked in the subcategory search refinement
configuration, so they do not appear in the storefront.
Deepest Common Category
For all products in a search result set, the deepest common category is the category highest in the catalog structure that all of the
products have in common. If you navigate to a category, that category is usually the deepest common category. If you use search
to find a result set, the deepest common category can often be the root category of the catalog.
The deepest common category determines the search refinements that are displayed for a particular search. The deepest common
category is calculated based on category assignments below the current refinement category only. The system ignores any
assignments to categories outside the current refinement tree. If a search is refined by category, the deepest common category is
still calculated based on the actual search result and can therefore be any category below the refinement category.
To find out why a particular set of search refinements is used for a search result, use the Storefront Toolkit Search Information
tool to determine the deepest common category. The refinements configured for this category are the ones used for the search
result.
For more information about how to determine the deepest common category for a search, see the Search Query window.
14
Use this tab to create new search refinements, block inherited search refinements, reorder search refinements, or delete
search refinements.
Sorting: Click the up or down arrows to change the order in which refinements appear in the storefront.
Action - Click Block to stop an inherited refinement from being displayed for this category in the storefront.
Apply - Click to apply changes to all selected refinements.
Reset - Click to reset items to how they appeared when you first opened the page.
New - Click to create a new search refinement.
Delete - Click to delete any selected refinements.
Before creating search refinements, if you are refining by attribute values, make sure the attribute has data and is indexed.
Select Language: Select the language for the refinement display name and click Apply. A single refinement can have a
different display name for each locale. The name for the local is only visible in the page if the locale is selected and applied.
Name The name you enter is displayed in Business Manager when you sort refinement conditions and in the storefront as
the name of the refinement.
Refinement Type Select one of the following refinement types:
Attribute Refinement - creates a refinement for a specific product attribute; for example, length, CPU speed, or team
logo.
Category Refinement - creates a refinement based on the subcategories of the current category. This is standard for
most products.
15
Price Refinement - creates a refinement based on the prices of the products in the category. Usually, this reflects price
ranges that are configured for the specific category as price thresholds.
Attribute ID This field is only available for attribute refinements.
Click the browse button to select an attribute or enter the attribute ID of the attribute to refine on. For example, to create a
brand refinement, select the brand attribute. Custom object attributes are not included here and cannot be used for refining
searches.
Value Set This field is only used by attribute refinements.
Select one of the following value sets:
Search Result Values - this displays only the values used by products in the search results. For example, if there are
only red and pink shirts, only red and pink appear as possible refinement values.
All Values of Category - this displays all values present for the category, rather than those present in the search results.
However, it is possible to display values not present in the search results different from those that are present. For
example, this value is selected in the color refinement for the SiteGenesis application. All color refinements are always
present in the refinement bar, even if there are only red and pink shirts in the search results. However, the available
colors of red and pink appear as squares and the unavailable colors appear as squares with a corner missing. The
display of unavailable colors depends on the ISML template for the refinement bar, and requires a developer to change.
If you select this option you must add a presentation ID for any buckets you create.
Bucket Type Select one of the following types:
None - all of the possible refinement values are displayed. If the bucket type is set to None , Demandware
automatically creates buckets for each value name.
Values - this allows a merchant to group products by value. If this is selected, additional fields for custom buckets
appear on the page. You can group multiple values, such as brand names into a bucket such as A-D.
Threshold - this allows a merchant to group values within a range. This is only available for attributes with numeric
values. If this is selected, additional fields for custom buckets appear on the page. Defining explicit sorting positions
for the bucket values is not supported for threshold refinements.
Periods - this allows a merchant to group values within a date range. This is only available for attributes with a Date
date type. If this is selected, additional fields for custom buckets appear on the page. You can specify the different
periods in days. For example, if you use the releaseDate for a product as the Attribute in an attribute refinement, you
can create the following buckets:
Duration
in Days
Display Value
Products Displayed
30
Coming Soon
-7
Last Week
-14
New Releases
Unbucketed Values: An unbucketed value is a value that is currently not assigned to any bucket. Select one of the
following methods of displaying unbucketed values in the storefront:
Shown as individual values - Select this option to show each value as an individual bucket. If you select this option
you must check regularly to make sure that new products with new refinement values do not make the refinement
unusable by introducing new options.
Shown as single bucket - Select this option to show all unbucketed values as single bucket. You can specifiy a Display
Name, Desciption and Presentation ID for the bucket called "Values not part of any bucket". This bucket is always
displayed at the end of the refinement list.
Not Shown - Select this option if you do not want unbucketed values shown in the storefront. If you select this option
you must check regularly to make sure that new products with new refinement values can be found by refinement.
Sorting Mode Select one of the following sorting modes:
Sort by Value Name - sorts the buckets alphabetically. If the bucket type is set to None , Demandware automatically
creates buckets for each value name. For example, if you have an ascending sort by value name for a brand refinement,
the brands are listed alphabetically. Otherwise, the bucket
Sort by Value Count - sorts the buckets by the number of values for that attribute. If the bucket type is set to None ,
Demandware automatically creates buckets for each value count. For example, if you have a descending sort by value
count for a brand refinement, the brand with the most search hits shows at the top, regardless of its name.
16
Sort by Price Threshold - sort according to price threshold. If the bucket type is set to None , Demandware
automatically creates buckets for each price. Otherwise, the bucket type must be set to Thresholds to define custom
price buckets.
Sorting Direction Select one of the following sorting directions:
Ascending - If the refinement attribute has numeric values, then buckets are displayed from top to bottom with values
that are low to high. If the refinement attribute has text values, then buckets are displayed from top to bottom from a to
z.
Descending - If the refinement attribute has numeric values, then buckets are displayed from top to bottom with values
that are high to low. If the refinement attribute has text values, then buckets are displayed from top to bottom from z to
a.
Cutoff Threshold
This is the number of refinement categories that should be listed before the rest are scrollable in the list box.
The cutoff threshold depends on the type of refinement. For example, for price refinements there is no cutoff threshold,
because you will be bucketing all search results into custom-defined price buckets.
Bucketed Values Enter a list of values that you want to group together.
Bucket Display This is the name for the bucket that the customer sees in the search refinement bar.
Bucket Description This is a description of the bucket that can be seen in Business Manager.
Bucket Presentation ID The bucket presentation ID can be used to identify a bucket for complex styling, such as a color
swatch. This is an optional field. For example, if a merchant configures an attribute refinement based on the product
attribute "color" and wants to show color buckets as images, then they can use the presentationID in the template to
reference an image using the presentation ID (per attribute refinement). Alternately, if the merchant wanted to represent the
color as an HTML color, the color can be used as the presentation ID and reference in the ISML template.
Sorting If you have created more than one custom bucket, you can sort the order in which they appear in the search
refinement bar. Use the up and down arrows to control the order in which buckets appear.
17
Price Threshold Enter the maximum value for the price threshold.
Display Value Enter the label for the bucket that the customer sees in the search refinement bar. Buckets appear in the order
in which they are entered.
Bucket
Values
Red
Blue
Bucketing Types
For a specific refinement, the options available for the customer to query on are referred to as buckets. For example, for a color
refinement, you might create red, blue, and brown buckets. You can assign value buckets for each refinement directly or have the
buckets created automatically based on value name, value count, or category. If you assign buckets, you can create a group of
values that are all included in the bucket. The example below includes search refinements with and without buckets.
Bucket by Value
You can create custom bucket names or icons and manually assign specific values to them. Examples of this type of bucket
include color or style indicators (retro, modern, etc). For example, the same color (#CC0033) can appear in the red-orange bucket
in the Men's category, the pink-red bucket in Women's category, and the Red bucket in the Unisex category.
The buckets displayed to the customer are those of the deepest common category for the search result set. To determine the
deepest common category, use the Storefront Toolkit Search Information tool. To access this information, click the
information icon in your application header.
Search
18
Note:
You must rebuild the search index if you move refinement definitions from one category to another. Such changes are not
covered by incremental indexing and therefore require a full index rebuild. If you do not, the search refinement definitions
may not work as expected.
Although different categories can have different buckets, the same category cannot have different buckets for the same attribute
in subcategories. For example, you cannot create an Age refinement that gets more specific with every category level.
Bucket by Value Count
A value count bucket allows you to assign different values to specific buckets. Examples of this type of bucket include sizes,
weights, and other groupable options. For example, you might want a bucket for small sizes that includes 1X, size 2 , and size 2
petite . You might also want to reduce the number of refinements to those that are the most commonly used. For example, you
might want to create buckets for laptops that are: under 1 kg , 1 kg - 3 kg , and over 4kg .
Bucket by Price Threshold
You can choose to create price buckets that include a range of prices. If you use this option, you do not have to manually assign
values to the buckets. This is very efficient when creating search refinements for prices.
Bucket by Period
You can choose to create period buckets for ranges of dates related to the product. For example, how new the product is, when it
is available for sale, or other seasonal information. . If you use this option, you do not have to manually assign values to the
buckets. This is very efficient when creating search refinements by date.
Bucket for All Values
Although customers can de-select search refinement values, you might want to create a bucket for "All" values so that it is clear
to customers that they can broaden as well as refine their search.
Allowed Characters for Bucket Values
You can include commas or backslashes in bucket definitions by escaping them with a backslash ('\').
For example, to create a bucket value as follows: one each of pure white, blueberry, brown
Enter the following: one each of pure white\, blueberry\, brown in order for the text to be processed as single refinement value.
Otherwise, each color is included as a separate bucketing value.
Unbucketed Value Display
If you have some values that are not bucketed, you decide whether to include all unbucketed values in a single bucket, as single
values, or not show them at all. For example, for a color refinement, you may have some items that are not a single color, but
multi-color. You can have a multi-color bucket that contains all unbucketed values, you can have each unbucketed value, such as
blue/brown or red/black display independently, or you can hide all multi-color items, assuming that a customer using the color
refinement is looking for an item of a specific color.
Relaxing Refinements
You can allow users to remove a search refinement in several ways. For buckets with values by assignment, the easiest way to do
this is to create an "All" bucket that the user can select. For buckets that are assigned by name or value count, you can create links
that allow the user to relax the refinement. You can use the ProductSearchModel or ContentSearchModel canRelax() methods to
determine whether the search can be expanded. If the search can be relaxed, there are a number of methods you can use to relax
the search. There are different methods for relaxing a category refinement, folder refinement, or an attribute refinement.
For an example of relaxing a search, see the productsearchrefinebar.isml template in the SiteGenesis Application.
Variation Products in Refinements
If you refine on an attribute value, any variation products with that value are included in the search refinement, if the attribute is a
slicing attribute for the product. For example, if you have a T-shirt in several colors and are using color as a slicing attribute, so
that the T-shirt appears in the storefront in several colors, if you refined by 'red', then the red T-shirt variation appears in the
search results.
Product Sets in Refinements
19
Product sets are included in refinements if any items in the set match the refinement. For example, if a product set for an outfit
includes a red T-shirt, then the outfit is included in the search results.
Testing Tips
If you use bucketing and the value list changes, or you have updated the catalog, remember to refresh the index and view the
buckets to make sure all changes have been made correctly. Repeat this after every catalog update.
Localization
If you want to use localized bucket labels, supply a localized label for the bucket values for attribute refinements.
the attribute used for the refinement is defined as localizable, the values provided in the bucket value list are as well. For
localized refinement attributes, one value list must be supported per active locale (for example, "Red" = "Dark Red" and "Rot" =
"Dunkelrot"). If the attribute used for refinement is non-localized, only one bucket value list is necessary.
Price Refinements
Bucket definitions for price refinements capture the following information:
The currency code of the price bucket
One localized bucket label per active locale
Price threshold of the bucket
The localized bucket label can be used to render the price range independently of the actual numerical bounds (for example,
'Inexpensive" as the label for price bucket <= $10).
Available Values
Filter by Value - Enter the value are looking for. The list is filtered by whatever characters you enter. For example, enter "p" to
see all values that start with p. Wildcards are currently not supported for filtering. As of 12.5, you can use an asterisk as a
wildcard in the filter. For example, you can use the following search terms to find values that contain red as part of the value:
red
*
*red
red*
20
Filter by Bucket - select either All to see bucketed and unbucketed values or Unbucketed to see only unbucketed values.
You can also enter the name of any bucket to see the associated values.
Value box - select this box if you want to assign the value to a bucket.
Buckets
Filter - Enter the bucket name you are looking for. The list is filtered by whatever characters you enter. Wildcards are
currently not supported for filtering.
Add to New Bucket - Check this option, enter a bucket name, and click Add to add a new bucket. Any currently checked
values are automatically added to this bucket. Since values can be assigned to more than one bucket, this does not change
any existing assignments.
Bucket box - select this box for any buckets you want to assign the values to.
icon in the upper left corner of the storefront and select Search Information then
This window displays basic information about the search query, with buttons that link to detailed information about query
processing and sorting rule configuration.
Note:
If there is no search phrase, then category navigation is displayed.
Search Phrase: Displays the search phrase entered into the search box in the storefront. Click the
icon to open the
Search Phrase Processing window.
Refinements: Displays the attribute and selected attribute values used to refine the current search.
Deepest Common Category: displays the category path using localized names of the deepest common category of a search
result. If the deepest common category is the root category of the catalog, the localized name of the catalog is shown instead
of the category path to the deepest common category.
Sorting Rule: Displays the search phrase entered into the search box in the storefront. Click the
icon to open the Sorting
Rule Configuration window.
Note:
You can keep the Search Phrase Processing or Sorting Rule Configuration window open by clicking the
changes to
window.
and closes the window if clicked. The window also closes if you move the mouse beyond the borders of the
21
Product Management
Navigate to: Products and Catalogs> Products
1.
2.
3.
4.
5.
6.
Types of Products
Different types of products require different ordering information, such as size, color, and customization options. Products can
also be displayed or sold in different combinations. Demandware product types reflect how merchants retail their products and
determine how products are presented on the storefront to the customer, how inventory and availability are controlled, and how
orders for the product are recorded and analyzed. The following table allows you to compare how the Demandware Platform
manages different product types. In addition to the product types listed in the table, there are additional complexities, such as a
variation product with options in a product set, but the following table gives you the basic logic for each type.
Standard Product
purpose
Variation
Master
Product
Variation
A product which
represents all the
variations for a
particular
product. For
example a
specific style of
t-shirt.
A variation
master cannot be
purchased
directly, only
product
variations with
specific variation
information can
be purchased. For
example, if a
master has color
and size variation
attributes, you
must specify the
color and size of
a specific variant
to purchase it.
If you have more
than three
variation
attribute, you
might want to
consider using
options.
A product that is
a specific
variation. For
example, if a
Vegas brand tshirt is
represented by a
variation master,
then a product
variation is a size
10, blue Vegas
brand t-shirt.
Variation
products
associated with
the same
variation master
share most of the
attributes defined
for the product
master, but have
their own product
IDs and images.
Product Set
A product that
includes several
products that are
displayed together
and can be
purchased together
or separately. For
example: an
accessories kit that
includes a hairbrush,
comb, and mirror,
each of which can
also be bought
separately. Another
common example is
an outfit, with a
jacket, shirt, and
pants, which can be
purchased together
or each item can be
purchased
separately.
Product Bundle
A product that
includes several
products that are
only sold
together. For
example: a
gaming bundle
that includes a
video game
console and
several games.
22
active data
calculation
Calculated as a single
product.
Calculated as a
single product.
Identical to
standard product
calculations.
availability
Product is available
based on the product
inventory record.
A master product
is considered
orderable or in
stock if at least
one of its variants
is orderable or instock.
A variation
product is
considered
orderable or in
stock based on its
inventory record.
A product set is
considered orderable
or in stock if at least
one of the set
products is orderable
or in-stock.
If a master
product is
imported without
its variants, then
the products
specified in the
<variants>
section remain
related to the
master. Other
variants are
If a variant
product is
imported without
its master, the
product remains a
variant.
A variant is
owned by exactly
one master. You
cannot reliably
change this
If a set-product is
imported without its
parent product-set, it
remains a member
of the set.
If a bundled
product is
imported without
its bundle, it
remains a
member of the
bundle.
Deleting a bundle
does not delete
the bundled
import/export
23
ownership from
one master to
another in a
single import
process. You can,
however, release
the relationship
with one import
process and
establish the
relationship with
a subsequent
import process.
products.
inventory
Has a single
inventory record
Has an inventory
record.
However, some
legacy variation
products,
configured before
version 2.10, do
not have an
inventory record.
In this case
inventory levels
are managed
through the
master product.
The product
bundle has an
inventory record
and all products
in the bundle have
inventory records.
options
Options can be
configured and
purchased.
Options are
defined the
variation master,
but only
purchased with
the variation
product.
Options are
defined the
variation master,
but only
purchased with
the variation
product.
Options can be
configured and
purchased for the
product set and/or
for each individual
product in the set.
Options can be
configured and
purchased for the
product bundle
and/or for
products within
the bundle.
pricing
Variation masters
cannot be
purchased.
Separate prices
for all variation
products. Option
prices are
configured as
part of the
product option.
search
If the search
preference Show
Orderable Products
Only is selected, then
only orderable
products show in the
The master
product only
appears in search
results if no
slicing is used. In
this case it uses
The variation
product appears
in the search
results if slicing
is used.
A product bundle
depends on its
availability status
to determine
whether it appears
24
search results.
Otherwise all
products appear in
search results.
Note:
This search
preference
applies to all
other product
types as well.
promotions
the information
and images of the
default variation.
The master does
not appear in
search results if
none of its
variants in the
current search
result is
orderable.
Master products
cannot have
promotions, since
master are not
orderable.
Variation
products can
have individual
promotions that
are managed
separately.
in search results.
A product bundle
has its own
promotions, but
products within it
cannot.
You must assign a product to a category (that is assigned to a catalog, that is assigned to a site) for the product to be
included on the storefront.
In Business Manager, you can assign products to categories from the product editor and from a category page.
1.
2.
3.
4.
5.
6.
7.
In Business Manager, navigate to Products and Catalogs > Products, then search for and select a product.
Lock the product and click the Categories tab.
The categories that are listed under the Categories tab are already assigned. To assign or deselect categories, click Edit
Categories and then select or deselect categories from the category tree.
If there are no categories (or appropriate categories) listed, click Edit Categories to assign a category. (You can make
multiple category assignments from one page this way.) Using this interface you can:
25
Primary category - the category where you think the consumer searches for the product. This should be a category in
the storefront catalog. This is the category that sets which attributes are used to define the product.
Classification category - in the storefront catalog, this is the category that determines what attributes are displayed for
the product. In the catalog that owns the product, this is the category where you manage the product.
Each product has only one classification category and primary category. However, products can be assigned to additional
categories. If the categories are in the storefront catalog, the products are available for sale in those categories.
Product URLs
The order of precedence for a product item URL is:
1. The product's Site URL attribute. This is referred to elsewhere as the page-specific URL
2. Then the classification category's Site URL attribute.
3. Then the primary category's Site URL attribute.
4. If there are no values supplied for the product's primary or classification category Site URL attribute, the default settings
configured in the default URLs are used.
Sitemap Attributes
The order of precedence for Change Frequency and Priority values are:
1. The page-specific attributes of the item.
2. Then the classification category of the product.
3. Then the primary category of the product.
4. If no category attributes are found, the default settings configured in the catalog feed are used.
Product Options
Navigate to: Products and Catalogs> Product Options
1.
2.
3.
4.
If applicable, walk Client thru creating product options. Note: an Object Attribute must exist first if creating a new option.
Options are always purchased with a product and cannot be purchased separately.
Options have their own price and display name, but do not have their own thumbnail images.
Options cannot be searched by the consumer, but are usually visible on the product detail page.
26
Currency: select the currency for the product option values. By default, the storefront default locale data is displayed.
Sort by: shows whether options in the storefront are sorted by price or by an explicit order set by the merchant.
Product Attribute Definition: shows the name and ID for the attribute definition that the product option is based on. This
cannot be changed once the product option is created.
Name: click to change the custom name for the product option that appears in the storefront product details page. If no value
is supplied in this field, the platform uses the attribute name defined in the attribute definition. However, if a value is
supplied in the Products - Options page Display Name field, it overrides the value in this field.
Description: click to change the description for this product option. This is not visible in the storefront.
Image: shows the image of this product option that displays in the storefront.
Value Sorting: select the order in which option values are displayed in the storefront: by price or by explicit sorting ID. If
you select Price , options are sorted If you select Explicit , a new column is added to the values added grid, which allows
you to set explicit sorting values.
Grid Columns
Sort: click the up and down arrow to change the position of the sort order when it is displayed in the storefront. You can
also enter a sort position.
ID: shows the unique option value ID.
Product Option ID Extension: shows an extended SKU number for a specific option value. This is included for backward
compatibility only.
Value: shows the product option value name displayed in the storefront.
Price : shows the option price added to base price. If this is an included option, the price is deducted.
Default: choose the option value that is automatically selected when the product is displayed in the storefront.
Search Product Option: displays all of the shared options available for the product.
Product Option ID or Name: enter an ID or name to search on and click Find.
27
Product Option Grid: displays any product options found in the search.
ID - click the ID of the product option to edit it.
Name - displays the name of the product option.
Cancel: click to return to the previous page.
Variation Attributes
Navigate to: Products and Catalogs> Variation Attributes> new
1.
Client can set up variation attributes at this global level and apply to products as necessary at the product level.
Product Attribute Definition: shows the Name (ID) of the product attribute definition that the variation attribute is based
on.
Name: optional label in the storefront if you do not want to use the product attribute definition name. For example, if you
have a product definition attribute whose name is color and you want the attribute to be labeled as colour in the storefront,
you enter the name colour here. If no name is entered the name of the product attribute definition is used.
ID: shows the attribute ID. The attribute ID cannot be changed after the attribute is created. To change the ID you must
recreate the attribute.
Custom Display Name: shows the attribute value display name shown to the customer in the storefront.
Slicing Attribute: shows whether the variation attribute is a slicing attribute.
The Demandware platform allows you to represent a group of products for display on a storefront as a product set, whereby
the customer can purchase the entire set of products one of its elements.
A product set can have its own display attributes, such as name and images, and can be assigned to categories.
Product sets can also have recommendations.
A product set can contain zero, one or many products as well as other product sets. (You may want to create an empty
product set to populate at a later time.)
In the Demandware structure, a product set is owned by a specific catalog (just like a product). A product set can be
assigned to any number of categories. It has a primary category and a classification category.
Products sets can be positioned explicitly in a category, along with other product sets and regular products.
Searchable product set attributes are included in the search index. Rebuild or update the search index to make these changes
available in the storefront.
You can manage product sets via import. A product set can be imported and exported. Product sets are imported as an
element of a catalog import/export.
Use this page to specify the products to be included in the product set.
28
New: Click to add products to the product set. The Product Search page appears.
<< Back to list: Click to return to the previous page.
Recommendations
Navigate to: Products and Catalogs> Recommendations
1.
2.
29
1.
Navigate to Products and Catalogs > Recommendations or access a product's Recommendations tab through the
Product Editor.
2.
3.
Click New.
4.
5.
Enter valid product ID of product for which you are creating recommendations or browse for list of products..
Click Next>> and select type of recommendation to create.
Cross-sell
Up-sell
Other
6.
30
Price Books
Navigate to: Products and Catalogs> Price Books
When you create or edit a price book, you can view its summary information:
ID: shows the unique ID of the price book.
Name: shows the descriptive name of the price book, which is generally longer and more readable than the ID.
Parent Price Book: shows the name of the price book on which this price book is based. A price book inherits the prices of
its parent, but can override those values as needed.
Enabled: shows if the price book is enabled. You must enable a price book if you want to make it active. A price book can
be active only if it is enabled, assigned to a site, and currently scheduled. A price book must be active to be used in a
storefront.
Yes: the price book can become active, provided it is assigned to a site and is currently scheduled.
No: the price book cannot become active.
Currency: shows the currency for values in the price book. A price book must use the same currency as the site to which it
is assigned. You can assign multiple price books to a site, provided they all use the same currency as the site.
Created: shows the date the price book was created and the date it was last updated.
Edit Price Book Buttons
Delete: click to delete the price book.
Copy to Tab: click to copy the price book into a new workspace.
Save: click to save without exiting. Save and Close: click to save and return to the previous screen.
Close: click to exit the page without saving. Once you close this page, you cannot retrieve your changes.
31
Inventory
Navigate to: Products and Catalogs> Inventory
When you create or edit an inventory book, you can view its summary information:
ID: shows the inventory ID.
Attributes: click to manage the inventory list attributes.
Site Assignments: shows a list of sites assigned to this inventory list.
Records: click to manage the inventory record attributes.
Information Contained in an Inventory Record
Demandware supports inventory records for none, some, or all products sold in a storefront. An inventory record includes
availability information about a product, including:
Initial allocation
An initial allocation represents a quantity of items made available to sell in the storefront at a particular time. The quantity
currently on hand is called the "stock level". The inventory framework adjusts this quantity downward every time a customer
purchases the product in the storefront.
The difference between the initial allocation and the current stock level is called the turnover. A product can also have a preorder or backorder allocation. The sum of the items currently in-stock plus the quantity available for pre-order or backorder is
referred to as the Available To Sell (ATS) amount.
A merchant can modify or extend the inventory record to contain additional information.
Sitemaps
Navigate to: Products and Catalogs> Catalog Feeds> Sitemaps
1.
2.
3.
4.
5.
6.
Review how to setup up a sitemap for the site but do not configure anything in staging because it will send that to Search
engines.
All setup needs to be done in production.
Sitemaps are XML files that provide search engines (such as Google, Yahoo and MSN) with information about a given Web
site so the crawler can index it more efficiently.
These sitemaps contain the list of all the URLs available for indexing and can provide the search engine with additional
information, such as when a page was last updated, frequency of updates, and the relevance of a page.
The search engine uses this information to construct links to your site and control the ranking of links in its search results.
When entering instances hostname is needs to display exactly like the following www.mysite.com and shouldnt have http://
or / at the beginning or the end.
32
7.
8.
Change frequency numbers are arbitrary and only display the relative importance that 1 section has over the other. Example
if category is .8 and products are .4 we are telling search engines categories are twice as important to our site than products
are.
Example Sitemap: http://ntomaro.inside-na02.dw.demandware.net/sitemap1_default.xml
Improved crawler coverage of your site. With sitemaps you can expose dynamic content that is not referenced by the
static content of the site and that cannot be found by the regular crawling process.
Improved search results. Sitemaps keep your content fresh in search engine indexes. You can avoid out-of-date indexed
content in search results by notifying the search engine of the frequency of changes to any given page, so the search
engine knows when it needs to reindex the page.
Improved understanding of your site. You can examine the reports made available by Google about the visibility of
your pages, statistics on searches resulting in traffic to your site and how the crawler indexes the different pages in the
site.
To optimize your site for search engines, you need to:
Give the search engine the URLs to index via an XML sitemap.
Generating Sitemaps
1.
2.
3.
4.
Before generating a sitemap, you must make sure that sitemap attributes have appropriate values. See Creating feeds for
sitemap attributes.
The Demandware storefront generated map contains a link to the homepage of your store in this format:
http://<alias>/on/demandware/Sites-<Sitename>-Site/default/Home-Show.
The existing sitemap is preserved until a new map is successfully generated in the background.
Configure sitemap settings individually for each instance type. You cannot replicate sitemap site preferences between
Staging and Production or Development. You must create the settings and job to generate the sitemap on each instance.
To Generate a Sitemap:
1. In Business Manager, navigate to Products and Catalogs > Catalog Feeds> Sitemaps.
2. Click Enabled to enable sitemap generation.
3. Enter the instance hostname. This must be one of the hostname aliases you have created for the instance.
4. Enter the job settings you want for your sitemap. For more information about these settings, see Sitemap Job Settings.
5. Click Apply to save.
6. Select when you want to run the job. You have two options:
Generate the sitemaps on demand by clicking Run Now. This approach is recommended for sites with infrequent
updates or for updates after major site changes where many page URLs have changed. After you run the job, you
can see the progress of the job in the Job Status section of the page.
Schedule automatic sitemap generation by enabling and configuring the scheduler. This approach is recommended
for sites with daily or more frequent updates to their pages.
7. Run the job.
33
Demandware recommends that you automate the creation of the values for sitemap attributes, so that you do not have to manually
enter them for each category or product. Since content items are rarely imported, attribute values are usually entered manually for
them. See also Manually creating the SEO attribute values.
NONE
1 (YES) - the item is always included in the sitemap, no matter what setting a parent category has.
0 (NO) - the item is always excluded from the sitemap. Demandware recommends setting content snippets, like footers
and headers, to NO.
The order of precedence for Included values is:
1. Classification category.
2. Then the primary category if there is no value for classification category.
3. Then the 'root' category if there are no classification or primary category values.
4. If the root category is also set to NONE, the item is included.
Change Frequency Attribute
The change frequency of a page indicates to search engines how frequently the page might change. However, this does not dictate
how often the search engine crawls the page.
You can set the Change Frequency attribute to one of the following values:
always - use this value to describe documents that change each time they are accessed.
hourly
daily
weekly
monthly
yearly
34
2.
3.
4.
Priority Attribute
You can set the Priority value from 0.0 to 1.0 for one digit past the decimal (0.1, 0.2, etc). This is used by search engines to
determine which pages to crawl first. While this has no effect on the rank of your page in search results, it does ensure that if a
page is important that it is more likely to be present in the search index. If no value is specified then the default priority of the
page is assumed to be .5 by the search engine. Pages with higher values are assumed to be more important and pages with lower
values are assumed to be less important.
Description
Enabled
Host
The number of allowed links per sitemap (0 to 50,000). When a file, such
as sitemap1_default.xml, reaches this number of links an additional file is
created, such as sitemap2_default.xml. So if your site has 25,000 links
and you set this to 5,000, five sitemap files are produced. If you set it to
25,00, only one file is produced.
The standard priority for categories (0.0 to 1.0) - assign high priorities to
often-changed pages
The standard priority for products (0.0 to 1.0) - assign high priorities to
often-changed pages
The standard change frequency for content assets (always, hourly, daily,
weekly, monthly, yearly, never)
The standard priority for content assets (0.0 to 1.0) - assign high priorities
to often-changed areas
From
Every
The view type for the images to be included. Each catalog has its own
view types. The view types in Business Manager are set on the Catalog
Details Page Image Settings Tab. Including the view type adds the image
location, title, and alternative text for the image to the sitemap.
The start date for the sitemap generation job (date and time)
The job interval (minutes, hours, days, weeks, months, years)
Demandware recommends that you schedule this job for low traffic
times, such as the early morning, to avoid unnecessary CPU demands and
memory consumption.
35
Note:
You must specify a host domain, or Google returns a 404 error when you submit your sitemap. If you have not specified
a host domain, an IP address is included in URLs to the sitemaps in your sitemap_index.xml file.
Export
Description
Manage product images. Create a directory structure and upload
product images.
Catalogs
Price Books
36
Search
Search Indexes
1.
2.
3.
4.
5.
6.
7.
Scheduled Index Rebuild: select the box to allow automatic rebuild of the index on a schedule. You configure the schedule
for the index rebuild on the Index Update Schedule.
Incremental Index Updates: select the box to enable incremental index updates.
Enabled - the Demandware platform automatically checks the indexed data for changes every thirty seconds, including
the search dictionaries, and automatically updates the portion of the index that changed. It is recommended that if you
select this option that you still perform a full index rebuild once a day.
37
Last Update - displays the date the index was last re-indexed.
Click the name of the index you want to manage. For example, click Product Index to manage the product index.
Click the General tab to view information about the index. Set the language for search stemming. Control index size by
setting the index mode.
Index Settings
Stemmer - This can be set to any available locale. By default it is set to the English locale. Demandware recommends that if
you have a German or Japanese site that you use the associated stemmers for that locale.
German Locale Stemmers
For the German locale, two stemming options are available:
German - algorithmic - This derives German word stems by removing or converting portions of the word into a
standard form. For example: Mode and Modem are both stemmed to mod
Kuechen and Kuchen are both stemmed to kuch
German - dictionary - This uses a stemmer that lemmatizes the term. It derives German word stems based on the
dictionary form of the word. This stemmer is generally recommended for German sites.
Japanese Locale Stemmer
The Japanese locale stemmer is optimized for tokenization of Japanese characters. It supports the tokenization of Kanji,
Katakana, and Hiragana character sets. The correct tokenization by this stemmer cuts down on noise in search results
substantially in comparison to using the English stemmer.
Compact - Production - Use this to reduce the size of the index. This is recommended for production
instances.
Verbose - Development - Use this to get more information for debugging purposes. This is recommended
for sandbox or staging instances.
3.
4.
Click the Text Relevance tab to get to the Searchable Attributes page. Text relevance boosting factors are now set through
the searchable attributes feature. This feature was replaced with the Searchable Attributes feature in 2.10.4.
Click the Sorting Attributes tab to add sorting attributes that are called directly from a pipeline. Note that this is only
required for sorting attributes that are not used by the sorting rules feature. Adding an attribute here causes this attribute to
be indexed so that it can be used as explicit sort criteria by the Search pipelet. For more information about using the explicit
sorting via the Search pipelet SortBy input parameters, see Using explicit sorting.
Note:
Index size influences the speed of search results, so it is better to index a minimum of attributes.
38
Select Sorting Attribute -Browse (...) or type the name of the attribute you want to sort by and click Add.
Select All - click the box for any attribute you want to reset or delete.
Sorting Attribute - displays the attribute (id) and display name.
Attribute Type - displays whether the attribute is a system or custom attribute.
Value Type - displays the attribute value type.
Reset - click to undo any changes made since opening this page.
Delete - click to delete any checked sorting attributes.
5.
Click the Statistics tab to view information about the elements, fields, and terms indexes. Other indexes besides the product
index may also contain relevant indexing information, such as availability or the size of grams used to offer spelling
suggestions.
6.
Click the Documents tab to view information about the index. Set the language for search stemming. Control index size by
setting the index mode.
39
The search index update schedule automatically runs a scheduled job that reindexes all Demandware indexes that have the
Scheduled Index Rebuild enabled on the Search Indexes Page.
Demandware recommends reindexing daily on your production instance to prevent index fragmentation and improve search
efficiency. However, you may want to reindex less often on other instance types.
Note:
Scheduled indexing is available on Staging, Production, and Development instances. Scheduled indexing features are not
available for Cloudboxes or Sandboxes. This is because these instance types do not execute scheduled processes.
Types of Indexes
1.
Before creating indexes, you must make sure the appropriate search features are enabled in Business Manager using
Search> Search Preferences.
Index Localization
If you have multiple locales defined for your storefront, indexes are created for each locale. A locale-specific search index uses
synonyms, hypernyms, stop words, compound words, and the searchable data defined for that locale. If you configure
incremental indexing and/or scheduled automatic reindexing for an index, that configuration applies to all locales
40
Product Index
For a product to be indexed, it must be searchable, online, and assigned to at least one online category. If a product is assigned to
both online and offline categories, it is still indexed. Only product attributes that are configured as searchable attributes are
indexed. See also Configuring searchable attributes.
Index terms are derived from product data by processing data as follows:
All words in searchable product attributes are stemmed based on the stemmer configured for each index type.
Compound words are split into their parts based on the compound words dictionary
Stop words are removed based on stop word dictionary
Special characters*! ( ) : [ ] { } + ~ ^ ? '* are removed
Product numbers are split into their parts
Synonyms are added for words with German umlauts, i.e. kche, kueche
Note:
Only those price books with the same currency as the site that is being indexed are indexed. For example, if the site's
currency is USD, all EUR prices are not included in the index for the site.
Spelling Index
The spelling index is used to produce "Did you mean" suggestions. The spelling index is compiled using an algorithm and does
not need to be manually configured. However, you must enable the feature on the Search Preferences page in Business Manager.
The spelling index uses the product and content indexes and must be rebuilt after them.
Content Index
The content index is built based on content assets, library folders, and libraries. For a content asset to be indexed, it must be
searchable and online. Content attributes that are configured as searchable are indexed. The content index uses the same
processing rules as the product index to derive index terms.
Redirect Index
The redirect index is built based on search redirects. Redirect terms are not stemmed, resolved with compound words, synonyms,
or otherwise processed.
Synonym Index
The synonym index is built based on synonyms/synonym groups defined for a specific language. All synonyms are stemmed
based on the configured stemmer.
Suggest Index
The suggest index is built based on category names, brand names, and terms added or excluded on the Search Suggestions page
in Business Manager.
All suggestions are converted to appear in lower case, even if their original values include uppercase letters. Suggestions only
appear if there is at least one result associated with the suggestion.
To determine search result counts, a search is executed for each suggestion during indexing, using the current product index. You
must build the product index before building the suggest index in order to get accurate counts.
Availability Index
The availability index is built based on information about product availability that is used to sort and filter search results. This
index relies on a transaction that updates inventory amounts and therefore must be rebuilt regularly, such as once an hour. The
availability index is not replicated from the staging system to the production system. Instead, it is created and updated on the
production system.
Incremental indexing is useful for this index if you have a high sales velocity that requires hourly or more frequent updates of
availability information.
Inventory data is included in the availability index even if no product exists for the inventory record. This decouples availability
updates and data replication so that they are not dependent on each other. You can update the availability index for a new product
41
and when the new product is replicated from Staging to Production, it immediately appears in search results because the related
availability data is already included in the availability index on Production.
The following specific rules apply:
Availability indexer processes inventory records for all existing site products.
Availability indexer processes inventory records if no product exists for it and if the inventory record was created or
modified within the last 5 days.
Availability indexer skips inventory records if no product exists for it and if the inventory records were not created or
modified within the last 5 days. This is to prevent the processing of inventory records that are considered outdated and
obsolete.
If the new product is a master or product set, or is a variant or part of a product set, search result sorting may be
incorrect if the applied sorting rule uses any aggregated availability attributes, such as SKUCoverage or TTOOS (Time
to Out of Stock). This is because the search indexer cannot aggregate data for complex products if it does not have any
information about the product. Once the product data has been replicated, the availability index has been rebuilt, and
the page cache has been refreshed, the sorting will be correct.
Rebuilding Indexes
If you rebuild an index, all information used by search is updated. This is a complex task and rebuilding indexes can require a
long time, up to hours, for customers with very large data sets. The configuration for each index applies to all locales of that
index. Scheduled indexing automatically rebuilds the full index on a schedule that you configure. Incremental indexing updates
an index for any change made and only updates the part of the index that is changed.
You should expect to rebuild your indexes when updating product or content data. Rebuilding search indexes in Business
Manager are run sequentially, in case a selected index relies on another index. For example, the suggest index relies on a product
index. The rebuild of the dependent index runs once the main index rebuild has finished. For more information on index
dependencies, see Index dependencies.
Note:
Incremental or scheduled indexing is configured in the Business Manager.
1.
2.
3.
4.
In Business Manager, navigate to the Search > Search Indexes page. The Search Indexes page appears.
Select the box for any indexes you want to rebuild.
Click Reindex.
Click to refresh the page. You may not see changes to index status without clicking Refresh.
42
Incremental Indexing
Indexes can be configured to rebuild incrementally, when product or category assignments are updated or on a schedule. If you
enable incremental indexing for an index, then the index is automatically updated whenever a change is made to the products,
content, or search configuration underlying the index. Changes to the index are available 30 seconds after a merchant makes a
change.
Incremental indexing is useful in development for seeing changes to the index immediately, since you do not have to manually
trigger a reindex or wait for the full index to rebuild. Incremental indexing is useful for availability ranking indexes on staging
and production systems.
If incremental indexing is disabled for an index, then the index must be rebuilt if changes are made to the products, content, or
search configuration.
Since search performance can be affected if indexes become too fragmented, it is recommended that you rebuild indexes on a
regular basis, even if you enable incremental indexing. As a best practice, Demandware recommends rebuilding indexes daily.
Data Updated by Incremental Indexing
If incremental indexing is enabled for a specific index, changes to data made in Business Manager or imported into the platform
are detected and the index is updated.
Index
Object indexed
Product Index
Product
Content Index
Content Asset
Redirect Index
Search Redirect
Synonym Index
Synonyms,
Hypernyms
Suggest Index
Search Suggestions
Availability
Index
Product Inventory
Record
Activedata
Index
The active data record is usually imported via feed. Changes to products are
identified and cause an update to the active data record if the product was modified
after the latest rebuild of the active data index.
Prices and Price book site assignments Prices and pricebook site assignments are not updated.
Catalogs
Searchable attributes
Index settings
43
If you plan to import many product and/or category structure changes, Demandware recommends that you turn off incremental
indexing and rebuild the product index at the end of the import, as this is less costly to system performance.
The incremental indexing updates indexes as soon as the first changes are available from an import. Demandware recommends
that import pipelines configure imports in a single transaction so that all changes are visible at once. This ensures that no partial
catalog updates are published into an index.
Index Dependencies
If you change your search configuration, you must reindex the appropriate index to see the changes in your storefront.
When you configure or
change:
Active data
Activedata index
Availability information
Availability index
Common phrases
Compound words
Content attributes
Hypernym dictionary
Synonym index
Product attributes
Search redirects
Redirect index
Search suggestions
Suggest index
Stop words
Synonym dictionary
Synonym index
If more than one index is selected for reindexing, the search indexes are rebuilt in the order they are listed in the Business
Manager Search > Search Indexes page. This is because some search indexes rely on other indexes as input and so must be
rebuilt in the correct order.
For example, the suggest index relies on a product index. The rebuild of the dependent index runs once the main index rebuild
has finished. If you choose to reindex multiple indexes separately, make sure to run the reindexing in the order that the indexes
are listed in order to make sure that you see the correct changes in your storefront.
44
The storefront includes a keyword search box and category navigation links, as you can see in the following picture of the
SiteGenesis Application.
When a customer clicks a category link, a query is generated against the category and submitted to the Search pipeline. When a
customer enters a search term, this also generates a query that is submitted to the Search pipeline.
The Search pipeline processes the query and accesses the index files and ranking criteria. The Search pipeline returns the results
to the storefront.
If the Search pipeline finds a merchant-defined redirect, it returns the page specified in the redirect definition. If no redirect is
found and search results are found, it returns the search results. By default, in the SiteGenesis Application, if both products and
contents are found, the product search results are displayed, with a link to the content search results. The following graphic shows
how content is displayed in the SiteGenesis Application search results. You can see this link by searching on "customer support"
in SiteGenesis.
In the SiteGenesis Application, if no results are found, the nohits.isml template checks for a spelling suggestion. If one exists, it
displays a "Did you mean?" message. If there are no spelling suggestions, then it displays a message indicating that there are no
results. You can change the spelling suggestion settings so that the message for no results is never shown, or so that only
reasonable spelling suggestions are shown.
Configurable querying features include:
Search redirects - the merchant can redirect searches for a specific term to a landing page or category page, rather than
performing a product search. For example, if a customer searches for "customer service" they can be directed to a
customer service page or if they search for "jobs" they can be directed to a career opportunities page.
Search refinements - the merchant can configure a refinement bar that allows customers to refine results based on an
attribute. For example, they may want to only see items in red or with a specific size.
Orderable Products Only - this setting excludes un-orderable products (having an inventory record with ATS=0 )
from search results.
45
Availability Low Ranking Threshold - the percentage of availability from which products are to be ranked lower and
pushed to the end of search results.
Searchable Attributes
Navigate to: Search> Searchable Attributes
1.
2.
3.
4.
5.
ID (ID)
Brand (brand)
Consider description as an indexable, but better to set boost factor lower to avoid excess noise.
Determine search attributes for content. Typical content attributes to start with include:
Body (custom.body)
Description (description)
Name (name)
Boost Factor considerations
is the default and does not change the order of default search results
1.01-100.00 increases the importance of the field in search results. Generally, however, DW does not recommend
boosts higher than 5.00
Use this page to set which attributes are indexed and searchable. Searchable attributes are site-specific.
New: click to add a new searchable attribute. Note: the attribute must already exist on the platform.
Attribute: click in the field and select an attribute from the list of attributes. Attributes are listed by name with the attribute
ID in parentheses. Attributes with a data type that is not suitable for a search attribute are not included in the list.
Object Type: displays the object type of the selected attribute.
46
Attribute Type: displays the data type of the selected attribute. Attributes with boolean, email, date, or date + time data
types are not available because they are not suitable for search queries.
Boost Factor: click in the field and enter a boost factor.
Remove: click to remove the searchable attribute.
Section Controls: Use these controls to page through selected attributes and refresh your view.
New: click to add a new searchable attribute. Note: the attribute must already exist on the platform.
Attribute: click in the field and select an attribute from the list of attributes. Attributes are listed by name with the attribute
ID in parentheses.
Object Type: Displays the object type of the selected attribute. Attribute Type: Displays the data type of the selected
attribute.
Boost Factor: click in the field and enter a boost factor.
Remove: click to remove the searchable attribute.
Section Controls: Use these controls to page through selected attributes and refresh your view.
Stopword Dictionary
Navigate to: Search> Stopword Dictionary
1.
2.
3.
4.
5.
6.
Stopwords are terms that are ignored/not indexed by the search engine because they are too common to drive meaningful
search results. This has a significant effect on the size of the index and the efficiency of the search result.
Example:
a. a is a stopword: a dress returns 39 results
b. a is NOT a stopword: a dress returns 6 result
Helps when there are articles in front of specific words within a long description.
You can set Clients stopwords with whats in base SG which are: a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no,
not, of, on, or, s, such, t, that, the, their, then, there, these, they, this, to, was, will, with, x
Use groups to create groupings that are specific to, say, holidays, seasonality, special events.
You can export and import stopwords as part of an index definition file.
Synonym Dictionary
Navigate to: Search> Synonym Dictionary
1.
2.
3.
4.
5.
6.
Search synonyms support searching for one term returns the results for multiple variations on an item. For example, you
might want GPS or Global Positioning System to return the same set of results.
You might also want multiple terms to resolve to a single search. For example, you might want "iPod" and "MP3 player" to
resolve to the same search for music players.
Example: dresses, dress, -dress shirts, -shirts
a. Included as synonyms: 39 results
b. Not Included as synonyms: 46 results (picks up dress shirts as well)
Can also be used for frequently misspelled words: Color, colors, colour, colours
Youll need to re-index the synonym index after updating.
You can export and import as part of an index definition file.
Entered as compound words to allow single or two word terms to be used interchangeably and to provide the exact same
search results
a. No compound word: back pack- 5 results; backpack 0 results
Added compound word back-back
47
2.
3.
4.
5.
6.
7.
8.
9.
and there must be more than one character on each side of the hyphen.
Using Wildcards
A compound word definition can only contain one wildcard. The wildcard must have at least three other characters with it: a
hyphen and two characters.
The following are valid compound word definitions:
*-kleid , herren-* , herren-*-hose
The following definitions are invalid:
* , *-* , *-herren-* herren-*-*
Using Phrases
Compound word phrases are enclosed in quotes and require that both terms be found in each searchable attribute. Wildcards are
not allowed in search phrases. Phrases must include a hyphen to be valid.
For example, if you configure "work-shirt" then both work and shirt must both be found in a searchable attribute for the product
to be returned as a search result. The following are valid compound word definitions:
"cheese-cake" , "digital-camera"
The following definitions are invalid:
"ice cream" , "*-shirt"
48
Search Suggestions
Navigate to: Search> Search Suggestions
1.
When a customer starts to enter a search term, they are offered a list of up to ten possible completions of the query. The list
of terms is updated with each letter they enter into the search box. If the customer selects a suggestion, it is used in the
search query.
2. Search suggestions always appear in lower case to avoid duplicates based on capitalization. The case in which the search
term is entered does not affect the suggestions that appear.
3. If both single and plural values are added when creating suggestions, the single value is treated as a duplicate and only the
plural form of the suggestion appears in the storefront. For example, even if you create blouses and blouse as search
suggestions, only blouses appears as a search suggestion. The exception to this is if the plural form of the word has a
different stem. For example, scarf and scarves both appear. However, if only the singular form is added as a suggestion, it
appears in the singular.
4. All characters are retained from category names for search suggestions, including hyphens and ampersands.
5. The full name of categories and brands always appears in the search suggestion.
6. Can include/exclude search terms
7. Beside each search term, the customer sees the hit count for the search term on your site.
8. Suggestions are sorted by hit count. The hit count indicates the number of products or articles that search has found in the
storefront.
9. Enabling search suggestions: Search> Search Preference> enable
10. Youll need to re-index the suggest index after updating. Once built, you can review the search suggestions included in the
suggest index by opening the Documents tab of the suggest index. This tab lists all the suggestions derived from category
names, product brands and your custom suggestions, along with the calculated hit counts a particular suggestion will drive.
11. You can export and import as part of an index definition file.
Search Suggestions
all display names of all categories from the site's storefront catalog
In addition, you can also add terms or prevent terms from being suggested. For example, if you wanted to add fringe as a
suggestion for a new line of clothing. Alternatively, if you do not want the term Adult Videos suggested to the customer, adding it
to the blacklist prevents it from appearing as a suggestion.
German umlaut and eszett characters ( , ) and standard replacement characters (ue, ss) can be entered by the user. Search
suggestions appear as they are stored in the product catalog. For example, whether you enter trger or traeger, you see
trgertops and trger-tops as suggestions for both.
Suggestions that do not lead to results are not included in the suggest index.
Query terms with more than fifty characters are not included in the suggest index.
49
When adding custom search suggestions, the term must appear in indexed catalog data. Search suggestions for indexed
content data are currently not supported.
2.
3.
4.
5.
6.
Category names that are excluded are not indexed as keywords for the product and are not included in search phrase
suggestions. This is generally useful for combination categories that have subcategories with very distinct products. For
example, if your storefront has a 'Boy & Girl' category and the customer searches for boy , you do not want girl items to be
included in the search result because of the 'Boy & Girl' category name that is inherited by all products in that catalog tree.
Do not exclude categories if they contain products that are not assigned to subcategories or additional categories that can be
indexed.
There may also be combination categories that you do not want to exclude, such as ipod & MP3 player where you want
related products to appear. For example, if a customer searches for ipod, you may want lower cost MP3 player products to
also appear in the search.
The list of category names in a group must be delimited by comma. If a category name contains a comma, it must be
escaped with '\', for example example 'Consoles\, Games and more'.
If the category does not exist in the default locale, set the Locale field before clicking Find.
You can export and import as part of an index definition file. Negative synonyms keep them out.
Hypernym Dictionary
Navigate to: Search> Hypernym Dictionary
1.
2.
3.
4.
Configure the storefront search so that searching for a term returns the results for a number of other terms, but searching for
those terms only returns their own results. For example, you might want a search for jeans to return results for bootcut,
skinny, and wide leg jeans, but not have a search on any of the individual terms return only their own results.
Each hypo- and hypernym must not be defined with more than four words. Multi-word phrase
Configure hypernyms and hyponyms in Business Manager before building the synonym index.
You can export and import as part of an index definition file.
In the Keyword field, search to see if the words you want to include as a hyponym or hypernym are already included in a
synonym group. Words can be included in more than one hyponym group. However, the system searches for all hypernyms
that the word is a hyponym for. Since hypernyms are usually broad terms, this can lead to large numbers of irrelevant search
results.
In the Locale list, select the local for the hypernyms to be applied. You can create a separate hypernym for different locales.
In the Hyponym (the special term) field, enter a single term. To add multiple terms, add additional hyponyms that point to
the same Hypernym.
Click Apply to save the hypernyms you created.
Common phrases are search phrases of two up to 5 words separated by spaces that should be searched as a whole and not as
separate words, such as 'bed in a bag', 'sleeping bag' or 'tank top'.
50
2.
Keyword: enter search term to see if a common phrase was already configured that includes that term. This prevents the
accidental creation of duplicate entries.
Locale: select the locale that you want to create or edit common phrases for. You only see the common phrases for the
locale you have selected in the dialog.
Select All: select any items and then click Reset or Delete.
Exact Match: select one of the following options:
Exact Match - If you search on the exact phrase, only products that include the exact phrase are returned. The exact
phrase is all the words in the phrase in the same order and adjacent to one another. Search queries that include terms
from the common phrase do not return any of the products that contain the common phrase. For example, if table
lamps is an common phrase with exact match, then searching on table lamp returns only table lamps. Searching on
table, lamp, or lamp table does not return table lamps.
Last Word Match - if you search on the last word in the phrase or the exact phrase, products including the exact
phrase are returned. For example, if table lamps is a common phrase with last word match, then searching on table
lamp returns only table lamps. Unlike exact match, however, searching on lamps returns all types of lamps, including
table lamps.
New Phrase: Enter a new common phrase and click Apply. If you do not click Apply your changes are not saved.
Apply - click to apply any changes made since opening this page.
Reset - click to undo any changes made since opening this page.
Delete - click to delete any checked items.
2.
3.
4.
Use this page to maintain localized search terms, online state and valid periods and redirect actions.
51
Simple - click to perform an advanced search for a redirect. Click to hide advance search options. Simple search options
include the following:
Keyword or Target: enter the keyword you expect a customer to search on or the name of the page, URL, or pipeline you
want to redirect the customer to.
Advanced - click to perform an advanced search for a redirect. Advanced search options include the following:
Keyword: enter the search keyword you expect a customer to enter when searching for a product.
Target: enter part or all of the target. The target can be a pipeline name, a content asset ID, or a URL.
Show Product Page - redirects the customer to a specific product detail page.
Redirect to URL - redirects the customer to a specific URL, such as a microsite or alternate language site.
2.
3.
Typically start with the following which you can pull out of your sandbox:
a) Best-matches
b) Price High to Low
c) Price Low to High
d) Product Name A Z
e) Product Name Z A
Most popular and best sellers are based on active merchandising data so wont kick in until after launch, but you can help
set them up for future use.
Additional documentation - Best Practices for Searchandising Sorting Rules White Paper:
https://xchange.demandware.com/docs/DOC-5832
52
Remove: click to remove the sorting rule. Be careful when using this control, since this cannot be undone.
Section Controls: Use these controls to page through selected attributes and refresh your view.
Sorting Attributes
For each sorting rule, you can define sorting attributes.
Add - click add to add an attribute to the list. Select an attribute to sort by from the drop-down list. The list is organized by
the following attribute types:
Standard attributes: Standard attributes allow you to intervene in sorting using explicit placement of search results for
categories, based on specific attributes intended for search ranking, or using availability.
Product attributes: You can select any attribute of the product system object to use in a sorting rule, as long as it is
not a Password, Image, Text, Html, or Email type of attribute. Product attributes do not have to be flagged as online or
searchable to be used in sorting rules.
Active Data attributes: These attributes require the active merchandising feature to be implemented for the attribute
data to be useful in sorting. These attributes include data collected from orders on your production system and
information collected from storefront pages.
Availability model attributes: These attributes require the availability, active merchandising, or both features to be
implemented for the attribute data to be useful in sorting.
Dynamic attributes: Dynamic attributes are custom combination of attributes that are created by the merchant.
Attribute: Displays the name and ID of the attribute. All system attributes are listed as Name ( type.ID ). All custom
attributes are listed as Name ( type. custom. ID ). Since it is possible to have multiple attributes with the same name, check
to make sure you are selecting the correct attribute type and ID in addition to the correct name.
Text Relevancy: select whether you want to combine text relevance with the attribute score using the following options:
Yes: Use a 50%-50% weighting between the selected attribute and the text relevance score. The text relevance score
(between 0 and 1) is multiplied by the score of the attribute selected for the rule. This is appropriate when there are
multiple items that may have the same score from the sorting attribute or when it will not be readily apparent to the user
53
that more than just the selected attribute is being used for sorting. For example, sorting by recommendation or
bestselling.
No: Only the score for the attribute selected for the rule is used. This is appropriate when it is unlikely that multiple
items will have the same score or when the customer expects the results to only be sorted by the selected attribute. For
example, alphabetical and price sorts are expected to be sorted only by the selected attribute.
N/A: The selected attribute cannot use text relevancy.
Direction: click to add an attribute to the list.
Ascending: Sorts the results from top to bottom in the search results from the lowest value to the highest (A-Z, 1-100).
Descending: Sorts the results from top to bottom in the search results from the highest value to the lowest (Z-A, 1001).
Remove - click to remove the attribute from the sorting rule.
Sorting Preview
Select a category: select a category to view results for a category navigation. To preview a keyword search, select the All
Categories option.
Enter a search term: enter a search phrase to preview the results from this search.
Preview: click to preview results for the selected category and search term.
Clear: click to clear the current result set.
Description
Type
Sample
Value
Availability
Real-Time
Availability Rank
SKU Coverage
Real-Time
0.9
N/A
Time to out of
Stock (TTOOS)
Real-Time
14
N/A
Return Rate
Imported
4.50%
N/A
Cost Price
Imported
10.19
N/A
Average Sales
Price
Near-Time
13.99
Day, Week,
Month, Year
Impressions
Near-Time
17774
Day, Week,
Month, Year
0.59
Period
N/A
1 or 0
54
product set
Views
Near-Time
564
Day, Week,
Month, Year
Revenue
Near-Time
2244.66
Day, Week,
Month, Year
Units
Near-Time
456
Day, Week,
Month, Year
Conversion
Near-Time
4.70%
Day, Week,
Month, Year
Days Available
Real-Time
Average Gross
Margin Value
Near-Time
3.8
Day, Week,
Month, Year
Average Gross
Margin Percent
Near-Time
27.20%
Day, Week,
Month, Year
Look To Book
Ratio
Near-Time
5.00%
Day, Week,
Month, Year
Near-Time
30.8
Day, Week,
Month, Year
Sales Velocity
Customer Attributes
Attribute
Description
Type
Sample Value
Period
Visits
Near-Time
Week, Month,
Year
Orders
Near-Time
21
Lifetime
Near-Time
Lifetime
Near-Time
9.99
Lifetime
Near-Time
2387.89
Near-Time
127.51
Month,
Lifetime
Lifetime
Near-Time
188.45
Lifetime
Near-Time
90
Lifetime
Near-Time
Lifetime
Near-Time
Lifetime
Returns
Return Value
Order Value
Average Order
Value
Discount
Value without
Coupon
Discount
Value with
Coupon
Source Code
Orders
Gift Units
55
Top
Categories
Ordered
Ordered
Products
Viewed
Products
Abandoned
Products
Near-Time
Lifetime
Near-Time
Video,
Audio,Top
Sellers
S123,S456,S7
89
S123,S456,S7
89,S999,S888,
S777
S999,S888
Lifetime
Near-Time
Near-Time
Near-Time
Lifetime
Month
Month
Select a language for the storefront option. If you do not have sites in different languages, select Default or the locale for the
current site.
Enter a unique ID for the Sorting option. This ID is only used internally and in Demandware to identify the sorting option.
For example, you may want to distinguish between two rules with the same display name "Hot sellers" that are intended for
different categories and so have different IDs "womensHotSellers" and "mensHotSellers".
Select a sorting rule from the drop-down list.
Enter a description for the storefront option. This description is optional and can be used to show additional help text to the
customer.
Click Apply at the bottom of the screen.
Note:
You must click Apply at the bottom of the screen to save your changes. Clicking Apply for the Select Language option does
not save changes.
56
On the Storefront Sorting Options page, use the Select language drop-down to select the language for a site and click the
Apply button to the right.
Enter the other information for the sorting option and click Apply at the bottom of the page.
Select another language from the Select language drop-down and click the Apply button to the right. The values for the
Display Name and Description are cleared for this language.
Enter the display name and description for the selected language and click Apply at the bottom of the page.
The search preferences you configure control the behavior of the search feature for your instance.
These preferences can be exported.
Set the Availability Low Ranking Threshold to indicate the percentage of availability from which products are to be
ranked lower and pushed to the end of the search results. (For example, 0.3 indicates that all products with an
availability of 0.3 and below should be pushed to the end of the search result.)
Ranking is done at query time instead of indexing time. Thus, a change to a rule or threshold takes effect
immediately. The results are not sorted by availability; products are shifted via additional sorting criteria. To
control the priority of Availability Ranking and any other sorting criteria in the storefront, use the Sorting
Configuration to change the predefined order of possible sorting conditions
57
If a search query yields no results, the Demandware spellchecker checks the search query to detect misspellings that could
cause empty search results. If it identifies an alternate spelling, it asks the customer "Did you mean: (alternative spelling)?".
Customers can click the suggested spelling to launch a new search for that term.
You can set an accuracy parameter to increase the chances for more results, but this may product less accurate results.
Increasing the accuracy of the spellchecker may decrease the chance for a result, but provides more accurate results. A
suggestion can also be provided if a search query leads to results; this can be controlled with the "Spell Checking Strict
Accuracy" value. For more information on these settings, see the "Enabling Spell Checking" topic, below.
Implementation of suggested spell correction enables online retailers to provide a better user search experience and increase
visibility of the product catalog. This should improve search conversion and average order value as users find relevant
products more easily.
Demandware's search engine creates an "n-gram" based spelling index. N-gram refers to a set of n characters which are part
of the search term(s) entered. Each string from the user search query is transformed into a set of n-grams, and Demandware
performs a search against the spelling index with the relevant n-grams. Short words have 1-grams and 2-grams, whereas
longer words have 3-grams and 4-grams.
The following is an example n-gram table for the word "software" (not a complete list):
Gram-type
Value
Id
Software
end3
Are
end4
Ware
gram3
Sof
gram3
Oft
gram3
Ftw
gram4
Soft
gram4
Ftwa
gram4
Ware
If the user inputs the search query "sofware", the result of this query could be the word "software" because its n-grams match the
n-grams of "sofware" best. This is what would appear on the browser. The following is another example of a no results page.
58
There are several features you can configure that control the behavior of the spelling suggestions feature.
Spell Checking Enabled (Enabled/Disabled) - Completely disable or enable the spellchecking feature; changing this
selection requires a rebuild of the spelling indexes to take effect.
Spell Checking Index Threshold (0..100% expressed in decimal form, 0.0 to 1.0) - Percentage of the most frequent
words that should be indexed in the spell correction index. This percentage leads to a minimum required word frequency.
Best practice is 0.3. This means that 70% of the most frequent words are indexed.
Spell Checking Smooth Accuracy (0..100% expressed in decimal form, 0.0 to 1.0) - Spellchecker accuracy used in case
no search results are found. Increasing this accuracy may result in fewer, but more accurate, suggestions. Decreasing this
accuracy may result in more, but less accurate, results. Best practice is neutral, 0.5.
Spell Checking Strict Accuracy (0..100% expressed in decimal form, 0.0 to 1.0) - Spellchecker accuracy in case search
results are found. Best practice is high, 0.9.
Export
Search Settings
Sorting Rules
Description
Import or export search settings from or into XML files.
Import or export sorting rules and storefront sorting options from or into
XML files.
59
Online Marketing
Promotions
Navigate to: Online Marketing> Promotions
1. Create the clients go live promotions.
2. How to doc - Where promo messaging displays in this area (https://xchange.demandware.com/docs/DOC-13246)
Promotion Details
Select Language: select a language from the dropdown and click Apply.
ID: enter a unique promotion ID. This is the internal identifier.
Name: enter a promotion name (appears in the shopping cart).
Enabled: select Edit to enable the promotion. The promotion is not available to customers unless Enabled is Yes (and the
campaign or AB test is also enabled).
Searchable: select Yes to make the promotion searchable. This is for product promotions. You must also change you
application to use this feature. See APIs for Get promotion products.
Callout Message: enter a callout message (appears on the product detail page). Click the HTML Editor link to edit the
callout message in the HTML editor.
Promotion Details: enter the promotion details. Click the HTML Editor link to edit the promotion details in the HTML
editor.
Image: click Select to select the image you want associate with the promotion (appears in the storefront, if supported by
storefront).
Compatibility: select compatibility settings.
Exclusivity: select a (mandatory) exclusivity type.
No: can be combined with any promotion.
CLASS: cannot be combined with promotions of the same class.
GLOBAL: cannot be combined with any promotion. (Use Global for the best offer or the one you want to
supersede all others.)
Apply: click to save the new promotion. The Promotion Rule section appears. See below.
Copy: click to copy the current promotion to another promotion.
Delete: click to delete the current promotion.
<<Back to List: click to return to the Promotion List page.
Promotion Rule
This section is where you configure or modify the rules for this promotion.
60
Product
Order
Shipping
Discount: fields vary by promotion class and type. Enter the discount amount (for example, 20), and then select the
discount.
Percent Off, Amount Off, Fixed Price, Price from Pricebook, Bonus Product(s),
Choice of Bonus Product(s) (see Choice of bonus products discount details below),
Fixed Price Shipping, Free Shipping
Percent Off, Amount Off, Fixed Price, Price from Pricebook, Bonus Product(s),
Choice of Bonus Product(s) (see Choice of bonus products discount details below),
Fixed Price Shipping, Free Shipping
Percent Off, Amount Off, Fixed Price, Price from Pricebook, Bonus Product(s),
Choice of Bonus Product(s), Fixed Price Shipping, Free Shipping
Percent Off, Amount Off, Fixed Price, Total Price, Price from Pricebook, Fixed
Price Shipping, Free Shipping
Buy X / Get Y
Percent Off, Amount Off, Fixed Price, Price from Pricebook, Free
Percent Off, Amount Off, Fixed Price, Price from Pricebook, Free
61
products
With number of shipment qualifying
products
Product Class
Qualifying Products: click Edit to specify discounted products if your promotion has specific product-purchase conditions
(for example, Spend $100 in our electronics department and get 15% off entire order). The Product Include/Exclude dialog
opens. Otherwise, leave this section blank, indicating that the promotion does not have any specific product conditions.
Discounted Products: select Same as qualifying products to specify that the discounted products are the same as the
qualifying products.
Exclusions: select to disable any global product exclusions. This means that any product can qualify for the promotion, even
if it is a globally excluded product.
Restrictions: select apply the promotion to identical products only, up to the application limit for each separate product.
(For Buy X For Total only.)
Maximum Application: enter the number of times a customer can use this promotion per order.
Order Class
Excluded Products: click Edit to define a product rule identifying products that are excluded from the promotion. The
Product Include/Exclude dialog appears. Excluded products do not contribute toward the merchandise total of the promotion
condition, and do not receive a discount.
Qualifying Products: click Edit to specify discounted products if your promotion has specific product-purchase conditions
(for example, Spend $100 in our electronics department and get 15% off entire order). The Product Include/Exclude dialog
opens. Otherwise, leave this section blank, indicating that the promotion does not have any specific product conditions.
Discounted Products: select Same as qualifying products to specify that the discounted products are the same as the
qualifying products.
Payment Methods: click Edit to specify payment methods or cards that can qualify a customer for a percent off discount on
their order. This opens the Available Payment Methods Window.
Alert: Return as approaching promotion. (Only if merchandise total is within $ ____ of the purchase condition.):
select if you want to alert the customer about this promotion when merchandise total is within a monetary value of the
discount threshold. The customer is always alerted if the value is omitted.
Note:
This optional setting requires template changes for the feature to display in the storefront.
Enter the monetary amount, for example $50.
See Alert on approaching discounts.
Shipping Class
Qualifying Products: click Edit to specify discounted products if your promotion has specific product-purchase conditions
(for example, Spend $100 in our electronics department and get 15% off entire order). The Product Include/Exclude dialog
opens. Otherwise, leave this section blank, indicating that the promotion does not have any specific product conditions.
Shipping Methods: click Edit to specify the shipping methods. The Shipping Methods Assignment page appears.
Restrictions:
select if the shipment must contain only qualifying products.
Alert: Return as approaching promotion. (Only if merchandise total is within $ ____ of the purchase). select if you
want to alert the customer about this promotion when merchandise total is within a monetary value of the discount threshold.
The customer is always alerted if the value is omitted.
Note:
This optional setting requires template changes for the feature to display in the storefront.
Enter the monetary amount, for example $50.
See Alert on approaching discounts.
Maximum Application: enter the number of times a customer can use this promotion per order.
62
Description
Enable upsells
Upsell threshold
true
50
true
75
60
Case 1
Burt Green has $140 worth of merchandise in his cart. He does not qualify for any of the promotions. The API returns all three
approaching discounts because the cart is within the thresholds defined by all three promotions.
Case 2
Sara York has $150 worth of merchandise in her cart. She receives 10% off her order due to Promotion 1. This brings her
merchandise total to $135. The basket is within the threshold for Promotion 2 (here the $150 is used to determine this, not the
$135), and so she sees the upsell message for Promotion 2:
"Buy $50 more worth of merchandise and receive '20% off orders over $200.00'"
The upsell message says "$50 more worth of merchandise" instead of "$65 more." This is because the merchandise total that is
used is after product promotions but before order promotions are considered. The assumption is that merchants typically do not
stack order promotions (i.e. they are class-exclusive), and that when the customer reaches the threshold for the second promotion,
the first will no longer apply.
Sara does not see upsell message for Promotion 3 because her merchandise total after order discounts is $135, which is less than
$140 and therefore not within the threshold range defined by that promotion.
Note:
The Demandware platform does not consider the exclusivity or rank of promotions in the PromotionPlan during this process.
The reason is that the rank of two promotions that are based on the amount of merchandise total is irrelevant if the cart
63
satisfies one condition threshold but not the other. In this case, the cart receives the discount for the promotions whose
condition is satisfied, regardless of rank. Only when the cart satisfies the thresholds for both, can rank make a difference.
Quantity
Price
Product-1 1
$10
Product-2 1
$50
Product-3 1
$40
The merchant has configured the product promotion 10%OffOnAny, "Get 10% on any product."
When the Disable Global Excluded Products flag is off for_10%OffOnAny,_ this promotion will apply to Product-2 and
Product-3, but not Product-1.
When the Disable Global Excluded Products flag is on for_10%OffOnAny,_ this promotion will apply to all products in the
cart
These are some considerations
Products that match the Global Product Exclusions rule cannot be a qualifying and/or discounted product for any product
promotion, unless global exclusions are disabled for this promotion.
Products that match the Global Product Exclusions rule must be excluded from any order promotion, unless global
exclusions are disabled for this promotion.
Though you cannot exclude products from shipment-level shipping promotions, a product-level shipping promotion is a
product promotion, to which global rules can apply.
Merchandise Total
Product exclusions, whether global or individual, do not count toward the merchandise total used to trigger a promotion. For this
promotion, for example, Spend $100 get a 10% discount on qualifying products, excluded products are not counted.
SKU
Price
Product-1
$50
$40
The customer would not receive the promotion because the total is not $100 or more with the $10 excluded.
Examples
If you want ...
64
Included
Products
Qualifier: click in the field and select a qualifier from the list.
Operator: click in the field and select an operator from the list. You must select a qualifier before you can select an
operator.
Value: click in the field and enter a value or select one from the list. You must select a qualifier before you can enter or
select a value.
Catalog: click in the field and select a catalog. This field is only active if the qualifier is Category.
Add: click to add a qualifier and create AND statements between them.
Qualifier: click in the field and select a qualifier from the list.
Operator: click in the field and select an operator from the list. You must select a qualifier before you can select an
operator.
Value: click in the field and enter a value or select one from the list. You must select a qualifier before you can enter or
select a value.
Catalog: click in the field and select a catalog. This field is only active if the qualifier is Category.
Add: click to add a qualifier and create AND statements between them.
Schedule/Qualifiers/Compatibility
This section shows the settings that were assigned in the campaign or AB test.
65
Campaign
AB Test
Schedule: shows the schedule that is assigned to the promotion via the campaign or AB test.
Customer Groups: shows the customer groups that are assigned to the campaign or AB test.
Source Codes: shows the source codes that are assigned to the promotion via the campaign or AB test.
Coupons: shows the coupons that are assigned to the promotion via the campaign or AB test.
Required Qualifiers: shows if the promotion requires all or any of multiple qualifiers to be satisfied in order to apply.
Campaigns
Navigate to: Online Marketing> Campaigns
1.
1.
Identify any promotions / campaigns set up during Boot Camp by pre-pending names with boot camp or your name. This
way client can turn them off and use for reference later on.
Popular launch promotions include:
Free/Discounted Shipping
BOGOs
2 for $<##>
$ or % off a Category
Buy X, Y, get Z
Use this page to configure general campaign settings. Fields with a red asterisk are mandatory.
General
66
No Start Date: select to specify that the campaign will start now.
End Date: Specify an end date and time.
No Start Date: select to specify that the campaign will run continuously.
Customer Groups: click Edit to specify one or more customer groups. The Assign Customer Groups page appears.
Source Codes: click the Edit button to specify one or more source codes. The Assign Source Codes page appears.
Coupons: click the Edit button to specify one or more coupons. The Assign Coupons page appears.
Experiences
Add Promotion: select to add a promotion. The Assign Promotions page opens.
Add Slot Configuration: select to add a slot configuration. The Assign Slot Configuration page opens.
Add Sorting Rule: select to add a sorting rule: The Assign Sorting Rule page opens.
For each experience, use the navigation controls to locate the experience you want. Pageable grids can show 20 rows at
a time. If sorting was applied to a grid and a new experience is added, the sort is removed and the new experience is
placed at the end of the results set.
Promotions (# experiences)
Note:
A promotions must be part of a campaign or AB test in order to run.
ID: shows the ID of each promotion.
Schedule: initially shows the schedule of the containing campaign. Double-click the calendar icon
to change
the dates with the boundaries of the campaign's start and end dates. The Edit Scheduling page opens.
Customer Groups: shows the assigned customer groups. Double click the field and click the Elipses (...) to select customer
groups. The Use customer groups as promotion qualifiers ? checkbox appears.
If this checkbox is checked, the promotion uses customer group qualifiers. You cannot deselect customer groups
inherited from the campaign. You can only add customer groups.
If the checkbox is not selected, customer groups are not used as qualifiers.
Source Codes: shows the assigned source codes. Double click the field and click the Elipses (...) to select source code
groups. The Use source code groups as promotion qualifiers ? checkbox appears.
If this checkbox is checked, the promotion uses source code group qualifiers. You cannot deselect source code groups
inherited from the campaign. You can only add source code groups.
If the checkbox is not selected, source code groups are not used as qualifiers.
Coupons: shows the assigned coupons. Double click the field and click the Elipses (...) to select additional coupons. The
Use coupons as promotion qualifiers ? checkbox appears. This flag, selected by default, indicates that coupons are to be
inherited by the promotion from the parent campaign. Within a campaign, you configure a schedule and qualifiers. All
experiences inherit the relevant qualifiers by default.
If this checkbox is checked, the promotion uses coupon qualifiers. You cannot deselect coupons inherited from the
campaign. You can only add coupons.
67
Note:
Slot configurations can be part of a campaign or AB test, but they can also run independently.
ID: shows the unique ID of each slot configuration
Slot: shows the slot name of each slot configuration.
Context: shows the context of the slot configuration.
Schedule: initially shows the schedule of the containing campaign. Double-click the calendar icon
to change
the dates. The Edit Scheduling page appears.
Customer Groups: shows the assigned customer groups. Double click the field and click the Elipses (...) to select customer
groups. The Use customer groups as promotion qualifiers ? checkbox appears.
If this checkbox is checked, the slot configuration uses customer group qualifiers. You cannot deselect customer groups
inherited from the campaign. You can only add customer groups.
If the checkbox is not selected, customer groups are not used as qualifiers.
Rank: click the field and select a rank (10 through 100). See Promotion Compatibility.
Enabled: indicates if a promotion is enabled.
Promotion Compatibility
You may not want to allow multiple order promotions at the same time, which is called stacking. For example, a customer might
have multiple coupons for different order promotions, but you only want them to redeem one coupon per order.
Your business rules may require that certain promotions cannot be combined (stacked). For example, if there is a global 10%
product promotion for everyone, and a special 20% product promotion for registered customers, registered customer should only
receive the 20% discount.
You may, however, want multiple promotions applied to an order. For example, you may want a consumer to receive a 10%
discount on a product in the cart, free shipping based on the order value and a free bonus product with the same order.
You can control which promotions are applied and in what order using compatibility rules, so that all promotions for which a
consumer is eligible are not automatically applied to the shopping cart. The system attributes rank and exclusivity let you do this.
Rank
The rank attribute lets you define which promotions take precedence (with 10 = highest and 100 = lowest, for example). Using
the Business Manager's Promotion editing page, you can set the (optional) rank of a promotion. By default, a promotion has no
rank.
A promotion without a defined rank has a lower ranking than promotions with a defined rank.
Promotions are applied in the order of their rank (highest rank first). To ensure predictable results, promotions with the
same rank are additionally sorted by the default sorting mechanism (see Default Sorting ).
Customize the rank values by editing the rank attribute of the system object Promotion.
68
Note:
The rank settings are configurable system objects. For access to these objects you must be a system administrator.
See Business Objects for Promotions.
Coupons
Navigate to: Online Marketing> Coupons
1.
2.
3.
4.
5.
6.
Configure single-code coupons if you want to issue a coupon with a specific code.
Configure a multiple-code coupon if you want to issue a coupon with multiple codes.
You can also configure a series of system-generated coupon codes.
Import Coupon excel and xml docs: https://xchange.demandware.com/thread/7828
Merchant-import coupon codes can be deleted one by one as needed. Use case would be a retailer who uses coupon
codes for their employees.
System generated coupon codes cannot be deleted one by one as needed. The workaround is to export the coupon codes
and then re-import them as merchant-imported which will then give you that capability.
Use this page to configure coupons. Fields with a red asterisk are mandatory.
System-generated codes
Coupon Code: Enter the coupon code (for merchant-defined single code coupons).
Coupon Prefix: Enter a coupon prefix (for system-generated code coupons). This is the prefix you want added to the
beginning of each code generated by the system (optional)
No. of Codes: Enter the number of codes (for system-generated code coupons) you want generated by the system.
Enabled: Check this to enable the coupon(s) so that consumers can redeem them.
Redemption Limits
Per Coupon Code: Enter the number of redemptions per coupon code.
69
Assignments
After you click Apply, the Assignments section opens.
Campaigns: Click Edit to specify the campaigns you want to assign to this coupon. The Available Campaigns page opens.
Promotions
Lists the promotions assigned to this coupon.
Coupon Codes
Lists the coupon codes assigned to this coupon and allows you to add new coupons. You will only add merchant-defined multiple
coupon codes.
Exported
Not exported
Enter New Coupon Code...: Enter a new code and click Add Coupon Code. The new code appears in the list. Repeat as many
times as necessary to define all the required coupon codes.
- Click to delete a coupon code.
Note:
Coupon codes are generated on staging and included in data replication to Production. While testing them on staging, any
coupon codes redeemed on staging will not work on production.
Use the navigation controls to locate the items you want.
Source Codes
Navigate to: Online Marketing > Source-Code Groups > New
1.
2.
General Tab
Assignments
70
Promotion ID: Shows the Promotion ID of each assigned promotion. After assigning a source code group to a promotion
(in the Campaign module), you must select the source code and enable it (here) to make it a promotion qualifier.
Container Type: Shows the container type of each promotion, for example, Campaign.
Codes Tab
Source-Code Specification: Enter a new source code specification and click Add to add a new set of codes.
Source-Code: Enter a source code and click Test Match to test that the source code matches the source code specification.
Select All: Click to select all source code specifications.
Redirects Tab
Attributes Tab
71
Navigate to Administration > Site Development > System Object Definitions > SourceCodeGroup.
Click the Attribute Definitions tab.
Click New to create one or more attribute definitions.
Click <<Back to return to the list.
Click the Attribute Grouping tab.
Enter an ID and name, then click Add.
Click the Edit button beneath the Attributes header.
Click the ellipses (...) beside ID to identify the attribute definition you just created. Select it, then click Select.
Navigate to Online Marketing > Source Code Groups > (source code groups) > Attributes tab to see the results.
Active
Use these settings to specify redirect behavior for active source codes.
Product: Select to redirect to a product details page. Enter a product or click the (elipses) to browse for a product.
Category: Select to redirect to a category page. Enter a category or click the (elipses) to browse for a category.
Page: Select to redirect to a page. Enter a page or click the (elipses) to browse for a page.
Product: Select to redirect to a product details page. Enter a product or click the (elipses) to browse for a product.
Category: Select to redirect to a category page. Enter a category or click the (elipses) to browse for a category.
Page: Select to redirect to a page. Enter a page or click the (elipses) to browse for a page.
Price Book ID: Enter a price book ID and click Add, or click the (Ellipses...) and then the price book you want, and then
click Add to assign the price book to the source code group.
ID: Shows the ID of each price book assigned to a source code group.
Name: Shows the name of each price book assigned to a source code group.
Currency: Shows the currency of each price book assigned to a source code group.
Based On: Shows the price book on which the current price book is based.
Effective Period: Shows the effective period of the price book assigned to a source code group.
Status: Shows the status of a price book assigned to a source code group.
Activated
Deactivated
72
Gift Certificates
Navigate to: Online Marketing> Gift Certificates
1.
2.
3.
If client is intending to utilize gift certificates, then walk them through the UI in BM. Otherwise, you can skip over this
process.
In the Demandware SiteGenesis Application, functionality has been provided for storefront customers to:
Stores
Navigate to: Online Marketing> Stores
1.
2.
Review Clients store details page and walk through area in BM on how to manage, change, add, make updates.
How-to upload Store via Excel doc: https://xchange.demandware.com/thread/7837
Use this page to add information about a new store. Fields with a red asterisk are mandatory.
Select Language: select the language to be used with this store on the storefront.
Apply: click to apply your changes.
Basic Attributes
Postal Code: enter the postal code where the store is located.
73
Store Details
Store Hours: enter the store hours. Click HTML Editor to edit the text in an HTML editor.
Store Events: enter details about store events. Click HTML Editor to edit the text in an HTML editor.
Image: enter an image name or click Select to locate and/or upload an image.
Gift Certificates
Source-Code Groups
Stores
Content Slots
AB Tests
Promotions
Coupons
Coupon Code Export
(CSV)
Coupon Redemption
Export (CSV)
Gift Certificates
Source-Code Groups
Stores
Content Slots
AB Tests
Description
Import or export promotions from or into XML files.
Import or export coupons from or into XML files.
Export coupon codes by exporting codes into a CSV file.
Export coupon redemptions by exporting codes and related
information into a CSV file.
Import and export gift certificates from or to XML files.
Import or export source-code groups from or into XML files.
Import or export stores from or into XML files.
Import or export content slots from or into XML files.
Import or export AB-tests from or into XML files.
74
Customers
Navigate to Customers> Customers> new
1.
2.
3.
4.
5.
Manage basic customer data such as name, ID, login and password.
Search the customer database.
Add, edit and delete customers and import customer profiles.
Create and manage new customer attributes.
Import/export customer data from/to external databases.
General Tab
Apply: Click to apply the changes. The tabs appear dimmed until you click this button.
Reset: Click to reset the fields.
Customer
Credentials
Generate: Click to automatically generate a customer number. The customer number appears in the field.
Generate: Click to automatically generate the customer's password. The customer's password appears to the right and in the
Confirm Password field.
Send Password Update Mail: Select to send an email to the customer with the new password.
Note:
Customer site preferences control how your storefront responds to failed login attempts by visitors to your site. See
Customer Preferences page.
Profile Attributes
Enter this customer information. These attributes are defined in the Profile system object definition.
Salutation
Title
Company
Job Title
First Name
Last Name
Name Suffix
Gender
None
75
1 (Male)
2 (Female)
Birthday
Email Address
Next Birthday
Second Name: the customer's second (or middle) name.
Phone Numbers
Addresses Tab
New: click to create a new address. The [Create New Address] page appears.
Delete: click to delete selected addresses.
<< Back to List: click to return to the Customer List page.
Address List
Assign: click to assign the customer to a customer group. The Select Customer Groups page appears. You can only assign
customers to static customer groups.
Unassign: click to unassign selected customer groups. You can only unassign static customer groups.
<< Back to List: click to return to the Customer List page.
- click to select a customer group. Click the top select box to select all customer groups.
ID: shows the customer group ID.
76
Static
Dynamic
Customers: shows the number of customers assigned to the customer group.
Traffic
Visits (30 Days): Shows the number of visits in the last 30 days.
Visits (365 Days): Shows the number of visits in the last 365 days.
Conversion
Order Value (30 Days): Shows the order value f or the last 30 days.
Order Value (Lifetime): Shows the order value for the entire time the customer has been registered.
Discount Value (Without Coupon): Shows the discount value without coupons.
Discount Value (With Coupon): Shows the discount value including coupons.
Source Code Orders: Shows the number of orders with source codes.
Gifts
Top Categories Ordered: Lists the categories that were ordered the most.
Products Viewed (30 Days): Lists the products that were viewed in the last 30 days.
Products Abandoned (30 Days): Lists products added to the basket and not ordered while the basket persisted. You can set
how long the basket persists in the Basket Persistence option for site preferences. This shows variation SKUs. The
maximum number of SKUs shown equals 4000 characters.
77
Notes Tab
Note List
Customer Groups
Navigate to: Customers> Customer Groups
1.
2.
78
Dynamic: customers are identified dynamically. See Creating a Dynamic Customer Group.
System: customer are predefined by the system. You cannot create or modify a system customer group.
Note:
If you specify the wrong type, delete the customer group and start again.
Description: enter a description.
Apply: click to apply your changes. The page changes, depending on whether you selected a static or dynamic type. See the
section below.
Reset: click to reset your changes.
Cancel: click to delete the customer group (if new) or your changes and return to the Manage Customer Groups page.
<< Back to List: click to return to the previous page.
Selecting Customers
This section changes relative to the type you selected.
For Dynamic, the Membership Rule section appears. Click Edit to add membership rules. The Customer Group
Include/Exclude dialog box appears.
For Static, the Customer Count section appears. Click the Members tab to add customers.
For some System customer groups, for example Registered customer, the Customer Count section appears. In this case,
you can click the Members tab to add customers. For most System customer groups, however, no Customer Count
section appears and the Members tab is inactive. This is because, as in the case of Unregistered Customers, there is no
way for the Demandware platform to determine how many unregistered customers there are or who they are.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Open Business Manager and navigate to Site > Customers > Customer Groups.
Click New to add a new customer group.
Enter the ID (mandatory).
Select the Dynamic type from the drop down. You must select a type before you can add a new customer group.
Enter a description (for example, Female customers from the United States and Canada who spend an average of $100
or more per order) .
Click Apply. The Membership Rule section appears.
Click Edit.
Click Add to add a rule. See Dynamic customer group attributes for details on the available rules.
Click in the Attribute field.
Select from the drop-down and continue across each row with the following example selections:
Value
Attribute / Operator
Country / is equal
United States
Country / is equal
Canada
Average order size / is greater than or equals
100.00
Gender / is equal
Female
Click Save to save these entries.
Click Cancel to exit.
Click the Add Include or Add Exclude buttons to include or exclude certain customers.
This feature uses the same interface as the above described Attribute fields.
To delete a rule, click the delete icon.
To create a rule for a Session Custom Attribute:
Select the condition type Session Custom Attribute in the Attribute column. The select box will be hidden and a text
field will appear.
Enter the name of the session custom attribute, for example, Release_Number.
Select an operator from the list of string operators.
Enter a value.
To change the name of a session custom attribute, click the cell and the text field appears. You will not be
able to change the condition type (for example, from Session Custom Attribute to Birthday ). You must delete
the condition and create a new one.
79
Type
Operators
Profile
Birthday (customer.profile.birthday)
Date
Date
Gender (customer.profile.gender)
String
Date
Date
Date
String
Salutation (customer.profile.salutation)
String
City (customer.addressBook.preferredAddress.city)
String
Country
(customer.addressBook.preferredAddress.countryCode)
Enum-of-Int
Postal Code
(customer.addressBook.preferredAddress.postalCode)
Boolean
Address
80
State (customer.addressBook.preferredAddress.stateCode)
Boolean
Active Data
Average Order Value
(customer.activeData.avgOrderValue)
Integer
Date
Integer
Integer
Integer
Integer
Date
Date
Integer
Integer
Orders (customer.activeData.orders)
Integer
Set-of-String
Set-of-String
81
Set-of-String
Set-of-String
Integer
Set-of-String
Returns (customer.activeData.returns)
Integer
Set-of-String
Set-of-String
Integer
Integer
Integer
Storefront Session
Referrer URL (session.referrerURL)
Authenticated (session.authenticated)
Enum-of-Boolean
is true, is false
Registered (customer.registered)
Enum-of-Boolean
is true, is false
Enum-of-String, "is
equal" or "is not
82
Add Include: click to add more included conditions and create OR statement between them.
Add Exclude: click to add more excluded conditions and create OR statement between them.
Match: select the matching rule.
Included
Attributes
Attribute: click in the field and select an attribute from the list.
(See Dynamic customer group attributes for the supported operators per attribute.)
Active Data (for example, Average Order Value, Gift Orders, Visits)
Storefront Session (for example, Referrer URL, Registered, Session Custom Attribute)
Operator: click in the field and select an operator from the list. You must select a qualifier before you can select an
operator. These are some of the operators, which depend on the attribute:
is equal
is not equal
starts with
ends with
contains - You can enter multiple values separated by a comma. Each value is then compared against the Attribute
contents, for example City. If the City name contains at least one of your values, the condition will match.
exists
is greater than
is less than
is in range
Value: Click in the field and enter a value or select one from the list. You must select an attribute before you can enter or
select a value.
Add: Click to add an attribute and create AND statements between them.
83
The condition value(s) and the session custom attributes are numeric or Boolean-like data
If it is not a session custom attribute, or the operator is not is equal, or at least one condition value is not numeric or boolean,
Business Manager treats it as a string. Previously, the assignment to a session-based customer group did not work when the
membership rule had the above conditions.
For example, with customers with the session custom attribute 'solvencyScore' = '4', where the session attribute is a number, i.e.
Double(4.0), the conditions were stored and evaluated like conditions on strings. The number was converted into a string "4.0",
and compared with the condition value "4", which did not match.
In Business Manager, when you define the values for session custom attributes:
For numeric values, they must be like "4", "4.0", "4.567", but not "foo", 123,456.67", or "123,45". For example,
"myAttribute is equal [4.5] " will be converted to "myAttribute = 4.5".
# For boolean values, they must be like "true", "false", "True", but not "foo", "123,456.67", or "123,45". For example, a
condition "myAttribute is equal [true] " is converted to "myAttribute is true".
84
Rule Evaluation
Numeric conditions on session custom attributes now match if the value of the session custom attribute is a string. Previously, a
numeric condition did not match in this situation.
Numeric Condition on a String Attribute
For example, this rule with a numeric condition applies on a session custom attribute with a string value:
"session.custom.myAttribute = 4.0"
Value of myAttribute Rule matched previously Rule matched now
"foobar"
No
No
"4"
No
Yes
"4.0"
No
Yes
"4.5"
No
No
Yes
Decimal("4")
Yes
BigInteger("4")
Yes
4.0
No
4.5
No
Number("4")
No
Number("4.5")
No
Decimal("4.5")
No
Tip:
If you like the way this rule works, use
"session.custom.myAttribute is equal [4,4.0] ".
Batch Processing
Navigate to Customers> Batch Processes
1.
Export
Customers
Description
Import or export customer from or into XML files.
Customer Groups
Product Lists
Customer Groups
85
Content
1.
2.
Content Slots
Navigate to: Online Marketing> Content Slots
1.
2.
3.
4.
5.
6.
A developer needs to add content slots to your storefront templates before you can configure them.
Slots can be scheduled to display products, categories, content assets or static HTML.
You create a slot configuration that determines the content asset to display and schedules when it is displayed. This allows
you to use space in your storefront to display new content by configuring it in Business Manager, rather than needing to
change your storefront code.
Use the Storefront toolkit to identify content slots in the storefront. If you select the content information tool in the toolkit
and hover over the area where you want to add content, if there is a content slot you see an Edit Content link. Clicking the
link opens the correct content slot in Business Manager.
There are two slot types:
The processes and tasks involved in creating and managing content slot configurations are the same for both global and category
content slot configurations.
Note:
These instructions also apply to modifying an existing slot configuration.
1.
2.
3.
4.
86
ID
5.
Default
The slot configuration that appears when nothing else is scheduled. It is set to True for the default slot
configuration and False if the slot configuration is not the default.
Preview
Click the slot configuration name link to view details about a specific slot configuration.
Default
The slot configuration that appears when nothing else is scheduled. It is set to True for the default slot
configuration and False if the slot configuration is not the default.
Description
Content Asset - Select one or more content assets from the list.
HTML - Use the field to create HTML, using the HTML editor that becomes available (click
the HTML Editor link).
Template
Indicate the path to the rendering template; click the ellipsis to open a dialog box that lists all contenttype appropriate templates that have been uploaded by the web developer.
87
Callout
6.
Use the mini-HTML editor to format a callout for the slot configuration in the storefront.
To schedule a slot configuration, click the Add Schedule button in the Schedule/Qualifiers/Compatibility section and
select a schedule type:
Default Schedule
The Schedule/Qualifiers/Compatibility provides a matrix of the scheduling information with the following information
that you can view or edit:
ID
Site or Organization
Schedule
Click the ellipses to define when this slot configuration is to be used. Use start/end dates, days of the week and/or times of day.
A slot interval cannot be shorter than one hour (60 minutes). Time conditions are always subject to time zone and daylight saving
time considerations.
Customer
Groups
Click the field dropdown to configure a customer group. The Assign Customer Groups page appears.
Rank
Select a number from 10 to 100 (as set by the system; these are configurable system objects). A slot configuration
without a rank (NONE) is considered the lowest rank and evaluated last. Slot configurations are applied in order of
lowest rank value to highest rank value. Rank determines which slot configuration appears when multiple slot
configurations are running on the same schedule. If multiple slot configurations are scheduled and have the same
rank, then the last edited slot configuration appears.
Content Assets
Navigate to: Content> Content Assets
1.
2.
A content asset can be a flash graphic, product carousel, product search result set, or marketing graphic.
You can import content assets.
Use this page to create a new content asset within Business Manager.
88
Standard
ID: enter the content asset ID. Once created, this is view-only.
Not selected: the content asset does not appear in the storefront.
NONE
1 (YES)
0 (NO)
always
hourly
daily
weekly
monthly
yearly
never
Custom CSS File: enter the name of the custom CSS file.
Content
Enter text content into the entry field, or click the HTML Editor link to create and/or edit the material using the HTML editor.
See the HTML Editor page.
89
Link Page
Navigate to: Site> Content> Content Assets> HTML Editor> Link icon
Use this page to specify links in HTML code.
URL
URL
URL
90
Product SKU
URL
Category page URL
Category ID
URL
Content page URL
Content Asset ID
URL
Keyword Search URL
Search Phrase
URL
Link to anchor in the text
E-Mail
E-Mail Address
Message Subject
Message Body
Target Tab
Appears for all URL link types except Link to anchor in the text and E-Mail.
<not set>
<frame>
Target Frame Name: enter the frame name, if not already in field.
Advanced Tab
<not set>
Left to Right
Right to Left
Access Key: enter the access key.
Name: enter the link name.
Language Code: enter the language code.
Tab Index: enter the tab index.
Advisory Title: enter the advisory title.
Advisory Content Type: enter the advisory content type.
Stylesheet Classes: enter the stylesheet classes.
Linked Resource Charset: enter the linked resource characterset.
Style: enter the style.
Another site
Dynamic content in your site - Is content that is determined when the link is clicked. For example, if you want to link to
a set of search results, you need to create a link to a pipeline that performs the search and returns the search results.
Developers for your site can tell you the name and parameters of pipelines you can use.
Determine the type of link you need to create.
1. Open your browser and look at the URL of the page or image you want to link to.
91
2.
3.
If your URL looks like a URL outside your domain (www.otherstore.com), you should link to another site's
domain.
If your URL looks like a category page or search result, you should use the Product or Category page URL
hyperlink feature.
If your URL looks like an image, product or content asset, you should link to a static content asset.
When creating or editing a hyperlink within a content asset, select one of these link types:
URL
E-Mail
For Product, Category and Content page URLs, enter a product SKU, category ID (of a category in the site catalog) or
content asset ID (of an asset in the site library) respectively, and the system will generate the appropriate URL. If you
are creating a new hyperlink, the link text will default to the display name of the product, category or content asset in
the currently selected locale. This is from the HTML view.
Note:
Content asset links for images are usually to folders in your image library. If you want to dynamically create an absolute URL for an
image in a content asset link that includes the full path to the image, you cannot do this in the content asset editor. Instead, you must
either post-process the markup of your assets by using placeholders such as #hostname# , which are replaced with the correct value
programatically before outputting the markup or hard-code the full image URLs from production into your asset. This is usually only
a consideration if you are including content assets in emails.
$url()$ - Creates an absolute URL that retains the protocol of the outer request.
$link$ - Calls the Link pipeline in the Reference Application to call pipelines. In previous versions of Demandware,
this was the only way to link to pipelines.
$staticlink$
Creates a static content link.
Syntax ="...?$staticlink$"
When using $staticlink$ placeholders in content markup, the resulting generated links are absolute URLs and contain a host
name, no matter whether they are on production or sandbox system. CDN-based URLs are also absolute URLs.
For example, the following content:
<p><a href="$url('Search-Show','cgid','mens')$">Mens</a><$"
/> </p> <p><img width="400" height="400" alt="" src="images/large/10152_230.jpg?$staticlink$" />
</p>
Generates the following HTML:
<p><a href="http://localhost/on/demandware.store/Sites-SiteGenesis-Site/default/SearchShow?cgid=mens">
<p><img width="400" height="400" alt="" src="http://localhost/on/demandware.static/Sites-SiteGenesis-Site/Site
Example
This example shows how to include the function in your content asset, and the results of the link in the browser.
Asset Link - <img src="site/content/promo_small_1.gif?$staticlink$">
Result - Displays the image in the content asset.
92
$url()$
Creates an absolute URL and retains the protocol of the outer request.
Syntax - $url(' <pipeline>' [, '<key1>', '<value1>', '<key2>', '<value2>', ...])$
Example
This example shows the construction of the function, how to create a link in your content asset, and how the link appears in the
browser. This example creates a link to the ABOUT_US content asset.
Function - $Url('Search-ShowContent', 'q', 'customer')$
Asset Link - <a title="My URL Search Link" target="_new" href="$Url('Search-ShowContent', 'q', 'customer')$"><span>URL
Search Link Content Asset Link </span></a>
Result - http://[host]/default/Search-ShowContent?q=customer
$httpUrl()$
Creates an absolute URL and retains the protocol "http".
Syntax - $httpUrl(' <pipeline>' [, '<key1>', '<value1>', '<key2>', '<value2>', ...])$
Example
This example shows the construction of the function, how to create a link in your content asset, and how the link appears in the
browser. This example creates a link to the Video category page.
Function - $httpUrl('Search-Show', 'cgid', 'J','psortb1','category-pos_J')$
Asset Link - <a title="My Http Link" target="_new" href="$httpUrl('Search-Show', 'cgid', 'J','psortb1','categorypos_J')$"><span>Http Link Content Asset Link </span></a>
Result - http://user-tw.inside.dw.customer.net/Video/J,default,sc.html?
psortb1=category-pos_J
$httpsUrl()$
Creates an absolute URL and retains the protocol "https".
Syntax - $httpsUrl(' <pipeline>' (, '<key1>', '<value1>', '<key2>', '<value2>', ...))$
Examples
This example creates a link to the Audio category page in the Reference Application. This is a link to dynamic content that uses
the Search pipeline.
Function - $httpsUrl('Search-Show', 'cgid', 'K')$
Asset Link - <a title="My Https Category Link" target="_new" href="$httpsUrl('Search-Show', 'cgid', 'K')$"><span>Https
Category Link Content Asset Link </span></a>
Result - https://<host>:<port>/on/demandware.store/Audio/K,default,sc.html
$include()$
Creates a WAInclude with the given pipeline name and creates a relative URL. Can be used to include the result of another server
call.
Syntax - $include('<pipeline>' [, '<key1>', '<value1>', '<key2>', '<value2>', ...])$
Examples
Function - $include('Search-Show', 'cgid', 'J','psortb1','category-pos_J')$
93
Asset Link - <a title="My Include Link" target="_new" href="$include('Search-Show', 'cgid', 'J','psortb1','categorypos_J')$"><span>Include Link Content Asset Link </span></a>
Result - <wainclude url="<URL without protocol, host and port>"/>
$link$
Creates a link to the Link pipeline in the Reference Application. If you need to extend behavior you can add additional start
nodes to the Link pipeline. This is an older version of static linking that may be present in code based on previous versions of
Demandware.
Caution
If a user makes a mistake in the definition, such as: $link-something&test=1$
then the content object can never be opened again. The correct definition is: $link-something:test...$.
Syntax - $link- <type>[:key1=value1;key2=value2; ...]$
Example
This example links to the ABOUT_US content asset.
Function - $link-page:cid=ABOUT_US$ Asset Link
<a href="$link-page:cid=ABOUT_US$" title="Read more about us">
Result - http://[host]/About.Us/ABOUT_US,default,pg.html
Library Folder
Navigate to: Content> Library Folder
1.
2.
You can organize non-product content into folders within the library.
You can import library structure.
Edit: Enables you to edit the properties of the library folder. See Creating a library folder and New Library Folder Page
General Tab.
Library Folders
Select All: click to select all folders. Check a specific box to select a specific folder.
94
Folder grid
Sorting: change the sorting order of selected library folders by moving items up or down in the list; items in the list are
sorted top to bottom.
Edit: click to edit the properties of the corresponding library folder. See New Library Folder Page General Tab.
Unsort: click to remove selected folders from the list of sorted folders.
New: click to create a new library folder. See Creating a library folder and New Library Folder Page General Tab.
Select All: click to select all subfolders. Check a specific box to select a specific subfolder.
Online
Searchable
Categorized
Unsort: click to remove selected folders from the list of sorted subfolders.
New: click to create a new library folder. See Creating a library folder and New Library Folder Page General Tab.
<< Back to Parent: click to return to the parent library folder, if one is available.
General Tab
Select Language: Select a language to filter your view of the libraries subfolders or content assets.
Name: Name of the library folder.
ID: Unique ID of the library folder.
Description: Description of the library folder.
Page Title: enter the page title to display in the URL. This corresponds to the pageTitle parameter that can be set in the
Search Support Preferences page.
Page Description: enter a short product or page description. This is used in the URL and so should be very brief. This
corresponds to the shortDescription parameter that can be set in the Search Support Preferences page.
95
Page Keywords: enter the page keywords for the library contents. You may want these keywords to reflect static mappings
or mapping rules that redirect incoming URLs to specific pages. The page keywords are used by external search engines
when indexing the site.
Page URL: enter the portion of the URL relating to the page name that you want to be displayed to the customer in their
browser. This corresponds to the pageURL parameter that can be set in the Search Support Preferences page .
Presentation
Rendering Template: Specify the name of the rendering template to use for the library folder or subfolder. You need to get
the name of the available templates from a developer.
Custom CSS File: Enter the name of the custom CSS, if any. This file is loaded for all content assets in the library folder
(or its subfolders) when the content assets are returned as part of a content search.
Refinement Type - Attribute or Folder (select Attribute to create a refinement on a specific attribute; select Folder
to create a refinement on the entire folder).
Attribute ID - The internal ID of the specific attribute (not applicable to folder refinements)
Sorting Mode - Either By Value Name (listed alphabetically by the value name), By Value Count (listed
numerically by value) or By Folder (for refinement type Folder only).Sort By Folder refinement allows you to sort
refinement values (folders) by their explicit position within the parent folder.
Cutoff Threshold Threshold - Specify the number of refinement groupings to be displayed before the rest are
scrollable in the list box.
6. Click Apply.
Export
Library Folders
Description
Manage content images. Create a directory structure and upload
content images.
Import or export content library folders along with their assets from
or into XML files.
96
Custom Objects
1.
2.
3.
4.
5.
6.
Custom objects allow you to extend the Demandware model to suit your business needs.
Custom object types are created for an organization and are then available for use in all storefronts defined for the
organization. You have a choice, when creating instances of the object, whether to make those instances site-specific or
organization-wide.
You use two Business Manager modules to create and manage your custom objects:
Custom Object Definitions - located under Site Development in Administration in Business Manager
4.
In Business Manager, navigate to Site > Custom Objects > Custom Object Editor
In the Object Type list, select the object definition you want to create a new object for.
Click New to create a new object of the type selected.
Enter values for any attributes required by the custom object. Click the ? icon beside each attribute for more
information.
Click Apply to create the object.
4.
5.
6.
Navigate to Administration > Site Development > Custom Object Definitions. A table of custom object definitions
appears, if any exist.
Click New to begin the definition process.
The Custom Object Types Page General Tab appears.
Enter the following information and click Apply.
ID - enter a unique ID for the custom object definition. This is the name that you select in Business Manager when
you want to create objects of this for the new object type you are defining.
Key Attribute - this is the name of the attribute that is used to provide a unique key for every custom object of this
type. The attribute does not have to exist when you specify it, but it must exist before any custom objects of this
type are created.
Data Replication - select whether you want the custom object to be replicable between instances.
Storage Scope - select whether you want the custom object to be available for the entire organization (all sites) or
a specific site.
To create new attributes and assign attributes to the custom object type, click the Attribute Definitions tab.
This page allows you to add or remove attributes for the object.
The Custom Object Types Page Attribute Definitions Tab appears.
Click New to add a new custom attribute or Edit to edit an existing attribute.
Localizable attributes for custom objects are deprecated for this release. Existing localizable attributes for
custom objects are supported until the Winter 2011 Release.
The Custom Attribute Definition Details Page appears.
Enter the following information:
a) ID - enter a unique ID for the attribute. The pipe symbol '|' is not allowed in attribute definition IDs, as it is used
internally for versioning purposes. Demandware recommends using alphanumeric characters only for the ID.
b) Display Name - enter a display name. This is the name shown in Business Manager and in the storefront.
97
c)
Value Type - select a data type. The data type changes the other configuration options for the attribute once you
apply it.
If you change the language or type, you must confirm the change before it is applied. Changing the language
or type of an attribute causes existing values of that attribute to be lost.
Additional fields appear depending on the data type you selected. Enter the relevant information and click Apply. After
you create attributes, you must add the attribute to an Attribute Group in order to manage the custom object through the
Business Manager (Custom Object module for the storefront).
7. Click the Attribute Grouping tab.
The Custom Object Types Page Attribute Grouping Tab appears.
8. Specify a name and ID for the attribute group and click Add.
The new attribute group appears in the grid below.
9. Click the Edit link for the group to add attributes to the group.
Make sure to add the key attribute you specified on the Custom Object General tab. Custom objects cannot be
created for this definition unless the key attribute is included in an attribute group. Do not add the creationDate or
lastModified attribute, as these values are automatically supplied by the platform and do not need to be specified
when creating custom objects of this type definition.
The Custom Object Attribute Definition Assignments Page appears.
10. At first there will be no attributes assigned to this group, so click the ellipsis (... ) to see the attributes that exist for this
custom object type:
The Select Object Type Attribute for Custom Object Page appears.
11. Select the boxes for the attributes you want and click Add.
12. You can sort the attributes in the Custom Object Attribute Definition Assignments Page, to define the order in which
the attributes are presented.
To manage the custom object type that you have just created, use the Custom Objects module under the site area in
the Business Manager. See Custom Objects for more information.
Batch Processes
Navigate to: Custom Objects> Custom Object Editor> Edit All | Edit Selected> Next> Finish
Use this page to see the status of batch processes.
Batch Processes Grid - displays the batch processes associated with the product.
Select All - click to select all batch processes. Check a specific box to select a specific product option.
Description - click the name of the batch process to edit it.
Start - displays the time when the batch process was started.
Duration - displays the length of time the batch processes has run.
Status - indicates whether the batch process was successful.
Refresh: click to see changes in the status.
Note:
This page does not automatically update. You must click Refresh to see any changes.
Delete - click to delete any selected batch processes.
Reset: click to reset the value to those displayed when you first opened the page.
Export
Custom Objects
(XML)
Description
Import or export custom objects from or into XML files.
98
Ordering
Orders
Navigate to: Ordering> Orders
1.
2.
3.
4.
5.
6.
7.
8.
Advanced: click to search for an order via advanced search. The Orders Advanced Search Page opens.
By No: click to search by or or more order numbers. The Orders By No Search page opens.
Order No: enter an order number to locate an order or use wildcard syntax.
Find: click to locate an order using the entered information. If you do not enter search criteria, all orders opwns.
Order List
Number: shows the order numbers. Click this link to view or edit order details. The Orders page opens.
Created By: shows the user that created the order: System or Customer.
Registration Status: shows the registration status of the customer: Registered or Unregistered.
Email: show the email address for each customer who created an order.
99
Information: shows information about the order, such as number of line items, shipping location and total price.
Date Received: shows the date received.
Created By: shows who created the order:
Customer
System
Any Agent
Specific Agent
Customer: shows the customer name. On the Order Details page, (unregistered customer) appears beside the customer's
name for an unregistered customer.
Customer No: shows the customer number.
IP Address: shows the customer's IP address if Site Preferences are configured to show this. Otherwise, N/A appears. See
Site Preferences Order page.
Email: click to change. The Apply and Cancel buttons appear.
Apply: click to apply any changes you have made to the email address.
Cancel: click to cancel any changes you have made to the email address.
Phone: click to change the phone number. The Apply and Cancel buttons appear.
Apply: click to apply any changes you have made to the email address.
Cancel: click to cancel any changes you have made to the email address.
Order Status: click to change the order status. A dropdown and the Apply and Cancel buttons appear.
Dropdown
Apply: click to apply any changes you have made to the order status.
Cancel: click to cancel any changes you have made to the order status.
Confirmation Status: click to change the confirmation status. A dropdown and the Apply and Cancel buttons appear.
Dropdown
Apply: click to apply any changes you have made to the confirmation status.
Cancel: click to cancel any changes you have made to the confirmation status.
Shipping Status: click to change the shipping status. A dropdown and the Apply and Cancel buttons appear.
Dropdown
Apply: click to apply any changes you have made to the shipping status.
Cancel: click to cancel any changes you have made to the shipping status.
Export Status: click to change the export status. A dropdown and the Apply and Cancel buttons appear.
Dropdown
Ready for Export: click to change the export status to Ready to Export (default).
Apply: click to apply any changes you have made to the export status.
Cancel: click to cancel any changes you have made to the export status.
Shipment xxx: click to view the Orders Shipment page.
Qty.: shows the quantity of an item in an order.
Product ID: shows a list of the product IDs included in an order.
Name: shows a list of the products (by product name) included in an order.
Manufacturer: shows a list of the manufacturer name of the items included in an order.
Tax Rate: shows the tax rate of each item included in an order.
Unit Sales Price: shows the unit sales price of each item included in an order
Item Total: shows the total for each item included in an order.
Send Email: click to send an email. The Send Order Email page appears.
Print Order: click to print the order.
100
Not Paid: Select to indicate that the order is not paid. This is the default.
Note List
101
Click the select box for one or more notes to select them.
User: Shows the user who created the note.
Time: Shows the time the note was created.
Note: Shows the note: Subject and Text.
Delete: Click to delete any selected notes.
Order Export Delay: enter the number of minutes after order creation that an order can be exported. After this delay, the
order is a candidate for export.
Order Edit Export Delay: enter the number of minutes after an order is opened for editing that it can be exported.
Order IP Logging: Enable to activate storage of customer IP address during order creation. When an order is placed by a
customer, his or her IP address can be stored within the order. The IP address appears on the order detail page and will be
exported as well for further usage. This feature supports IPv4 and IPv6 addresses. IP logging must be enabled for a specific
site.
102
Payment Information Retention: enter the number of days the system stores credit card and bank account payment
information. Payment information used for orders older than the specified number of days is masked so that the original
numbers are no longer recoverable. This masking is permanent and cannot be undone if the number of days is changed later.
If you leave the field blank, payment information is masked after 365 days.
Order Retention: enter the number of days the system stores orders. Orders older than the specified number of days are
automatically removed from the system. Leave the field blank if orders should never be purged from the system.
Apply - click to save any changes.
Reset - click to reset the value to those displayed when you first opened the page.
<< Back: click to return to the Site Preferences landing page.
Payment Processors
Navigate to: Ordering> Payment Processors
1.
2.
3.
The list shows all payment processors currently defined for this site.
The Demandware scripting API allows multiple payment instruments per basket/order. For example, an order can be
associated with multiple credit cards, gift certificates or other payment methods (i.e. customer can redeem multiple gift
certificates and pay the remaining amount with a credit card or BillMeLater).
Use the Demandware platform tools to:
a) Create custom payment processor
b) Administer the payment processor available in your storefront site, including the pre-defined processors of:
Cybersource BML
Cybersource Credit
PayPal Credit
PayPal Express
Verisign credit
c) Activate payment processors for all customers or specific customer groups:
No one
All customers
103
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
In Business Manager, navigate to Ordering > Payment Processors for your site.
The Payment Processors List page appears.
On the Payment Processors page, click New. The General page for the payment method appears.
The New Payment Processor page appears.
Enter the ID (for example, Discover_PM ). Enter an optional description of the payment processor.
Click Apply. Now you must define the preferences needed for this payment processor. (Obtain preferences from the
payment provider's specifications.)
The Settings tab only shows settings for standard payment processors. For new payment processors, the Settings tab
shows instructions on how to configure the preferences, but not the actual configuration user interface. For new
payment processors, you must define a new preference group with the same name as the ID you just created (for
example, Discover_PM) in the System Object Definitions module and then enter the configuration information in the
Custom Preferences module (per the following instructions).
In Business Manager, navigate to Site Development > System Object Definitions and select the SitePreferences
system object.
Click the Attribute Definitions tab.
Click New and create a new attribute (for example, create the attributes accountid (integer, mandatory and a minimum
of 5 characters) and accountname (string, mandatory and a minimum of 10 characters).
Click the Attribute Grouping tab.
Enter the name of the payment processor you just created (for example, Discover_PM ) in the ID field. Enter a name in
the Name field and click Add. The ID appears in the list.
Click Edit beside the attribute grouping you just created.
Click the ellipses (...) to view the available attributes and select those you just created (for example, accountid and
accountname).
Navigate to Site Preferences > Custom Preferences and select the Attribute Group ID that you just created.
Enter the credit card provider's credentials and click Apply. You can now use the credentials in your application. See
Site Development for more information on developing an application.
Shipping Methods
Navigate to: Ordering> Shipping Methods
1.
2.
Manage the shipping methods of this site where you can specify the following:
Product exclusions: products that cannot be shipped with a particular shipping method. For example, certain goods
cannot ship via shipping methods that use airlines.
Address exclusions: excluding addresses that are not serviced by a particular shipping methods. For example, shipping
methods that do not ship to post office boxes or military addresses.
The following rules apply:
If a product is a member of multiple shipping cost groups, the lowest shipping cost takes precedence.
If fixed and surcharge shipping costs are defined for a product, the fixed cost takes precedence.
Shipping cost defined for a master product is also defined for all variants of the master. That is, variants inherit the
item-level shipping cost from their master product. The variant can add its own shipping cost as well. Note that
variants' shipping cost is only effective if it is less than the shipping cost of the master product.
Shipping cost is not applied to bundle product line items or options line items. That is,iIf a product bundle is added to
the cart and it has an individual shipping cost only this cost is added to the order. If the products are purchased
individually and they have (or some of them have) individual shipping costs, then these costs are added to the cart.
Product line items with product-level shipping costs do not count toward the merchandise total used to evaluate
shipment-level shipping promotions.
Use this page to creating a new shipping method or modify an existing one. Fields marked with an asterisk are mandatory.
104
Select Language: select the language to be used for the shipping method.
ID: enter a unique ID.
Name: enter the shipping method name.
Enabled: click to set this shipping method as active in the storefront.
Default: select this shipping method as the default shipping method.
Based on: select the shipping method on which this shipping method is based.
Tax Class: select a tax class.
Undefined
exempt
standard
Apply: click to accept the changes.
<<Back to List: click to return to the list of shipping methods.
Shipment Cost
Use this section to define the costs for the selected shipping method.
To specify a flat cost, add one entry to the cost table. Use '0' as the value.
To define scaled shipping costs, add as many table entries as needed and set the respective order values and costs.
Shipment Value: enter the shipment value for a flat cost or click Add for as many values as you need for scaled shipping
costs.
Select fixed price or % of shipment value. You can define a fix cost amount (for example, $4.99), or let the system
calculate shipping cost as a percentage of the actual order value (for example, 3%).
Product Group: specify one or more product groups that use the specified shipping method.
Edit: click to qualify the products that are included in or excluded from the product group. The Product Include
Exclude dialog box appears.
Shipping Cost: enter the shipping cost to be applied to each product group.
Product Group: specify one or more product groups that use the specified shipping method.
Edit: click to qualify the products that are included in or excluded from the product group. The Product Include
Exclude dialog box appears.
Shipping Cost: enter the shipping cost to be applied to each product group.
105
Exclusions
In this view, you can define the excluded products and shipping addresses for this shipping method. Operators depend on the
selected product/address attributes.
Excluded Products: click Edit to define product groups. The Product Include Exclude dialog box appears.
Excluded Addresses: click Edit to define address groups. The Address Include Exclude dialog box appears.
Taxation
Navigate to: Ordering> Taxation
1.
2.
3.
General Tab
Taxation Policy: Shows the taxation policy for the site. This policy determines whether products and service prices are
treated as gross or as net prices. The taxation policy is configured during site creation and can only be changed by
Demandware Support.
Note:
See Taxation impact on subscription fees to understand how tax calculations can significantly impact the
Demandware subscription fees that you pay.
Map Address To: Select is specify how tax jurisdictions are looked up based on the customers shipping address.
Jurisdiction ID (Default): The address attribute configured with the setting 'Address Mapping 1' is matched
against the ID of your jurisdictions.
Note:
The system automatically sets Mapping Attribute 2 to not used.
Jurisdiction Mappings: The address attributes configured with the settings 'Address Mapping 1' and 'Address
Mapping 2' are matched against the jurisdiction mappings configured for your site.
Note:
For Address 1 and Address 2, you can select Country, State or Zip and define a combination of these
attributes, such as Country/State or Country/Zip.
Address Mapping 1: Select the address attributes that are used to determine a tax jurisdiction.
Country (Default)
State
Zip
Address Mapping 2: Select the address attributes that are used to determine a tax jurisdiction.
State
Zip
Apply: Click to apply any changes.
Reset: Click to return to the previous settings.
106
107
Exempt: Enter the exempt tax rate for the tax class/tax jurisdiction combination.
Standard: Enter the standard tax rate for the tax class/tax jurisdiction combination.
Apply: Click to apply your changes.
Reset: Click to return to the previous settings.
Export
Orders (XML)
Tax Table
Description
Export orders into XML files.
Import tax classes, tax jurisdictions and tax rates from or into
XML files.
Shipping Methods
Payment Methods
Shipping Methods
Payment Methods
108
Analytics
Navigate to: Analytics
1.
2.
3.
4.
For the analytics reports, all analytics are compiled in the en_US locale. Do not modify the reporting template locale for any
reason. If you have questions, please contact Demandware Support.
The precision of the conversion and percentage values in reports is two decimal places, to show really small conversion
rates. For example, instead of reporting 0.0% for 250,000 visits and 95 orders (one decimal place), analytics reports 0.04%.
When employing the reporting features described here, keep in mind the following:
Due to the nature of the technology used, no report can be considered 100% accurate 100% of the time.
Visits are ended for a single time period when necessary (for example, at the end of a day) but continued for the next
larger time period (for example, the next day). Therefore, summing up the days in a report does not necessarily match
the number of days in a given month.
In order to run some reports, you need to have 'includes' in your storefront. See the SiteGenesis Application for
examples.
Additional documentation on analytics can be found here: https://xchange.demandware.com/docs/DOC-10177
Analytics Reports
These are the types of analytics reports available in the Business Manager Analytics module:
1. Conversion Reports
Include data on the conversion of visits, shopping carts and checkouts to order, conversion of source codes to orders, as
well as visits to shopping carts, to checkout and to orders.
2. Purchase Reports
Include data on the orders and revenue, average revenue, average order, and ordered products.
3. Catalog Reports
Include data on the top products ordered by quantity and by revenue.
4. Search & Navigation Reports
Include data on the top search terms, and the top referring search engines.
5. Customer Reports
Include data on the number of new customers, number of first time buyers and the total number of registered
customers.
6. Traffic Reports
Include data on the top pages, top referrers, top user agents, top robots, total requests, request runtime, total visits, and
visit duration.
7. AB Testing Reports
Provide an overview of the AB tests performed on your store and include data on group segmentation and conversion
rates.
8. Technical Reports
Provide insight into technical operations data of your store such as pipeline performance numbers and page caching
characteristics.
Definition
109
A visit can take part in AB testing with one or more tests. Each test has a name and several segments (for
example, name FastCheckout and segments "one step", "two step").
AB testing
(visit-based)
Basket / Cart
Buyer
A visit can have zero or more carts (usually zero or one cart).
Multiple carts occur when a user has checked-out a cart but continues to use the open visit and creates
another cart. Each cart has a unique identifier and is counted separately. The counting time is the start
time of the visit.
A cart is counted multiple times when the cart spans two or more visits (persistent cart feature).For
example: Joe goes to IDemand.com thus creating a visit or session. The session ID is 1234 with time
stamp March 20, 2006 12:20:37. He adds a product to a cart. The new cart has Cart ID 99999 with
time stamp March 20, 2006 12:24:19. He does not check-out the cart but leaves the store, ending the
visit/session. At 20:56:44 in the evening, Joe returns. Since Joe allows cookies on his computer, the
cart still exists. The system detects this, counts the cart as a new cart and sets the time stamp of the
cart to the time stamp of the new visit/session, i.e. March 20, 2006 20:56:44. He adds one more
product, checks-out and leaves. The end result is 2 visits, 2 carts and 1 checkout.
A customer; a visitor who registered an account in the storefront and who may or may not have made a
purchase.
Checkout
The process of ordering a cart. This process can be stopped at any time and does not necessarily end with an
order. A visit can have more than one checkout process for the same cart. Each checkout is counted separately.
The counting starts from the start time of the visit.
Customer
A buyer; a visitor who registered an account in the storefront and who may or may not have made a purchase.
External
Search
Any search that led to the storefront, regardless of source. Phrases are not separated or reordered. A list of
recognized search engines is maintained by Demandware. If you know of a search engine that should be added
to the list, please contact Demandware via Support@demandware.com.
IP Address
The IP address of the sender of the request. The real IP address of the sender can be masked by proxies or
network address translation.
Order
The final result of a finished checkout process. Each order is counted separately. The order time is the start time
of the visit. A visit can have more than one order (that is, a new cart for each order).
All reports use orders as they were captured by Demandware at the time they were placed. Any subsequent
changes to orders are not captured by Demandware.
Page Request
An http-request to the system. Only HTML requests are counted, no media requests (images, CSS, Flash etc.)
are counted.
Product
Quantity
Referrer
When visiting a web page, the referrer or referring page is the URL of the previous web page from which a link
was followed. More generally, it is the URL of a previous item which led to this request. The referrer of an
image, for example, is generally the HTML page on which it is to be displayed.
110
Registered
Revenue
Robot
Runtime
Also known as a web crawler or spider; a program that browses the World Wide Web in an automated manner.
Web crawlers are mainly used to create a copy of all the visited pages for later processing by a search engine
that will index the downloaded pages to provide fast searches. Crawlers can also be used for automating
maintenance tasks on a web site, such as checking links or validating HTML code.
A list of recognized robots is maintained by Demandware.
Time needed to deliver a response back to the client. This time includes the time needed by the system to create
as well as send the response.
Search
Any search performed in the storefront. A search can contain one or more search words. For example "Apple
ipod" represents one search and one search phrase. Phrases are not separated into single words or reordered.
For analytics, only the 10,000 most recent search phrases are used.
Unique Page
Unregistered
Buyer
An unregistered user who makes a purchase. Given the nature of being unregistered, the same user will be
counted for each purchase.
User Agent /
Browser
The client application used with a particular network protocol. The phrase is most commonly used in reference
to those that access the World Wide Web. Web user agents range from web browsers to search engine crawlers
("spiders"), as well as screen readers and Braille browsers. When Internet users visit a web site, a text string is
generally sent to identify the user agent to the server.
A session by a registered / unregistered person or robot as indicated by a unique session ID that spans all
requests.
Visit
The start time of the visit determines the time of the count. If a visit spans more than one hour or day,
it will be counted once for its start time (time and date).
All registered and unregistered visits are listed separately in certain reports.
All non-customer visits are listed separately in certain reports.
The start time of a visit is also the start time for all sub-activities, such as orders, checkout, and carts.
For analytics, only the first 1000 requests are counted. The limit prevents robots from biasing reports.
The maximal lifetime of a visit is determined by the session ID lifetime. The Demandware Web
Server session ID lifetime is currently set to 6 hours (security) and the session expiration (application
server) session timeout is set to 30 minutes (resource and run-time performance).
The session timeout is fired if a session is inactive for this period of time (there are no requests during
this time).
A session times out after 6 hours even if the session is active. A new session is automatically created
and all active entities are recounted.
Visit Duration
The time between the first request that started the visit and the full delivery of the last request of the visit.
Visitor
111
Site URLs
SEO / Search Support (Deprecated with 13.1 Release)
Navigate to: Site URLs> SEO Support
1.
2.
3.
Instance Type: select the type of instance you are working on.
Enable Search Friendly URLs: click to change the URLs from the default Demandware URLs to URLs optimized for
search engines.
Default Page URL for Categories: If nothing is specified the default is ${pageURL||displayName}. This uses the Page
URL and Display Name attributes to construct the default URL. If you want to create a custom URL, supported category
attributes include pageURL , pageTitle , ID and displayName .
Default Page URL for Content Pages: If nothing is specified the default is ${pageURL||name}. This uses the Page URL
and product Name attributes to construct the default URL. If you want to create a custom URL, supported product attributes
are pageURL , pageTitle , productID , name , brand and shortDescription .
Substitute blanks in URLs with: If nothing is specified the default is ${pageURL||name}. This uses the Page URL and
content Name attributes to construct the default URL. If you want to create a custom URL, supported content attributes are
pageURL , pageTitle , ID and name .
Apply: click to save any changes.
Reset: click to reset the value to those displayed when you first opened the page.
112
If you implemented your site before Demandware 13.1 was released, this topic contains the information you need to upgrade to
the new module.
In release 13.1, Demandware added the URL Rules module, which allows you to customize storefront URLs to optimize search
engine results. The SEO Support feature, which provided a limited version of the same functionality, is deprecated for 13.1 and is
planned for removal at a future date. The SEO Support functionality is accessible under the URL Rules module, until the new
URL Rules module is enabled using the site preference for Storefront URLs.
The URL Rules module helps you optimize your site URLs in the following ways:
b)
c)
d)
code - If you use our SEO Support module without custom code for SEO, no code changes are necessary to take
advantage of this feature. If you have custom code or have additional integrations for SEO, you may need to alter the
code to work with the feature.
canonical links - Demandware best practice is to create canonical links for categories using the URLUtils method. If
you used the URLUtils method, no changes to code are necessary. However, if you have hardcoded canonical links in
your templates, you need to update them to use your new URLs.
content links - check links in your content assets to make sure they do not need to be updated to reflect the new URLs.
If you are using the content link functions, they do not need to be updated. However, if you have included hardcoded
links in your content assets, these may need to be updated.
URL redirects - check your URL redirects to make sure that your redirects do not need to be adjusted to your new
URLs. This may because the redirects are outdated or conflict with your new URLs.
static mappings and mapping rules - check your URL mappings to make sure that your redirects do not need to be
adjusted to your new URLs.
Note: If your old platform URLs now match the new storefront URLs, a redirect is no longer necessary.
product ID search - make sure that the product ID search works as you expect if customers enter the product ID as it
appears in the URL.
113
e)
a)
b)
c)
d)
e)
sitemap(s) - regenerate your sitemap to include your new URLs. The sitemap is not automatically regenerated.
replication jobs - update your replication jobs to include the new URL Rules.
site backup - update your scheduled site backups to include URL Rules.
f)
replication jobs - update your replication jobs to include the new URL Rules functionality.
Regenerate your sitemap on production so it includes your new URLs. The sitemap is not automatically
regenerated, nor is it replicated from Staging.
114
2.
115
3.
4.
5.
6.
7.
8.
FAQ
1. Will all my URLs change automatically when 13.1 rolls out? How can I prepare?
URL rule functionality will be disabled by default in your instances
2. Will I be able to preview all my storefront URLs before enabling/publishing?
Yes, the functionality contains a preview screen for global URL rules
Preview by Language also available.
Ability to preview each category via a selection tree
3. Do I need to setup redirects for my entire catalog?
No, all of your Demandware URLs will automatically be 301 redirected. In addition, internal links and Sitemaps will be
updated automatically.
Best Practice - URL Syntax
1. URLs should be short, clean, and contain keywords. Trailing slashes should be added to avoid duplicate content.
2. In addition:
All encoding should be removed from URLS i.e. %20, %2C etc
In the event that blanks exist between words in URLs use - as the separator i.e. this-is-test. Do not use underscores
No more than 3-5 separators should be used, unless it is for a content page.
The max character count should be 65 characters, per search engine guidelines and SEOMoz recommendation.
General Tab
Use this page to identify when URL rules are generated and any time identical URLs are generated for different catalogs,
categories, folders, content assets, or products.
116
Report
This section shows whether URLs are currently being updated, any conflicts between configured URL rules for catalogs, content,
and pipeline aliases, and the date of the last URL update.
refresh: click to refresh the report if a URL update is currently pending. URLs are automatically updated if the categories
are changed by import.
Settings Tab
1.
Best Practice:
Hyphen-separate
International/Multilingual Considerations
FAQ
1. Can I configure different URLs for different countries?
No, the URL settings are established at the global catalog level.
2. Will my URLs be translated?
As URL rules are set at the global catalog level, they will apply to all language versions. The locale specific attributes will
be displayed in the URL if they are populated. So if you have both a French and English version of a site, and you
navigate to a category on each site, you should see the translated names, given there is a value specified at the category
level in Business Manager for each language storefront catalog.
www.sitegenesis.com/fr/homme/accessoires
www.sitegenesis.com/en/mens/accessories
3. How do I manage the new URLs for my site, which is in two different languages?
You should take the same steps as for a single language site, but define the languages/locales offered on your site.
Use this page to configure site URL generation.
Settings
Enable URL Rules: check the box to enable search engine optimization rules for the storefront URLs.
Lower Case URLs: check the box to convert all storefront URLs to lower case, even if you are dynamically including
product or category names that contain capitalization.
Substitute blanks in URLs with: select one of the following characters to replace any blanks in product or category names
that are included in the storefront URLs.
URL Encoding (%20) - replaces any spaces in the name with %20 space encoding.
117
Locale Mapping
Locale Mapping: select one of the following options to define whether host, path, or parameter represents the locale in the
URL:
Host Name - specify mappings from host name to actual locale. For example, map de.sitegenesis.com to de_DE.
URL Parameter - specify mappings from locale name in the URL to actual locale. For example, map en to default .
Path - specify mappings from locale name in the URL to actual locale. For example, map / en to /default .
Apply: click to save any changes.
Note: If a locale mapping is already set and you change the locale mapping type or locale, Demandware updates your
automatic redirects to redirect from your original URLs at the time the URL Rules module was enabled to the new URL with
the new locale. If you have created redirects using the URL Redirects module, any redirect from the previous URL works,
but any redirect to the previous locale must be updated. In addition, any URL created using the URL Rules module with the
previous locale mapping will no longer work. To fix this, create a URL redirect using the URL Redirects module from the
URL with the previous locale mapping to the new locale mapping.
Enable pageURL override (allows for custom configuration on individual category level)
If including category parent or path, carefully consider impact on length (keep URLs clean and short).
For most sites, the default of category name for the URL will suffice. With the new URL functionality, this will no
longer contain the category ID, unless specified.
Note: URL syntax preview is also included on the main category page in Staging environments, to eliminate any
confusion.
2.
Include product name if ID is not alpha value (ID still included by default)
DW recommends keeping URLs flat. Only include the product name. If including the category path, limit this to only
the main category to minimize length of URL (keep URLs clean and short)
Enable override with page URL product attribute (ability to create better keyword match)
Note:
If left blank, Product URL rules will take the default structure, using only the product ID.
Additional Product Attributes color, size, etc. can now be brought into the URL. These values may not be SEOfriendly as they exist ie. JJV61XX or BLACKFB. Audit by searching on values in Advanced Product Finder [
[attribute, name], / , [attribute, custom.color]
118
Content URLs
Category URL Rule: enter a rule that defines the format for category URLs.
Enable override with 'pageURL' category attribute (if set) - check this box to allow configuration for individual
categories using the Page URL attribute for the content asset.
Append trailing slash to category URLs - check this box to add a slash at the end of the storefront URL for categories.
Demandware recommends that you select this option, as without the trailing slash, it is possible to have URLs with and
without slashes, which search engines sometimes identify as duplicate content.
Product URL Rule: enter a rule that defines the format for product detail page URLs.
Enable override with 'pageURL' content attribute (if set) - check this box to allow configuration for individual product
assets using the Page URL attribute for the product asset.
Use '-' as Product ID separator instead of '/' - check this box if you use a slash as a separator in your product IDs and
want to replace this in the URL, so that the ID does not appear to be part of the URL path. For example, if you have the ID
SKU/12441 if you check this box, the product ID appears in the URL as SKU-12441.
Rule Preview
Category/Product/Locale: select a category, product asset, and locale to use in previewing the URL rule you have
constructed.
Sample URL: displays the URL rule you have configured as applied to the selected category/product/locale.
Validate: click to validate the product rules.
Reset: click to cancel any changes made since opening the page.
119
Best Practice:
Best keyword match is the page topic (Shipping & Handling) and main folder (Help section), if a subpage
Enable override with pageURL folder attribute allows for customization on individual category level
Folder Best Practice: include the folder parent and folder display name.
Content Best Practice: include the folder path and content page display name.
Content URLs
Folder URL Rule: enter a rule that defines the format for library folder URLs.
Enable override with 'pageURL' folder attribute (if set) - check this box to allow configuration for individual library
folders using the Page URL attribute for the content asset.
Append trailing slash to folder URLs - check this box to add a slash at the end of the storefront URL for folders.
Content URL Rule: enter a rule that defines the format for content asset URLs.
Enable override with 'pageURL' content attribute (if set) - check this box to allow configuration for individual content
assets using the Page URL attribute for the content asset.
120
Use '-' as Content ID separator instead of '/' - check this box if you use a slash as a separator in your content IDs and
want to replace this in the URL, so that the ID does not appear to be part of the URL path. For example, if you have the ID
SKU/12441 if you check this box it appears in the URL as SKU-12441.
Rule Preview
Folder/Content/Locale: select a folder, content asset, and locale to use in previewing the URL rule you have constructed.
Sample URL: displays the URL rule you have configured as applied to the selected folder/content/locale.
Validate: click to validate the content rules.
Reset: click to cancel any changes made since opening the page.
2.
3.
4.
Take the time to create these short URLs for users and search engines
Enter the pipeline name for which you are creating the vanity (resolve to)
Use this page to configure URLs that are generated from pipelines.
Alias or Pipeline: enter the alias or pipeline name and click Find to find it.
New Alias: enter the term that displays in the storefront URL.
resolves to: enter the pipeline that is used when the term is displayed in the URL.
Save: click to save any changes.
Cancel - click to cancel any changes made since opening the page.
When to Use the Alias, Mapping Rule, Static Mapping, and URL Redirect
Features
1.
Mapping rules are generally used for large numbers of similar URLs that must be redirected. For example, for all URLs in a
specific category.
121
2.
3.
4.
5.
a Demandware URL - in this case you want to use Site URLs > URL redirects, which are used for redirects of
obsolete pages hosted on the Demandware platform to current pages on the Demandware platform. For example, if you
change the name of a category. This is the only feature that can be used to redirect Demandware URLs. See Creating a
redirect from a Demandware URL. For more information about how this feature works, see URL redirect processing
and examples .
from an old platform other than Demandware - (continue to the next step)
Is the type of URL to redirect to.
a content page and/or unique or unusual - in this case you want to use Site URLs > Static mappings, which are
generally used for specific pages, whether they are landing pages or searches that do not conform to a general pattern.
A static mapping creates a one-to-one mapping between URLs where pattern mapping is not possible. This is
sometimes used for content pages. See Static mappings.
a product or category page and/or conforms to a pattern - in this case you want to use Site URLs > Mapping rules
- mapping rules identify the pattern of an incoming URL and map it to a pattern for a Demandware URL. Creating a
few mapping rules can allow you to manage many URLs from a legacy site efficiently.
Mapping rules are a very efficient way to migrate links and should be used in preference to static mapping. It is not
efficient for Demandware to handle large numbers of static mappings at a Web server level, so product and category
mappings should be mapped using rules.
Mappings can be maintained in Demandware for as long as you wish. We do not recommend removing them, since it is
not possible to predict when other site owners or search engines will update their links, and removing the mappings
prematurely causes you to lose traffic. See Mapping rules.
For more information, see Configuring 301 Redirects for Legacy URLs.
Mapping Rules
Navigate to: Site URLs> Mapping Rules
1. 301: You can configure mapping rules that use a pattern to identify a URL from your previous platform or site and
automatically redirect it to a Demandware URL. It is not possible to use mapping rules to redirect an existing or obsolete
Demandware URL to a different Demandware URL.
2. Also accounts for bookmarked urls.
3. Catch all rules should all be under Mapping Rules at the end.
4. When the system gets an incoming URL request, the Static Rule section is executed first in a top-down fashion. The
Mapping Rules section is interpreted (top-down as well) following that. Therefore, catch alls needs to be defined towards the
end of the Mapping Rules section to work as catch alls. You dont want a catch all to be triggered before a real mapping
definition for a given URL request.
5. ** are wild card characters.
6. There is no difference between one or two wild cards, we do it for readability purposes.
7. When creating the mapping use wild cards b/c of dns transfer.
8. Getting the list of legacy urls is easy do report from their old analytics system.
9. Some sites that are fairly large in terms of # of pages. They may find setting up 301s laborious. If they are stretched our
recommendation is to extract a report of your top 100 most viewed from analytics and set 301s for those first and then worry
about the rest later.
10. Mapping has to be copied to production.
11. Mapping rules must be edited on Staging, Development, or Sandbox instances and replicated to Production instances.
12. 2 options for moving over variation masters
a) Can do each as a line by line in static mapping
b) Insert a wild card in the legacy url and redirect them to the master product page on mapping rules
13. When its crawled it will be re-indexed
14. 301 Mapping Spreadsheet and how-to video: https://xchange.demandware.com/thread/6256
122
to get to the storefront without typing in the full Demandware URL. See also Assigning a hostname alias and Hostname alias file
format and processing.
Create Mapping Rules for Top Products and Categories
Mapping rules are created to preserve SEO rankings accumulated by your old site on your old platform and your new site on
Demandware. Demandware recommends that you google your top-selling categories and products and use the links that appear
on the first page of each search as the list of links that you want to redirect. Once you have the list of links, identify any patterns
you can use to apply rules to. For example, if there a large number of links in the same category or subcategory, you can use a
mapping rule to redirect any product in those categories from the old site to the new site.
Do Not Use Mapping Rules Instead of Hostname-only URLs
Avoid generating intra-site links back to the home page via a Demandware pipeline in those cases where a simpler "hostnameonly" URL can be used instead. For example, for a home page link in the top navigation menu, generating the link via pipeline
(<a href="${URLUtils.http('Home-Show')}">home</a>) results in the full Demandware URL being displayed.
For example:
http://www.yourshophere.com/on/demandware.store/Sites-YourShopHere-Site/
default/Home-Show
Instead, you can use a reference to a host name <a href="http://${request.httpHost}/">home</a> - provided that host is listed
under Site URLs > Aliases AND only one locale is used for the site - thus enabling that host name to be displayed instead. For
example: http://www.yourshophere.com/.
Both code borrowed from the SiteGenesis application and new custom code should be reviewed in this regard. For example, a
home page link is generated via the pipeline Home-Show in the various SiteGenesis application templates listed below. When
these are used in a custom application, the code may be modified in the manner described above to deliver instead the hostnameonly URL.
pagecomponents/header.isml
pagecomponents/breadcrumbs.isml
pagecomponents/contentbreadcrumbs.isml
pagecomponents/productbreadcrumbs.isml
pagecomponents/searchbreadcrumbs.isml
Any part of the incoming URL matched by a wildcard ( ,* ) can be referenced by its position in the URL, using a numbered
parameter in the template ( {0} ). Wildcards match any text between forward slashes in the URL that is not a query string.
Example 1: redirecting the jewelry category from your old site
In this example, you want to redirect any products in the jewelry category of your old site to your new site, using the same
product ID and category name as you used to have.
Incoming URL Example:
123
http://www.oldsite.com/catalog/product/index.asp?ID=576416&Cat=Jewelry.html
Demandware URL Example:
http:///www.yourshop.com/pendant/576416,default,pd.html?cgid=Jewelry
Wildcards
You can use wildcards to have one mapping represent many URLs dynamically by parsing out variables from the original legacy
URL. The wildcards are:
Wildcard
Meaning
Match any characters up until any forward slashes "/" ; query strings
**
Patterns can match both http and https protocols if the host name alias file is set up correctly.
Pattern Examples
/**/images/**
http://www.mystore.com/**/*.jpg
/news/articles/**.html
/catalog/special/*.*.*.html
URL Encoding
If a URL is passed as a parameter in a mapping rule, it is processed so that it retains the original URL encoding. For example, if
the original URL includes a plus (+ ) or dash (- ) as a replacement space, the character is retained and not encoded as text (%2B
or %2D).
Options
You can specify several options that control how patterns are matched or pattern parameters are encoded.
Option
Description
performs a case-insensitive match
i (lowercase
i)
I (capital I)
ie
124
Variables
The following variables can be used in the path or as parameter values:
Variable
Description
The positional values from the pattern. A positional value is a string matched by a wildcard described by
the position of the wildcard in the pattern. See the section below on using parts of incoming URLS in
redirects to Demandware URLs.
{_url}
{_path}
{_host}
{_querystring}
{<name>}
Examples
You can use wildcards in your mapping rule patterns to match portions of incoming URLs and then use positional values in your
template to transfer those values to the Demandware URL you are redirecting to. The positional values are the matched wildcard
strings from the valid URL mapping, in the order they are found.
Example 1: using parts of incoming URLs in redirects to Demandware URLs
For example, with the following mapping rule:
/**/images/** s,,,,,/{0}/{1}
The following graphic shows how positional values work for a specific incoming URL with the mapping rule.
125
Reason
http://www.yourshop.com/images/even/more/paths URL does not contain the extra slash before images
http://www.yourshop.com/path/to/images
Reason
Reason
126
This rule identifies any incoming URLs that contain immediately after the hostname. It redirects to a Demandware URL that uses
the first position match as a source code.
/VIP/email/* p,,,SourceCodeRedirect-Start,,src,{0}
URL pattern: /VIP/email/*
Demandware URL template: p,,,SourceCodeRedirect-Start,,src,{0}
Note:
It is currently not possible to redirect Demandware URLs to other Demandware URLs.
1.
Mapping rules are generally used for large numbers of similar URLs that must be redirected. For example, for all URLs in a
specific category. To redirect one specific URL, it is more common to use static mappings.
URL Redirects
Navigate to: Site URLs> URL Redirects
1.
2.
3.
4.
5.
Used to redirect current DW obsolete pages to current pages on DW. (i.e. if you change name of category).
Category, product, content to another category, product, content.
No need to refresh.
Can handle 301 & 302s (12.5 handles 307s)
a. 301: permanent redirects
b. 302: retain SEO rankings for content thats permanently moved and is removed when new ranking gains same seo
ranking/trust
c. 307: truly temporary redirect that will be available again.
Also example with uri: mens power lounger to womans coat.
127
2.
3.
4.
5.
Ensure that the 301 redirect is in place by specifying that the parameter Permanent is set to true within the ISML tag
("isredirect") used in the redirect pipeline template. <isredirect location="${pdict.Location}" permanent="true">
Note:
In the Reference Application, this code is included in the redirect_permanent.isml file.
6.
Define your external search engine settings to support the redirect.For example, in Google Webmaster Tools, set the
preferred domain to www.company.com.
Ensure Google sees you as the owner of both domains by following one of their ownership verification methods.
Tip:
Demandware recommends always using a single redirect from a source page to a destination page. Redirect chaining can
cause search engines to deindex pages or parts of sites if used indiscriminately. A customer reaching your site may already
have encountered one or more offsite redirects, which are outside of your control, so it is safer to simply use a single
redirect.
1.
In Business Manager, navigate to Site URLs > URL Redirects. The URL Redirects page appears.
128
2.
3.
4.
In the URI Search Term box, enter one or more words that identify the URI you want to redirect. Checking that the
URI does not already have a redirect prevents you from creating a duplicate redirect. If there is no search term unique
enough to identify the URI you want to redirect, click the Advanced link to add more filters for your search.
If no redirect exists for the URI, click New to create a new redirect. The Edit URL Redirect page appears.
You can identify the source URI directly or specify the source type and ID.
Demandware recommends using source type and ID for two reasons. First, all your redirects remain in place if you
switch from standard URLs to search-friendly URLs. Second, since you can select your source IDs directly, there is
less chance of a data entry error.
For URI , enter the portion of the Demandware URI after the host name and before the query string. Demandware
automatically selects the new URL that has the most parameters in common with the old URL. For example, if
you want to redirect any products in the women's category:
http://www.mystore.com/on/demandware.store/Sites-YourShopHere-Site/EN_US/Search-Show?_ie=iso-88591&cgid=womens
Enter:
/EN_US/Search-Show?cgid=womens
You can use an asterisk as a wildcard in the URI. Redirects with wildcards are processed after redirects without
wildcards. See URL redirect processing and examples for additional examples and information about wildcards.
5.
6.
For Source Type, select category, product, or content. For Source ID , select the ID of the category, product, or
content in the URL you want to redirect, such as womens. See also URL redirect processing and examples.
Check the Enabled box.
You can specify the URL you want to redirect to in one of two ways:
For Destination URL , enter the URL you want to redirect to. You can enter the URL as an absolute or
relative URL.
absolute URL - the URL must begin with a protocol. Example: http://www.example.com. Note: only the http and
https protocols are supported. Additional parameters must be specified in the Additional Parameters field, not in
this field.
relative URL - similar to the URLs entered for the URI field, enter only the portion of the URL after the host
name and before the query string. Additional parameters must be specified in the Additional Parameters field,
not in this field.
For Destination Type, select whether you are redirecting to a category, content asset, or product detail
page. Depending on the type you select, you need to add additional information:
to select a category.
to select a product and enter a category ID or click
to select a
For Redirect Type, select whether you want the redirect to be temporary or permanent.
Permanent (301) redirects - retains the SEO trust and ranking of the source of the redirect. Although it may take some
time for search engines to recognize the redirect, any dip in rank should be quickly reversed. Permanent redirects are
usually never removed.
Found/Temporary (302) redirects - 302 redirects are used to retain SEO rankings for content that has permanently
moved to a new URL. A 302 redirect does not retain the SEO trust and ranking of the source of the redirect. You
should expect your SEO ranking for the page to drop until the new page has time to accumulate the same rankings and
trust. A 302 redirect is temporary, because it is usually removed when the new URL has accumulated the same
rankings and trust as the original URL. There is no expectation that the old URL will ever be used to access content
ever again. For example, 302 redirects are used if you change the name of a category. Demandware caches temporary
redirects, but the browser does not.
Temporary (307) redirects - 307 redirects are used as a truly temporary redirect for a URL that is undergoing
maintenance and will shortly be available again. A 307 redirect does not retain the SEO trust and ranking of the source
of the redirect. You should expect your SEO ranking for the page to drop until the new page has time to accumulate the
same rankings and trust. Temporary redirects are intended to be removed. Demandware caches temporary redirects, but
the browser does not. Use 307 redirects if the original content is temporarily removed and will be returned to the old
URL. For example, if an article or microsite is removed for editing or updating and will shortly be available again.
For Additional URL Parameters - enter parameters you want added to the end of the URL exactly as you
want to see them. For example: &cgid=electronics-digital-cameras&prefn1=displaySiz
129
7.
Click Apply.
Note:
You may periodically want to check for redirects that no longer have a valid destination. You can do
so by clicking Find Invalid URLs in the advanced search on the URL Redirects page.
130
URL Examples
The following are common uses of the redirect feature with examples of rules. All rules are assumed to be enabled. Each example
shows the equivalent URL in both standard and search-friendly format. See also URL syntax.
Example 1: redirecting category landing pages
This example redirects a discontinued or renamed women's category page to a new ladies category page:
Incoming URL:
www.mystore.com/on/demandware.store/Sites-YourShop-Site/womens/womens,default,sc.html
www.mystore.com/on/demandware.store/Sites-YourShop-Site/default/Search-Show?cgid=womens
Redirect Rule for search-friendly URLs:
This redirect rule uses an * for the locale, so that the rule is not locale-specific. The * symbol only indicates that the URI is
locale-neutral. The * symbol cannot be used in any other portion of the URL as a wildcard.
URI: /womens/womens,*,sc.html
URI: /Search-Show?cgid=womens
URI: /returns,*,pg.html
URI: /Page-Show?cid=returns
URI: /Jacket/28436,default,pd.html
URI: /Product-Show?pid=28436
131
URI: /womens/womens,en_UK,sc.html
URI: / en_UK/Search-Show?cgid=womens
Yes - If the redirect contains wildcards, then it is processed after any redirects that do not contain wildcards. Redirects
with wildcards are processed based on priority. See the last step for information on how wildcard URLs are processed.
No - Continue to the next step. URLs without wildcards are never assigned a priority.
2. Is the URI of the incoming URL an exact match for the URI entered for any redirect rules?
Note:
The URI must match exactly to be considered. Partial matches are ignored.
Yes - If only one redirect rule matches, then that rule is used. If multiple rules have URIs that match exactly, then those
rules are identified as candidates and processing continues.
No - No redirect is performed.
3. What redirect rule has the most parameters that match the incoming URL?
a) Demandware sorts the candidate redirect rules by number of query string parameters and processes the rules with the
largest number of parameters first. For example, /mens?cgid=hats&color=red is processed before /mens?cgid=hats
132
Demandware matches each parameter in the redirect rule to the parameters in the incoming URL. All parameters in the redirect
rule must be present and have the same value in the incoming URL to be considered a match. It does not matter what order the
parameters are listed in the redirect rule or incoming URL. Both search-friendly and standard Demandware URLs are processed
in the same way.
Note:
If the incoming URL has additional parameters, these parameters are irrelevant to the redirect matching logic.
4. For URLs containing wildcards: does the redirect have an assigned position?
Yes - Redirects are processed in order of priority, from low to high. The minimum value is 1. Only integers are
allowed.
No - Redirects with blanks for their priority are processed after any redirect with priority assigned. They are processed
in an undefined order, so the processing does not match any rule. If you want to control the order in which the redirect
is processed, add a priority.
Although the Demandware platform evaluates redirect rule candidates with the most parameters first, any incoming URL that
does not have all of the parameters in the redirect rule is not considered a match. In the example below, there are two the
candidate redirect rules that match the URI of the incoming URL. The redirect rules are processed from most to least number of
parameters. However, since the incoming URL does not have all of the parameters in the first redirect rule processed, it is not
considered a match and the second rule /abc?a=1 is selected as the redirect.
incoming URL
www.mystore.com/on/demandware.store/Sites-MySite-Site /abc?a=1
/abc?a=1
It does not matter if the incoming URL has additional parameters. In the following example, all of the incoming URLs match the
same candidate redirect rules, and all select the second rule /abc?a=1 as the redirect.
incoming URL
/abc?a=1&b=2
/abc?a=1
Even though the redirect with a wildcard is more specific, it is processed after the redirect without a wildcard.
incoming URL
www.mystore.com/on/demandware.store/Sites-MySite-Site /abc?a=1 &b=2&c=1&d=1&e=2
/abc?a=1&b=2&c=1&d=1&e=* www.mystore.com/on/demandware.store/Sites-MySite-Site
Static Mappings
Navigate to: Site URLs> Static Mappings
1.
2.
3.
4.
You can create static mappings from existing legacy URLs to new URLs in the Demandware system. The URLs can be
either dynamic pipeline calls or static resources, like images.
The key is to have a unique identifier between the old and the new url to not impact SEO.
In a situation where a pattern cant be defined between old site product urls (product ID) and new DW urls, individual
product mappings are required. In that case, it may be better to find top 100 products and individually map each of those.
a. Recommendation: use google webmaster to review product level skus any under 10 impressions a month, dont
worry
You cannot create static mappings for current or legacy Demandware URLs to other Demandware URLs. All mappings
must be between an external URL and a Demandware URL.
133
5.
6.
7.
8.
9.
Use this page to direct specific legacy URLs to specific URLs in Demandware. If you have a large number of URLs that can be
mapped to a pattern, use the Mapping Rules feature instead of the Static Mapping feature.
Mapping box: enter a static mapping. Use the format documented in Static mappings.
Save: click to save any changes.
Cancel - click to cancel any changes made since opening the page.
Reset: click to reset the value to those displayed when you first opened the page.
Considerations
Can be either a relative URL (only path without host name) or an absolute URL (host name and
path specified). Supports '*' as prefix or postfix wildcards and the query string ignore wildcard
'?*'.
Indicates a case insensitive match.
<pipeline>
Legacy URL
134
Folders are named in the catalog/library/organization structure. The <unit> URL parameter refers
to one of these folders in the file system.
<unit>
<locale>
<parameter
name>,<parameter value>
Used with a dynamic pipeline call. If <parameter name> or <parameter value> contains
whitespaces, they must be enclosed in double quotes (" "). Do not use single quotes(' ').
<path>
Description
{_url}
{_path}
{_host}
{_querystring}
{<name>}
Example of mapping
Pattern
Template
http://example.com/image/logo.gif
s,,,,,/content/images/test/logo.gif
Old URL
New URL
http://example.com/image/logo.gif
http://example.com/on/demandware.status/WFS/<site>/<unit>//content/images/test/logo.gif
Examples
Dynamic pipeline calls
This maps a legacy press page to a new press page.
http://www.yourhost.com./pressuk i p, https,,,en_GB,Link-Page,cid,PRESS
This maps a legacy catalog location to a new catalog location.
/jump/to/catalog p,,,Link-Category,,cgid,K,name,K
This maps the contents of a category from an old store with an absolute URL reference to a new catalog location.
http://www.oldstore.com/my/old/category/** p,,,Link-Category,,cgid,C,name,C
This maps the contents of a category from an old store with a relative URL reference to a new catalog location.
**/catalog/shoes?** p,,,Link-Category,,cgid,S,name,S
This maps a specific URL for a special to a new catalog location.
/summerspecials p,,,Link-Category,,cgif,SummerSpecials
Static Resources
This maps one static page to another on the same web site:
/aboutus s,,,,,/html/about_us.html
135
This maps a legacy image with an absolute URL to an image in a new location.
http://www.mystore.com/show/my/image s,,,,,/images/add_cart.gif
This maps a legacy image with a relative URL to an image in a new location.
**/product-big-image.gif s,,,,,/images/product_big_image.gif
The <unit> parameter
Demandware static resources are owned by:
The organization (for all other resources, for example promotion images)
In the file system of your Demandware instance, you can see folders that are named like the catalog/library/organization. The
<unit> URL parameter refers to one of those folder in the file system. You can also map to static resources contained in
cartridges by using "-" as the unit name.
These are some examples of resource paths:
Catalog: Sites-apparel-catalog
/on/demandware.static/Sites-SiteGenesis-Site/Sitess-apparel-catalog/default/v1283800996326/images/large/10160_242.gif
content library: Sites-SiteGenesis-Library
/on/demandware.static/Sites-SiteGenesis-Site/Sites-SiteGenesisLibrary/default/v1283800996326/images/homepage/homepage_bottom_left.gif
Organization: Sites
/on/demandware.static/Sites-Site/Sites/default/v1283800855701/images/standard_storeLocatorMens.gif
Aliases
Navigate to: Site URLs> Aliases
1.
2.
3.
4.
5.
6.
7.
8.
9.
A hostname alias is a method of defining alternative names for an existing website URL.
You must set up and register the DNS and domain names to use these extra hostnames in aliases.
Needs to be done in order to utilize search friendly URLs, static mappings, source codes.
If you do not assign an alias to your site, enabling search-friendly URLs causes the storefront to display a 404 error for all
URLs besides the Welcome page.
A hostname alias is required if you want to create short, meaningful URLs for external search engines to index.
You must assign at least one hostname alias that is the current hostname on which the instance is running.
You may also want to create a simpler alias that reflects your store or brand name. Putting a simple Page URL in the alias
list, such as "www.mystore.com", enables users to get to the storefront without typing in the full Demandware URL, such
as:
http://www.mystore.com/on/demandware.store/Sites-MYS-Site/default .
Ideally, the long URL is only visible to search engines if someone posts a link containing the long URL.
Setting up alias in staging is just the url of environment minus the https://.
Multiple domains -If a customer has purchased other site names and wants the domains to still be active, even if the
sites have been shut down, so they get the traffic to old sites. For example, www.myshop.com, myshop.com, or
www.myothershopdomain.com.
Misspellings - Site aliases are also used for misspelling of site names. For example, amerzon instead of amazon or
www.myshop.com and www.myshops.com
Locale-specific pages - Demandware can associate an alias with a locale so www.myshop.de triggers the de_DE
locale.
Landing pages - Demandware can associate alias with landing page so that shoes.myshop.com goes to Shoes category
page
Device-specific pages - Demandware can associate an alias with device-specific pages so that customers on web-ready
devices, such as mobile phones, can access the site.
136
3.
In Business Manager, select a site on your Staging system and click Site URLs >Aliases.
Create a set of hostname alias rules. If you want to test your that your rules are valid JSON, we recommend that you
test your rules against a debugging tool, such as the one available at http://www.jsonlint.com/. Remember to remove
any comments from your mapping files and use colons rather than equal signs to separate property and value.
Site URL aliases files are instance specific, so site URL aliases are individually managed for each instance
(Development, Staging, Production). Because each instance now has its own aliases file, these files are not included in
data replication. This ensures that a data replication of Site URL Management 'does not overwrite URL alias settings on
production with the staging configuration. You must individually edit the site URL aliases on each of your instances
(Development, Staging, Production) to have the same aliases on all of these instances. For information about creating
alias rules, see Hostname alias file format and processing
When you are satisfied that your alias file is valid, copy it into the editor and click Apply.
host name - the part of the URL that indicates the site's host. For example: www.sitegenesis.com .
path - the part of the URL that indicates the path to the page. For example: /electronics/tvs/promopage.html .
File Format
{"__version": "1",
"settings": { "http-host": "httphostname" , "https-host": "httpshostname" },
"hostName1": [
{ mapping rule1 },
{ mapping ruleN }
],
"hostNameN": [
{ mapping rule1 },
{ mapping ruleN }
]
}
version - Currently the value of this parameter must always be 1. This indicates the syntax version of the file. You must
include this or the platform assumes you are using the legacy alias file format.
settings - Use this to specify a preferred HTTP host and HTTPS host. In versions of Demandware prior to 2.10.2, this
setting was configured in Business Manager on the Administration > Sites > Manage Sites > site > Settings page . If no
settings are supplied in the hostname alias file, these values can still be set on the Settings page. However, this is not
recommended, as it remains available only to accommodate legacy implementations.
httphostname - The preferred HTTP URL.
httpshostname - The preferred HTTPS URL. This setting is not necessary if you do not want your site to be accessible
through a secure channel.
137
hostName - The original URL entered by the customer. You can have multiple host names. Within a host name, you can
include multiple rule definitions, each may contain the following attributes.
2.
3.
4.
No - process the first mapping rule. Since Demandware only processes the first successful alias it finds, if-agentcontains must be included as the first mapping in a rule or it is never reached.
Is the if-agent-contains condition TRUE?
Yes - then process the mapping rule directly after the if-agent-contains rule.
No - process the rule or condition after the rule associated with the previous if-agent-rule.
Is the entered URL a host-only URL? Yes - the entered URL is a host-only URL that looks like http://www.sitegenesis.com/
If rule provides pipeline - construct full redirect URL from the pipeline, locale, and params parameters.
If rule provides host - use the value from the provided host parameter and add any path information included in the
entering URL.
If rule provides path - add the value from the provided path parameter to the entered URL.
If rule does not provide any parameters - use the Default-Start pipeline to construct the redirect URL.
No - the entered URL contains at least a partial path and looks like:
http://www.sitegenesis.com/electronics
If rule provides host - replace the URL host with the host value and use the rest of the path in the entered URL to
construct a 301 redirect. This means that if you have the following rule:
If rule provides path but not host - the path value is only used if the entered URL does not contain any path
information.
Rule Examples
Example 1: Integrate default HTTP and HTTPS host names
The following example configures the main HTTP and HTTPS hostnames for the production instance. The settings section is
optional.
"settings": {
"http-host": "www.sitegenesis.com",
"https-host": "secure.sitegenesis.com"
}
],
138
139
/*
* __version must be set to "1"
*/
"__version": "1",
/*
* Settings section is used to configure main HTTP and HTTPS hostnames for a site.
*
*/
"settings": {
"http-host": "eng05.lab1.dw.demandware.net",
"https-host": "eng05.lab1.dw.demandware.net"
},
/*
* Host name definitions.
* The following section allows to define additional hostnames associated with the site.
* With each hostname it is possible to define set of redirect rules.
*
*/
/*
* Examples
*/
/*
* Host redirect from sitegenesis.com to www.sitegesis.com.
* All URLs coming to sitegenesis.com (http://sitegenesis.com/*) will be permanently redirected (301) to
www.sitegenesis.com
*
*
"sitegenesis.com": [
* {
*
"host": "www.sitegenesis.com",
*
}
* ],
*/
/*
* Host redirect to specific pipeline.
* Hostname-only URL (e.g. http://electronics.sitegenesis.com/) will result in a call of Search-Show pipeline.
*
*
"electronics.sitegenesis.com": [
* {
*
"pipeline": "Search-Show",
*
"params" : {"cgid"="electronics"}
*
}
* ],
*/
/*
* Host redirect based on user agent header.
* With each rule it is possible to associate precondition based on content of "user-agent" http header.
* In the example below an HTTP requests with "User-Agent" header containing "iphone" or "ipod"
* will be redirected (301) to apple.sitegenesis.com and those with "blackberry" to bb.sitegenesis.com.
*
*
"www.sitegenesis.com": [
*
{
*
"if-agent-contains": ["iphone","ipod"],
140
*
"host": "apple.sitegenesis.com",
*
},
*
{
*
"if-agent-contains": ["blackberry"],
*
"host": "bb.sitegenesis.com",
*
}
* ],
*/
}
use colons rather than equal signs when specifying properties. Equal signs are not valid JSON, although they are
supported in the hostname syntax
remove all comments in your file, as comments are not valid JSON.
remove commas after host entries, as commas are not valid JSON. They are required for the Demandware hostname
file, however, so remember to replace them after debugging your file.
Canonical Tags
1.
2.
3.
4.
5.
6.
7.
301 redirects from URLs to a canonical URL. For example: if www.test.com, test.com, and
www.example.com/index.html have 301 redirects to example.com/home.asp, then example.com/home.asp is a
canonical URL.
A canonical URL tag is included in the header of multiple pages. For example, if test.com, and
www.example.com/index.html have canonical URL tags in their header to example.com/home.asp, then
example.com/home.asp is a canonical URL.
A canonical URL tag is included as a link element in the header of an HTML page. For example: <link rel="canonical"
href="http://www.company.com" />
A canonical URL tag is often the easier way of establishing a canonical URL, especially for Demandware pages, where similar
content may have different URLs depending on the category navigation, search feature, or landing page used to find the content.
In SiteGenesis 2.11.2, canonical URL tags will be standard. However, if your storefront is based on a previous code version, you
must alter your templates to include canonical URLS.
1.
In the pt_productsearchresult.isml template, include the following code in the <head> tag:
<isif condition="${(pdict.CurrentHttpParameterMap.cgid.submitted && pdict.CurrentHttpParameterMap.cgid.value !=
'')}">
141
In the pt_productdetails.isml template, include the following code in the <head> tag::
<link rel="canonical" href="${URLUtils.url('Product-Show','pid', pdict.Product.ID)}"/>
142
Site Preferences
Products
Navigate to: Site Preferences> Products
1.
Define the time (in minutes) for which you want to lock the product. During this time, the product cannot be edited by other
users.
Release product lock after: Enter the number of minutes a product lock should prevent other users from editing a product.
The default value is usually 60. This value must be long enough to allow a user to make all necessary edits to a product but
short enough to allow other users to access the product if the merchandiser who locked the product forgets to release the
lock.
You must lock products in Business Manager for editing. If the product is a variation master, Business Manager
automatically locks all of the master's variation products. This reduces the number of clicks you must make when editing a
variation. If a variation product is currently locked by another user, it remains locked for the other user. If you unlock a
variation master, all variation products locked by the other user remain locked for the other user.
Apply: Click to save any changes.
Reset: Click to reset the value to the number set when you first opened the page.
Baskets
Navigate to: Site Preferences> Baskets
1.
2.
3.
When a customer registers or logs in, the basket of the current anonymous or registered customer remains in the session and
becomes the basket of the new customer (change of ownership).
The basket of a registered customer disappears from the session when the customer logs out.
You can configure basket persistence using Business Manager.
1.
2.
Open Business Manager and navigate to <site> > Site Preferences > Baskets.
Select any of the following Basket Persistence options:
All baskets disappear at the end of the storefront session. The basket of the customer's previous session is
not restored if the customer returns to the storefront in a new session.
The basket of a registered customer's previous session is restored if the customer returns to the storefront
Baskets persistent for and logs in. Customer baskets are stored for the duration, configured with 'Basket Lifetime'. If a customer
authenticated
logs in and there is no current session basket, the basket of the registered customer's previous session is
customers only
restored. Otherwise, the current session basket becomes the basket of the customer and the previous basket
is provided through the API.
The basket of a registered customer's previous session is restored if the customer returns to the storefront
Baskets persistent for and is recognized by the system. Customer baskets are stored for the duration, configured with 'Basket
registered customers Lifetime'. If a customer logs in and there is no current session basket, the basket of the registered
only
customer's previous session is restored. Otherwise, the current session basket becomes the basket of the
customer and the previous basket is provided through the API.
The basket of a customer's previous session is restored if the customer returns to the storefront in a new
session. Customer baskets are stored for the duration, configured with 'Basket Lifetime'. If a customer logs
Baskets persistent for
in and there is no current session basket, the basket of the registered customer's previous session is
all customers
restored. Otherwise, the current session basket becomes the basket of the customer and the previous basket
is provided through the API.
3. Enter the Basket Lifetime in minutes.
The duration of the configured lifetime, in minutes; the default is 240 minutes, or 4 hours. It is possible to persist a basket for
Baskets not persistent
143
more than one day. The maximum basket persistence value is 1000000000000000000000000000000000000000000 minutes,
but it is not recommended.
4. Specify the Add Product To Basket Behavior - how you want new products added to the basket (select one).
Increment Quantity
Allow Repeats
5. Specify the maximum number of product line items - how many items to allow in the cart at one time.
The default is 50. When this limit is reached, the Demandware platform will not allow more items to be added to the cart and
will display an error message.
6. Click Apply to accept your changes.
Customers
Navigate to: Site Preferences> Customer
1.
2.
Manage customer settings including customer lockout, maximum invalid login attempts, lockout effective period, login
attempt reset time and customer profile retention.
Use this page to help control how your storefront responds to failed login attempts by visitors to your site.
You can either give customers an unlimited number of login attempts, or you can specify a hard limit. If you specify a
limit, and the limit is exceeded, the system locks out the customer's account, denying further login attempts for a
configured period of time, after which the customer can try again to login.
By locking out the customer's account, you reduce the effectiveness of automated "brute force" attacks aimed at
cracking the customer's password. However, you also make it easier for a malicious user (or program) to intentionally
lock a customer's account by issuing failed login attempts. Carefully consider this tradeoff when configuring these
settings.
Maximum invalid login attempts: Specifies the number of failed login attempts allowed before the system locks the
customer's account. Valid values are 2 - 100 (2 is the default).
Lockout effective period: Specifies the amount of time the system waits after locking an account before unlocking the
account and allowing further login attempts. Valid values are 1 minute, 30 minutes, one hour, two hours, one day, ten days
(1 minute is the default).
Reset failed login count: Specifies the number of minutes after which the count of invalid login attempts is reset to 0. For
example, if a visitor fails to log in successfully, but then stops trying, this setting controls how long the system waits before
resetting the count to 0. Valid values are 5 minutes, 30 minutes, one hour, two hours, one day (5 minutes is the default).
Customer Data Retention
Customer Profile Retention: enter the number of days the system stores customer profiles. Profiles are automatically
removed for customers who have not visited the site within the specified number of days. Leave the field blank if customer
profiles should never be purged from the system.
SiteGenesis Example
144
In SiteGenesis, when a visitor to the site fails to login successfully, and the number of failed login attempts is at least two less
than the specified limit, the following message is displayed:
When the number of failed login attempts is one less than the limit, the following message is displayed:
And when the number of failed login attempts exceeds the limit, the customer's account is locked and the following message is
displayed:
When a customer's account is locked out in SiteGenesis, the customer is notified by email. For example:
Dear <customer>, Your account has been temporarily
locked because of the maximum number of invalid logins has been
exceeded. Please try logging in again later. If you feel you have
received this email in error, please contact customer service. This is
an automatic generated E-Mail, please do not reply.
To see how SiteGenesis uses customer preferences, you can examine the following files:
Login.xml
logininclude.isml
lockoutemail.isml
account.properties
145
AB Test Preferences
Navigate to: Site Preferences> A/B Tests
1.
2.
Sandbox/Development
Staging
Production
AB Test Settings
True: Enable
False: Disable
Enable Statistics Collection: Select to allow the system to gather AB test statistics based on storefront events. Disable this
on the staging instance if you want statistics to be copied from production nightly and do not want these results modified.
True: Enable
False: Disable
Retrieve Statistics From Production: Enable on both the staging and production instances to allow for the nightly copying
of AB test statistics from production to staging.
True: Enable
False: Disable
Locales
Navigate to: Site Preferences> Locales
1.
2.
Use Administration > Global Preferences > Locales to identify which locales you wish to make available to the
system administrators of the storefront sites and within Business Manager within your instance.
Use Site Preferences > Locales to identify which of those pre-defined available locales to make available through the
storefront and in language select boxes in Business Manager. One locale must be marked as the default that will be
used if no locale is passed with a storefront request.
To set a locale as pre-selected locale for all Business Manager dialogs that include localized attributes, the user can define
this preferred locale (language) in his or her profile. The prerequisite is that this locale (language) was previously activated
for the instance through Global Preferences.
Product
Catalog
Content
Search
Promotion rules
Customers
Custom objects
Ordering
Organization
Site development
146
3.
4.
To edit the locale including specifying localized formats for attributes, dates, currency, quantity, and input settings, click the
link that is the locale ID. If you want the system to give you default formats, click Prefill after you select the locale.
Once you have selected the required locales you need to build search indexes for those locales. Proceed to the Search >
Indexes module, select the locale for which to build a search index and click Index/Reindex. Now when customers use
those locales (languages) in their search criteria, the system will be able to respond appropriately.
Source Codes
Navigate to: Site Preferences> Source Codes
URL Parameter Name: enter the name of the source code parameter in the URL query string.
Cookie Duration in Days: enter the number of days to keep the source code in a user's session. This must be a number
between 0 and 999.
Standard Redirect URL: enter the URL to use for redirect handling. This URL is displayed on the Source-Code Group
page Codes tab for a specific group with the source code specification appended.
Note:
This URL must also be specified in the Site URLs module, which is where the mapping to the redirect pipelet is specified.
Active Redirect Default: specify the redirect location when a specific source code group has its redirect set to Default .
Select one of the following options:
Home Page - select this option to redirect the customer to the storefront home page.
Category - select this option and enter the category ID for the category page you want to redirect the customer to land
on. Click
to see a tree of the categories and select one.
URL - select this option and enter the URL you want to redirect the customer to land on.
Inactive Redirect Default: select the page to redirect a customer to if they use an inactive source code group whose redirect
value is set to Default.
Home Page - select this option to redirect the customer to the storefront home page.
Category - select this option and enter the category ID for the category page you want to redirect the customer to land
on. Click
to see a tree of the categories and select one.
URL - select this option and enter the URL you want to redirect the customer to land on.
Apply - click to save any changes.
Reset - click to reset the value to those displayed when you first opened the page.
147
Gift Certificates
Navigate to: Site Preferences> Gift Certificates
1.
If Client is using DWs GC functionality, they can define the handling of gift certificates including: Sender Name, Email,
Email Template, Gift Certificate Code Masked and Export Merchant ID.
Sender Name: enter the name to include in the email sent to the gift certificate recipient.
Sender E-Mail: enter the email address to use in the from field of the email sent to the gift certificate recipient.
Email Template: the name of the email template to use when sending email to the gift certificate recipient. If you are using
the default template, the sender name is inserted into the body of the email.
Gift Certificate Code Masked: select one of the following options:
True - the gift certificate merchant ID is exported when gift certificates are exported.
False - the gift certificate merchant ID is not exported when gift certificates are exported.
Apply - click to save any changes.
Reset - click to reset the value to those displayed when you first opened the page.
Guided Search
Navigate to: Site Preferences> Guided Search
1.
Use this page to manage search configuration settings for your instance.
Availability Settings
Show Orderable Products Only: enable this option to hide products that are not available for sale.
Note:
You can also hide products that are not available for sale at the product level.
148
Spell Checking: select Enabled to enable spell checking for search terms.
Note:
The spelling suggestions option does not need to be enabled for spell checking to be enabled.
Spell Checking Index Threshold: specify, in decimal form, the percent of top frequent words to index and make available
for valid suggestions. The range is 0.0 to 1.0. Best practice is 0.30 - index the top 30% of frequent words. Changing this
value requires a complete rebuild of the spelling index.
Spell Checking Smooth Accuracy: specify, in decimal form, how closely matched suggestions must be to the search
phrase when no search results are found. Low accuracy increases the chances for suggestions but decreases the chance for
accuracy. Range is 0.0 to 1.0; best practice is 0.5.
Spell Checking Strict Accuracy: specify, in decimal form, how closely matched suggestions must be to the search phrase
when search results are found. A high value increases the accuracy of the search result and decreases the number of
suggestions. Range is 0.0 to 1.0; best practice is 0.9.
Search Suggestion Settings
Search Suggestions: select Enabled to display search suggestions to the customer when they enter a search term.
Note:
The spell checking option does not need to be enabled for search suggestions to be displayed.
Compatibility Settings
Search in Offline Categories/Folders: change the selected version to 2.10 or later to see the following changes:
Offline categories/folders (and their sub-categories) are ignored for catalog/folder navigation and keyword searches.
Previously, they were just ignored for catalog/folder navigation.
Deepest common category/folder is now calculated based on category/folder assignments below the current refinement
category/folder only. The system ignores any assignments to categories/folders outside the current refinement tree. If a
search is refined by category/folder, the deepest common category/folder is still calculated based on the actual search result
and can therefore be any category/folder below the refinement category/folder.
Note:
This option is only available for migrated instances, this cannot be selected for new instances. New instances use
the behavior described by the 2.10 option.
Reset: click to undo any changes made since opening this page.
Sequence Numbers
Navigate to: Site Preferences> Sequence Numbers
1.
2.
3.
Use this page to control the start value and format of sequence numbers that are used to identify orders, customers and gift
certificates for this site.
If global sequence numbers are configured, it is not necessary to configure site-specific sequence numbers.
If site-specific sequence numbers are configured, they are used instead of the global sequence numbers.
149
Sequence Uniqueness: You can configure sequences to generate numbers that are unique at the site or organization level.
For sequences configured to be unique per site, you can configure the start value and the format of the number series.
You can specify the following kinds of sequence numbers:
Order Number: The sequence number for orders generated from your storefront. This number is used to search for
orders within Demandware. Further configuration is available in Business manager, on the Site Preferences >
Sequence Numbers page.
Customer Number: Assigned as a customer number to new customers during storefront registration. A customer
number sequence is available for each customer list.
Gift Certificate Merchant ID - Demandware gift certificates have one ID attribute that is used as redemption key and
unique identifier at the same time. Gift Certificate redemption keys are sensitive data owned by the customer and have
to be encrypted and masked in the Demandware system for security reasons. The Gift Certificate Merchant ID is an
additional ID that is owned and only known by the merchant and the merchant backend system. Merchant ID sequence
numbers can be organization or site-specific.
Sequence entry form, for example, Gift Certificate Merchant ID Sequence:
Value Preview: Displays a sample sequence number with the configured start value and format pattern.
Start Value: Enter the starting number for the sequence. The start value of a number series can only be increased (never
decreased) unless you completely reset the number series by clicking Reset.
Format Pattern: The format pattern references the actual series number using number notation of the Java MessageFormat
class. The number can be formatted using standard number format patterns (e.g. {0,number,000000} for fixed, 6 digit
number). For more information, see http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html
Apply: Click to save any changes.
Reset: Click to reset the value to those displayed when you first opened the page.
<<Back: Click to return to the Site Preferences module.
Order
Navigate to: Site Preferences> Order
1.
Order Export Delay: enter the number of minutes after order creation that an order can be exported. After this delay,
the order is a candidate for export.
Order Edit Export Delay: enter the number of minutes after an order is opened for editing that it can be exported.
Order Storage Settings
Order IP Logging: Enable to activate storage of customer IP address during order creation. When an order is placed by a
customer, his or her IP address can be stored within the order. The IP address appears on the order detail page and will be
exported as well for further usage. This feature supports IPv4 and IPv6 addresses. IP logging must be enabled for a specific
site.
150
Payment Information Retention: enter the number of days the system stores credit card and bank account payment
information. Payment information used for orders older than the specified number of days is masked so that the original
numbers are no longer recoverable. This masking is permanent and cannot be undone if the number of days is changed
later. If you leave the field blank, payment information is masked after 365 days.
Order Retention: enter the number of days the system stores orders. Orders older than the specified number of days
are automatically removed from the system. Leave the field blank if orders should never be purged from the system.
Reset - click to reset the value to those displayed when you first opened the page.
Coupons
Navigate to: Site Preferences> Coupons
1.
Use this page to define preferences for system generated coupon codes.
Include vowels and Y: Specify if you want to include or exclude vowels or Y from the code. This is to remove the potential
of creating real words.
12 characters
16 characters
Format example: Shows an example of a format.
Apply: click to apply changes.
Promotions
Navigate to: Site Preferences> Promotions
1.
2.
Use this page to configure preferences for the Buy X / Get Y product promotion.
Use this page to configure preferences for discount precision.
151
Qualifying products are the X most expensive products satisfying the promotion's qualifying product rule.
Products receiving the discount are the Y least expensive of the remaining products satisfying the promotion's
discounted product rule.
Discounted items must be less expensive than related qualifying item price.
b) Discount next most expensive products (default):
Qualifying products are the X most expensive products satisfying the promotion's qualifying product rule.
Products receiving the discount are the Y next most expensive (or same price) of the remaining products satisfying
the promotion's discounted product rule.
Discounted items must be less expensive than related qualifying item price.
Discount Precision
This setting enables you to control the rounding behavior for price adjustments generated by the Demandware platform.
Select one:
a) Precision of site currency (default): Discounts are calculated based on the precision of site currency. The rounding
mode is half-up.
b) No fractions: Discounts are always rounded to the full amount and contain no fractions (i.e. precision=0). The rounding
mode is half-up.
Note:
Half-Up rounding is widely used in many disciplines. It means that half-way values, both positive and negative,
are always rounded up. For example, the value 23.5 is rounded to 24, while the value -23.5 is rounded to -23.
This setting is only relevant for sites with a currency having precision > 0, for which the merchant wants to enforce a
precision=0. For currencies with precision = 0 (for example, the Japanese Yen or New Taiwan Dollar), this preference is
irrelevant and has no effect on the calculation.
The preference can be used in these cases:
Storefront Toolkit
Navigate to: Site Preferences> Storefront Toolkit
1.
2.
3.
Use this page to set the preferences for the storefront toolkit.
Enabling or disabling the storefront toolkit will invalidate the page cache for the site, if page caching is enabled.
The toolkit may not be enabled on production.
152
icon in the upper left corner of the storefront to see the tools available in the toolkit.
Storefront
Icon
Menu Items
Description
(no icon)
Content
Information
When this tool is selected, mousing over a storefront page component causes the Content
Information window to display links to the product, content asset, or content slot associated
with the page component. Click the link to open the content for editing in Business Manager.
(no icon)
Page
Information
(cached),
Cache
Information
The icons indicate cached and uncached page components in real time on your instance.
Mouse over an icon to see additional information about caching. This is most useful when
developing storefront templates.
Search
Information
Mouse over the icon to see sorting rule and search scoring information for a particular search
result. If your site is not based on SiteGenesis, you must implement some new tags to use this
tool. For more information, see Implementing the Search Information tool.
Request Log
The Request Log window displays the last request to the server from the storefront. Requests
that are made to the server while this window is open are also displayed in the window.
Site Preview
The Site Preview window allows you to temporarily set a date and time for the storefront and
view the storefront as it will appear at that date and time. This is most useful when testing
content slots and other time-dependent template features.
You can also use the Site Preview tool to preview an AB test on a storefront by entering the
AB test and AB test segment values. When an AB Test Segment is being previewed, the
promotions, discounts, slots and sorting rules related to that AB test segment will be enabled,
regardless of the time for which the AB test is scheduled.
See Previewing an AB test.
(uncached)
(page
result)
(result)
(no icon)
(no icon)
When this tool is selected, mousing over a storefront component causes the Show Page
Information window to display links to templates and pipelines associated with the object.
Click the link to open the template or pipeline in Demandware UX Studio. This is most useful
for application development.
Note:
It is not possible to select both the Page Information and Content Information tool at the same time. If you are switching
between them, you may need to periodically deselect all tools and refresh your page.
153
Custom site preferences can be used to set a preference for a specific site.
You must have created the preference as a custom attribute of the SitePreferences object and created an attribute group in
order to see anything on this page.
Custom site preferences are useful if different sites are integrated with different systems or require different processing
options.
Custom Site Preferences Grid - click any link in the grid to edit the custom preference group values. The grid displays the
following columns:
154
Replication
Navigate to: Administration> Replication
1.
2.
3.
4.
5.
To move data and code to a production instance, you must replicate the data and code. Replication is the process by which
Demandware pushes changes to production in a controlled manner, minimizing the risk of unplanned changes.
Replication occurs only on PIGsnot on SIGs or sandboxes.
During replication, changes are pushed from a replication source to a replication target. The replication source is always the
staging instance; the replication target can be either a development instance or a production instance.
The primary goal of replication is to push changes from staging to production, but a preliminary step is to push those same
changes to development, enabling you to verify that replication was successful. After you have tested replication on the
development instance, you can push the changes from staging to the production instance.
Replication tasks are bundled into one replication process that is typically run during off-peak hours.
You control replication by defining replication processes. A replication process is a collection of replication tasks, and each
replication task specifies a subset of changes to push to the replication target. You can define multiple replication processes, and
you can specify which replication tasks to include in each process, allowing you to control the granularity of changes pushed at
any one time. You have the flexibility to push an entire site or just a selected subset of the sitefor example, just the site's
custom objects. You have a similar flexibility in pushing organization-level changes.
When replicating your storefront, you will replicate code and data (content) through tasks defined in the Business Manger.
1.
2.
Navigate to Administration > Replication in Business Manager to transfer content (such as product and catalog data,
XML-based content components and image files) and code from a source system to a target system. (The source system
can be Development or Staging and the target system can be Staging or Production.)
The content to be replicated is defined in data replication tasks, which are submitted to and executed by the central
system administrator.
Note:
To upload and deploy new code versions, navigate to Administration > Site Development > Code Deployment (see Code
Deployment for more information.
The next picture shows data flowing from the Staging instance to the Production instance and into duplicate storage.
Finally, during the Publishing process the Production instance quickly switches between the old data and the new data. The
switch is normally invisible to customers. However, some data replications can cause page caches to be invalidated. In these
cases, storefront response times will be affected until the page caches are rebuilt.
155
The administrator can roll back one version with the Undo option.
Replication Group
Coupons
Coupons
Images
Static Content
Gift Certificates
N/A
Comments
Test data
156
Source Codes
Content Slots
Slots
Basket Behavior
Preferences
Time Zone
Preferences
Gift Certificate
N/A
Sequence Numbers
N/A
Preferences
The Demandware system does not replicate source code redemptions. Import
source code groups and their codes into Staging, test them in Staging and
Development, and then replicate them to Production.
Content Slots reference Categories
Content
Business Manager Data
Replication Group
Library Folder
Content Library
Content Assets
Content Library
Comments
Site URLs
Business Manager Data
Replication Group
Comments
SEO Support
Preferences
Mapping Rules
Static Mapping
Aliases
Custom Objects
Business Manager Data
Replication Group
Comments
Custom Objects, unless marked "Not Replicable" Include Custom Object definitions.
Customers
Business Manager Data
Replication Group
Comments
Customers
No need to copy
Customer Groups
Customer Groups
157
Search
Business Manager Data
Replication Group
Comments
Search Indexes
Search Indexes
Product
Search Indexes
Spelling
Search Indexes
Content
Search Indexes
Redirect
Search Indexes
Synonym
Search Indexes
Suggest
Search Indexes
Ranking
Search Indexes
Stopword Dictionary
Search Indexes
Hypernym Dictionary
Search Indexes
N/A
Search Indexes
Synonym Dictionary
Search Indexes
Sorting Configuration
Search Indexes
Search Preferences
Preferences
Ordering
Business Manager Data
Replication Group
Taxation
Taxation
Orders
N/A
Payment Processors
Payment Processors
Shipping Methods
Shipping Methods
Comments
Test data
Replication Group
Comments
Products
Catalogs
Catalogs
Catalogs
Categories
Catalogs
Images
Static Content
Price Books
Price Books
Product options
Catalogs
Product sets
Catalogs
158
Recommendations
Catalogs
Variation attributes
Catalogs
Catalog feeds
N/A
Inventory
N/A
Batch processes
N/A
Note:
It is no longer possible to replicate sitemaps or other catalog feeds via site preferences.
Data Replication
Navigate to: Administration> Replication> Data Replication
1.
2.
Use this page to create a new replication process that transfers data between Demandware instances.
It is only possible to reach this page on Staging instances. This page is not available on Sandbox instances.
Use this page to create a new replication process that transfers data between Demandware instances.
Process ID: an automatically generated value that can be used to identify the process in logs.
Target: the system to replicate data to. This can only be the Development or Production instance.
Description: enter a description of the replication process that can be used to identify it later, such as the data being
replicated and the reason for replication.
Activation: select one of the following options for how the replication starts:
Automatic - at a specified date and time or, by default, immediately after the replication process has been defined.
Manual - prepared but waiting to be started by a Business Manager user with the proper permissions.
When process ends - always generates an email notification for the email addresses entered in the to box when the
process ends, whether it ends successfully or in error. To send notification to multiple people, enter multiple addresses
separated with a comma.
When process fails - if an error occurs with the data replication, generates an email notification for the email address
entered in the to box. To send notifications to multiple people, enter multiple addresses separated with a comma.
Periodically - generates an email notification periodically while the process is running and when the process ends,
either successfully or in error. This option allows you to identify if a process is running longer than expected. In the
Every...Minutes box specify how often the process generates an email. Enter the email address to send the notification
to in the to box. To send notifications to multiple people, enter multiple addresses separated with a comma.
159
The generated email contains information about the start and end time of the process, the target system, and replication mode. It
lists the configured replication groups. In case of a failure, an error code is also included. Copying an existing process keeps the
original notification settings for the new process. Each process in a recurring series sends its own notification.
Note:
An email is sent after the process has finished or failed. If the process is hung, no email is sent.
Next >>: click to continue to the next step in configuring the replication process.
Cancel: click to cancel the replication process and return to the Data Replication Processes page.
1.
Undo
Organization
Click the plus icon to see all of the organizational objects that you can replicate.
2.
Click the plus icon to see all of the objects for a specific site that you can replicate.
Check the box for any object you want to replicate.
Next >>: click to continue to the next step in configuring the replication process.
Cancel: click to cancel the replication process and return to the Data Replication Processes page.
160
Two-Step Publishing
You can replicate data via two-step publishing, which allows you to avoid having the entire the process run and then return a fail
status. In this case, you will set the replication process from staging to just transfer, and then publish the data once the transfer is
complete. This process is useful for merchants who are just starting to create their replication and transfer processes, and need
more control over the results.
To perform two-step processing:
1. Create a process called transfer, and start it following the above instructions.If the transfer fails, you must troubleshoot
the problem to determine the root cause and then repair the problem. Once the problem has been identified and
repaired, transfer the information again. If the transfer fails five times, for example, you cannot publish because nothing
was copied from staging to production to publish.
2. Once the transfer process complete successfully, you will be able to see/create a second task called Data Publish that
actually publishes the data.The data in the transfer and publish tasks must match. For example, you cannot transfer
Catalog, Index and Promotion data and then only publish Catalog.
Caution:
You must always run transfer followed by publish. For example, if you transfer data at one PM on April third, you must run
publish before any other replication.
Note:
Another best practice is to disable incremental indexing during this two-step process. Though incremental indexing does not
need to be disabled for the transfer, it must be disabled before you run publish. You can either replicate the search index or
manually build it on the target instance.
Business Manager Modules - enable or disable access to the data replication function.
161
162
[2007-01-15 21:31:17.435 GMT] End date: Mon Jan 15 21:31:16 GMT 2007
[2007-01-15 21:31:17.435 GMT] =======================================
Code Replication
Navigate to: Administration> Replication> Code Replication
1.
2.
3.
4.
Business Manager code replication allows you to replicate the active code version between a source and a target instance.
You can only transfer custom code to a registered target system, in a way similar to data replication. This means that the
available paths are from staging to either development or production.
On the production instance, a new version is automatically created, whose name is built from the original version name and
modified with a timestamp, if necessary.
You can copy the code to production without activating it, or copy it while making it active. This approach allows you to
manually switch to an earlier version. In the case of a code rollback, the Demandware platform knows which was the
previously active version and activates that version again. The suggested strategy for a production instance is as follows:
Deploy the code version on the staging instance. See Code Deployment.
Replicate the code (and data) to the development instance to test the process itself (Administration > Replication >
Code Replication ).
After the test and eventual adjustments of the new code version, replicate this code to the production instance.
Replication Types
You can create code replication processes for a manual or automatic start; just configure the target system. There are four
possible replication types:
Replication
Type
Code Transfer
Code Transfer
and Publishing
Code
Publishing
Code Undo
Description
The currently activated code version on the source system will be transferred to the target system.
Each replication actually creates a new code version on the target system, even if name or all files within the
version match to an already installed version. Contrary to data replication, no synchronization is used, as this
could affect the existing, or even active, version on the target instance.
The first step is the code transfer, followed by an immediate activation of the new version.
Performs no transfer at all, but simply activates the previously transferred version. This mode is only available
when the previous code replication process was of type Code Transfer. Since the version name can change
between the two systems there is some additional logic to ensure a correct handling. If this version does not
exist anymore, the publishing will fail. If it has been already activated, nothing is done.
Similar to code publishing (that is, no data transfer), but rolls back the previously activated version. This mode
requires a prior process in either mode Code Transfer & Publishing or Code Publishing. If the version to be
un-done is no longer active, nothing will be done. If the version lo longer exists or no version to rollback to
exists, the process will fail.
Email Notification
You can configure email notifications for code replication. An email is sent after the process has finished or failed. If the process
is hung, no email is sent. You can specify a comma-delimited list of email recipients if you want notifications sent to multiple
people. The notification email contains the following information:
Target system
Replication mode
163
1.
Use this page to create a new replication process that transfers code between Demandware instances.
Note:
It is only possible to reach this page on Staging instances. This page is not available on Sandbox instances.
Process ID - An automatically generated value that can be used to identify the process in logs.
Target - The system to replicate code to. This can only be the Development or Production instance.
Description - Enter a description of the replication process that can be used to identify it later, such as the code being
replicated and the reason for replication.
Activation - Select one of the following options for how the replication starts:
Automatic - at a specified date and time or, by default, immediately after the replication process has been defined.
Manual - prepared but waiting to be started by a Business Manager user with the proper permissions.
Notification: Select one of the following options for email notification of the replication:
When process ends - always generates an email notification for the email addresses entered in the to box when the
process ends, whether it ends successfully or in error. To send notification to multiple people, enter multiple addresses
separated with a comma.
When process fails - if an error occurs with the data replication, generates an email notification for the email address
entered in the to box. To send notifications to multiple people, enter multiple addresses separated with a comma.
Periodically - generates an email notification periodically while the process is running and when the process ends,
either successfully or in error. This option allows you to identify if a process is running longer than expected. In the
Every...Minutes box specify how often the process generates an email. Enter the email address that notification is sent
to in the to box. To send notification to multiple people, enter multiple addresses separated with a comma.
The generated email contains information about the start and end time of the process, the target system, and replication mode. It
lists the transferred code version. When a failure occurs, it also includes an error code. Copying an existing process keeps the
original notification settings for the new process. Each process in a recurring series sends its own notification.
Note:
An email is sent after the process has finished or failed. If the process is hung, no email is sent.
2.
Use this page to define replication tasks for a new replication process that transfers code between Demandware instances.
164
3.
Confirmation
Replicating a Storefront
Replicating a storefront moves the contents of the staging database to the production database. You can also replicate from the
staging environment to the development environment.
The following types of information can be replicated:
Meta data for the objects included in the staging process (for example,, staging catalogs will copy meta data for the
categories and products in the catalogs)
Campaigns, promotions and coupon definitions (for example, maximum number and codes)
Search indexes - first include this in the replication task, then update the search index before executing the replication
task
Site preferences
Site URL management, including site URLs and configured URL mappings
The following types of information cannot be replicated:
Inventory
Payment information
We recommend having more than one user role involved in the replication process:
165
Product manager - to create/define replication tasks; this person has limited replication rights (by default, this role does
not have replication permission)
Replication manager - to manage and execute replication tasks
When changing meta data, we recommend that you change the meta data on Staging, then replicate "Object definitions"
to Development and Production. This process helps mitigate errors due to manual editing.
We recommend that you update your search index before executing any replication process.
You can execute a replication request manually or schedule it (one time execution only).
Use the Copy function to re-run a finished process, regardless of whether it failed or completed.
During replication, only the data within the replication groups is overwritten. If you replicate products, you will not
overwrite content assets and vice versa.
The replication process transfers the data available on the source system at the time the process begins, not from the
time the process was created.
The Code Replication process from the Staging to Production instances automatically clears the cache as the last step of this
process.
If a user directly deployed code or page changes to Production (this is not recommended), the user would need to manually
clear the cache through the Business Manager.
There are a few use cases when page caches are not automatically invalidated or appear not to have been invalidated. It is
possible to manually clear caches through the Business Manager.
a) A cache may appear to not be cleared if the administrator's browser cache is storing old pages. An administrator should
close the browser and clear its local cache before manually attempting to clear a cache in the Business Manager.
b) If an administrator is attempting to manually clear the cache on an Akamai enabled system (this is all production and
development environments), there is no need to invalidate page caches.
c) If an administrator does not see an expected change, she should look for a pattern. For example: are images not
refreshing? Possibly your image provider, such as Scene 7, is experiencing a problem. Make sure that content assets
have been deployed.
Caution:
Invalidating page caches can cause heavy load to application servers. Please make sure that a manual page cache invalidation
is necessary before issuing this command. It can possibly take 15 seconds for a clear cache command to get to the web
adapter. So it is possible that an administrator will not see a cache update immediately after starting the process. The
administrator should understand this delay and wait before issuing multiple cache clears.
166
Organization
Navigate to: Administration> Organization
Relevance
Name
This is the name of the merchant organization as it will appear in the Demandware Business Manager.
This is the ID for the merchant organization as it will appear in all sections of the Demandware Business
Manager - particularly in the URL.
This value cannot be edited because it is the basis for Demandware eCommerce and your pre-configured
store URL. It is the unique key that identifies the account, and the information you use to log in to the
Demandware Business Manager to administer your site.
ID
Description
Default
Language
This is the default language that will be used in the Business Manager.
The product list views and all other catalog information will be shown in the default language you select
here (unless you select another language from the drop down menu).
2. BM does not have the ability to set up a user with a read-only permission.
Roles
Roles represent groupings of permissions. They are defined in the context of an organization. You assign roles to users. Users can
have multiple roles. Permissions can be associated with roles. A user owns the permissions of those roles of which he or she is a
member.
Demandware defines sample roles for the SiteGenesis Application site. The SiteGenesis Application site contains the role
Administrator, which you can use to start with. This role has permissions on all Business Manager modules below the
Administration menu. You can create your own roles depending on your specific needs for the Sites organization.
167
<Your Site>: select for access to your site, for example, SiteGenesis.
Apply: slick to accept the context.
Business Manager Module: lists the Business Manager modules you can assign to a role. The Admin user can
automatically access all these modules. See Administrator role.
Module Description: describes what the user role can access within the Business Manager module.
Module Checkbox: select to grant permission on individual modules.
Update: click to accept the selected module permissions.
Administrator Role
The Administrator role cannot be deleted directly, or indirectly, by import. The Administrator role has the following properties:
Has access to all known system modules in all known sites (per organization of course).
Automatically gets access to new modules when deploying new releases (for all organization and sites).
168
The import logic rejects deletion attempts for the Administrator role (for example, via DELETE mode import). The import logic
also rejects any modification of system module access privileges (for example, via REPLACE mode import). Both cases are
logged as warning in the import log.
Permissions
Demandware allows you to set permissions for transferring, replicating, and editing data. You can also allow users to log in on
behalf of a customer or as a customer, which is useful for customer service staff. Permissions for most data can be set to allow a
user to view data or change data, either for one or more specific sites or across all sites owned by an organization. A user has all
of the permissions of any of the roles to which he or she belongs.
Functional Permissions
Functional permissions are not associated with a Demandware platform tool module. They enable behavior of the platform to a
user and enable special functions within the platform. For example: To make Joe User an agent who can login on behalf of any
customer of site ABY, Joe needs the functional permission "Login_On_Behalf" for site ABC.
Description
WebDAV_Transfer_Files
Allows access to log files, import/export directories and static files in catalogs and library
on the server via WebDAV.
Replication_Run_For_Org
Allows a user to trigger replication for global replication groups such as System Object
Type Definitions.
Catalog Permissions
The following table lists the functional permissions you can assign to a role to allow a user to manage data across all sites in an
organization.
Permission
Manage_All_Catalogs
Description
Allows a user to:
view, create, edit, delete all assets in all catalogs in all languages and for all sites
Allows access to catalogs, categories, products, recommendations, variation attributes, options,
product category assignments, or catalog images. Assign this to users who need access to Products,
Catalogs, Product Options, Product Sets, Recommendations, or Variation Attributes modules.
169
view, created, edit, delete prices in all price books for any product
view, created, edit, or delete product options and shared option prices (note that option
prices are not in price books)
Allows access to price books, product prices, and option prices. Assign this to users who need access
to Products, Product Options, or Price Books.
Manage_Inventory
view, created, edit, delete inventory records in all inventory lists for any product
Allows access to inventory lists and inventory records. Assign this to users who need access to the
Products and Inventory modules.
Description
Login_On_Behalf
Allows an application to login into the storefront on behalf of a customer. This allows an
application, such as a call center application to access storefront data, but restrict it to specific sites.
Replication_Run_For_Site Allows a user to trigger replication for site-specific replication groups such as search indexes.
Login_Agent
Manage_Site_Catalog
Manage_Site_PriceBooks
Allows an application to login as a customer in the storefront. Restricts the access to only those
Business Manager users that have the permission Login_Agent. This allows an application, such as
a call center application to access storefront data, but restrict it to specific sites.
For site catalog products, allows a user to:
view, create, edit, delete localized attributes for allowed site localesFor products owned
by another catalog, but assigned to the site catalog, allows a user to:
browse all other catalogs and assign products from other catalogs to the site catalog
Allows a user to:
view, create, edit, delete prices in site price books for site products
view, create, edit, delete prices in site price books for site products
Users cannot:
view non-site price booksSite prices books are either directly assigned to the site or
assigned via source codes. Price books not assigned to site or source code cannot be edited
by users with this permission.
Allows access to price books, product prices, and option prices for the site. Assign this to
users who need access to Products, Product Options, or Price Books.
170
Manage_Site_Inventory
view, create, edit, delete inventory records in site inventory list for site products
Users cannot:
view non-site inventory listsAllows access to inventory lists and inventory records. Assign
this to users who need access to the Products and Inventory modules.
Create individual user profiles for the members of your merchant organization who should have rights within Business
Manager.
Apply levels of security among your user base. By defining access roles to your users, you can allow them access only to the
modules of the Business Manager they need to do their jobs.
1.
2.
3.
Open Business Manager and navigate to Administration > Organization > Users.
Search for the user you want to create, to make sure the user does not already exist.
Click New.
4.
5.
6.
7.
8.
171
Sites
Navigate to: Administration> Sites
Manage Sites
Navigate to: Administration> Sites> Manage Sites
1.
2.
3.
Use this page to create new sites, edit site properties, or delete sites.
Control cache settings.
Recommend disabling cache during Boot Camp.
Site List
This section lists all of the sites available to the current instance and whether the site is live or disabled.
Delete: click to delete sites whose box is checked. Deleting a site that exists on your production instance, and as such is
publicly accessible, leads to a removal of all transactional content like orders, customers, or wishlists for that site
during the next replication of site data.
Note:
There is usually no need to delete a site on your staging instance. If you plan on removing a previously existing production
site, for instance a site that was used for load testing or a promotional microsite that is no longer required, please contact
Demandware Support.
Business Manager
Click the Business Manager to manage settings for Business Manager extensions.
General Tab
Use this page to configure the name, ID, currency and taxation settings for your site.
ID: enter a unique site ID. Demandware does not allow you to enter a site ID that is not unique.
Note:
The site ID cannot be changed once it is created. The site must be deleted and a new site created with the new ID. The site
IDs are not shown to customers, but are used to identify a site within Business Manager and within pipelines.
Name: enter a site name. The site name is used in URLs and should only include URL-friendly characters.
172
Currency: select a currency for your site. Demandware only supports the currencies included in this list.
Status: select one of the following options:
Live - select this if you want all the site to be available for preview for Staging instances or to take orders on
Production instances.
Disabled - select this if you want the offline maintenance page to appear for the site for Staging or Production
instances.
Note:
If a site is disabled, the system jobs that update the search indexes or gather statistics for AB Tests or Analytics are also
disabled.
Taxation: select one of the following options:
Net - select this if you want all product and other prices to be treated as net on the site
Gross - select this if you want all product and other prices to be treated as net on the site
Note:
Make sure that you have updated all your prices according to the preferred tax policy before you change this preference.
Description: enter a description for your site. This may be useful for new employees if you maintain multiple sites.
Apply: click to save any changes.
Reset: click to reset the value to those displayed when you first opened the page.
Settings Tab
Use this tab to set the cartridges used by the site.
Instance Type
HTTP Hostname - this feature is deprecated and only included for backward compatibility. To set your HTTP and HTTPS
hostname for your site, navigate to Site > site > SiteURLs > Aliases .
HTTPS Hostname - this feature is deprecated and only included for backward compatibility.
Instance Type: All
Cartridges - enter the name of a cartridge you want to add to the effective cartridge path and click Apply.
Effective Cartridge Path - displays the cartridges used for business logic and rendering for the storefront. The order in
which cartridges are added is significant, because cartridges can override each other. A cartridge overrides any cartridge
listed to its right. For example, if the effective cartridge path is: app_storefront_refapp:bc_api:ac_cybersource:core
The bc_api cartridge overrides the ac_cybersource:core cartridge and the app_storefront_refapp cartridge overrides both of
the other cartridges.
173
Cache Tab
Use this tab to configure how pages are cached for your storefront. If you click the Business Manager link on the Manage Sites
page, you can use this tab to manage the cache settings for Business Manager itself and allow for the customization of Business
Manager pages without requiring a server restart.
Generally, page caching is disabled for development and enabled for production systems. The system uses two caches for
different kinds of content:
Static Content Cache - caches images, icons, CSS stylesheets, and other non-dynamic assets
Page Cache - caches HTML pages generated from ISML templates when <iscache> is enabled.
Both caches can be configured and invalidated separately. When a cache is invalidated the content is refreshed in the storefront.
Instance Type
Select the current instance type.
Static Content and Page Caches
Time to live (TTL) of static content: enter the number of seconds that you want static content to be cached. At the end of
the time to live the cache is emptied and content is retrieved from the server. The default is 86,400 seconds which equals 24
hours.
Last invalidated: displays the last time the cache was invalidated and the content of the storefront refreshed. Invalidating
the cache results in slower response times when those pages are called again until the cache is refreshed. Demandware
recommends that you perform this action only when necessary and during periods of low traffic.
Page Cache Only
Enable page caching: check this box to enable page caching for the portions of your storefront ISML templates that use the
iscache tag. This allows whole pages or portions of pages to be cached, improving site performance and is therefore
recommended for Production instances. However, if page caching is enabled, it is not possible to immediately see the
changes to an ISML template without explicitly invalidating the cache. For this reason, it is recommended that page caching
be disabled for Sandbox instances.
Last invalidated: displays the last time the cache was invalidated and the content of the storefront refreshed. Invalidating
the cache results in slower response times when those pages are called again until the cache is refreshed. Demandware
recommends that you perform this action only when necessary and during periods of low traffic.
Reset - click to reset the value to those displayed when you first opened the page.
Robots Tab
Use this tab to designate how Demandware serves the robots.txt file(s) for your site(s) to search engine crawlers.
174
Use the robots.txt file from a deployed cartridge - select this option to use a robots.txt file created in a third-party tool and
uploaded to your cartridge. This option is most useful if you want to have a single robots.txt file for multiple sites. Uploaded
robots.txt files are served to crawlers via the This option is selected by default for customers migrated from version 2.10 or
earlier.
Define an instance type specific robots.txt - select this option to have Demandware generate a robots.txt file for a specific
site. The suboption you select sets the robots.txt file definition as a site preference which can be replicated or exported.
All spiders are allowed to access any static resources (recommended for production) - Automatically generates a
robots.txt file for the current site that instructs spiders to crawl all static resources.
All spiders are disallowed to access any static resources (recommended for production) - Automatically generates a
robots.txt file for the current site that instructs spiders not to crawl all static resources.
Custom robots.txt definition - Select this option to write a custom definition of which static resources you want spiders to
crawl. Selecting this option causes an editing area to open. Enter the custom definition in the editor and click Apply.
History Tab
Use this tab to view the latest changes to a site's preferences.
Site <site_ID>
This section shows the ID of the site, the date and time it was created, and who created it (user or job). It also shows the date and
time it was last updated and who updated it (user or job). This information is displayed only for audited objects. See Global
Preferences Change History (Beta) Page.
History Summary
This section shows a list of up to 15 change summary lines. Changes are summarized based on the unique combinations of five
variables: date, user, scope, object, and action. For an explanation, see Change History Page. When you click on a summary line,
individual changes are displayed in a table, as shown below:
Each row in the table represents a single change event, which can be creation event, an update event, or a deletion event. You can
175
see the exact time when the change occurred, and you can click on the Show Details link to see a JSON representation of the
object after the change occurred.
Robots
Navigate to: Administration> Sites> Manage Sites> Site> Robots Tab
1.
2.
3.
4.
5.
6.
7.
When a crawler visits a Web site, such as http://www.yourshophere.com/, it firsts checks for
http://www.yourshophere.com/robots.txt. If it can find this document, it analyzes the contents to see what pages on the site it
is allowed to index.
You can customize the robots.txt file to apply only to specific robots, and to disallow access to specific directories or files.
Here is a sample robots.txt file that prevents all robots from visiting the entire site:
User-agent: * # applies to all robots Disallow: / #
disallow indexing of all pages
The robot looks for a /robots.txt URI on your site, where a site is defined as a HTTP server running on a particular host and
port number.
There can only be a single /robots.txt on a site.
The custom option would allow client to define their own definitions.
Custom robots option
Some will hit a certain one, not see what they want.
You can tell them what you want them to look for and what you dont want them to look for.
Important if you have a b2b and b2c in same realm you dont want them crawled by bots b/c theyre closed section
(b2b)
If you have a deals site, permission based may not want that to be crawled as well.
Insert any variation parameters from being indexed (variation masters) see the disallow.
http://ntomaro.inside-na02.dw.demandware.net/robots/txt
Use this tab to designate how Demandware serves the robots.txt file(s) for your site(s) to search engine crawlers.
176
Use the robots.txt file from a deployed cartridge - select this option to use a robots.txt file created in a third-party tool and
uploaded to your cartridge. This option is most useful if you want to have a single robots.txt file for multiple sites. Uploaded
robots.txt files are served to crawlers via the This option is selected by default for customers migrated from version 2.10 or
earlier.
Define an instance type specific robots.txt - select this option to have Demandware generate a robots.txt file for a specific
site. The suboption you select sets the robots.txt file definition as a site preference which can be replicated or exported.
All spiders are allowed to access any static resources (recommended for production) - Automatically generates a
robots.txt file for the current site that instructs spiders to crawl all static resources.
All spiders are disallowed to access any static resources (recommended for production) - Automatically generates a
robots.txt file for the current site that instructs spiders not to crawl all static resources.
Custom robots.txt definition - Select this option to write a custom definition of which static resources you want spiders to
crawl. Selecting this option causes an editing area to open. Enter the custom definition in the editor and click Apply.
Tips:
177
crawled. Since Storefront Password Protection automatically generates a robots.txt file, it must be disabled before you can
specify another type of robots.txt file.
Select Use the robots.txt file from a deployed cartridge if you want to generate a robots.txt file using another tool
and upload it to your cartridge. This option is most useful if you want to use the same robots.txt file for multiple
sites. If you have migrated your storefront from version 2.10.1 or earlier, this option is selected by default.
Select Define an instance type specific robots.txt if you want to generate a robots.txt file that is served by the
application server for a particular site and instance. Select one of the following types of robots.txt files to generate:
All spiders are allowed to access any static resources (recommended for production) - generates a sitespecific robots.txt file that indicates spiders can crawl the static resources for the site.
All spiders are disallowed access to any static resources (recommended for staging) - generates a site-specific
robots.txt file that indicates to spiders that they should not crawl the static resources for the site.
Custom robots.txt definition - select this option if you want to allow access to some resources and deny
access to others. If you select this option a text field appears where you can enter your custom robots.txt
definition. Unlike a cartridge-deployed robots.txt file, this option allows you to create different accesses for
different sites. See Best practices for creating your robots.txt file for more information.
7. Click Apply.
8. Click the Cache tab.
9. In the Static Content and Page Caches section, click Invalidate.
For information on where to upload your robots.txt file, see Uploading your robots.txt file.
178
179
Site Development
Development Setup
Navigate to: Administration> Sites Development> Development Setup
1. Use this page to download the version of UX Studio to use with this version of the platform.
2. You can also use this page to view locations on the server that contain uploaded data.
3. You can use the displayed links to transfer data via WebDAV.
Setup Demandware
Development
Demandware UX Studio: click to download the current version of the Demandware development tool. For more
information, see UX Studio.
Storefront Toolkit
This section describes the Storefront Toolkit, which contains several tools that allow you to inspect your storefront and determine
where ISML templates are being used and what content is being displayed. For more information, see Storefront Toolkit.
WebDAV Access
This section lists URLs that can be used to view data uploaded onto the Demandware platform on the server via your browser.
The URLs can also be used to transfer data to and from the server via WebDAV. When you are prompted for a username and
password by your WebDAV client, use your Business Manager username and password.
Tip:
You must have functional permissions to perform WebDAV transfer.
Click the URLs to view the following directories on the Demandware server:
Cartridges: within each code version, lists the cartridges uploaded to the platform. If you do not see expected changes
in your storefront, this is an easy way to check that expected code was successfully uploaded to the instance.
Log files: contains the log files for the instance. Generally, the logs of interest to developers are those that start with
custom , which collect info, error, and fatal logging created by the developer in scripts. There are also many system
logs with similar information about pipelines, scripts, and jobs. See also Understanding log files
Import/Export: shows the contents of the impex directory, which contains uploaded import/export files and logging
information for import/export processes.
Realm Data: contains the contents of the realmdata directory. This directory contains any data that is shared across
instances in a realm.
180
Organization Static Content: contains static content shared across sites on the same instance.
Catalog: contains static content associated with a specific catalog.
Content Images: contains static content associated with a specific library.
3.
In Business Manager, navigate to Administration > Site Development > System Object Definitions.
2.
3.
Object Type : The object type is indicated by one of the following icons:
- System attribute
- Deprecated system attribute
181
4.
Note:
If an attribute does not have an icon, then it is a custom attribute specific to your site.
Attribute ID: Click any attribute ID to view or edit the attribute.
Attribute Settings: Displays the configuration of the attribute using the following icons:
- Mandatory - an attribute that cannot be updated with empty values in either the Business Manager or import.
- Externally managed - an attribute that is managed by a backend system. This type of attribute can only be
edited using an import feed and cannot be edited in Business Manager.
- Externally defined - an attribute that is created by a backend system via import feed
Click New to begin the definition process.
Select Language - Select the language that should be used when localizing attribute values.
If you change the language or type, you must confirm the change before it is applied. Changing
the language or type of an attribute causes existing values of that attribute to be lost.
Apply: Click to apply the language.
ID - enter an ID that can be used to uniquely identify the attribute in the database. You may see this ID used internally
to help you distinguish between different attributes that have the same display name. For example, you may have two
attributes that capture the metric and English sizes for a product that both have a display name of Size that have
sizeMetric and sizeEnglish as the attribute IDs.
Display Name - Enter the name for the attribute that is seen by the customer.
Help Text: Enter any help text that should be available to Business Manager users when working with this attribute.
Value Type: The data type is not required. Select one of the following value types from the table on the Custom
Attribute Definition Details page.
Note:
If the attribute is the key attribute for the object, it is not possible to change the value type.
Queryable - The data type determines whether an attribute is found using the query framework. This allows you to find
the attribute when using Advanced Search extended attributes when searching for products in Business Manager or via
the API. This does not affect whether the attribute is searchable in the storefront.
Localizable - click to make the attribute localizable.
Note:
Demandware recommends backing up your data before changing this property. If you change whether the
attribute is localizable, all existing values for the attribute are lost. The data is lost because Demandware
removes the old unlocalizable attribute and its data and then creates a new, empty attribute that is
localizable.
A refinement attribute does not need to be a searchable attribute, but a searchable attribute is not automatically a
refinement attribute. If you are using Demandware 2.10 or later, a sortable attribute does not need to be a searchable
attribute, but a searchable attribute is not automatically used in sorting rules.
Mandatory - click to make the attribute mandatory for the object.
Visible - click to make the attribute visible in .
Externally Managed: check this box if you do not want Business Manager users to be allowed to edit this value. This
is used for attributes with values fed from a backend system-of-record.
182
Externally Defined - indicates whether the attribute was created by import from a back end system via the
ImportCatalog pipelet.
Value Unit - enter the unit of value, such as cm for centimeters or oz. for ounces.
Minimum Value - enter the minimum allowable value for the attribute.
Maximum Value - enter the maximum allowable value for the attribute.
Scale - enter the number of decimal places.
Field Length - enter the field length to display the attribute as a number of characters.
Field Height - enter the field height to display the attribute as a number of lines.
Select Multiple - check this box to allow merchants to select multiple values when assigning a value for the attribute.
Regex - This option is only available for string attributes. Enter a regular expression to use when validating the
attribute in a storefront form. Use Java regular expression syntax.
2.
3.
This module allows you to upload custom error pages when Web Server or Web Adaptor errors are thrown. Use custom
error pages to provide a pro-active message to your customers. Previously, errors such as 404 URL not found would appear
if a customer mis-typed the url or did not copy it completely; but provided no information about what to do next.
Timeout (overload.html)
Upload these pages as one zip file that includes the following:
a) One html file per error code
b) CSS files and images as necessary
Note:
Only one zip file can be uploaded at a time. Remember to reference CSS files and images via "/waroot/FILENAME".
After you download the zip file you are free to customize the pages, rezip your work, and upload it.
1.
2.
3.
4.
5.
In Business Manager, navigate to Administration -> Site Development -> Custom Error Pages.
Click Download.
Extract the downloaded error pages and customize them.
In Business Manager, navigate to Administration -> Site Development -> Custom Error Pages.
Click Browse and navigate to the zip of your custom error pagesThe uploaded zip file must be named errorpages.zip.
Do not use names such as myCustomErrorPages.zip. After your upload, the zip file is automatically extracted and the
content is located on the Web server.
6. Click Upload.
Note:
This is not an automatic upload. It can take two hours before your files are synched with the Web adaptor.
Export
Meta Data
Geolocations
Site Import & Export
Description
Import and export your system meta data (i.e. system type
extensions, custom object types, custom preference definitions).
Import geolocations for a country.
This page allows you to export the current configuration of your
organization including all of its sites or import a site. To download
an archive just click on its file name.
183
Code Deployment
Navigate to: Administration> Sites Development> Code Deployment
1.
2.
3.
4.
5.
6.
7.
8.
You can also specify the active compatibility mode (API version). The Demandware platform allows you to activate a new
compatibility mode or revert to the previously active compatibility mode. See also Understanding compatibility modes.
You can replicate code to another system. Code Replication transports the active code version from the staging instance to
the target production or development instance. See Code Replication for more information..
When you have finished development in your sandbox, use UX Studio to upload your code to the sandbox instance. See
Code Upload Overview for an overview and Uploading new code versions for details.
Note:
The term Compatibility Mode is interchangeable with the term API Version.
184
8.
Push the newly tested version to the Production instance for live usage.Use Business Manager to push code from Staging to
Production (click Administration > Replication > Code Replication ). The replication process will take the current active
version directory, create the same version directory, then copy the cartridge code from Staging to Production.
Note:
You must follow these steps for each version that is being replicated from Staging to Development and from Staging to
Production. If any change, no matter how insignificant, is made to a site, it must be delivered via a version change. A new
version must be created, even if it is intended to find and/or fix an issue that occurs with a new version, so that if a problem
exists, the site can be rolled back to a known working version as quickly as possible.
Demandware Studio
Demandware Studio automatically knows which compatibility mode is valid, based on communication with the server.
API Documentation
A single API documentation set describes multiple compatibility mode at the class/method level, and potentially multiple
compatibility modes for certain methods.
When do you need to modify your application?
Before activating a new compatibility mode, it is important that you understand the behavioural changes the new mode brings. If
the change impacts your application, you may need to modify your application to make it function correctly with the changes and
then test. You can only rollback to the previous active compatibility mode if your code is compatible with the old mode (API
version). If you write code that takes advantage of the API of a newer version that is incompatible with the old version, you can
only rollback if you also revert the respective code.
When using API versioning, you must pay close attention to certain situations:
All cartridges in an application must use the same active compatibility mode.
There can be only one active compatibility mode at a time (no wildcard support).
You can change the compatibility mode on all instances, but we do not recommend that you do this directly on
production.
Avoid using different compatibility modes on staging and production. This should be an exception.
SeekableIterator - 2.10.4 to 2.10.6 considerations
Instances of SeekableIterator are returned in the API whenever a method returns mass data. Starting with API version 2.10.6,
these iterators can only be iterated once to avoid possible memory problems for really large iterators. Putting them into the
185
pipeline dictionary and trying to loop them multiple times is no longer possible because this would require buffering the iterated
elements internally.
Prior to 2.10.6, and for all customers still running API version 2.10.4 (compatibility mode), SeekableIterator instances stored in
the pipeline dictionary could be iterated multiple times (for example, by several loop nodes).
Customer Impact: Check your code for instances of SeekableIterator and adjust as required.
Activate a code version (this automatically deactivates the currently active code version)
1.
2.
Open Business Manager and navigate to Administration > Site Development > Code Deployment.
The Manage Code Versions page appears.
To work with multiple versions, click Select All or select multiple versions. Only one version can be active.
1. Click Apply and a confirmation dialog appears, asking you to confirm the change.
2. Click Rename to rename a code version. Renaming a code version also changes the respective entries in the
version file.
3. Click the Compatibility Mode link to view a list of available compatibility modes. Each compatibility mode
provides a Change Docs link that provides a summary of applicable changes and a Documentation link to the
respective API documentation.
The Compatibility Mode page appears with a list of available compatibility modes.
The currently active compatibility mode
The previously active compatibility mode
Any new compatibility modes that you can select
4. Click Activate beside a code version in the list to activate it. A code version is activated by adding its folder
to the list of folders in which the server looks up resources. At the same time, the folder of the previous active
code version is removed from the list.
When activating a code version, the timestamp of all files in the version is updated to the current
time. The features included in the new code version are immediately available. Cached items (which
may be dependent on a change to the compatibility mode) are cleared after activating a new code
version.
5.
6.
Click Rollback to automatically activate the previous code version, if this code version is still installed. If the
previous code version is no longer available (it has been deleted) the rollback fails. The action also activates
the compatibility mode associated with the previous code version.
Select one or more inactive code versions and click Delete to delete them. You cannot delete the active code
version.
186
7.
3.
Click Add to create a new empty code version. The new code version will be set to the currently active
compatibility mode.
To work with a single version:
1. Click the code version name link.
The Code Version Summary page appears. This page provides a detail view of the code version. The top
section provides summary information, while the bottom section provides a paged list view of resources that
are part of the code version. The list view shows files regardless of where they are located within the code
version (i.e. regardless of cartridge and subdirectory).
2. Click Activate to activate this code version.
3. Click Download in the top section to download the entire code version, or click Download beside an
individual file to download that file.
4. Use the File Filter to search for a file or set of files.
Custom objects allow you to extend the Demandware model to suit your business needs.
Custom object types are created for an organization and are then available for use in all storefronts defined for the
organization.
You have a choice, when creating instances of the object, whether to make those instances site-specific or organizationwide.
You use two Business Manager modules to create and manage your custom objects:
187
5.
6.
7.
Custom Object Definitions - located under Site Development in Administration in Business Manager
With the proper permission, you can see a list of deprecated APIs and their current usage.
The usage count reflects the number of times a deprecated method was called within the last 24 hours.
1.
Click the down arrow or the Action Required link to view or hide the list of deprecated APIs.
Deprecated APIs
Occurrences: Shows the number of occurrences in the application per area. This number reflects the number of times the
method was called within the last 24 hours.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Area where client can schedule backup for site and organization data.
The site.xsd schema file describes the structure of data that is exported from an instance to a zip file, or imported from a zip
file. The site.xsd file describes all site-related data and global, non-site-related data (that is, organization-level data, such as
shipping methods).
Site export exports certain objects (including database objects and static files) and stores them in a single zip file, which is
available for download.
You can upload the zip file to another instance and import it there. Site import is possible only if there is no custom site in
the instance.
Do not use special characters, such as umlauts, in file namesincluding names of image filesbecause doing so causes site
import/export to fail.
Code (cartridges) is not part of the Site import/export and must be dealt with separately.
The Site Import/Export function in the Business Manager uses standard Business Manager imports/exports for some of its
object types; so some XML files use the same schema within Site Export zip files.
Site Export also supports some object types that are not within the standard import/export functionality, for example,
schedules and site preferences.
It is not possible to trigger a Site Import programatically.
A catalog and a site can be exported without the static content being included in the resulting archive file. This allows users
more granular control over the export process. This is important because the size of the archive files rapidly exceeds the
WebDAV file size limitation when images are included.
Compatibility of the import/export format is ensured for the same Demandware version only.
The list of custom cartridges used for Business Manager is supported in the site import/export. The file preferences.xml,
which contains global preferences, includes the additional preference identified by the key "CustomCartridges".
The site export function in Business Manager allows you to export a catalog and a site without the static content being
included in the resulting archive file. This change provides more granular control over the export process. This is important
because the size of the archive files rapidly exceeds the WebDAV file size limitation when images are included.
188
Purpose
Included Data
Initial global data (site independent) such as:
Import
Export
Export
Export/
import
Export/
import
Custom objects
Content library, assets and images
Customers and customer groups
Shipping, tax and payment configuration
Inventory
Stores
Site preferences
Search configuration
Source CodesSite relations data such as Catalog-Site
assignments
Catalogs
Price Books
189
Schedules
Custom objects
Stores
Site preferences
Search configuration
Source Codes
Sites (you can also select specific types of data within sites to export.)
Catalogs
Price books
Global data (custom objects, attribute definitions, custom preferences and schedules)
Pipelets
N/A
190
Global Preferences
Locales
Navigate to: Administration> Global Preferences> Locales
1. Use this list to activate and deactivate the locales available in the system. Only activated locales can be used in the storefront
and appear in language select boxes in the Business Manager. The default locale is mandatory and cannot be deactivated.
2. Note: This page is not used to set the default locale for your organization. To set the default value, navigate to
Administration > Organization > Organization Profile
Locale Grid - the locale grid displays information about all locales available for activation on the Demandware Platform.
The grid has the following columns:
Select All: click the Select All link to select all locales. Otherwise, check the boxes for any locales you want to activate
and uncheck the boxes of locales you want to deactivate and then click Apply.
Locale ID: click to edit the settings for the specific locale.
ISO3 Language: displays a three-letter abbreviation for the locale's country or an empty string if no language is
specified for the locale.
ISO3 Country: displays a three-letter abbreviation for the locale's country or an empty string, if no country is specified
for the locale.
Apply - click to save your changes.
Reset - click to return to the page as it appeared when you first opened it.
3.
4.
Geographical Area - select a continent or ocean to limit narrow the instance time zone choices.
Instance Time Zone - select one of the time zones.
191
Note:
For the United States, Demandware recommends using the US selection for geographical area, instead of America.
5.
6.
1.
2.
Enable Change History: Select to enable change history across the organization.
Modules to Audit
This section enables you to select the Business Manager modules for which you want changes recorded.
Object Definition: Select to audit the system object definitions and custom object definitions for changes.
Site & Preference: Select to audit the following objects for changes: organizations, sites, stores, and preferences.
Catalog: Select to audit the following objects for changes: catalogs, categories, products, product options,
recommendations, and variation attributes.
Content: Select to audit content assets and library folders for changes.
Days to keep history: Enter a number less than or equal to 7 to determine how long the system should retain changes in the
current instance. Older changes are discarded and are not viewable in Business Manager.
192
Security
Navigate to: Administration> Global Preferences> Security
1.
Page to set password restrictions and login lockout policies for all BM Users.
Maximum invalid login attempts - select the number of incorrect logins allowed before a user is locked out. Once a user is
locked out due to too many login failures the account can be reactivated in two ways:
Geolocations
Navigate to: Administration> Global Preferences> Geolocations
1.
Shows the countries for which geolocations have been imported and are available for the store locator.
193
Search Results
This section of the page appears if the geolocation for the entered postal or zip code can be found.
Postal Code: displays the postal code for the geolocation data.
Reset - click to return to the page as it appeared when you first opened it.
Sequence Numbers
Navigate to: Administration> Global Preferences> Sequence Numbers
1.
Shows number sequences used by the organization. These sequences will be used for numbering the corresponding objects
(like orders and customers) provided that no site specific sequences are configured.
Order Number - The sequence number for orders generated from your storefront. This number is used to search for orders
within Demandware. Further configuration is available in Business manager, on the Site Preferences > Sequence Numbers
page.
194
Invoice Number - The sequence number for invoices generated from your storefront.
Shipment Number -The sequence number for shipments generated from your storefront.
Customer Number - assigned as a customer number to new customers during storefront registration. A customer number
sequence is available for each customer list. Further configuration is available in Business manager, on the Site Preferences
> Sequence Numbers page.
Gift Certificate Merchant ID - Demandware gift certificates have one ID attribute that is used as redemption key and
unique identifier at the same time. Gift Certificate redemption keys are sensitive data owned by the customer and have to be
encrypted and masked in the Demandware system for security reasons. The Gift Certificate Merchant ID is an additional ID
that is owned and only known by the merchant and the merchant backend system. Merchant ID sequence numbers can be
organization or site-specific. Further configuration for Merchant ID is available in Business manager, on the Site
Preferences > Sequence Numbers page.The merchant ID assigned to a Demandware gift certificate is:
automatically generated and assigned when creating a new gift certificate in storefront (during order creation, not
earlier)
automatically generated when new gift certificate is imported without such a merchant ID (as currently) merchant ID is
generated based on a new sequence number configuration (similar to order numbers)
Value Preview: Displays a sample sequence number with the configured start value and format pattern.
Start Value: Enter the starting number for the sequence. The start value of a number series can only be increased (never
decreased) unless you completely reset the number series by clicking Reset.
Format Pattern: The format pattern references the actual series number using number notation of the Java MessageFormat
class. The number can be formatted using standard number format patterns (e.g. {0,number,000000} for fixed, 6 digit
number). For more information, see http://docs.oracle.com/javase/6/docs/api/java/text/MessageFormat.html
Reset - click to return to the sequence number as it appeared when you first opened it.
Products
Navigate to: Administration> Global Preferences> Products
1.
Define up to five additional product attributes that will be shown in all product list views. Note that custom attributes must
be prefixed with 'custom. For example, custom.primarycolor or custom.enddate
Custom Product Column - select an attribute to appear in any list view of products in Business Manager. For example, in
the search results for a product search.
Apply - click to save any changes.
Custom Preferences
Navigate to: Administration> Global Preferences> Custom Preferences
1.
Global custom preferences can be used to set a preference for all site. This is useful if you want the ability to switch a
preference for all of your sites at once. For example, if you have a current order management system, but expect to
implement a new order system, it may be more efficient to have a global preference that is used by all sites, rather than
creating site preferences that must each be changed.
195
Operations
Job Schedules
Navigate to: Administration> Operations> Job Schedule
1.
2.
3.
4.
5.
Before you can complete this task, you must know the pipeline and startnode for the job you want to create. You must know
if the pipeline requires any parameters in order to run successfully. If you are an administrator, you may need to consult the
developer who is creating the import/export pipelines for your site. You should also know what system objects are being
updated for the job you want to create.
There are three types of jobs: scheduled, import/export, and batch.
You can schedule jobs to run according to a schedule or for one time only.
Demandware provides a means of detecting problems with job execution, notification of job status and recovery from failed
jobs. For instance, if a job fails to execute successfully, you can send an e-mail notification to alert someone to the problem.
This feature enables job failure rules to be set, and jobs to automatically re-run if execution fails. You can set job failure
rules and retry parameters such as number of retries.
You can define jobs that execute on the global (or organization) level and jobs that execute only on a site level through
Administration > Operations.
2.
In Business Manager, navigate to Administration > Operations > Job Schedules. The Job Schedules page General
tab appears.
a. Enter the required information for the job name and frequency. If you want to run the job manually, simply
enter a date in the past for the Run Once option.
b. Click Apply to save your changes.
Click the Resources tab.
a. Add the objects that the job changes or updates as resources and click Assign. This protects those objects
from being changed by another job or user while it is operated on by this job. For example, while you are
updating your catalog, you do not want other jobs or users to update or change the catalog, categories, or
products.
b. Click Apply to save your changes.
196
3.
4.
5.
If you want to be notified about the status of the job, click the Notification tab
a. Enter the required information.
b. Click Apply to save your changes.
If the pipeline run by the job requires parameters to be passed to it, click the Parameters tab.
a. Enter the required information.
b. Click Apply to save your changes.
Examine the history section at the bottom of the page to see if there are any errors or problems with the job. You can
also refer to the Job History page for this information.
General Tab
Use this tab to create jobs and schedule them. You can also run jobs manually and examine job history for the last twenty times
the job was run.
Site-specific - you can select multiple sites. The job will run once in the context of each selected site.
Note:
If you select this option the Sites tab becomes available. Use this tab to select the site you want to run the job on.
Pipeline: enter the name of the pipeline to run.
Startnode: enter the name of the node in the pipeline to start the job.
Schedule Timezone: Indicates the timezone used by the schedule. If this is a site-specific job, different timezones may be
used by different sites. If this is an organization-wide job, the instance timezone is used. The job timezone affects the
following:
1. Job execution is always based on the instance timezone. For example, if the instance timezone is Eastern Standard
Time and a job is scheduled for 4:00 am, then the job is executed at 4:00 am in EST.
2. Daylight saving days and hours depend on the instance timezone. For example, if the instance timezone is EST, then
the next daylight savings date is Nov 1, 2009 Sun 2:00 AM back to Sun 1:00 AM.
3. On the Daylight Saving Backward day: the day when the time is turned back one hour, some times occur twice.
However, jobs scheduled for a time during daylight saving hours is executed only once. Although the hour at which
time is turned back varies by locale, for the purpose of the examples below, it is assumed to be 2:00 AM to 3:00 AM.
For example:
A daily job scheduled for 2:30 AM is executed when 2:30 AM occurs the first time on that day, and is not
executed when 2:30 AM occurs the second time on this day.
A job that runs every 10 minutes is executed at 2:00, 2:10, 2:20, 2:30, 2:40, 2:50and then there is a delay of 1 hour
before the job is executed again at 3:00.
A job that runs daily, monthly, or yearly at a specific time of the day, such as 4:00 AM, is also executed at 4:00
AM on the daylight savings rollback day. This means job execution on Sunday is 25 hours after the job execution
197
4.
on Saturday and 24 hours before job execution on Monday. If the same job is scheduled for 1 AM, then job
execution on Sunday is 24 hours after job execution on Saturday and 25 hours before job execution on Monday.
On the Daylight Saving Forward day: the day when the time is turned forward one hour, some times do not occur at all.
Jobs scheduled for a time during daylight saving hours is not executed at all. Although the hour at which time is moved
forward varies by locale, for the purpose of the examples below, it is assumed to be from 3 AM to 2 AM. For example:
A daily job scheduled for 2:30 AM is not executed, because 2:30 AM never occurs on that day.
A job that runs every 10 minutes is executed at 1:40, 1:50, 3:00, 3:10, 3.20.
A job that runs daily/monthly/yearly at a specific time of the day, such as 4:00 AM, is also executed at 4:00 AM
on the daylight savings forward day. This means job execution on Sunday is 23 hours after the job execution on
Saturday and 24 hours before job execution on Monday. If the same job is scheduled for 1 AM, then job execution
on Sunday is 24 hours after job execution on Saturday and 23 hours before job execution on Monday.
Recurring Interval:
Run Once: if you want to run the job once, enter a date and time to start the job. You can also select the ... button to select a
date and time.
Note:
For the time, you must enter am or pm, not a or p.
Every: if you want to run the job multiple times, there are three ways to schedule jobs. Select only one of the scheduling
methods.
Every: enter a number and select a duration. For example, enter 60 and select minutes if you want the job to run every hour.
Note:
For the time, you must enter am or pm, not a or p.
On these days: check the boxes of any days of the week that you want to run the job.
Sites Tab
Use this tab to assign a schedule to a specific site. This tab is not available for organization-wide jobs.
Business Manager
Storefront
Apply: Click to configure a job for each of the selected sites.
198
Resources Tab
To allocate system resources that should be locked by the job. For example, if importing a catalog, all the product objects must be
locked, so that no one attempts to update them while the job is running. Some jobs will not run unless the appropriate resources
are allocated.
New Resource
Notification Tab
This tab allows you to configure email notification for jobs. It is highly recommended that you enable notification for important
jobs.
Enabled Threshold: select one or more of the following job states for notification to be sent.
EXCEPTION - the job runs to completion, but includes exceptions. Some exceptions may indicate a serious problem
with the job or import data.
ERROR - the job runs to completion, but includes errors. Some errors may indicate a serious problem with the job or
import data.
HANG - the job (or executing pipeline) is in a non-responsive state. To have the system detect hung jobs and send a
notifying e-mail, you must enable hang detection and set a maximum execution time.
Continue as scheduled
199
Stop on Error - job schedule is disabled. Notification happens only if an e-mail address is configured for e-mail
notification.
Note:
Job failure rules and retries only apply to scheduled jobs.
Retries: enter the number of retries the system attempts if the job is not successful. Up to three retry attempts are allowed,
with a default of one retry.
Retry Interval: enter a number of minutes for a retry interval.
Enabled Max Execution Time: enter a maximum number of minutes. For example, enter 60. It is a good idea to set this
after you know the duration of several successful jobs. It is also a good idea to consider the duration of time between the
current job and the next one scheduled to be run.
Hang Detection
Max Execution Time: enter the number of minutes the job must be running to be considered hung.
Parameters Tab
Use this tab to specify parameters to pass to a job pipeline.
Name: enter the parameter name. This must be the name of the parameter created in the pipeline.
Value: enter the parameter value. The parameter value is stored as a string. If you need numeric parameters, the pipeline
you are calling must use scripts to convert the parameter data type.
Add - click to add the parameter to the CurrentJobParameters dictionary.
Reset - click to undo any changes you have made since opening this tab
Job History
Navigate to: Administration> Operations> Job History
1.
2.
3.
4.
Use this tab to view information about jobs that have run on your instance.
The Demandware platform automatically removes all successful jobs older than 5 days and all failed jobs older than 25
days.
Demandware runs many system jobs that are not normally published in the job history. However, if a system job fails for
any reason, the failure shows up in the job history.
If you see an unfamiliar job that is not run by a specific user, Demandware recommends that you contact customer support
for additional information.
200
Name: select the name of the job. The job names you can select are determined by all jobs that are available in the job
history.
Type: select the type of job you want to view.
Site: select the site the job was run on or view jobs run on all sites. The site you can select are determined by all jobs that are
available in the job history.
User: select a specific user or view jobs run by all users. The users you can select are determined by all jobs that are
available in the job history.
Status: enter the status of the job you want to find:
Finished: select this option to find jobs that have finished running.
Running: select this option to find jobs that are currently running.
Retry Flag: select yes to see jobs that were retried.
Error Type: select the error type to filter by:
Hanging: only show jobs, that have exceeded it's defined maximum runtime
Resource unavailable: only show jobs, where the resource locking failed
Retries Exhausted: only show jobs, where the maximum retry count is reached and the execution was not successful.
From: enter the start time for the job you want to find.
To: enter the end time for the job you want to find.
Note:
For the time, you must enter am or pm, not a or p.
Sort by:
Column: select the column you want to sort the history by.
Job Statistics
Navigate to: Administration> Operations> Job Statistics
1.
2.
3.
4.
Use this tab to view execution information for system and site-specific jobs that run on a specific day based on GMT time.
The GMT time matches the date and time information in the logs for a job.
A day is from midnight to midnight GMT time. If a job spans midnight, the statistics for a day include the duration during
that day only, not the total duration.
Statistics are only kept for successful jobs on your instance.
Statistics are kept for 90 days.
Note:
The duration for jobs that are running when an instance is reinitialized is set to 0. The information about whatever time the
job took before restart is lost.
201
Filter By
Job Name: select the name of the job. The job names you can select are determined by all jobs that are available in the job
history.
Site: select the site the job was run on or view jobs run on all sites. The site you can select are determined by all jobs that are
available in the job history. If you are looking for an organization-level job, select Sites-Site.
Note:
Select All if you do not want to filter by any criteria.
Sort By
From: select the start date that you want to view job statistics for. To: select the end date that you want to view job
statistics for.
Statistics
Job Name: two types of jobs are listed under job name:
System: jobs that are run internally for instances on the Demandware Platform.
Site: jobs that are scheduled and run for a specific site. This includes automatically-created jobs that are configured
through the schedules for site-specific features, such as search index update. It also includes user-created jobs that are
configured through the jobs schedules module in Business Manager.
Total Duration: shows the number of seconds it took for the job to run.
Number of Executions: shows the number of times a job is executed for the selected day.
Note:
For additional information about jobs, in Business Manager navigate to Administration > Site Development >
Development Setup > Log Files.
Export
Job Schedules
Description
Import and export your job schedules.
202
GMV Reports
Navigate to: Administration> Operations> GMV Reports
1.
2.
3.
4.
Description
TRANSACTIONID
Unique transaction identifier. Identifies all line items that are included in a transaction.
POSITION
ACTION
The action represented by the transaction. CREATE is the most common action.
SOURCE
Where the action originated from. STOREFRONT is the most common source.
TIMESTAMP
ORGANIZATIONID
SITEID
The Site ID, typically the name of the site, for example, easyspirit.
ORDERID
The order ID. All line items in a transaction will have the same order ID.
ITEMTYPE
The type of transaction for the line item. For example, PRODUCT (for a product line item),
SHIPPING (for a shipping charge or adjustment) or ADJUSTMENT (for a discounts).
ITEMID
DESCRIPTION
Line item description. This can be a product (for example, Morris, Kacey or Banquo), a discount
(for example, FALL4SLE, FSNOTHRE or FREESHP), or a shipping charge (for example,
STANDARD_SHIPPING).
LINEITEMCOMMENT
CURRENCY
BEFOREQUANTITY
BEFOREUNITPRICE
BEFORETOTALPRICE
203
BEFORETAX
AFTERQUANTITY
AFTERUNITPRICE
AFTERTOTALPRICE
AFTERTAX
GMV-Per-Month Report
Field
Description
SITEID
The Site ID, typically the name of the site, for example, customerz.
CURRENCY
MONTH
SOURCE
Where the action originated from. STOREFRONT is the most common source. Another example is
ACTION
The action represented by the transaction. CREATE is the most common action.
TRANSACTIONS
ITEMTYPE
The type of transaction for the line item. For example, PRODUCT (for a product line item),
SHIPPING (for a shipping charge or adjustment) or ADJUSTMENT (for a discount).
ITEMQTY
TOTAL
TAX
BEFOREITEMQTY
BEFORETOTAL
BEFORETAX
GMV-Per-Day Report
The math used for this report is PRODUCT+ADJUSTMENT of the AFTERTOTALPRICE. Demandware bills for the
AFTERTOTALPRICE of all line items except shipping. This report is used as the basis for Demandware billing reports.
Field
Description
SITEID
The Site ID, typically the name of the site, for example, easyspirit.
CURRENCY
DAY
SOURCE
Where the action originated from. STOREFRONT is the most common source. Another example is
CALL CENTER.
ACTIONS
The action represented by the transaction. CREATE is the most common action.
TRANSACTIONS
ITEMTYPE
The type of transaction for the line item. For example, PRODUCT (for a product line item),
SHIPPING (for a shipping charge or adjustment) or ADJUSTMENT (for a discount).
ITEMQTY
204
TOTAL
TAX
BEFOREITEMQTY
BEFORETOTAL
BEFORETAX
GVM-Per-Order Report
Field
Description
SITEID
The Site ID, typically the name of the site, for example, easyspirit.
CURRENCY
TIME
SOURCE
Where the action originated from. STOREFRONT is the most common source. Another example is
CALL CENTER.
ACTION
The action represented by the transaction. CREATE is the most common action.
ORDERID
ITEMTYPE
The type of transaction for the line item. For example, PRODUCT (for a product line item),
SHIPPING (for a shipping charge or adjustment) or ADJUSTMENT (for a discount).
ITEMQTY
TOTAL
TAX
BEFOREITEMQTY
BEFORETOTAL
BEFORETAX
Open Business Manager and navigate to Administration > Operations > GMV Reports.
Report status appears in the Status section. Click Refresh to refresh your view as reports run.
The GMV reports page opens.
Click Create to create a report.
The GMV report export page opens.
Enter the report start date or select the date using the calendar widget.
Enter the report end date or select the date using the calendar widget.
Select the report type: see the table below.
Select the report scope, for example, All Sites or one or more selected sites.
Description
One row per line item in the order.
205
GMV
One row for each site, month, order source, action, and item type included within the specified time range. The
Report
system automatically generates this report on the first day of each month.
Per Month
GMV
Report
Per Day
One row for each unique combination of site, day, order source, action, and item type within the specified time
range. The system automatically generates this report on the first day of each month.
GMV
One row for each unique combination of site, date, ordersource, action, order, and item type within the specified
Per Order time range.
8. Click Download in the Custom Reports section to download your custom GMV reports. Select the report(s) to
download. You can download compressed (zipped) or uncompressed files.
The Manage Exports File page opens.
9. Click Download in the Auto-Generated Reports section to download the auto-generated GMV reports.
The Manage Exports File page opens.
Description
Request
Order Total
The total value of the order at order placement. If the order is changed in any way on the back end, the
Demandware Order Analytics are not affected.
Visit Start
Time Zones
The data provided in this report is calculated at a 0 timezone offset (GMT) because that is the standard offset
Demandware uses for all billing, regardless of customer, to ensure consistency. Thus, you can select start
Sales Total
206
Minimum
Use this page to configure custom code logging messages. You can configure the platform to log messages for ten minutes
( Log To File button) or until disabled at a later time ( Enable checkbox).
Pipeline Profiler
Navigate to: Administration> Operations> Pipeline Profiler
1.
2.
3.
4.
5.
6.
Use pipeline profiler to tune the performance of scripts and pipelines during development and testing.
Pipeline Profiler collects and aggregates pipeline run times for each node and script in a pipeline.
You must trigger the pipeline in the storefront for Pipeline Profiler.
You can use this information to identify problem areas of code and optimize them. Often there are just a few placed in a
pipeline that must be optimized to see significant performance improvement.
Use of Pipeline Profiler is not recommended on Production instances. Instead, Demandware analytics is designed to give
insight into the performance of a live site.
The specific performance of a pipeline depends on the tasks it is intended to accomplish, but as a general guideline we
recommend that a pipeline should not take more than 3 seconds to execute when it includes non-cached components and no
207
7.
more than 250 milliseconds when it includes cached components. These guidelines assume that there may be additional
performance costs to constructing a page in addition to the pipeline, for example, executing JavaScript or retrieving rich
content, such as flash content.
Generally, it can be expected that performance load testing may also be necessary to judge the performance of a page on a
live site and the Pipeline Profiler is a very useful tool for examining pipelines during this phase of testing.
1.
2.
3.
Open the storefront for the site containing the pipeline you want to examine.
In Business Manager , navigate to Administration > Operations > Pipeline Profiler.
The Pipeline Profiler Page appears.
Click
to activate the profile.
If you have not opened the storefront, the site name does not appear in the Browse Captured Data
section of the page. At least one site must appear here for data to be collected.
4.
5.
6.
7.
If a script is triggered, you see the data appear in the Pipeline Profiler page.
Click
to deactivate Pipeline Profiler. This prevents additional data being added, which can make the data easier
to interpret.
8. Examine the data for scripts on the Pipeline Profiler page. Each script expression or script is displayed on the page.
This page is useful to
9. Click the site name in the Browse Captured Data section of the page to examine pipeline performance. This page
makes it easy to see if a node or script is called frequently and is therefore a good candidate for optimization.
The Profiler - Pipeline Performance Page appears. Click any of the column names to sort results by Start Node Name,
Hits , Total Time, Average Time, Minimum Time, or Maximum Time.
10. Click a pipeline name to view detailed performance information for that pipeline. This page is useful for determining
whether a template, script, or node is costing the most time.
The Pipeline Performance Detail Page appears. Click any of the column names to sort results by Start Node Name,
Pipelet Node ID, Interaction Node ID, Hits, Total Time, Average Time, Minimum Time, or Maximum Time.
Quota Status
Navigate to: Administration> Operations> Quota Status
1.
2.
3.
4.
5.
6.
Quotas target the safe and efficient use of the Demandware platform.
The quota status is aggregated across all application servers of the instance.
Object quotas status is updated with up to 20 minutes delay.
Object relation quotas are checked and status is updated when relations are modified, not when they are just traversed. The
status of object relation quotas and API quotas is shown for the last 24 hours or since server start.
More information about where violations occurred can be found in the quota log files.
When an enforced quota is violated a detailed message is written to the error log.
1. In Business Manager navigate to Administration > Operations > Quata Status
208
2.
Click a down arrow beside a quota to view details about that quota.
Email To Addresses: enter one or more comma-separated email addresses into the entry field, and select the Enabled
checkbox.
Select to enable.
Deselect to disable.
Custom Quota Actions: shows if custom quota actions are active on the instance. Click here for details, and the [Custom
Quota Actions] page opens.
Green: OK: OK
Object quotas - shows quotas for objects related to customers, for example. These are the columns:
Max: The maximum observed value for this quota. It can be lower or higher than the limit.
Violations: How often the limit was exceeded in the last 24 hours. Action required message appears in the item's
header. Pertinent data appears red.
API Quotas - shows the API-related quotas. These values reflect the last 24 hours only. API quotas may define limits on number
of object instances, object sizes, runtimes, number of executions per page, or prevent the execution of a Demandware Script
method or pipelet in the storefront.
Max: The maximum observed value for this quota. It can be lower or higher than the limit.
209
Violations: How often the limit was exceeded in the last 24 hours. Action required message appears in the item's
header. Pertinent data appears red.
See the API and Object Quotas documentation (API documentation) for more information.
log_only
warn
A valid indicator of
potential performance
and/or stability
concerns.
error
A valid indicator of
potential performance
and/or stability
concerns.
Prior to Release 2.11.5, the default action for most API/Object quotas was warn; and there were only four quotas set to error.
Beginning with the 2.11.5 GA release, Demandware will enforce API/Object quotas for all new Demandware realms
(provisioned after 2.11.5 GA). All API/Object quotas that previously had a default action of warn, will be set to error, and thus
enforced on all instances (PRD, STG, DEV, Sandbox) unless they are softened (reset to warn ) in one of the following ways:
For sandbox or cloudbox instance, you can soften quotas by exporting those quotas from a production instance and
importing (overwriting) them onto a sandbox/cloudbox instance. This allows you to match your development
environment to your production environment. See Implementing quota overrides.
Note:
All actions that were warn in previous releases have been overwritten with the custom-action warn on all production
instances. You can have Demandware export these overwrites from your production instances so that you can import them
onto your sandboxes or cloudboxes. This overwrite occurred because in the future, the default action will be error. Warn
overwrites will soften the new default. Because Demandware manages overrides on production instances, no action is
required. On sandboxes or cloudboxes, however, you will need to import the overwrites. If you do not, you may see
disruptive behavior when quotas are enforced in a future Demandware release.
A quota is either enforced or not enforced. If an enforced quota is exceeded, an exception is thrown, which prevents the current
operation from completing. The exception cannot and should not be caught within a customization. The design criteria must be
avoidance of quota violations.
Examples of quota violations are:
210
If an enforced quota is exceeded in a storefront request, the general error page appears. If an enforced quota is exceeded during a
standard import, a warn or error is reported. If a quota is not enforced, the platform does not take an action when the limit is
exceeded. Demandware plans to enforce all quotas in the future.
green/ok = OK
Best Practices
Review the quotas and see how you can stay within the limits. For any quota exception, the display will show Action required.
Unless a quota is enforced, no action is required to fix an exception. However, you can use this real-time data (in conjunction
with the Quota Log Files) to assess your current API/Object usage. For example, you should evaluate this data for any site that is
experiencing performance issues, and check the quota logs to help identify pipelines that exceed limits.
Encryption Keys
Navigate to: Administration> Operation> Encryption Keys
1.
2.
3.
4.
Use this page to monitor the status of your credit card encryption keys and the schedule of automatic expired key removal,
and new encryption key generation.
Encryption keys are generated once a year.
After a new key is generated, payment instruments are gradually re-encrypted as a background process, so as not to affect
platform performance.
If you need to generate a new key and re-encrypt your data for any reason within that time period, you can contact
Demandware customer support to have this performed.
211
active: used to encrypt any new payment instruments and decrypt any payment instruments that were originally
encrypted by this key.
inactive: used to decrypt any payment instruments originally encrypted by this key. All payment instruments using
inactive keys are gradually re-encrypted using the active key in a background process. This means that once a new key
is generated you should see the number of payment instruments with an inactive key decline daily.
Payment Instruments - shows the number of payment instruments encrypted by the key.
Back: click to return to the previous page.
Use this page to import certificates and private keys into the keystore for your current instance.
This is only for TLS certificates, certificates for signing and encryption are uploaded via another mechanism.
Select Visible: click to select all visible entries in the key store. If you have searched for a certificate, all search results
are selected.
Deleted Selected Certificates: click to delete selected certificate or key. At least one entry in the keystore must be
selected for this option to be available.
Keystore Grid
Click any cell in the grid to open the Host Names Popup.
Alias: displays the alias that uniquely identifies the entry in the keystore.
212
Type: displays whether the keystore entry is a private key or a trusted certificate (public key).
Host Names: displays the host names associated with the certificate.
Valid from: displays the start date when the certificate can be used.
Import Date: displays the date that the certificate was imported.
Cancel - click to cancel any changes made since opening the page.
Reset: click to reset the value to those displayed when you first opened the page.
213
Appendix
Demandware Image Storage
Demandware supports three static content locations where images are stored, as follows:
Image
Type
Catalog
Noncatalog
Examples
Location
Subfolder
Arbitrary
Arbitrary
sites/Sites-Site/(Version
Directory(0|1))/units/
(Your Catalog)/static/default/
Within the organization ("Sites") static
content directory:
sites/Sites-Site/(Version Directory(0|1))
/units/Sites/static/default/
located within its own site specific content
library directory:
Content
content assets
sites/Sites-(Your Site)-Site/(Version
Directory (0|1))
/units/Sites-(Your Site)Library/static/default/
Staging/ Replication
3) Product ID
No rule.
214
Sample
creative-zen-x-fi , 22416787, P0138
4) Images
Use a descriptive name that search engines would see and that the user can recognize.
Sample
ImageTitle_ProductID_Variation.jpg
(Cotton-Shirt_12345_Blue.jpg)
7) Price Book ID
retailPricebook_<company_name/brand_name>_<country_code/region_code>
salesPricebook_<company_name/brand_name>_<country_code/region_code>
employeePricebook_<company_name/brand_name>_<country_code/region_code>
Sample
retailPricebook_Demandware_US
retailPricebook_Demandware_DE
salesPricebook_Demandware_US
salesPricebook_Demandware_DE
employeePricebook_Demandware_US
employeePricebook_Demandware_DE
8) Inventory Book ID
inventory_<company_name/brand_name>_<country_code/region_code>
Sample
inventory_Demandware_US
inventory_Demandware_DE
9) Promotion ID
Use lowercase with dashes.
Sample
10%off-order-over$150
215
10) Campaign ID
Use lowercase with dashes.
Sample
order-promotions-for-everyone
The ID can be searched so consider including key identifiers to assist in searches.
12) Files
File Type
Demandware Scripts
Library files
Demandware ISML Templates
Form Definitions
Pipeline Definitions
Properties
Convention
LoadFooObject.ds (camel case)
libCompareList.ds (prefix "lib")
productpreview.isml (lower case)
tellafriend.xml (lower case)
Account.xml (camel case)
foobar.properties (lower case)
different locales: foobar_de.properties
Object IDs
When you create objects, the system automatically generates object IDs, a feature that provides the following benefits:
You can create objects more quickly, because you do not have to manually edit IDs.
You can search for objects more easily, because the IDs have a consistent and predicable syntax.
You know that your object IDs are formed according to best practice, using only numbers and letters, not spaces or
special characters.
The syntax for auto-generated IDs is as follows: prefix + timestamp where prefix is one of the values listed in the following table:
Object
Product
Catalog
Category
Product Option
Product Set
Variation Attribute
Recommendation
Price Book
Inventory
Library
Content Asset
Sorting Rule
Prefix
prd
clg
cat
opt
set
var
rec
pri
ivt
lib
con
srt
Object
Campaign
AB Tests
Promotions
Content Slots
Coupons
Source-Code Groups
Stores
Customer Groups
Payment Processor
Payment Method
Roles
Shipping Method
Prefix
cmp
abt
pro
slt
cou
scg
str
csg
pap
pam
rol
shi
and timestamp is a value formed as follows: month + day + year + hour + minute + second. The timestamp reflects the time of the
current instance, an approach that enables the system to automatically create unique IDs while minimizing the possibility of
duplicate IDs.
216
Pipelines
System Pipelines
Demandware provides many pipelines with functionality that is commonly required by storefronts as part of the SiteGenesis
application. We recommend that you become familiar with these pipelines.
System pipelines are not called in a URL or by another pipeline but directly by the Demandware platform. The name of a system
pipeline cannot be changed.
Default Pipelines
The Default pipeline is included in the SiteGenesis cartridge.
Default-Start - Called when no pipeline name is provided. Although the Start node name must not be changed, the
subpipeline can be customized.
Default-Offline - Called when a site is offline. Although the Offline node name must not be changed, the subpipeline
can be customized.
OnSession-Do - Called when a new session starts. The pipeline prepares promotions or pricebooks based on source
codes or affiliate information in the initial URL.
Note:
If you customize this pipeline, keep the pipeline short or it causes a significant performance impact on your storefront.
OnRequest-Do - Called for each page request on the storefront. This pipeline is called both for cached and non-cached
pages. For performance reasons, the pipeline must be kept short.
SEO Pipelines
Search-Show - Renders a full featured product search result page. If the http parameter format is set to ajax, only the
product grid is rendered instead of the full page.
Product-Show - Renders a full product detail page. If the http parameter format is set to json the product details are
rendered as JSON response.
Page-Show - Renders a content page based on the rendering template configured for the page or a default rendering
template.
Product-ShowInCategory - Renders the product detail page within the context of a category.
Link-CategoryProduct - Links to the product detail page for a specific category from within a content asset. This is
useful if you have the same product in multiple categories. For example, a standard and sale category.
217
Reserved Pipelines
These are customizable pipelines that are called by name by Demandware for specific uses by the platform.
RedirectURL-Hostname - Pipeline is called by the system to handle URL mappings, such as static mappings and
mapping rules. The mappings are configured in Business Manager. This pipeline is critical to site performance, because
it is frequently called in case of exploit scans. The input for the pipeline is the original URL to redirect the user from.
Note:
Demandware strongly recommends you follow these rules when using this pipeline:
no or only a few database calls simple (static) template response cache the result
page
PowerReviews-XmlProductDescription - Renders product XML description based on the given ID. Input: pid
(required) - product ID
Internal Pipelines
These pipelines are used internally by the platform and cannot be edited. These pipelines appear in the Page Cache Information
tool or other debugging tools. These pipelines are used by the Demandware platform, not the SiteGenesis application. You cannot
view these pipelines in Studio or any other development tool.
_SYSTEM_Slot-Request - This is an internal pipeline called when the content for a content slot is requested.
Category Page - Default display is set to ${pageURL||displayName}. This uses the Page URL and Display Name
attributes to construct the default URL. If you want to create a custom URL, supported category attributes include
pageURL, pageTitle, ID and displayName.
Product Page - Default display is set to ${pageURL||name}. This uses the Page URL and product Name attributes to
construct the default URL. If you want to create a custom URL, supported product attributes are pageURL, pageTitle,
productID, name, brand and shortDescription.
Content Pages - Default display is set to ${pageURL||name}. This uses the Page URL and content Name attributes to
construct the default URL. If you want to create a custom URL, supported content attributes are pageURL, pageTitle,
ID and name.
2. 301 Redirects
Commerce Center provides users with the ability to set permanent url redirects directly within the tool.
3. 302 Redirects
This allows users to setup temporary redirects on urls like products that fall off the site for short periods of time or seasonal
landing pages that you dont want permanent redirects set for.
4. Internal Redirects
Redirecting a category to another category either as 301, 302 or 307 type redirect. You can create shell categories like Men >
Sale and redirect to Sale > Men so merchants dont have to double expose or merchandise products twice.
5. Custom URL Mapping
Users have the ability if they are migrating over from a previous platform to do some url mappings. For instance if in their
previous url is was like www.mysite.com/product id=123456 and the new url will be www.mysite.com/mens/straightlegged
jeans/123456,default,pd.html. Users can set up mapping rules so you dont have to manually create 301 redirects for all products.
6. Product SEO Tag Overrides in Commerce Center
- Title Tags, Meta Description, Keywords, and define custom Product URLs
7. Category SEO Tag Overrides in Center
- Title Tags, Meta Descriptions, Keywords, Define custom Category URLs
- In Studio Users can define dynamically driven H1-H6 tags
218
219
- Category SEO Attributes: Category ID, Page Title, Description, Page Keywords and Page URL.
- Product SEO Attributes: Master ID, Page Title, Description, Page Keywords.
Coming Soon - SEO Features in Commerce Center
23. Full URL rewriting
Users will be able to create clean urls that remove some of the current elements in the url like default,pd.html to show just the
SEO friendly text www.mysite.com/mens/dress-shirts
24. URL enhancements
Some of these enhancements are as follow:
- Removing demandware from the url,
- Override URL rules at objects-level for product, category, content, folder
- Removing Page type indicators in url like ,pg
- Support of relative URLs between HTML pages and images with the need for site name
25. Video Sitemap
The ability to add videos on a users site to an XML sitemap
26. Localized URLs
The ability to denote locale in the url parameters (en, fr, de) example- www.mysite.com/en/my-category-name Enhancements to
220
HTML5 and CSS3 provides an alternative to using Flash to more easily allow creative elements to be indexed
There is also another document on Xchange where you can view all the HTML5/CSS3 enhancements and not just the SEO
pieces.
https://xchange.demandware.com/docs/DOC-12268
Features include in 12.5 Release as they relate to standard HTML5 and CSS3 capabilities
We have all heard about all the cool features and functionality responsive design offers but with the release of 12.5, there are also
other cool features, not specifically tied to responsive design. This document is aimed at bringing light to those other features that
come with HTML5 and CSS3.
Here is a Bullet List of some of those new features:
Video and Audio Tags to play videos and audio right from your browser without additional plugin
Web Storage
Web Workers
Web Sockets
HTML5 Forms
Figure Element
Small Element
Type Tags
Creating Placeholders
Video Preloading
CSS3
Animations
Transitions
2D and 3D transformations
Backgrounds, Borders, RGBa Colors, Gradiants, Drop shadows and rounded corners
221
222
Web Storage Improves browser cookies and you can do this in two ways via localStorage or sessionStorage. Data that is saved
on local storage is available to browser at any point even when closed and session storage is lost when the browser is closed.
Web Workers
The Web Workers specification defines an API for spawning background scripts in your web application. Web Workers allow
you to do things like fire up long-running scripts to handle computationally intensive tasks, but without blocking the UI or other
scripts to handle user interactions. They're going to help remove the 'unresponsive script' dialog that we frequently come across.
Web Sockets
A WebSocket is a standard bidirectional TCP socket between the client and the server. The socket starts out as a HTTP
connection and then "Upgrades" to a TCP socket after a HTTP handshake. After the handshake, either side can send data. The
WebSocket API is being standardized by W3C so it can easily be utilized with HTML5.
HTML5 Forms
HTML5 now includes new components that add functionality that designers and developers had to leverage previously using
javascript and flash. Below are some examples of the enhancement HTML5 had in regards to creating forms.
1. Submitting a form before all fields are populated wasnt available on HTML4. Requirement that all fields must be
populated or filled out before submitting.
2. Sliders and date pickers are available via HTML5 now and dont have to be built with Javascript or Flash
3. Mobile Devices can take advantage of HTML input types now
HTML5 Drag and Drop interactivity on the site
This allows users to actively interact with your site. Like creating a collection or outfit on a page by taking sampling of products
and building a look with drag and drop functionality.
Figure and FigCaption Element
Makes an easier semantic way to associate a caption with a figure element.
The <figure> element is intended to be used in conjunction with the <figcaption> element to mark up diagrams, illustrations,
photos, and code examples (among other things)
The <figcaption> element is optional and can appear before or after the content within the <figure>. Only one <figcaption>
element may be nested within a <figure>, although the <figure> element itself may contain multiple other child elements (e.g.,
<img> or <code>).
Small Element
The <small> element was used for smaller text, now used for side comments and small print
The <hr> element was used for horizontal rule, now used for a paragraph-level thematic break in text
Type Tags
No longer the need to define types for stylesheets or scripts this is now implied that .css and .js in the src for that file are the
types.
Quotes Not needed any longer in Document IDs
No longer the need to input into all of your document IDs.
Creating Placeholders
Before we used javascript to create placeholders but the new attribute placeholder (to input elements) allows you to set
placeholders inline.
The placeholder attribute specifies a short hint that describes the expected value of an input field (e.g. a sample value or a short
description of the expected format).
The hint is displayed in the input field when it is empty, and disappears when the field gets focus. The placeholder attribute
works with the following input types: text, search, url, tel, email, and password.
Video Preloading
The preload attribute specifies if and how the author thinks that the video should be loaded when the page loads.
The preload attribute allows the author to provide a hint to the browser about what he/she thinks will lead to the best user
experience. This attribute may be ignored in some instances. The preload attribute is ignored if autoplay is present.
223
Play
Pause
Seeking
Volume
Fullscreen toggle
2.
224
3.
4.
Product Assignment: The Client can use the bulk assignment or manually assign a product to a category using the Business
Manager.
5.
Search
By setting the hidden category to offline any product that is only assigned to the hidden category or any of its sub-categories
will be excluded from normal keyword search. (Sub-categories of the hidden category must be online.)
Only if you search / navigate within the hidden category (e.g. &cgid=my_hidden_cat), these products will show.
Note: The Search pipelet must have DisallowOfflineCategory set to true.
For example, the Mens Classic Deer Glove (product ID TG508) is only assigned to sale-mens-accessories category.
The customer can navigate to the product by clicking Sale Mens Accessories.
225
If the customer searches the product ID using the Search Box, the No Search Results page is returned because it has been
excluded from normal keyword search.
7.
226
8.
9.
10. Test the Source Code URL where the Pipeline-StartNode is SourceCodeRedirect-Start? and the Source Code Parameter is
src=VIP.
http://www.myDWstore.com/SourceCodeRedirect-Start?src=VIP
The source code URL calls the Source Code Redirect pipeline and passes the source code, VIP, as a parameter. The system
looks up this code and implements the rules configured in the source code. These can be promotions, price books or
redirects.
Using Demandwares dynamic URL mapping functionality, you can implement vanity URLs, allowing you to remove the
pipeline and parameter name from the URL. For example configure the system to take the value at the end of /email/ URL
and feed that into the source code pipeline.
http://www.myDWstore.com/email/VIP
Note: For additional information, a Source Code How-To document and video can be found on xchange:
PDF: https://xchange.demandware.com/message/21807#21807
Video: http://www.screencast.com/t/TOA7ZoS4R8
227
Gift Categories: The Client will create two new categories called Shop Our Top Ten Gifts that will be assigned to an offline
category called Hidden Category. Repeat steps 1-4 above if the hidden category has not yet been created. Repeat steps 3-4
above if the hidden category already exists. Where Category ID = ab-test-gifts-a and ab-test-gifts-b.
Product Assignment: Each category will have a unique assortment. The Client can use the bulk assignment or manually assign a
product to a category using the Business Manager. Repeat step 5 above.
Content: The Client will create two content assets and two content slot configurations that appear to be identical ("Shop Our Top
Ten Gifts"), but one version would link to category A and the second version would link to category B.
6.
7.
Set both content assets to online. Using the HTML editor create a hyperlink to ab-test-gifts-a category ID for asset homebottom-left-a. Do the same for home-bottom-left-b by creating a hyperlink to ab-test-gifts-b category ID for asset
home-bottom-left-b.
home-bottom-left-a
home-bottom-left-b
8.
Create two content slot configurations under the content slot. In this example, two configurations home-bottom-left-a and
home-bottom-left-b are created under 'home-bottom-left'.
9.
Configure each slot as content type: content asset and associate the corresponding content asset.
home-bottom-left-a
home-bottom-left-b
228
On click, Shop Our Top 10 Gifts will take the customer to the following pages
Slot configuration home-bottom-left-a
A/B Test: Reference the A/B testing documentation to create the A/B test located on xchange:
https://xchange.demandware.com/docs/DOC-5611
11. Create the A/B test.
Source Codes
Within Demandware, source codes can be used in order trigger a specific promotion, content or pricebook.
When used in email campaigns, source codes provide the merchant with a way to provide limited access to a promotion without
requiring the customer to enter a code at checkout. Demandwares source code functionality also provides reporting at the
individual code level.
For affiliates the merchant can provide the affiliate with a URL that contains a source code to post on their site. This URL
redirects the consumer to the merchants site and includes the source code value as a parameter. This code can also be used to
trigger a promotion, as well as report on visits and resulting sales revenue.
229
In the following example well set up a Source Code where when the user clicks the link with the source code in the parameter, it
will redirect the user to the Mens > Footwear > Boots Category page, display a banner announcing 25% off and apply a 25% off
all boots in the category.
Step 1: Set up the Source Code:
Within Business Manager, navigate to Site > Online Marketing > Source-Code Groups
Create an ID and Description of your source code and supply a start and end date, enable and click Apply
Next, go to the Codes Tab and set up your source code. Codes are alpha-numeric without spaces. You have the option to set a
single source code or a range of source codes.
In this scenario Im setting up a single source code boots and click Add
Next, set up the redirect to the boots category page by clicking on the Redirects tab.
230
The next step is to set up a customer group. Navigate to Sites > Customers > Customer Groups and click New. Youll need to
set up a Dynamic group and then assign the source code set up in Step 1.
Next, youll need to assign the membership rule which is the source code by clicking Edit as shown in the screenshot below:
231
232
On enter, the source is activated, the user is redirected to the mens > footwear > boots page, the banner is updated and the
promotion is triggered.
Additional Resources:
http://dware.training.s3.amazonaws.com/Essentials/catalog/SourceCodesOV/index.htm
https://xchange.demandware.com/docs/DOC-6571
https://documentation.demandware.com/display/DOC124/BM+Testing+dynamic+URL+mappings+for+source+codes
https://xchange.demandware.com/message/17472#17472
233