Sage 300 2017.1 Web SDK

Introduction

The Sage 300 Web SDK (SDK) is a collection of wizards, utilities, samples and documentation for developing Web Screens for the Sage 300 Application.

This week we released the Sage 300 2017.1 Web SDK to coincide with the release of the Sage 300 2017.1 Application.

It’s Available!

The SDK is available at https://github.com/SageNADev/Sage300-SDK.

This SDK has been previously made available via Sage’s DPP portal. However, starting with this release, we are only making the download of the SDK available via GitHub. It did not make sense to have almost identical downloads available from two different sources.

Branches

As described in a previous blog and in the README file in the root of the repository, the branches contain the different versions of the SDK.

master

Contains the current version of the SDK (2017.1).

develop

Contains the in-progress version of the SDK (2017.2).

release-2017

Contains the previous version of the SDK (2017).

What’s New

bin Folder

Now that we have a single download of the SDK, the previous version of the SDK, via GitHub, did not include the bin folder, which was included in the DPP download. The bin folder contains the assemblies generated by the wizards and utilities source.

This subtle addition allows the wizards and utilities to be used without first compiling the source for the wizards and utilities.

Documentation

Updated documentation is available.

The docs\presentations folder has been added and includes a PowerPoint presentation for what’s new in the SDK for 2017.1.

In the docs/development folder you will find two new documents. The first document is Sage 300’s updated brochure which highlights the benefits of the Sage 300 Software Architecture. The second document explains in detail the Worker Processing and Workflow Engine.

In the docs\customization folder are documents for the Customization Overview along with file specification for the XML and JSON files in the customization package.

In the docs\webapi folder are documents for the WebApi Endpoints and instructions for the WebApi Postman samples.

In the docs\upgrades folder is a document for the upgrade procedures for moving partner source from Sage 300 2017 to Sage 300 2017.1.

Customization

The SDK now provides a wizard, samples and documentation for the ability to customize a Web Screen. The bin\wizards folder contains the Sage300UICustomizationSolution.vsix plugin for Visual Studio, the docs\customization folder contains the documentation for the customization strategy, and the samples\customization folder contains three different samples illustrating how to customize a Web Screen.

Samples

The previous samples have been updated with new references and minor corrections.

The Clear Statistics sample has been added and is an example of the Process Type for Web Screens. This sample provides a working example of the A/R Clear Statistics screen along with the SQL required to participate in the Sage 300 Workflow Engine.

Three customization examples have been added and they use the OE Order Entry Screen, the OE Copy Orders Screen and the CS Tax Authorities Screen to illustrate the new customization abilities.

A new WebApi sample was added to illustrate integration and includes documentation and Postman collections.

Component Updates

Several core components were updated this release: Kendo UI (2016), Azure SDK (2.8) and the Target Framework (4.6.2).

Workflow Engine Enhancements

In order to facilitate participation with partner’s process screens, the Workflow Engine required an enhancement to ensure that partner process screens would not interfere with Sage processes or other partner processes. Therefore, integer fields were changed to GUID fields, enumerations changed, Landlord Database Tables modified and even the discovery location of SQL scripts were enhanced to facilitate successful integration with partner process screens.

Solution Wizard

Numerous changes to the wizard to support the updated components and references.

Code Generation Wizard

Numerous changes to the wizard to support the updated components and references.

The Process Type has been completed to generate a Process Screen will all of the required components in order for it to be compiled. A SQL file is generated that can be used to update the Landlord Database Workflow tables (via Portal button in the Database Setup Screen).

While the process screen is able to be compiled, it still requires manually completion to be functional.

WebApi

Several significant changes to the WebApi have been made, such as, an OData upgrade, support for the PATCH verb, Versioning, added endpoints, and Open API (Swagger).

 

Summary

The Sage 300 2017.1 SDK is released and ready to be downloaded!

Component Updates, new Customization Framework, new Samples, Processing enhancements and WebApi features and enhancements are all in the SDK.

We continue to look forward to addressing the needs and expectations of the Sage partner community and ecosystem.

As a standard disclaimer, any topic in this article is subject to review and doesn’t represent a commitment as to when it will be available.

Advertisements

11 thoughts on “Sage 300 2017.1 Web SDK

  1. Hi. I am a c# developer at a company where we are newly on-boarding Sage 300. One of the reasons we chose Sage 300 was the availability of the WebApi and the fact I found the SDK on github.

    I was further excited to see this update adopting swagger. Using 2017.1 I have successfully exported the swagger document. I have been unable however to create a library (c#) using AutoRest or nswag. I noticed in your repository you are using Swashbuckle.OData and wonder this could be related to another issue someone else was having with autorest (https://github.com/Azure/autorest/issues/1197).

    Are you using swagger to generate any client libraries? Any thoughts on including such an example in the samples?

    Like

  2. Hi JThomas,

    Greetings

    One of my clients is looking for a customization of Sage standard Order Entry Web UI. Is there an opportunity to customize the standard Order Entry Web UI using the SDK (Web) ?

    If yes, from what version Sage 300 it is feasible to customize the web UI..

    could you provide me with direction to sample code or documentation if any.

    Thanking you and looking forward to your reply

    Thanks,

    Like

    1. Yes. The Web SDK provides 3 samples for customization. One of those is for the Order Entry screen. So, yes it is possible and there is also a document in the docs\customization folder. release 2018 will expand on this sample in a tutorial.

      Like

  3. Thank you JThomas, I would look into the documentation and let you know if there are any queries on customizing Order Entry Web UI.

    Thanks,

    Like

  4. Hi JThomas,

    Greetings

    I am getting the below message when i try to login to Web screens Sage 300 2017. Could you please guide me where i need to setup the credentials or i need to do something in portal database?

    “Credentials for the Portal database must be set up before you can use this product. Ask your system administrator for help.”

    Thanks,

    Like

  5. In Sage 300’s desktop program “Database Setup”, there is a “Portal” button. When web screens are installed, this “Portal” button establishes a connection to the portal or landlord database used by the Sage 300 Web Screens. This database must be setup in advance in SQL Server. SQL Server must be configured to use tcp (if not previously done). In this “Portal” screen, you will enter credentials for this portal/landlord database. The screen will populate the database with tenant and workflow information necessary for the web screens and it will create the dbconfig.xml file located in the SITE folder. Without this file providing access to the portal/landlord database, this error message is surfaced in the web screens.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s