2023 beta - Building Websites (35%) Flashcards

1
Q

What are the primary technical goals for the rewrite of the Optimizely B2B Commerce front-end and CMS?

A
  • Improved upgradability for the frontend
  • More composable commerce pages
  • Simple CMS Data Structure
  • Improved page editing experience
  • SEO/Serverside rendering
  • Lighter Javascript payloads
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How is Spire CMS different from Classic CMS?

A

Spire CMS is built on React/Redux and Classic CMS is built on Angular.js.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the technology used in classic CMS?

A

Angular.js, Foundation, TypeScript

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the technology used in Spire CMS?

A

React, Redux, TypeScript, Node

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the Front-End Upgrade Model in classic CMS?

A

Merge as desired

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the Front-End Upgrade Model in Spire CMS?

A

Automated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the Styling Approach in classic CMS?

A

Cascading Style Sheets, base.css

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the Styling Approach in Spire CMS?

A

Style Guide, user-configurable, styled-components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the CMS Style Guide in the Spire CMS?

A

It is a is a tool that lets you make changes to your Optimizely Commerce front-end’s colors, typography and components’ visual appearance. Changes made in the CMS Style Guide are immediate and affect every element of the type updated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How to access the the Spire CMS?

A

You must add “/contentadmin” to the end of your site URL to access the Spire CMS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The Style Guide displays the basic configurable styles for the website. The styles are grouped into three main areas. What are they?

A

Site Colors, Site Typography and Components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can you override text styles applied with the Style Guide?

A

Text styles applied with the Style Guide can be overridden using the CMS’s Rich Text Editor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are responsive web pages?

A

Responsive web pages are web pages designed to change their presentation and orientation according to the type of device viewing the web page.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the three sizes that change the way the web page displays?

A

Smartphone: 320px
Tablet: 768px
Desktop: 1024px

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the difference between mobile web pages and responsive web pages regarding URLs?

A

Mobile web pages often use a separate site (usually a subdomain) that depends on HTML redirection to ensure users are routed to the correct website. Responsive web pages all use the same URL, as it is all coded into the page.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the difference between mobile web pages and responsive web pages regarding rendering?

A

Mobile web pages are statically set to a specific mobile screen size. Responsive web pages change the web page presentation and orientation for each device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the difference between mobile web pages and responsive web pages regarding content?

A

Because a mobile web page is a different website, you can tailor content specifically to mobile users. Content for responsive web pages can be targeted to specific devices - desktop, tablet or phone. This ensures content can be customized to fit the device size and format.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the purpose of the {currentWebsiteId}_Cart cookie?

A

Keeps track of the cart and transfers it to a user account if the anonymous user creates an account. Only stored for anonymous users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

How do you configure the expiration of the {currentWebsiteId}_Cart cookie?

A

It is configured in the Admin Console using the Number of Days to Retain Items in Cart setting. The default value is 7 days.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is the purpose of the {currentWebsiteId}_CustomerOrderForApproval cookie?

A

Loads relevant data for the approval order rather than the current user’s cart. This allows the current user to correctly approve the order.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the purpose of the .AspNet.ApplicationCookie cookie?

A

Standard authentication cookie used by ASP.NET. Keeps track of the currently authenticated user’s session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the purpose of the BillToIdShipToId cookie?

A

Used during a signature verification process to ensure the CurrentBillToId and CurrentShipToId cookies are valid for the current user. The encrypted billto and shipto id values are stored.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the purpose of the CKFinder_Check cookie?

A

Allows only authenticated users to use CKFinder in the CMS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is the purpose of the CurrentBillToId cookie?

A

Used in conjunction with the BillToIdShipToId cookie during the signature verification process. Also used to apply the appropriate billto on the site for processes like shipping calculation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What is the purpose of the CurrentCurrencyId cookie?

A

Used to display currencies on the site using the appropriate currency visual representation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What is the purpose of the CurrentFulfillmentMethod cookie?

A

Used to apply the appropriate fulfillment method on the site for processes like shipping calculation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is the purpose of the CurrentLanguageId cookie?

A

Used to display appropriate language translations for specified text on the site.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is the purpose of the CurrentPickUpWarehouseId cookie?

A

Used to apply the appropriate pickup warehouse on the site for processes like shipping calculation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

When is the BillToIdShipToId cookie expiring?

