B2B Commerce: Expanding the Insite Software Administration Console for Enhanced Client Control


One of the best features of InsiteCommerce is its administration console which acts as the main control center for an InsiteCommerce storefront.  Within the administration console one can access and modify the product catalog, customer and user information, site search management, and various other configurations. 

In addition to the many powerful options that come out of the box in Insite’s Admin Console, developers have the ability to extend the console to add features necessary for the client’s needs.  This article outlines how to extend the Insite Commerce 4.2.0.28152 Administration Console using example code and details relating to a “Transactional Email Preferences” control area.

The idea behind this admin console extension is to provide administrators the ability to control which types of emails users will receive based on a user level and an assigned bill-to customer level. The emails being controlled are sent via an email service created to integrate Salesforce Marketing Cloud with Insite, which will be the topic of an upcoming blog from me. Through the console, administrators can navigate to the page shown below to modify email preferences using the same interface and controls as the rest of the administration console.

 

Insite console 1

 

As you can see from the screenshot, this new extension is added under the “Administration” control area within the subcategory of “Permissions.”  To add a new section in the console, execute the following steps:

  1. Create a copy of MainMenu.json from the source code into your solution.
    1. Note - The admin console and it’s out of the box components are almost entirely driven by json.  In this example, we are using the same technique to generate a location for our admin console extension, but we are going to use MVC to create and display it.
    2. Locate where you want your section to display in the admin console navigation, and add “Text” and “Href” attributes to the Submenu Items for that section:

 

Insite console 2

 

2. Create a copy of the MainMenuProvider class from source and update the MainMenu.json locations inside the GetMainMenu() method to where you saved your file from step 1.  It is easier to copy this class rather than override due to the large amount of private methods involved:

 

Insite console 3

 

Note: Insite has the functionality to easily create extensions without these past two steps, you would simply add a new entry to the ExtensionsMenu.json file located in InsiteCommerce.Web > Areas > Admin.  However, this creates the new extension under an entirely new tab in the console called Extensions which in our example’s case was not what the client was looking for:

 

Insite console 4Insite console 5

 

At this point you should be able to see your new extension label in the admin console navigation.  The next step is to create a Controller to handle the URL you specified in your MainMenu.json file under the “Href” tag, create a View to be displayed in the admin console, and create any typescript or stylesheets to help manage the view.  You can use this controller to populate your view with an ActionResult as well as handle all your API requests:

  1. Create a controller and decorate with the AdminAuthorization attribute:
    1. The method you create to return your partial view must match the URL you created in the “Href” section of either MainMenu.json or ExtensionsMenu.json.

 

Insite console 6

 

2. Create your PartialView to be displayed

a. Since the markup used on the out of the box admin console pages is driven entirely by JSON, we manually recreated the markup in this file and used typescript to populate.

 

Insite console 7

 

b. The standard features such as search, pagination, and breadcrumbs can be added with typescript directives as shown in the image above.

3. Create your typescript controller, typescript services, and external stylesheets needed to perform the extension’s functionalities:

a. Methods for sorting, toggling, and searching are included in this controller.

 

Insite console 8

 

From here you should be able to visibly navigate to your newly created view for your extension in the admin console.  This example is just one of the many ways you can extend the administration console in InsiteCommerce.  Extending the console provides the client options for enhancing control and functionality to better serve their needs.

Keep an eye out for my next blog which describes how we can integrate Salesforce Marketing Cloud with Insite Commerce.   

SEARCH ARTICLES

CATEGORIES

Sitecore 144
Commerce 100
Web Development 100
Sitecore Commerce 83
Sitecore Experience Commerce 9 64
Sitecore Experience Commerce 59
Content Management 55
eCommerce 48
B2B eCommerce 42
Sitecore Experience Platform 39
Sitecore Platinum Partner 39
Architecture 34
Insite 29
User Experience 26
Strategy 22
B2C eCommerce 21
B2B Commerce Blogs 21
commerceconnect 21
CloudCraze 20
SaaS (Software as a Service) 20
Cloud 17
Commerce Server 17
Salesforce B2B Commerce Cloud 16
Mobile 13
Search 13
Plugins 12
Analytics 12
Application Development 12
Digital Transformation 11
Sitecore Symposium 11
SPEAK 10
Helix 10
DMS 8
Social 8
Business Process 7
Authentication 7
5 Reasons 7
BI and Big Data 6
Data Visualization 6
Sitecore Presentation 6
Coveo 6
NET Development 5
Microsoft Azure 5
Automation 5
Front-End Development 4
SaaS (Software as a Service) 4
Digital Strategy 4
Brightcove 4
Press Release 4
Avalara Tax 3
Sitecore Experience Accelerator (SXA) 3
Sitecore Layouts 3
Video 3
SPE 3
Multi-site 3
Multi-lingual 3
Accessibility 3
Habitat 3
Vault 3
Identity 2
Managed Services 2
CDN 2
SMB 2
Cryptocurrency 2
Sitecore Forms 2
Sitecore Experience Commerce 9 Promotions 2
Uncategorized 2
EXM 2
Conversational Commerce 2
Sitecore SaaS 2
Security 2
Unit Testing 2
Headless Architecture 2
Sitecore Experience Awards 2
Google 1
Content Delivery Network 1
Configure Price Quote 1
CPQ 1
Blockchain 1
Coupons 1
Sitecore Rss 1
Artificial Intelligence 1
Machine Learning 1
Okta 1
RFP Process 1
NoSQL 1
Flex Accelerator for Sitecore 1
Reviews 1
SEO 1
Page Labels 1