Migration guide from the CDK 3.2 API
This guide will help you migrating from MyScript CDK 3.2 REST API.
Introduction
Migrating from CDK 3.2 REST API will allow you to benefit from the advantages of MyScript iink SDK and a common approach to all MyScript’s recognition services.
Overview
The main changes from MyScript CDK 3.2 REST API are:
- Only one common REST endpoint and format for all recognition types
- Credentials are now in the header of the request
- A new Jiix format for output
- An HTTP Standard compliant way of defining the output type
- Swagger 2.0 format API
New Jiix format
iink SDK introduces a new common format for recognition output.
Please refer to the user guide to find more about Jiix format.
Output formats
formerly mathInput.resultTypes
The iink SDK REST API now supports several output formats. The requested output format must be set in the HTTP header of the request.
Please refer to the user guide to find more about output format handling.
Language choice
formerly analyzerInput.parameter.textParameter.language
or textInput.textParameter.language
The selection of the recognition language is now part of the common configuration configuration.lang
.
Credentials
The application
and applicationKey
credentials must now be set in the header of the HTTP request.
Please refer to the user guide to find more about credentials.
API endpoint
Only one endpoint handles all the recognitions types. The API is common for all the recognition types.
Swagger 2.0
The documentation of iink SDK REST API is available in Swagger 2.0 format.
Text recognition
Text input mode
formerly textInput.textInputMode
No text input mode configuration is required. iink SDK 2.0 recognizes exclusively cursive inputs.
Result detail becomes jiix text configuration
formerly textInput.resultDetail
The result detail can be obtained when asking for jiix output.
It can be configured setting configuration.export.jiix.text.chars
and configuration.export.jiix.text.words
to true
or false
.
The text detail is always provided.
Text properties
formerly textInput.textProperties
The setting of the following text properties is not yet supported:
- textCandidateListSize
- wordCandidateListSize
- characterCandidateListSize
- wordPredictionListSize
- wordCompletionListSize
- discardCaseVariations
- discardAccentuationVariations
- glyphDistortion
- enableOutOfLexicon
- enableTagger
- spellingDistortion
Subset knowledges and user LK words support
formerly textInput.subsetKnowledges
and textInput.userLkWords
Subset knowledges and user LK words support are not yet supported.
User resources support
formerly textInput.userResources
The list of user resources can be set using the configuration.text.configuration.customResources
array.
Please refer to the user guide to find more about text recognition.
Math recognition
Support for columnar operation
formerly mathInput.columnarOperation
This attribute is deprecated in iink SDK 2.0.
User resources
formerly mathInput.userResources
This attribute is deprecated in iink SDK 2.0.
You can set a custom grammar for Math recognition using the attribute configuration.math.customGrammarId
.
You can also provide the text of the grammar using the attribute configuration.math.customGrammarContent
Scratchout detection sensitivity
formerly mathInput.scratchOutDetectionSensitivity
This attribute is deprecated in iink SDK 2.0.
Margin
new in iink SDK
The attributes configuration.math.margin.left
, configuration.math.margin.right
, configuration.math.margin.top
and configuration.math.margin.bottom
can be used to describe a margin in from the sides of the math expression bouding box to the size of the writing area.
It is only used for conversion operations.
Math solver
new in iink SDK
The math solver solves the input Math equation.
Please refer to the user guide to find more about math recognition.
Shape and Analyzer
Shape and Analyzer recognition are deprecated in iink SDK and are replaced by Diagram recognition.
Diagram
iink SDK introduces Diagram recognition. In version 2.0, Diagram recognition of the iink SDK handles shape and text recognition.
Please refer to the user guide to find more about diagram recognition.
Ink Inputs
formerly textInput.inputUnits
analyzerInput.components
shapeInput.components
mathInput.components
Text input types
formerly textInput.inputUnits.textInputTypes
There is no need to configure the text input type. The Ink SDK recognizes multi-lines text.
Bounding box
formerly textInput.inputUnits.boundingBox
There is no support for input bounding box per input element. The writing area is configured using the global parameters:
- width
- height
- xDPI
- yDPI
The x and y values of your strokes have to be calculated from the upper left part of the writing area.
Input types other than strokes
formerly textInput.inputUnits.components.type
analyzerInput.components.type
shapeInput.components.type
mathInput.components.type
The input types “char”, “string” and “inputCharacter” are not supported.
There is no indication of the input type in iink SDK 2.0.
Strokes
formerly textInput.inputUnits.components
analyzerInput.components
shapeInput.components
mathInput.components
Stroke sending is done the same way for every type of recognition.
Please refer to the user guide to find more about ink sending.