A

At the end of the session or when the signature expires (default is 2 hours), whichever comes first.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What are the stored values for the CKFinder_Check cookie?

A

Encrypted value of the current time and the current user’s username.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is the stored value for the CurrentBillToId cookie?

A

The Id of the currently selected billto for the current user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is the stored value for the CurrentCurrencyId cookie?

A

Id of the currently selected site currency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

When is the CurrentCurrencyId cookie expiring?

A

In 30 days

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What is the stored value for the CurrentFulfillmentMethod cookie?

A

Name of the currently selected fulfillment method for the current user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is the stored value for the CurrentLanguageId cookie?

A

Id of the currently selected site language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

When is the CurrentLanguageId cookie expiring?

A

In 30 days

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What is the stored value for the CurrentPickUpWarehouseId cookie?

A

Id of the currently selected pickup warehouse for the current user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What is the purpose of the CurrentShipToId cookie?

A

Used in conjunction with the BillToIdShipToId cookie during the signature verification process. Also used to apply the appropriate shipto on the site for processes like shipping calculation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

What is the stored value for the CurrentShipToId cookie?

A

Id of the currently selected shipto for the current user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

What is the purpose of the InsiteCacheId cookie?

A

Uniquely identifies a user session. Used to apply ETag caching in the B2B Commerce Web API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What is the stored value for the InsiteCacheId cookie?

A

The browser session id

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

What is the purpose of the InvoiceHistory-PageSize cookie?

A

Used to apply the page size on subsequent Invoice History page visits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What is the stored value for the InvoiceHistory-PageSize cookie?

A

The currently selected page size for the Invoice History page list.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What is the purpose of the LastUpdatedListId cookie?

A

Used to pre-select the list when adding a product to a list.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

What is the stored value for the LastUpdatedListId cookie?

A

Id of the list to which a product was added last.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

What is the purpose of the OrderHistory-PageSize cookie?

A

Used to apply the page size on subsequent Order History page visits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

What is the stored value for the OrderHistory-PageSize cookie?

A

Currently selected page size for the Order History page list.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

What is the purpose of the ProductList-PageSize cookie?

A

Used to apply the page size on subsequent Product List page visits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

What is the stored value for the ProductList-PageSize cookie?

A

The currently selected page size for the Product List page list.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What is the purpose of the ProductList-View cookie?

A

Used to apply the list view type on subsequent Product List page visits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

What is the stored value for the ProductList-View cookie?

A

Currently selected list view type for the product list. Can be Grid or List.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What is the purpose of the PunchOutSessionId cookie?

A

Keeps track of the punchout session. Certain site functionality is altered when using punchout.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

What is the stored value for the PunchOutSessionId cookie?

A

Id of the current user’s punchout session.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What is the purpose of the RecentlyViewedProducts cookie?

A

Used to populate the Recently Viewed Products carousel widget.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

What is the stored value for the RecentlyViewedProducts cookie?

A

List of product ids of recently viewed products.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

What is the purpose of the SetContextLanguageCode cookie?

A

Used to set the language and culture of each B2B Commerce Web API request.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

What is the stored value for the SetContextLanguageCode cookie?

A

Language tag.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

When is the SetContextLanguageCode cookie expiring?

A

In 30 days.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

What is the purpose of the SetContextPersonaIds cookie?

A

Used for processes influenced by personas, like marketing promotions and experiments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

What is the stored value for the SetContextPersonaIds cookie?

A

List of applied persona ids for the current user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

When is the SetContextPersonaIds cookie expiring?

A

In 30 days.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

What is the purpose of the SetRememberedUserId cookie?

A

When returning to the site in the same browser, the can access their cart, lists and saved orders and browse the site as the user without signing in. Authentication is required when accessing account information or proceeding to checkout.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

What is the stored value for the SetRememberedUserId cookie?

A

Id of the user, if chosen to be remembered (selected during sign in).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

When is the SetRememberedUserId cookie expiring?

A

Configured in the Admin Console using the Days To Retain User setting. The default value is 30 days.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

What is the purpose of the cms_CurrentContentMode cookie?

A

Used to show or hide certain functionality based on the content mode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

What is the stored value for the cms_CurrentContentMode cookie?

A

Name of the currently selected content mode for the current CMS session. Can be Editing, Previewing, or Viewing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

