[{"data":1,"prerenderedAt":1481},["ShallowReactive",2],{"navigation":3,"docs-cloud-3.1-server-production-installation":498,"nav-cloud31":1216,"support-index":1413},[4],{"title":5,"path":6,"stem":7,"children":8,"page":40},"Docs","\u002Fdocs","docs",[9,242,320],{"title":10,"path":11,"stem":12,"children":13,"page":40},"Cloud","\u002Fdocs\u002Fcloud","docs\u002Fcloud",[14],{"title":15,"path":16,"stem":17,"children":18,"page":40},"4.5","\u002Fdocs\u002Fcloud\u002F4.5","docs\u002Fcloud\u002F4.5",[19,41,54,79,100,147,172,196,209,234],{"title":20,"path":21,"stem":22,"children":23,"page":40},"Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview","docs\u002Fcloud\u002F4.5\u002F01.overview",[24,28,32,36],{"title":25,"path":26,"stem":27},"MyScript iink SDK for web-based platform","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fintroduction","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F01.introduction",{"title":29,"path":30,"stem":31},"Choosing between REST or WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F02.http-rest-or-websocket",{"title":33,"path":34,"stem":35},"What's new","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F03.changelog",{"title":37,"path":38,"stem":39},"Migration guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F4.5\u002F01.overview\u002F04.migration-guide",false,{"title":42,"path":43,"stem":44,"children":45,"page":40},"Integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration","docs\u002Fcloud\u002F4.5\u002F02.integration",[46,50],{"title":47,"path":48,"stem":49},"Supported platforms","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F01.platforms",{"title":51,"path":52,"stem":53},"Integration levels","\u002Fdocs\u002Fcloud\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F4.5\u002F02.integration\u002F02.integration-levels",{"title":55,"path":56,"stem":57,"children":58,"page":40},"Recognition capabilities","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities",[59,63,67,71,75],{"title":60,"path":61,"stem":62},"Recognizers","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F01.recognizers",{"title":64,"path":65,"stem":66},"Text languages and features","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F02.text-languages",{"title":68,"path":69,"stem":70},"Math elements and rules","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":73,"stem":74},"Shapes and connectors","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":77,"stem":78},"Gestures","\u002Fdocs\u002Fcloud\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F4.5\u002F03.recognition-capabilities\u002F05.gestures",{"title":80,"path":81,"stem":82,"children":83,"page":40},"Interactivity integration","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration",[84,88,92,96],{"title":85,"path":86,"stem":87},"Content types","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F01.content-types",{"title":89,"path":90,"stem":91},"Interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F02.interactive-features",{"title":93,"path":94,"stem":95},"Import and export formats","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F03.import-and-export-formats",{"title":97,"path":98,"stem":99},"Math interactive features","\u002Fdocs\u002Fcloud\u002F4.5\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F4.5\u002F04.interactivity-integration\u002F04.math-features",{"title":101,"path":102,"stem":103,"children":104,"page":40},"iinkTS","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts",[105,109,113,121,138],{"title":106,"path":107,"stem":108},"Getting started","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F01.get-started",{"title":110,"path":111,"stem":112},"Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fcanvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F02.canvas",{"title":114,"path":115,"stem":116,"children":117,"page":40},"Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas",[118],{"title":114,"path":119,"stem":120},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Fink-canvas\u002Fink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F03.ink-canvas\u002F01.ink-canvas",{"title":122,"path":123,"stem":124,"children":125,"page":40},"Interactive Ink Canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas",[126,130,134],{"title":127,"path":128,"stem":129},"Interactive ink canvas","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Finteractive-ink-canvas","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F01.interactive-ink-canvas",{"title":131,"path":132,"stem":133},"Interactive Math","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-math","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F02.iicanvas-math",{"title":135,"path":136,"stem":137},"Using a custom rendering","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Finteractive-ink-canvas\u002Fiicanvas-other-rendering","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F04.interactive-ink-canvas\u002F03.iicanvas-other-rendering",{"title":139,"path":140,"stem":141,"children":142,"page":40},"Reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference",[143],{"title":144,"path":145,"stem":146},"Configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Fiinkts\u002Freference\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F4.5\u002F05.iinkts\u002F05.reference\u002F01.configuration-iinkts",{"title":148,"path":149,"stem":150,"children":151,"page":40},"REST","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest","docs\u002Fcloud\u002F4.5\u002F06.rest",[152,156,160,164,168],{"title":153,"path":154,"stem":155},"MyScript iink SDK Web REST Overview","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F01.architecture",{"title":157,"path":158,"stem":159},"MyScript iink SDK Web REST Recognizer API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fnew-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F02.new-api",{"title":161,"path":162,"stem":163},"Recognizer configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-recognizer-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F03.configuration-recognizer-rest",{"title":165,"path":166,"stem":167},"MyScript iink SDK Web REST Batch API","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Flegacy-api","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F04.legacy-api",{"title":169,"path":170,"stem":171},"Batch configuration","\u002Fdocs\u002Fcloud\u002F4.5\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F4.5\u002F06.rest\u002F05.configuration-rest",{"title":173,"path":174,"stem":175,"children":176,"page":40},"WebSockets","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets","docs\u002Fcloud\u002F4.5\u002F07.websockets",[177,181,185,189,193],{"title":178,"path":179,"stem":180},"MyScript iink SDK WebSockets API architecture","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Farchitecture","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F01.architecture",{"title":182,"path":183,"stem":184},"Offscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F02.messages-offscreen",{"title":186,"path":187,"stem":188},"Offscreen interactivity math messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmath-offscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F03.math-offscreen",{"title":190,"path":191,"stem":192},"Onscreen interactivity mode messages","\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fmessages-onscreen","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F04.messages-onscreen",{"title":144,"path":194,"stem":195},"\u002Fdocs\u002Fcloud\u002F4.5\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F4.5\u002F07.websockets\u002F05.configuration-ws",{"title":197,"path":198,"stem":199,"children":200,"page":40},"Specific","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific","docs\u002Fcloud\u002F4.5\u002F08.specific",[201,205],{"title":202,"path":203,"stem":204},"Text recognition candidates","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F01.text-recognition-candidates",{"title":206,"path":207,"stem":208},"Recognition resources","\u002Fdocs\u002Fcloud\u002F4.5\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F4.5\u002F08.specific\u002F02.custom-recognition",{"title":210,"path":211,"stem":212,"children":213,"page":40},"Server","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver","docs\u002Fcloud\u002F4.5\u002F09.server",[214,218,222,226,230],{"title":215,"path":216,"stem":217},"MyScript Server Installation Preamble and Prerequisites","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fpreamble-prerequisites","docs\u002Fcloud\u002F4.5\u002F09.server\u002F01.preamble-prerequisites",{"title":219,"path":220,"stem":221},"MyScript Server Monoserver Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F02.monoserver-installation",{"title":223,"path":224,"stem":225},"MyScript Server Production Installation Documentation","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fproduction-installation","docs\u002Fcloud\u002F4.5\u002F09.server\u002F03.production-installation",{"title":227,"path":228,"stem":229},"MyScript Server Migration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F04.server-migration-guide",{"title":231,"path":232,"stem":233},"MyScript Server Administration Guide","\u002Fdocs\u002Fcloud\u002F4.5\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F4.5\u002F09.server\u002F05.administration-guide",{"title":139,"path":235,"stem":236,"children":237,"page":40},"\u002Fdocs\u002Fcloud\u002F4.5\u002Freference","docs\u002Fcloud\u002F4.5\u002F10.reference",[238],{"title":239,"path":240,"stem":241},"JIIX format reference","\u002Fdocs\u002Fcloud\u002F4.5\u002Freference\u002Fjiix","docs\u002Fcloud\u002F4.5\u002F10.reference\u002F01.jiix",{"title":243,"path":244,"stem":245,"children":246,"page":40},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[247,250,254],{"title":20,"path":248,"stem":249},"\u002Fdocs\u002Fconcepts\u002Foverview","docs\u002Fconcepts\u002F01.overview",{"title":251,"path":252,"stem":253},"Glossary","\u002Fdocs\u002Fconcepts\u002Fglossary","docs\u002Fconcepts\u002F02.glossary",{"title":255,"path":256,"stem":257,"children":258,"page":40},"Fundamentals","\u002Fdocs\u002Fconcepts\u002Ffundamentals","docs\u002Fconcepts\u002F03.fundamentals",[259,263,292,312],{"title":260,"path":261,"stem":262},"OCR vs digital ink recognition","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fdigital-ink-vs-ocr","docs\u002Fconcepts\u002F03.fundamentals\u002F01.digital-ink-vs-ocr",{"title":264,"path":265,"stem":266,"children":267,"page":40},"Ink interpretation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation",[268,272,276,280,284,288],{"title":269,"path":270,"stem":271},"Ink processing","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-interpretation","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F01.ink-interpretation",{"title":273,"path":274,"stem":275},"Recognition features","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontent-types","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F02.content-types",{"title":277,"path":278,"stem":279},"Ink classification","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fink-classification","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F03.ink-classification",{"title":281,"path":282,"stem":283},"What are batch mode and incremental mode?","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fbatch-mode","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F04.batch-mode",{"title":285,"path":286,"stem":287},"Gestures and context","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Fcontext-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F05.context-gestures",{"title":289,"path":290,"stem":291},"What is interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fink-interpretation\u002Finteractive-ink","docs\u002Fconcepts\u002F03.fundamentals\u002F02.ink-interpretation\u002F06.interactive-ink",{"title":293,"path":294,"stem":295,"children":296,"page":40},"Rendering-driven interactivity","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity",[297,301,304,308],{"title":298,"path":299,"stem":300},"Ink capture","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fink-capture","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F01.ink-capture",{"title":76,"path":302,"stem":303},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fediting-gestures","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F02.editing-gestures",{"title":305,"path":306,"stem":307},"Smart tools","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fsmart-tools","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F03.smart-tools",{"title":309,"path":310,"stem":311},"Responsive and productive","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Frendering-driven-interactivity\u002Fresponsive-layout","docs\u002Fconcepts\u002F03.fundamentals\u002F03.rendering-driven-interactivity\u002F04.responsive-layout",{"title":313,"path":314,"stem":315,"children":316,"page":40},"Handwriting generation","\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation",[317],{"title":313,"path":318,"stem":319},"\u002Fdocs\u002Fconcepts\u002Ffundamentals\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fconcepts\u002F03.fundamentals\u002F04.handwriting-generation\u002F01.handwriting-generation",{"title":321,"path":322,"stem":323,"children":324,"page":40},"Sdk","\u002Fdocs\u002Fsdk","docs\u002Fsdk",[325],{"title":15,"path":326,"stem":327,"children":328,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5","docs\u002Fsdk\u002F4.5",[329,333,336,339,349,368,381,393,401,417,426,463,467,470,474,477,484],{"title":330,"path":331,"stem":332},"About MyScript iink SDK","\u002Fdocs\u002Fsdk\u002F4.5\u002Fabout","docs\u002Fsdk\u002F4.5\u002F01.about",{"title":33,"path":334,"stem":335},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fchangelog","docs\u002Fsdk\u002F4.5\u002F02.changelog",{"title":37,"path":337,"stem":338},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fmigration-guide","docs\u002Fsdk\u002F4.5\u002F03.migration-guide",{"title":42,"path":340,"stem":341,"children":342,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration","docs\u002Fsdk\u002F4.5\u002F04.integration",[343,346],{"title":47,"path":344,"stem":345},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fplatforms","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F01.platforms",{"title":51,"path":347,"stem":348},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fintegration\u002Fintegration-levels","docs\u002Fsdk\u002F4.5\u002F04.integration\u002F02.integration-levels",{"title":55,"path":350,"stem":351,"children":352,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities",[353,356,359,362,365],{"title":60,"path":354,"stem":355},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F01.recognizers",{"title":64,"path":357,"stem":358},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F02.text-languages",{"title":68,"path":360,"stem":361},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F03.math-elements-and-rules",{"title":72,"path":363,"stem":364},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F04.diagram-features",{"title":76,"path":366,"stem":367},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognition-capabilities\u002Fgestures","docs\u002Fsdk\u002F4.5\u002F05.recognition-capabilities\u002F05.gestures",{"title":80,"path":369,"stem":370,"children":371,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration",[372,375,378],{"title":85,"path":373,"stem":374},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F01.content-types",{"title":89,"path":376,"stem":377},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F02.interactive-features",{"title":93,"path":379,"stem":380},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fsdk\u002F4.5\u002F06.interactivity-integration\u002F03.import-and-export-formats",{"title":106,"path":382,"stem":383,"children":384,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started","docs\u002Fsdk\u002F4.5\u002F07.getting-started",[385,389],{"title":386,"path":387,"stem":388},"Setup","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Fsetup","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F01.setup",{"title":390,"path":391,"stem":392},"Instantiate Engine","\u002Fdocs\u002Fsdk\u002F4.5\u002Fgetting-started\u002Finteractive-ink-runtime","docs\u002Fsdk\u002F4.5\u002F07.getting-started\u002F02.interactive-ink-runtime",{"title":394,"path":395,"stem":396,"children":397,"page":40},"Recognizer","\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer","docs\u002Fsdk\u002F4.5\u002F08.recognizer",[398],{"title":60,"path":399,"stem":400},"\u002Fdocs\u002Fsdk\u002F4.5\u002Frecognizer\u002Frecognizers","docs\u002Fsdk\u002F4.5\u002F08.recognizer\u002F01.recognizers",{"title":402,"path":403,"stem":404,"children":405,"page":40},"Interactivity specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity","docs\u002Fsdk\u002F4.5\u002F09.interactivity",[406,410,413],{"title":407,"path":408,"stem":409},"Storage","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fstorage","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F01.storage",{"title":97,"path":411,"stem":412},"\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fmath-features","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F02.math-features",{"title":414,"path":415,"stem":416},"Integrate with the undo\u002Fredo stack of your application","\u002Fdocs\u002Fsdk\u002F4.5\u002Finteractivity\u002Fcombined-undo-redo-stacks","docs\u002Fsdk\u002F4.5\u002F09.interactivity\u002F03.combined-undo-redo-stacks",{"title":418,"path":419,"stem":420,"children":421,"page":40},"OffScreenEditor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor",[422],{"title":423,"path":424,"stem":425},"OffscreenEditor","\u002Fdocs\u002Fsdk\u002F4.5\u002Foffscreen-editor\u002Foff-screen-usage","docs\u002Fsdk\u002F4.5\u002F10.offscreen-editor\u002F01.off-screen-usage",{"title":427,"path":428,"stem":429,"children":430,"page":40},"Editor specific","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor","docs\u002Fsdk\u002F4.5\u002F11.editor",[431,435,439,443,447,451,455,459],{"title":432,"path":433,"stem":434},"Rendering","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Frendering","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F01.rendering",{"title":436,"path":437,"stem":438},"Editing","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fediting","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F02.editing",{"title":440,"path":441,"stem":442},"Tool controller","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Ftool-controller","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F03.tool-controller",{"title":444,"path":445,"stem":446},"Selection and block","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fblock-selection-management","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F04.block-selection-management",{"title":448,"path":449,"stem":450},"Conversion","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fconversion","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F05.conversion",{"title":452,"path":453,"stem":454},"Zooming and scrolling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fzooming-and-scrolling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F06.zooming-and-scrolling",{"title":456,"path":457,"stem":458},"Styling","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F07.styling",{"title":460,"path":461,"stem":462},"Custom inking","\u002Fdocs\u002Fsdk\u002F4.5\u002Feditor\u002Fcustom-inking","docs\u002Fsdk\u002F4.5\u002F11.editor\u002F08.custom-inking",{"title":464,"path":465,"stem":466},"Result, import and export","\u002Fdocs\u002Fsdk\u002F4.5\u002Fimport-and-export","docs\u002Fsdk\u002F4.5\u002F12.import-and-export",{"title":202,"path":468,"stem":469},"\u002Fdocs\u002Fsdk\u002F4.5\u002Ftext-recognition-candidates","docs\u002Fsdk\u002F4.5\u002F13.text-recognition-candidates",{"title":471,"path":472,"stem":473},"Error management","\u002Fdocs\u002Fsdk\u002F4.5\u002Ferror-management","docs\u002Fsdk\u002F4.5\u002F14.error-management",{"title":206,"path":475,"stem":476},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fcustom-recognition","docs\u002Fsdk\u002F4.5\u002F15.custom-recognition",{"title":313,"path":478,"stem":479,"children":480,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation",[481],{"title":313,"path":482,"stem":483},"\u002Fdocs\u002Fsdk\u002F4.5\u002Fhandwriting-generation\u002Fhandwriting-generation","docs\u002Fsdk\u002F4.5\u002F16.handwriting-generation\u002F01.handwriting-generation",{"title":139,"path":485,"stem":486,"children":487,"page":40},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference","docs\u002Fsdk\u002F4.5\u002F17.reference",[488,491,494],{"title":144,"path":489,"stem":490},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fconfiguration","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F01.configuration",{"title":239,"path":492,"stem":493},"\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fjiix","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F02.jiix",{"title":495,"path":496,"stem":497},"Styling reference","\u002Fdocs\u002Fsdk\u002F4.5\u002Freference\u002Fstyling","docs\u002Fsdk\u002F4.5\u002F17.reference\u002F03.styling",{"path":499,"page":500},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver\u002Fproduction-installation",{"id":501,"title":223,"body":502,"canonicalPath":499,"description":223,"extension":1206,"icon":1207,"meta":1208,"navTitle":1209,"navigation":1210,"path":499,"resolveKey":1211,"resolveVersion":1212,"seo":1213,"stem":1214,"__hash__":1215},"cloud31\u002Fdocs\u002Fcloud\u002F3.1\u002F09.server\u002F03.production-installation.md",{"type":503,"value":504,"toc":1174},"minimark",[505,509,522,527,536,539,542,552,555,565,570,575,578,597,602,606,656,660,709,713,716,719,750,753,787,791,795,801,807,812,818,825,829,832,843,846,856,860,867,872,875,879,882,887,892,896,905,909,912,915,919,922,928,932,938,941,944,949,956,959,964,971,1004,1015,1020,1022,1026,1029,1101,1105,1109,1145,1149],[506,507,508],"p",{},"This documentation explains how to install MyScript's servers in a production environment.",[510,511,513],"callout",{"color":512},"secondary",[506,514,515,516,521],{},"Make sure you read the ",[517,518,520],"a",{"href":519},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver\u002Fpreamble-prerequisites","prerequisites"," before going further in this documentation",[523,524,526],"h2",{"id":525},"simple-schema-of-the-architecture","Simple schema of the architecture",[506,528,529],{},[530,531],"img",{"alt":532,"height":533,"src":534,"width":535},"Example of architecture",425,"\u002Fdocs\u002Fimages\u002Fweb-server-architecture-1.4.svg",901,[506,537,538],{},"The recognition servers provide the REST and WebSocket endpoints that perform the handwriting recognition. These servers are stateless and can be redounded.",[506,540,541],{},"The admin server provides the administration UI and backend for the handwriting recognition ecosystem. It can be redounded with cookie-based session affinity.",[510,543,544],{"color":512},[506,545,546,547,551],{},"If you run the servers in docker containers, the network mode must be set on ",[548,549,550],"code",{},"host",".",[506,553,554],{},"During the installation procedure you can use the tab keys to navigate through the UI.",[510,556,557],{"color":512},[506,558,559,560,564],{},"The installation process will create a user ",[561,562,563],"strong",{},"msws"," with a disabled password on the server. If the user already exists, no user will be created.",[510,566,567],{"color":512},[506,568,569],{},"You can install the packages on the same server or on different servers.",[571,572,574],"h3",{"id":573},"before-installation","Before installation",[506,576,577],{},"Before the overall installation you must collect the following information:",[579,580,581,585,588,591,594],"ul",{},[582,583,584],"li",{},"The uri to access the mongodb database. (that includes credential information)",[582,586,587],{},"The information to reach the SMTP server (host and port).",[582,589,590],{},"The e-mail address that will be used to send mails to the users.",[582,592,593],{},"The email and the supervisor that will be created by the installer in the database.",[582,595,596],{},"The user and password of the SMTP server if you plan to choose authenticated connection.",[510,598,599],{"color":512},[506,600,601],{},"Please notice that superuser privilege is required to perform the installations.",[571,603,605],{"id":604},"admin-backend","Admin backend",[607,608,609,616,623,649],"ol",{},[582,610,611,612,615],{},"Go to the ",[548,613,614],{},"admin-server\u002Fdelivery"," directory",[582,617,618,619,622],{},"run the command ",[548,620,621],{},"sudo dpkg -i myscript-admin-server_\u003Cversion>_amd64.deb"," (superuser privilege is required)",[582,624,625,626],{},"Provide the following information that will be asked to you:\n",[579,627,628,631,634,637,640,643,646],{},[582,629,630],{},"The http port the admin-backend will be listening to",[582,632,633],{},"The mongodb primary uri string",[582,635,636],{},"The mongodb nearest uri string",[582,638,639],{},"The SMTP host URL",[582,641,642],{},"The SMTP port",[582,644,645],{},"The e-mail adress that will be used to send mails to the users",[582,647,648],{},"The mail of the supervisor that will be created",[582,650,651,652,655],{},"If no account related to the supervisor e-mail you gave existed in the database, a supervisor account will be created using that e-mail. The password of the created account will be ",[548,653,654],{},"admin",". We strongly recommend that you change this password on the first connection to the admin UI.",[571,657,659],{"id":658},"recognition-backend","Recognition backend",[607,661,662,669,679,688,693,698],{},[582,663,664,665,668],{},"Create a ",[548,666,667],{},"\u002Fvar\u002Flib\u002Fmyscript-iink-server\u002FlicenseKey"," directory and copy the license key files to that directory.",[582,670,664,671,674,675,678],{},[548,672,673],{},"\u002Fvar\u002Flib\u002Fmyscript-iink-server\u002Ffonts"," directory and copy the content of ",[548,676,677],{},".\u002Ffonts"," to that directory.",[582,680,664,681,684,685,678],{},[548,682,683],{},"\u002Fvar\u002Flib\u002Fmyscript-iink-server\u002Fresources"," directory and copy the content of  ",[548,686,687],{},".\u002Fiink-resources",[582,689,611,690,615],{},[548,691,692],{},"iink-server\u002Fdelivery",[582,694,618,695,622],{},[548,696,697],{},"sudo dpkg -i myscript-iink-server_\u003Cversion>_amd64.deb",[582,699,625,700],{},[579,701,702,705,707],{},[582,703,704],{},"The http port the iink backend will be listening to",[582,706,633],{},[582,708,636],{},[523,710,712],{"id":711},"content-of-the-installation","Content of the installation",[506,714,715],{},"After the installation has completed, the following changes are made on your server.",[571,717,605],{"id":718},"admin-backend-1",[579,720,721,727,733,739],{},[582,722,723,726],{},[548,724,725],{},"\u002Fetc\u002Fmyscript-admin-server"," contains the property file of the backend.",[582,728,729,732],{},[548,730,731],{},"\u002Fusr\u002Fshare\u002Fmyscript-admin-server"," contains the binaries of the backend.",[582,734,735,738],{},[548,736,737],{},"\u002Fetc\u002Fdefault\u002Fmyscript-admin-server"," contains the default values of the java virtual machine of the backend.",[582,740,741,742,745,746,749],{},"A ",[548,743,744],{},"myscript-admin-server"," service is created. It sends logs to standard output: Use ",[548,747,748],{},"journalctl -u myscript-admin-server"," to access them.",[571,751,659],{"id":752},"recognition-backend-1",[579,754,755,760,765,770,779],{},[582,756,757,726],{},[548,758,759],{},"\u002Fetc\u002Fmyscript-iink-server",[582,761,762,732],{},[548,763,764],{},"\u002Fusr\u002Fshare\u002Fmyscript-iink-server",[582,766,767,738],{},[548,768,769],{},"\u002Fetc\u002Fdefault\u002Fmyscript-iink-server",[582,771,772,773,776,777,551],{},"The owner and group of ",[548,774,775],{},"\u002Fvar\u002Flib\u002Fmyscript-iink-server"," are recursively changed to ",[548,778,563],{},[582,780,741,781,745,784,749],{},[548,782,783],{},"myscript-iink-server",[548,785,786],{},"journalctl -u myscript-iink-server",[523,788,790],{"id":789},"maintenance-of-the-admin-server","Maintenance of the admin server",[571,792,794],{"id":793},"startstop-the-server","Start\u002Fstop the server",[506,796,797,798],{},"Start command : ",[548,799,800],{},"systemctl start myscript-admin-server",[506,802,803,804],{},"Stop command : ",[548,805,806],{},"systemctl stop myscript-admin-server",[506,808,809,810],{},"The logs can be accessed with ",[548,811,748],{},[506,813,814,815],{},"Make the admin service start automatically after system boot : ",[548,816,817],{},"systemctl enable myscript-admin-server",[506,819,820,821,824],{},"For more information please consult the ",[548,822,823],{},"systemd"," configuration.",[571,826,828],{"id":827},"load-balancing-rules","Load Balancing rules",[506,830,831],{},"The redirection rules to the admin server are:",[579,833,834,837,840],{},[582,835,836],{},"\u002Fadmin\u002F",[582,838,839],{},"\u002Fapi\u002Fv3.0\u002Fadmin\u002F",[582,841,842],{},"\u002Ffonts\u002F",[506,844,845],{},"A cookie-based session affinity must be set.",[506,847,848,849,852,853,551],{},"A healthcheck can be performed using ",[548,850,851],{},"GET \u003Curl of the admin server>\u002Fhealth",". the HTTP code of the response should be ",[561,854,855],{},"200",[571,857,859],{"id":858},"changing-parameters","Changing parameters",[506,861,862,863,866],{},"All the parameters you entered during installation can be modified in the ",[548,864,865],{},"\u002Fetc\u002Fmyscript-admin-server\u002Fbackend.properties"," file.",[506,868,869,870,866],{},"You can change parameters of the JVM (such as the Xmx) in the ",[548,871,737],{},[506,873,874],{},"Restarting the server(s) is mandatory to take any change into account.",[523,876,878],{"id":877},"maintenance-of-the-recognition-server","Maintenance of the recognition server",[571,880,794],{"id":881},"startstop-the-server-1",[506,883,797,884],{},[548,885,886],{},"systemctl start myscript-iink-server",[506,888,803,889],{},[548,890,891],{},"systemctl stop myscript-iink-server",[506,893,809,894],{},[548,895,786],{},[506,897,898,899,902,903,824],{},"Make the iink service start automatically after system boot : ",[548,900,901],{},"systemctl enable myscript-iink-server","\nFor more information please consult the ",[548,904,823],{},[571,906,908],{"id":907},"fonts","Fonts",[506,910,911],{},"The amount of fonts available with the delivery should meet your needs.",[506,913,914],{},"However if you consider adding fonts to the recognition server, please contact us so we can study the case with you.",[571,916,918],{"id":917},"adding-resources","Adding Resources",[506,920,921],{},"In order to deploy new resources sent by Myscript:",[506,923,924,925,927],{},". Copy the resource and configuration files in the appropriate directories of ",[548,926,683],{},".\n. Restart the iink server(s)",[571,929,931],{"id":930},"adding-license-files","Adding license files",[506,933,934,935,937],{},"Put the new license file in the ",[548,936,667],{}," of the iink server(s).",[571,939,828],{"id":940},"load-balancing-rules-1",[506,942,943],{},"The redirection rules to the iink server are:",[579,945,946],{},[582,947,948],{},"\u002Fapi\u002Fv4.0\u002Fiink\u002F",[506,950,848,951,852,954,551],{},[548,952,953],{},"GET \u003Curl of the server>\u002Fhealth",[561,955,855],{},[571,957,859],{"id":958},"changing-parameters-1",[506,960,862,961,866],{},[548,962,963],{},"\u002Fetc\u002Fmyscript-iink-server\u002Fbackend.properties",[506,965,966,967,970],{},"The recognition servers CPU and memory consumptions widely depend on your traffic model.\nFor instance, it varies according to the size of requests: whether you send small recognition requests with only a couple of strokes, or a full page of notes at once.\nWe have set some default values to limit the number of simultaneous REST requests and Web sockets to prevent servers overload.\nBut according to your use, you might be in a situation where your servers reach those limits while they still have available CPU and RAM.\nIn such a case, it can be relevant to increase some of the following values in the ",[548,968,969],{},"backend.properties"," file, according to your traffic:",[579,972,973,980,997],{},[582,974,975,976,979],{},"The ",[548,977,978],{},"iink.backend.max-websockets"," defines the maximum number of web sockets that can be opened in parallel by the recognition server. By default its value is 100.",[582,981,982,983],{},"If you encounter some HTTP 529 error codes to REST requests, while your server still has available RAM and CPU, you might increase :",[579,984,985,991],{},[582,986,987,990],{},[548,988,989],{},"iink.backend.batch.max-threads"," which is the maximum number of recognition threads (default value = 16)",[582,992,993,996],{},[548,994,995],{},"iink.backend.batch.max-queue-size"," which is the size of the recognitions tasks queue (default value = 50).",[582,998,999,1000,1003],{},"If you are sending REST requests with many strokes for text recognition, it may be relevant to increase the ",[548,1001,1002],{},"iink.backend.max-recognition-thread-count",", which allows the engine to split the strokes to parallelize the text recognition. By default its value is 1, and we recommend that you do not set it to more than the number of available CPU cores and no more than 4.",[510,1005,1006],{"color":512},[506,1007,1008,1009,551],{},"To get finer tuning advice, contact our ",[517,1010,1014],{"href":1011,"rel":1012},"https:\u002F\u002Fpartner.myscript.com\u002F",[1013],"nofollow","support team",[506,1016,1017,1018,866],{},"You can also change parameters of the JVM (such as the Xmx) in the ",[548,1019,769],{},[506,1021,874],{},[571,1023,1025],{"id":1024},"test-your-installation","Test your installation",[506,1027,1028],{},"To test you installation you should perform the following steps:",[607,1030,1031,1034,1041,1055,1061,1067,1073,1098],{},[582,1032,1033],{},"Log in to the administration UI.",[582,1035,1036,1037,1040],{},"Click on the ",[561,1038,1039],{},"Create application"," button.",[582,1042,1043,1044,1047,1048,1051,1052,1040],{},"Fill in the ",[561,1045,1046],{},"name"," and ",[561,1049,1050],{},"description"," field. Click on the ",[561,1053,1054],{},"Create",[582,1056,1036,1057,1060],{},[548,1058,1059],{},"Open"," button of the application you just created.",[582,1062,1036,1063,1066],{},[561,1064,1065],{},"Generate application key"," button",[582,1068,1036,1069,1072],{},[561,1070,1071],{},"Test"," button of the application key you just created.",[582,1074,1075,1076,1079,1080,1079,1083,1047,1086,1089,1090,1093,1094,1097],{},"Choose the ",[561,1077,1078],{},"version",", ",[561,1081,1082],{},"protocol",[561,1084,1085],{},"recognition",[561,1087,1088],{},"language"," to test and then click ",[561,1091,1092],{},"Apply",". (If you based your technical architecture on the above diagram, you should not have to change the ",[561,1095,1096],{},"backend_url"," field)",[582,1099,1100],{},"Write something.",[523,1102,1104],{"id":1103},"uninstallation","Uninstallation",[571,1106,1108],{"id":1107},"uninstall-the-recognition-backend","Uninstall the recognition backend",[607,1110,1111,1114,1120,1125,1130,1135,1140],{},[582,1112,1113],{},"Make sure that the iink recognition server is stopped.",[582,1115,1116,1117],{},"Run the command ",[548,1118,1119],{},"sudo dpkg --purge myscript-iink-server",[582,1121,1116,1122],{},[548,1123,1124],{},"sudo rm -rf \u002Fetc\u002Fmyscript-iink-server",[582,1126,1116,1127],{},[548,1128,1129],{},"sudo rm -rf \u002Fusr\u002Fshare\u002Fmyscript-iink-server",[582,1131,1116,1132],{},[548,1133,1134],{},"sudo rm -rf \u002Fetc\u002Fdefault\u002Fmyscript-iink-server",[582,1136,1116,1137],{},[548,1138,1139],{},"sudo rm -rf \u002Fvar\u002Flib\u002Fmyscript-iink-server",[582,1141,1116,1142],{},[548,1143,1144],{},"sudo rm -rf \u002Fvar\u002F.security",[571,1146,1148],{"id":1147},"uninstall-the-admin-backend","Uninstall the admin backend",[607,1150,1151,1154,1159,1164,1169],{},[582,1152,1153],{},"Make sure that the admin server is stopped.",[582,1155,1116,1156],{},[548,1157,1158],{},"sudo dpkg --purge myscript-admin-server",[582,1160,1116,1161],{},[548,1162,1163],{},"sudo rm -rf \u002Fetc\u002Fmyscript-admin-server",[582,1165,1116,1166],{},[548,1167,1168],{},"sudo rm -rf \u002Fusr\u002Fshare\u002Fmyscript-admin-server",[582,1170,1116,1171],{},[548,1172,1173],{},"sudo rm -rf \u002Fetc\u002Fdefault\u002Fmyscript-admin-server",{"title":1175,"searchDepth":1176,"depth":1176,"links":1177},"",3,[1178,1184,1188,1193,1202],{"id":525,"depth":1179,"text":526,"children":1180},2,[1181,1182,1183],{"id":573,"depth":1176,"text":574},{"id":604,"depth":1176,"text":605},{"id":658,"depth":1176,"text":659},{"id":711,"depth":1179,"text":712,"children":1185},[1186,1187],{"id":718,"depth":1176,"text":605},{"id":752,"depth":1176,"text":659},{"id":789,"depth":1179,"text":790,"children":1189},[1190,1191,1192],{"id":793,"depth":1176,"text":794},{"id":827,"depth":1176,"text":828},{"id":858,"depth":1176,"text":859},{"id":877,"depth":1179,"text":878,"children":1194},[1195,1196,1197,1198,1199,1200,1201],{"id":881,"depth":1176,"text":794},{"id":907,"depth":1176,"text":908},{"id":917,"depth":1176,"text":918},{"id":930,"depth":1176,"text":931},{"id":940,"depth":1176,"text":828},{"id":958,"depth":1176,"text":859},{"id":1024,"depth":1176,"text":1025},{"id":1103,"depth":1179,"text":1104,"children":1203},[1204,1205],{"id":1107,"depth":1176,"text":1108},{"id":1147,"depth":1176,"text":1148},"md",null,{},"Production installation",true,"59zpko","2.3",{"title":223,"description":223},"docs\u002Fcloud\u002F3.1\u002F09.server\u002F03.production-installation","M56viupYUPM0WMK3jkVi5OwLC4mM0a3JB2SLR-xohP0",[1217],{"title":5,"path":6,"stem":7,"children":1218,"page":40},[1219],{"title":10,"path":11,"stem":12,"children":1220,"page":40},[1221],{"title":1222,"navTitle":1207,"icon":1207,"path":1223,"stem":1224,"children":1225,"page":40},"3.1","\u002Fdocs\u002Fcloud\u002F3.1","docs\u002Fcloud\u002F3.1",[1226,1254,1267,1291,1312,1342,1354,1372,1384,1404],{"title":20,"navTitle":1207,"icon":1207,"path":1227,"stem":1228,"children":1229,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview","docs\u002Fcloud\u002F3.1\u002F01.overview",[1230,1235,1241,1246,1250],{"title":25,"path":1231,"stem":1232,"navTitle":1233,"icon":1234},"\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview\u002Fintroduction","docs\u002Fcloud\u002F3.1\u002F01.overview\u002F01.introduction","Introduction","i-tabler-info-circle",{"title":1236,"path":1237,"stem":1238,"navTitle":1239,"icon":1240},"Web concepts","\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview\u002Ftools-and-concepts","docs\u002Fcloud\u002F3.1\u002F01.overview\u002F02.tools-and-concepts","Tools and concepts","i-tabler-package",{"title":29,"path":1242,"stem":1243,"navTitle":1244,"icon":1245},"\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview\u002Fhttp-rest-or-websocket","docs\u002Fcloud\u002F3.1\u002F01.overview\u002F03.http-rest-or-websocket","REST\u002FHTTP vs. WebSockets","i-tabler-question-circle",{"title":33,"path":1247,"stem":1248,"navTitle":33,"icon":1249},"\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview\u002Fchangelog","docs\u002Fcloud\u002F3.1\u002F01.overview\u002F04.changelog","i-tabler-bell-ringing",{"title":37,"path":1251,"stem":1252,"navTitle":37,"icon":1253},"\u002Fdocs\u002Fcloud\u002F3.1\u002Foverview\u002Fmigration-guide","docs\u002Fcloud\u002F3.1\u002F01.overview\u002F05.migration-guide","i-tabler-gps",{"title":42,"navTitle":1207,"icon":1207,"path":1255,"stem":1256,"children":1257,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fintegration","docs\u002Fcloud\u002F3.1\u002F02.integration",[1258,1263],{"title":47,"path":1259,"stem":1260,"navTitle":1261,"icon":1262},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fintegration\u002Fplatforms","docs\u002Fcloud\u002F3.1\u002F02.integration\u002F01.platforms","Platforms","i-tabler-device-laptop",{"title":51,"path":1264,"stem":1265,"navTitle":51,"icon":1266},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fintegration\u002Fintegration-levels","docs\u002Fcloud\u002F3.1\u002F02.integration\u002F02.integration-levels","i-tabler-stack-2",{"title":55,"navTitle":1207,"icon":1207,"path":1268,"stem":1269,"children":1270,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities",[1271,1275,1279,1283,1287],{"title":60,"path":1272,"stem":1273,"navTitle":1207,"icon":1274},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities\u002Frecognizers","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities\u002F01.recognizers","i-tabler-text-scan-2",{"title":64,"path":1276,"stem":1277,"navTitle":64,"icon":1278},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities\u002Ftext-languages","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities\u002F02.text-languages","i-tabler-language",{"title":68,"path":1280,"stem":1281,"navTitle":68,"icon":1282},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities\u002Fmath-elements-and-rules","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities\u002F03.math-elements-and-rules","i-tabler-math",{"title":72,"path":1284,"stem":1285,"navTitle":72,"icon":1286},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities\u002Fdiagram-features","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities\u002F04.diagram-features","i-tabler-circle-square",{"title":76,"path":1288,"stem":1289,"navTitle":1207,"icon":1290},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frecognition-capabilities\u002Fgestures","docs\u002Fcloud\u002F3.1\u002F03.recognition-capabilities\u002F05.gestures","i-tabler-hand-finger",{"title":80,"navTitle":1207,"icon":1207,"path":1292,"stem":1293,"children":1294,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Finteractivity-integration","docs\u002Fcloud\u002F3.1\u002F04.interactivity-integration",[1295,1299,1303,1308],{"title":85,"path":1296,"stem":1297,"navTitle":85,"icon":1298},"\u002Fdocs\u002Fcloud\u002F3.1\u002Finteractivity-integration\u002Fcontent-types","docs\u002Fcloud\u002F3.1\u002F04.interactivity-integration\u002F01.content-types","i-tabler-eye",{"title":89,"path":1300,"stem":1301,"navTitle":89,"icon":1302},"\u002Fdocs\u002Fcloud\u002F3.1\u002Finteractivity-integration\u002Finteractive-features","docs\u002Fcloud\u002F3.1\u002F04.interactivity-integration\u002F02.interactive-features","i-tabler-bolt",{"title":93,"path":1304,"stem":1305,"navTitle":1306,"icon":1307},"\u002Fdocs\u002Fcloud\u002F3.1\u002Finteractivity-integration\u002Fimport-and-export-formats","docs\u002Fcloud\u002F3.1\u002F04.interactivity-integration\u002F03.import-and-export-formats","Import and export","i-tabler-arrows-left-right",{"title":97,"path":1309,"stem":1310,"navTitle":97,"icon":1311},"\u002Fdocs\u002Fcloud\u002F3.1\u002Finteractivity-integration\u002Fmath-features","docs\u002Fcloud\u002F3.1\u002F04.interactivity-integration\u002F04.math-features","i-tabler-calculator",{"title":101,"navTitle":1207,"icon":1207,"path":1313,"stem":1314,"children":1315,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts","docs\u002Fcloud\u002F3.1\u002F05.iinkts",[1316,1319,1322,1325,1328,1331,1335,1339],{"title":106,"path":1317,"stem":1318,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fget-started","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F01.get-started",{"title":436,"path":1320,"stem":1321,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fediting","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F02.editing",{"title":448,"path":1323,"stem":1324,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fconversion","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F03.conversion",{"title":1306,"path":1326,"stem":1327,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fimport-and-export","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F04.import-and-export",{"title":456,"path":1329,"stem":1330,"navTitle":456,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fstyling","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F05.styling",{"title":1332,"path":1333,"stem":1334,"navTitle":1207,"icon":1207},"Full example","\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Ffull-example","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F06.full-example",{"title":1336,"path":1337,"stem":1338,"navTitle":1207,"icon":1207},"OffScreen interactivity","\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Foffscreen-interactivity","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F07.offscreen-interactivity",{"title":144,"path":1340,"stem":1341,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fiinkts\u002Fconfiguration-iinkts","docs\u002Fcloud\u002F3.1\u002F05.iinkts\u002F08.configuration-iinkts",{"title":148,"navTitle":1207,"icon":1207,"path":1343,"stem":1344,"children":1345,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frest","docs\u002Fcloud\u002F3.1\u002F06.rest",[1346,1351],{"title":1347,"path":1348,"stem":1349,"navTitle":1350,"icon":1207},"MyScript iink SDK Web REST Architecture","\u002Fdocs\u002Fcloud\u002F3.1\u002Frest\u002Farchitecture","docs\u002Fcloud\u002F3.1\u002F06.rest\u002F01.architecture","Architecture",{"title":144,"path":1352,"stem":1353,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Frest\u002Fconfiguration-rest","docs\u002Fcloud\u002F3.1\u002F06.rest\u002F02.configuration-rest",{"title":173,"navTitle":1207,"icon":1207,"path":1355,"stem":1356,"children":1357,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fwebsockets","docs\u002Fcloud\u002F3.1\u002F07.websockets",[1358,1361,1365,1369],{"title":178,"path":1359,"stem":1360,"navTitle":1350,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fwebsockets\u002Farchitecture","docs\u002Fcloud\u002F3.1\u002F07.websockets\u002F01.architecture",{"title":190,"path":1362,"stem":1363,"navTitle":1364,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fwebsockets\u002Fmessages-onscreen","docs\u002Fcloud\u002F3.1\u002F07.websockets\u002F02.messages-onscreen","Onscreen Messages",{"title":182,"path":1366,"stem":1367,"navTitle":1368,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fwebsockets\u002Fmessages-offscreen","docs\u002Fcloud\u002F3.1\u002F07.websockets\u002F03.messages-offscreen","Offscreen Messages",{"title":144,"path":1370,"stem":1371,"navTitle":1207,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fwebsockets\u002Fconfiguration-ws","docs\u002Fcloud\u002F3.1\u002F07.websockets\u002F04.configuration-ws",{"title":197,"navTitle":1207,"icon":1207,"path":1373,"stem":1374,"children":1375,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fspecific","docs\u002Fcloud\u002F3.1\u002F08.specific",[1376,1380],{"title":202,"path":1377,"stem":1378,"navTitle":1207,"icon":1379},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fspecific\u002Ftext-recognition-candidates","docs\u002Fcloud\u002F3.1\u002F08.specific\u002F01.text-recognition-candidates","i-tabler-tags",{"title":206,"path":1381,"stem":1382,"navTitle":1207,"icon":1383},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fspecific\u002Fcustom-recognition","docs\u002Fcloud\u002F3.1\u002F08.specific\u002F02.custom-recognition","i-tabler-file-code",{"title":210,"navTitle":1207,"icon":1207,"path":1385,"stem":1386,"children":1387,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver","docs\u002Fcloud\u002F3.1\u002F09.server",[1388,1391,1395,1396,1400],{"title":215,"path":519,"stem":1389,"navTitle":1390,"icon":1207},"docs\u002Fcloud\u002F3.1\u002F09.server\u002F01.preamble-prerequisites","Preamble and prerequisites",{"title":219,"path":1392,"stem":1393,"navTitle":1394,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver\u002Fmonoserver-installation","docs\u002Fcloud\u002F3.1\u002F09.server\u002F02.monoserver-installation","Monoserver installation",{"title":223,"path":499,"stem":1214,"navTitle":1209,"icon":1207},{"title":227,"path":1397,"stem":1398,"navTitle":1399,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver\u002Fserver-migration-guide","docs\u002Fcloud\u002F3.1\u002F09.server\u002F04.server-migration-guide","Server migration guide",{"title":231,"path":1401,"stem":1402,"navTitle":1403,"icon":1207},"\u002Fdocs\u002Fcloud\u002F3.1\u002Fserver\u002Fadministration-guide","docs\u002Fcloud\u002F3.1\u002F09.server\u002F05.administration-guide","Administration guide",{"title":139,"navTitle":1207,"icon":1207,"path":1405,"stem":1406,"children":1407,"page":40},"\u002Fdocs\u002Fcloud\u002F3.1\u002Freference","docs\u002Fcloud\u002F3.1\u002F10.reference",[1408],{"title":239,"path":1409,"stem":1410,"navTitle":1411,"icon":1412},"\u002Fdocs\u002Fcloud\u002F3.1\u002Freference\u002Fjiix","docs\u002Fcloud\u002F3.1\u002F10.reference\u002F01.jiix","JIIX","i-tabler-braces",{"id":1414,"title":1415,"body":1416,"canonicalPath":1207,"description":1475,"extension":1206,"icon":1253,"meta":1476,"navTitle":20,"navigation":1210,"path":1477,"resolveKey":1207,"resolveVersion":1207,"seo":1478,"stem":1479,"__hash__":1480},"support\u002Fsupport\u002F01.index.md","Support",{"type":503,"value":1417,"toc":1473},[1418,1421],[506,1419,1420],{},"Find answers to common questions about integrating the iink SDK and MyScript Cloud APIs. Browse the topics below or reach out on the community forum.",[1422,1423,1424,1432,1440,1448,1456,1465],"card-group",{},[1425,1426,1429],"card",{"icon":1240,"title":1427,"to":1428},"Recognition assets","\u002Fsupport\u002Frecognition-assets\u002F",[506,1430,1431],{},"Download base assets and build custom resources to fine-tune the recognition.",[1425,1433,1437],{"icon":1434,"title":1435,"to":1436},"i-tabler-key","On-device license management","\u002Fsupport\u002Fon-device\u002Fon-device-license-management\u002F",[506,1438,1439],{},"Manage licenses for applications embedding the on-device iink SDK.",[1425,1441,1445],{"icon":1442,"title":1443,"to":1444},"i-tabler-user-circle","Registering with MyScript Cloud","\u002Fsupport\u002Fcloud\u002Fregistering-myscript-cloud\u002F",[506,1446,1447],{},"Create a Cloud account and obtain the keys to call our recognition APIs.",[1425,1449,1453],{"icon":1450,"title":1451,"to":1452},"i-tabler-rocket","Being production ready","\u002Fsupport\u002Fcloud\u002Fbeing-production-ready\u002F",[506,1454,1455],{},"Best practices and quotas to ship your iink Cloud integration to production.",[1425,1457,1462],{"icon":1458,"title":1459,"to":1460,"target":1461},"i-tabler-message-circle","Forums","https:\u002F\u002Fdeveloper-support.myscript.com\u002Fsupport\u002Flogin","_blank",[506,1463,1464],{},"Ask questions and get answers from the MyScript developer community.",[1425,1466,1470],{"icon":1467,"title":1468,"to":1469,"target":1461},"i-tabler-mail","Contact us","https:\u002F\u002Fwww.myscript.com\u002Fcontact\u002F",[506,1471,1472],{},"Can't find what you're looking for? Reach out to our team.",{"title":1175,"searchDepth":1176,"depth":1176,"links":1474},[],"MyScript Developer Support hub",{},"\u002Fsupport",{"title":1415,"description":1475},"support\u002F01.index","jENFmcn55y_8r3_6pH5xxlH1dZJBwoAuq9F7gXQtow8",1792566617934]