Sana 9.1 SDK Partner Training

The course is designed for Sana SDK partners to give an overview of Sana Commerce product, describe existing possibilities, show the architecture of the framework and teach the basics of developing customizations using the Sana Commerce SDK.

All objectives of the current course are presented in the recommended learning order and are organized into the following groups:

  1. An overview of Sana Commerce functionality, hosting and configuration options (0.5-1 hour)
  2. Technical overview of the framework architecture, communication with ERP, search engine etc. (1-2 hours)
  3. Hands-on labs with the exercises to start customizing Sana (2-3 hours)

1.1. Integrated e-Commerce

Product overview

Real-time integration

How does Sana integrate with ERP?

1.2. Business Scenarios

B2X e-Commerce

Multi-store scenarios

Which are True?

1.3. Webstore Design

Why does design matter?

Use-case: Using standard template

Use-case: Small customizations

Use-case: Completely custom design

Available customization options

Which options can be used to apply company branding to the webstore?

Which options can be used to change the layout of web pages?

What is the easiest way to use different store layouts on different webstores within a single Sana installation?

1.4. Installation & Configuration

Hosting: Simple setup

Hosting: Complex scenario 1

Hosting: Complex scenario 2

System requirements

Sana Installer

Configuration options

Security options

Scalability options

What is true about Sana Commerce?

Which installation steps are automated by Sana Installer?

2.1. Sana Architecture

Technology Stack

High-level Overview

Under the Hood


ERP data usage

Which technologies are used in Sana Commerce?

True or False?

2.2. Sana Mobile & Web Service API

Ordering App for Sales Agents

Under the Hood

Technology Stack

Web Service API

Customization options

Sana Mobile Questions

The truth about Web Service API

2.3. eBusiness Connector

What is eBusiness Connector?

Dynamics Integration

SAP Integration

Integrate with Any ERP


eBusiness Connector can be used to connect only to...

Which data format is used in eBusiness Connector?

2.4. Sana Search

About Sana Search

Indexing Products

Searching Products

Which search engine is Sana Search built on?

What entities are being searched in Sana Commerce using Sana Search engine?

2.5. Sana Commerce SDK

SDK Structure

Setting Up Development Environment

How many projects are in Sana Commerce SDK solution?

2.6. Two Pillars of Sana Code

Entity & Entity Fields

Which method of the Common manager can be used to get the records from a custom table in ERP?

What is the name of the base class of all entities in Sana Commerce?

Which attribute should be applied to a custom property in order to be saved in the "Fields" XML column in SQL database?

Object Manager

Which class is used to register entities and services in Sana Commerce and to resolve their instances?

What dependency injection container is used inside the ObjectManager class?

2.7. Web Framework

Web Application


URL Construction


Shop Context

Shop API


View Helpers

Match the definitions

–°ombine elements from the left column with the elements on the right
is a class which should be used inside the Sana Razor view helpers to access the current instances of HtmlHelper, UrlHelper etc.
holds the information about the current webstore, logged in account, admin user etc.
is used to construct URLs to the webstore pages.
is a base class for all generated classes of Razor views.
is an entry point to a high-level webstore API.
is a base class for all controllers of the admin area.
is used to register routing add-ons.
is used to initialize the current ShopContext.
is a base class for all controllers.
is a base class for all frontend controllers.

2.8. Debugging & Troubleshooting

Web application debugging

NAV / AX logging & debugging

Sana Commerce task logging


What to do when an error occurs on the webstore page?

3.1. Hands-on Lab: Extending Checkout Process


User Story

Up and Running

Where to Start?

New Blank Page

Checkout Step Page

The List of Customer Sites

Remember Selected Site

Save With Order

Which Sana Commerce classes have been changed, customized or extended in this lab?

3.2. Hands-on Lab: Creating a Design Pack


Start With a Sample

Custom Styling

Custom Markup

Packing Changes

Which types of files are used by store layouts?

Additional Resources

Additional Resources