What is the purpose of the cms_CurrentContentModeSignature cookie?

A

Used as a security measure to verify the cms_CurrentContentMode cookie value.

68
Q

What is the stored value for the cms_CurrentContentModeSignature cookie?

A

Encrypted version of the cms_CurrentContentMode cookie value.

69
Q

When is the cms_CurrentContentModeSignature cookie expiring?

A

At the end of the session or when the signature expires (default is 8 hours), whichever comes first.

70
Q

What is the purpose of the isSiteInShell cookie?

A

Can be used by Spire widgets to show or hide functionality that pertains to the CMS, rather than the Storefront.

71
Q

What is the stored value for the isSiteInShell cookie?

A

True or false indicating whether or not a Spire CMS session is active.

72
Q

What is the purpose of the productListSortType cookie?

A

Used to apply the sort type on subsequent Product List page visits.

73
Q

What is the stored value for the productListSortType cookie?

A

Id of the currently selected sort type for the Product List page list.

74
Q

Which rights are required to view content changes and products updates or test user permissions on the website (Access the content management system (CMS) from the Admin Console by clicking Site Preview)?

A

You should be logged in with an CMS_ContentEditor, CMS_ContentDeveloper, CMS_SiteEditor, CMS_Publisher, and/or CMS_SystemAdmin account.

75
Q

True or false ?
You can view and edit the mobile, tablet, and desktop versions of CMS pages from any type of device (mobile, tablet, desktop, etc)

A

False.
You can view the mobile, tablet, and desktop versions of CMS pages, but you cannot edit the CMS shell from a mobile or tablet device. Editing and creation of CMS content must be done on a desktop.

76
Q

What are the rights granted by the CMS_ContentEditor role?

A
  • Add and delete widgets to a content page
  • Rearrange widgets on a content page
  • Edit existing content widgets on any page (commerce and content)
  • Create new content pages
  • Delete content pages
  • Create and delete a page variant
  • Copy a page
  • Rearrange pages in the page tree
77
Q

What are the rights granted by the CMS_ContentDeveloper role?

A

Add and edit content in the Code Snippet widget

78
Q

What are the rights granted by the CMS_SiteEditor role?

A
  • All CMS_ContentEditor actions
  • Update Content
  • Edit settings and content of commerce widgets
  • Create A/B Tests/Experiments
  • Compose commerce pages
  • Add and delete widgets from a commerce page
  • Rearrange widgets on a content page
79
Q

What are the rights granted by the CMS_Publisher role?

A
  • Approve content for users who do not have publishing permissions
  • Publish content, including:
  • Bulk publish
  • Future publish
  • Rollback
  • Immediate publish
80
Q

What are the rights granted by the CMS_SystemAdmin role?

A
  • All actions listed in CMS_ContentEditor, CMS_SiteEditor, and CMS_Publisher roles
  • Edit a site’s global style guide
81
Q

What is the purpose of layouts in Spire?

A

Layouts allow you to create a template for a frequently used page type.

82
Q

What do you need to do to for widgets to appear on your sites?

A

You must publish widgets for them to appear on your sites. Clicking Save does not publish widgets.

83
Q

True or false?
Use the Spire CMS to create new pages, which will then appear in the Content Tree. The header and footer are also included in the content tree.

A

True.
The header and footer are also included in the content tree - although they are not “pages,” they are edited and managed in the same way as other pages in your site.

84
Q

True or false?
You can give any URL to a new page.

A

False
Be aware that certain page URLs are restricted. For example, users cannot create a page called “APIs.” You may be prevented from using certain words or phrases when creating a page.

85
Q

Which information do you need to add to a content page to help your page populate in search results?

A

In the Edit Page menu, you must add an SEO Title. This will help your page populate in search results. This is the text that populated the <title> tag on the page and displays in the browser window when users view the corresponding storefront page.</title>

86
Q

Which information recommended by Optimizely should you add to a content page to improve search results?

A

Optimizely recommends adding meta-keywords and a meta-description. The meta-keywords and description will improve search results by adding more information on which your users could search to find your page.

87
Q

What are the 3 menu components you can add to an Header - Main Navigation widget?

A
  • Link: a single link to a page with no children. This page can either be within the Optimizely Commerce site, or an external fully qualified URL.
  • Mega Menu: displays parent links and their children in columns and in a menu the full width of the Main Navigation widget. The number of columns in the menu is configurable - options are 2, 3, 4 and 6 columns.
  • Cascading Menu: displays top level categories in a single column, and children of those categories as flyout menus that expand to the right of the column. The maximum depth of the menu is configurable.
88
Q

How can you edit general information about a page group?

A

Select Edit Shared Fields to edit general information about the page group. Change the SEO Title or URL Segment, or select whether the pages should Hide from Search Engines or Hide from Site Search. Once finished, select Save.

89
Q

What are the Common Elements widgets you can find in Spire?

A
  • Cart
  • Cart Approver Message
  • Currency Menu
  • Header Ship to Address Menu
  • Header Sign In
  • Language Menu
  • Logo Links Search
  • Product Carousel
  • Purchased Products
  • Recent Orders
  • Recent Quotes
  • Recent Wish Lists
  • Secondary Navigation
90
Q

What are the Basic Elements widgets you can find in Spire?

A
  • Banner
  • Button
  • Code Snippet
  • Grid
  • Image
  • Item List
  • Link
  • Link List
  • Logo
  • Navigation List
  • Page Title
  • Quick Order
  • Rich Content
  • Row
  • Rows
  • Slideshow
  • Social Links
  • Subscribe
91
Q

Which users can configure the Code Snippet widget?

A

Only users with CMS_ContentDeveloper role can add and configure this widget.

92
Q

What are the Contact Us Elements widgets you can find in Spire?

A
  • Available Topics
  • Contact Form
  • Email Address
  • First Name
  • Last Name
  • Message
  • Phone Number
93
Q

How many columns rows must always have in the Spire CMS?

A

Rows in the Spire CMS must always have 12 columns.

94
Q

How can you see the list of widgets available on a specific page?

A

Click Edit on a page. Add a row, or choose from a row already available to you. In a row’s cell, click Add Widget. In the Add Widget window, you will see a list of any widgets available to add to this specific page.

95
Q

What are the widgets you can configure in the Compact Header?

A
  • Cart widget
  • Flyout widget
  • Logo widget
  • Main Navigation widget
96
Q

Which roles are required to create product specifications?

A

ISC_ContentAdmins and ISC_ContentEditors can create product specifications. If a user with the Content Editor role is not also a Content Approver, another user must approve their specifications.

97
Q

What are stopwords?

A

Stopwords are words eliminated from search results. Common stopwords like “And,” “The,” and “Or” are included in the base platform, but you also may choose to add industry-specific words, or adjectives like “cheap.” Stopwords affect all websites.

98
Q

What is Search Term Redirects?

A

Search Term Redirects allow Administrators to specify search terms that, when searched, automatically redirect to a given internal or external URL. For example, redirect the search term “customer portal” to the website’s sign-in page. Search Term Redirects are websites specific.

99
Q

Are Synonyms, Stopwords, Search Term Redirects and Boosting options websites specific or affecting all websites?

A

They are affecting all websites.

100
Q

Which option do you need to set have a minimum number of words to match in a search?

A

You need to set the Minimum Match Count option.

101
Q

Which option do you need to set have a minimum percent of words to match in a search?

A

You need to set the Minimum Match Percent option.

102
Q

What is the is the maximum number of Categories, Brands and Products autocomplete results that you can display?

A

10

103
Q

What is the setting you can set to indicate the number of initial characters that must match and will not be fuzzified?

A

Prefix Length

104
Q

Which search setting do you need to set to On in order to configure the AutoCorrect and DidYouMean settings?

A

Enable Search Suggestions

105
Q

Name the 3 types of search documents

A

Product – this is used for both autocomplete results and full product search results
Category – this is used to populate the autocomplete with categories
Content – this is used to populate autocomplete with content

106
Q

What are the 6 six types of “boostable” queries found within the Search Boosting section of the Admin Console?

A
  • Customer Product Number: Looks for matches that are specific to the product numbers of the current bill to or ship to.
  • Fuzzy: Looks for matches that are dependent on the fuzzy search settings.
  • Phrase: Looks for an exact match on the entire text of the search query.
  • Prefix: Looks for an exact match on the initial words of a phrase and partial match on the last word in the query.
  • Search Within: Looks for exact matches on individual words and is used to narrow search results by filtering out non-matches within the existing results.
  • Word: Looks for exact matches for individual words included in the search query
107
Q

How many search fields that are either required to be indexed or can be toggled to be included or excluded from the index?

A

There are 34 search fields that are either required to be indexed or can be toggled to be included or excluded from the index.

108
Q

True or false?
Any custom properties added to products or categories are indexable.

A

True
Any custom properties added to products or categories are indexable; however, they are not indexed by default, but can be enabled for indexing via the Application Dictionary.

109
Q

Which functions must be present in the insite.product-list.controller.ts file in order to share filtered search results?

A

The getQueryStringValues and updateSearchQuery functions

110
Q

How many products a customer can compare at one time?

A

There is a hard-coded default limit of six for the number of products customers can compare at one time.

111
Q

When rebuilding product index, what are the differences between a Quick Rebuild and a Full Rebuild?

A

A Quick Rebuild only updates product records that have changed at the base level, which does not include changes to the product’s child items, such as category or attribute assignments; a Full Rebuild re-indexes all products, including their child items.

112
Q

When rebuilding product index, how do you add a product to the quick rebuild?

A

To flag a product manually, go to the Product and select More Options and select Schedule for Quick Indexing.

113
Q

When searching for products on a website, how many characters must be entered in order to trigger the autocomplete functionality?

A

Entering a minimum of three characters into the search field will trigger the autocomplete functionality.

114
Q

How do you upgrade the base code version in a containerized environment ?

A

You can update the base code version yourself by updating the versionInfo.yaml file in your Extensions repo. Non containerized environments will require a ticket to upgrade the base code version.

115
Q

Every widget in Spire needs to default export a WidgetModule. What is the reason for this?

A

It describes to Spire how the widget is rendered and displayed in the CMS, among other things.

116
Q

Which sentence is false about Spire Blueprint?
It is part of your eCommerce solution, but separate from the back-end.
It is built on top of the core code to allow easier front-end upgrades and extensions.
Blueprints are built on top of and extend Spire.
The Blueprint is built into a node application that doesn’t supports server-side rendering.
Optimizely does not support changing a site’s Blueprint at run time. You must enter a Support ticket to request to change a site’s Blueprint.

A

The Blueprint is built into a node application that DOESN’T supports server-side rendering.

Truth is:
The Blueprint is built into a node application that supports server-side rendering.

117
Q

True or false?
The main element of the Blueprint is the Mobius Theme, which describes how each individual component on your site will be styled.

A

True

118
Q

The Mobius Theme is built on which components?

A

Post-Styleguide Theme
CMS Style Guide
Pre-Styleguide Theme
Base Mobius Theme

119
Q

True or false?
Customizations in the Post-Styleguide Theme can be overriden by changes made in the CMS Style Guide.

A

False
Customizations at this layer of the theme are “the final word” on how your site will display, and cannot be overriden by changes made in the CMS Style Guide.

120
Q

True or flase?
The Post-Styleguide Theme is the place in the theme stack where partners should place only vitally important overrides to the Mobius Theme.

A

True

121
Q

True or false?
Changes that are not available in the CMS Style Guide UI must be customized by a developer using the Pre- or Post-Styleguide theme, or in the Blueprint using widget extension points.

A

True

122
Q

In which theme, of the theme stack, partners should place the majority of their customizations to the Mobius Theme?

A

The Pre-Styleguide Theme is the place in the theme stack where partners should place the majority of their customizations to the Mobius Theme.

123
Q

True or false?
The Pre-Styleguide Theme and Post-Styleguide Theme are technically identical, however changes applied in the Post-Styleguide Theme may be overriden by changes in the the CMS Style Guide.

A

False. Your should read:
The Pre-Styleguide Theme and Post-Styleguide Theme are technically identical, however changes applied in the Pre-Styleguide Theme may be overriden by changes in the the CMS Style Guide.

124
Q

In which theme, of the theme stack, can find all the styles that Mobius components receive out of the box?

A

The base Mobius Theme contains all the styles that Mobius components receive out of the box.

125
Q

B2B Commerce uses remote activation for licensing. What does this means?

A

This means that a remote call is made each time the Admin Console is accessed, regardless of the hosting solution. Remote calls are made to the licensing server hosted by Optimizely.

126
Q

What is B2B Commerce using to authenticate requests to the platform?

A

B2B Commerce uses Identity Server and the OWIN middleware to authenticate requests to the platform.

127
Q

Which method from the Session service provides a bearer access token to use for future requests?

A

getAccessToken

128
Q

Which are the 3 settings that must be set in the appSettings.config file regarding the IdentityServer?

A
  • IdentityServerUrl: The url of the identity server. This defaults to websiteurl/identity
  • IdentityServerCertificatePassword: The password for the client certificate.
  • IdentityServerSkipUrlValidation: This needs to be set to true if identityserver is disabled.
129
Q

True or false?
Identity server uses certificates to sign the authentication tokens. This certificate can be a self-signed certificate and should be the certificate that’s used for website SSL.

A

False. You should read:
Identity server uses certificates to sign the authentication tokens. This certificate can be a self-signed certificate and should NOT be the certificate that’s used for website SSL.

130
Q

How is the signing certificate is set on the IdentityServerOptions?

A

The signing certificate is set on the IdentityServerOptions using the SigningCertificate property.

131
Q

Which External Authentication is B2B Commerce supporting out of the box?

A

External Authentication
B2B Commerce supports Windows, Google, and Facebook login out of the box.

132
Q

What are the three SSO clients available out-of-the-box that are automatically enabled and configured?

A

isc - Gives access to the B2B Commerce Storefront API.
admin - Gives access to the B2B Commerce Admin API.
mobile - Gives access to the B2B Commerce Mobile API.

133
Q

True or false?
You can leverage the three SSO clients available out-of-the-box (isc, admin, mobile) for authentication extensions, or create your own clients as needed.

A

True

134
Q

After you redirect users from B2B Commerce to a third party for authentication, you then need to redirect them back to your site to sign in. What are the out-of-the-box SSO clients you need to use to complete these redirects?

A

-isc_admin_ext - Add your Admin Console URL to the Redirect URIs field under this client to redirect users back to sign in to the Admin Console.

ext - Add your website URL to the Redirect URIs field under this client to redirect users back to sign in to your website (storefront).

135
Q

Which Entity Framework approach is used in B2B Commerce?

A

B2B Commerce uses Entity Framework Code First version 6.

136
Q

What is the purpose of the ODataControllers.tt T4 template?

A

The ODataControllers.tt T4 template is maintained as base code in the Insite.Admin library and B2B Commerce will use it to autogenerate the OData controllers based on the entities available.

137
Q

True or false?
The API is exposed via OData which means developers can apply query string parameters using the OData standards, such as count to retrieve a certain number of results.

A

True

138
Q

True or false?
All of the entities within B2B Commerce will contain a Patch endpoint for the Admin API to update them using the Admin API.

A

True

139
Q

What are the required information to provide when
updating entities using the Admin API?

A

In the body of the request set the property and value using JSON notation. Additionally, the request header must contain the authentication bearer token.

140
Q

Name 4 Front-End Design areas that can be tuned for performance.

A

Too much on the home page - Home page takes a big hit on the Javascript front and is the first page that users see, it’s important to have the best imagery and loading strategy on that page specifically. Adding too many large images or data controls will slow that page down.

Large Images - It’s important to optimize the images to the size being displayed.

Large Javascript Libraries - Try to leverage the existing libraries whenever you can.

Minimize Fonts - Font files are quite large. If you want an icon from a font, consider isolating that component rather than downloading the entire font.

141
Q

Which are the caching options you can use to improve performance

A

eTag Caching: option used to determine the state of an API request on the server. Return a status 304 so if a subsequent request is made.
Cache Manager: use of the cache manager within B2B to cache important data that does not change with great frequency.
Shared (distributed) Cache: used primarily for real-time inventory and pricing calls to minimize the number of calls made to the ERP.
Cache Settings: used for CMS Content and Category Menu.

142
Q

Name 3 causes of performance issues coming from calls to the database.

A

This can be either too many calls, retrieving too much data or poor queries.

143
Q

Which entities are the largest and most important construct in the system and is the most “expensive” resource to retrieve?

A

Products

144
Q

Name areas to monitor to improve performances

A

Products: limit products per page, number of cross-sell/accessory/related products, limit variants
Custom Properties
Categories: The category structure should generally not be more than about 3 levels deep
Customer Segments: avoid having too many
Attribute Types/Values: avoid having too many
Calculating Tax/Shipping in Cart: “expensive” operation, avoid recalculating if possible
Promotions: avoid having too many
Languages: only activate the languages you require (impact on rebuild index)
RealTime Services: Refresh job for inventory and rely on real-time calls for pricing
Translations: disable the Enable Translation Properties option if you don’t use translations at all

145
Q

Name code-specific to monitor to improve performances

A

.ToList
Projections : For example, instead of First().Id, use .Select(o => o.Id).First().
.Any: use .Any() instead of .Count() >= 1
Only Return Required Data
Repeating Queries: just don’t
Stored Procedures: stored procedures are a possible solution
Entity Framework tracking: GetTableAsNoTracking()

146
Q

Name few front end improvements that can be done to help perfromances

A

CSS and JavaScript must be bundled and minified
Remove any unused fonts and optimize those that are in use
Keep image files as small as possible
Limit the number of attribute types displayed by reducing the Search_MaximumFacets Application Setting Maximum Attribute Facets Setting to a lower number than the default of 1000 (if Show Attributes On Search Setting is set to YES)

147
Q

There are certain settings that are only configurable at the Global level. How do you identify them?

A

When viewing a specific website, any field that is Global only will have the Lock icon next to it.

148
Q

Which roles can view and schedule jobs, but cannot modify or delete a job?

A

ISC_Admin

149
Q

Which roles can create and edit job definitions?

A

ISC_System and ISC_Implementer

150
Q

Which role can view or cancel a job, but cannot create, modify, delete, or schedule a job?

A

ISC_User

151
Q

Which users can view job history and cancel a job?

A

All Console Users

152
Q

When setting up connections in the SiteConnections.config file, which role is required for the user associated with the connections?

A

ISC_Integration

153
Q

What should you do if a stored procedure used in an inetegration job is timing out?

A

A custom post-processor would need to be written that includes a longer timeout. To use this post processor, a job parameter named [StoredProcedureName] is needed, which should contain the name of the stored procedure to run.

154
Q

What is the setting that needs to be set for the WIS to avoid having every web server processing every internal integration request?

A

The internal WIS must be identified in the Computers Allowed for Integration setting.

155
Q

Which Integration Job Type option will cause the job to run a SQL statement or stored procedure, typically used for scheduling maintenance and archiving tasks?

A

Execute

156
Q

Which Integration Job Type option will cause the job to pull data from the integrated system and transcribe it into the B2B Commerce database?

A

Refresh

157
Q

Which Integration Job Type option will cause the job to run a data query, typically locally, to pull ecommerce data out and make the data available for a report?

A

Report

158
Q

Which Integration Job Type option will cause the job to take a dataset as a result of either a Preprocessor or a dataset submitted via code and make it available to the Windows Integration Service (WIS). This type of job is typically used for Customer creation, order creation, and payment submission

A

Submit

159
Q

Which connection is defined by the system and is used for Imports and Exports and for any jobs that should be initiated directly by the web server instead of the WIS?

A

Internal

160
Q

True or false?
An integration job’s pre- and post- processors run on the WIS server, while the integration processors run on the B2B Commerce website server.

A

False. You should read: An integration job’s pre- and post- processors run on the B2B Commerce website server, while the integration processors run on the WIS server.

161
Q

Preprocessors get called on the B2B Website side by which Integration Web Service method?

A

Preprocessors get called on the B2B Website side by the Integration Web Service method IWebServiceHandler.GetIntegrationJob

162
Q

Which interface needs to be implemented for a custom Preprocessor?

A

Custom Preprocessors can be created by implementing the IJobPreprocessor interface.

163
Q

Integration processors get called once for each IntegrationJobDefinitionStep of the IntegrationJob to perform the reading from or writing to the external system being integrated with and returns a DataSet. Which method calls Integration processors.

A

Integration processors get called by the WindowsIntegrationBroker.ProcessJob method.

164
Q

Which interface needs to be implemented for custom integration processors?

A

The IIntegrationProcessor interface.

165
Q

Postprocessors get run on the B2B Website by which Integration Web Service method?

A

Postprocessors get run on the B2B Website by the Integration Web Service method IWebServiceHandler.ProcessIntegrationJobResults

166
Q

Which interface needs to be implemented for custom postprocessors?

A

The IPostprocessor interface