# Infor M3 Smart Office to H5 Script Migration Checklist

> Source: https://netray.co/tools/infor-m3-smart-office-to-h5-script-migration-checklist
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Checklist for moving Infor Smart Office scripts, mashups, shortcuts and personalizations to the M3 H5 client: inventory, classify, rewrite, test and decommission.

## Category

infor-cloudsuite

## Erp

Infor M3

## Audience

- M3 developer
- M3 technical consultant
- M3 key user

## Tool

**Kind:** checklist

**Groups:**

#### Inventory

**Items:**

**Text:** List every Smart Office script with the program and panel it is attached to

**Critical:** true

Record owner, purpose and which users or roles run each script

Measure or estimate usage per script; unused scripts are retirement candidates

List Smart Office mashups (XAML), shortcuts and personalizations separately from scripts

Note scripts that call MI programs, external web services or local files

**Text:** Collect the source of every script; scripts with no source cannot be migrated safely

**Critical:** true

#### Classify

**Items:**

**Text:** For each item choose: rewrite as an H5 script, replace with an H5 personalization or shortcut, replace with MEC or MI integration, or retire

**Critical:** true

Check whether a standard M3 setting, an H5 personalization or a standard H5 shortcut already covers the need

Flag scripts that depend on WPF features or local machine access, which have no browser equivalent

Agree the classification with the business owner of each script

#### Rewrite

**Items:**

**Text:** Use the H5 script structure: a class with a static Init(args) entry point that receives the controller, log and argument string

**Critical:** true

Write new scripts in TypeScript with the H5 script SDK typings and compile to JavaScript

Replace Smart Office WPF element access (controller.RenderEngine.Content, ScriptUtil.FindChild) with H5 controller and ScriptUtil calls

Replace Smart Office MI calls with MIRequest and MIService.Current.executeRequest, handling the promise result and errors

Do not rely on controller.FieldMap; it is not available in the new H5 UI

Use the script log (args.log) for diagnostics; it writes to the browser console, not to a server log

Unsubscribe event handlers such as Requesting and Requested when the panel closes

#### Test

**Items:**

**Text:** Test every panel and panel sequence the script is attached to

**Critical:** true

Test in each user language and with different date and number formats

Test keyboard use and F-key navigation, which users carried over from Smart Office

Test performance on slow connections and with failed MI calls

Test with normal user roles, not an administrator

#### Deploy

**Items:**

**Text:** Upload scripts through the H5 administration tools and attach them to the programs and panels

**Critical:** true

Version and store script source in source control with the change number

Tell users what changed and where shortcuts moved

**Text:** Run Smart Office and H5 in parallel for a short, fixed period, then decommission Smart Office for those users

**Critical:** true

Remove retired Smart Office scripts and update the customization register

**Scoring Note:** Critical items prevent the two typical failures: scripts migrated without source or owner, and Smart Office left running indefinitely beside H5. Do not decommission Smart Office until every critical item is checked.

## Content

**Intro:** This checklist plans the move of Infor Smart Office scripts, mashups, shortcuts and personalizations to the M3 H5 client. It is for migration; for reviewing the code of a single H5 script before deployment, use the H5 script review checklist.

**Sections:**

#### How to use it

**Body:** Start with Inventory and do not skip it: most migrations fail because nobody knows which scripts exist or who depends on them. Classify each item before writing any code. A good share of Smart Office scripts can be retired or replaced by a personalization, a shortcut or a standard setting, and that is cheaper than a rewrite. Use Rewrite and Test per script, and Deploy per user group. Export the list with your inventory as the migration plan, then rerun the Deploy group before decommissioning Smart Office for each group.

#### What changes between Smart Office and H5

**Body:** Smart Office is a .NET desktop client and its scripts are JScript.NET with access to WPF elements, typically through controller.RenderEngine.Content and ScriptUtil.FindChild. H5 runs in the browser, and scripts are JavaScript, usually written in TypeScript against the H5 script SDK. An H5 script is a class with a static Init method that receives script arguments: the instance controller, a log object and the argument string. MI calls use MIRequest objects executed through MIService.Current.executeRequest, which returns a promise. Smart Office mashups are XAML and have no direct H5 equivalent, so each needs a separate decision.

**Bullets:**

- Smart Office: JScript.NET, WPF, desktop
- H5: TypeScript or JavaScript, browser DOM
- MI calls: MIRequest plus MIService.Current.executeRequest
- Mashups: decide case by case

#### Worked example

**Body:** A Smart Office script on OIS100 panel A fills a default order type from the customer and warns if a credit limit is near. In H5 the developer writes a TypeScript class with a static Init, reads the customer field through the H5 controller, calls a customer MI transaction with MIRequest and MIService.Current.executeRequest, and shows a message on the panel. Logging goes through args.log and only appears in the browser console, so the support team is shown how to read it. The script is uploaded in the H5 administration tools, attached to OIS100, tested in English and Swedish and released to the order desk.

#### Gotchas

**Body:** Do not port field access line by line: controller.FieldMap from older H5 examples is not available in the new H5 UI, and Smart Office element lookups do not exist in the browser. Keyboard behaviour differs, and users notice missing F-key shortcuts before anything else. Autocomplete and field prompts in H5 behave differently from Smart Office, so test data entry speed with real users. Scripts that wrote local files or launched desktop programs need another design, usually a server-side integration.

**Cta:** If you want order desk users to ask M3 questions in plain English instead of adding more panel scripts, we can set that up on your own servers.

**Faq:**

#### What is Infor Smart Office?

**Answer:** Infor Smart Office (formerly Lawson Smart Office) is the .NET desktop client for M3, supporting JScript.NET scripts, XAML mashups, shortcuts and personalizations. Many M3 sites have moved users to the browser-based H5 client, which needs those scripts rewritten in JavaScript or TypeScript.

#### Can Smart Office scripts run in H5?

**Answer:** No. Smart Office scripts are JScript.NET running against WPF elements in a desktop client. H5 runs in the browser and uses its own script API. Each script must be rewritten, replaced by a personalization or standard setting, moved to an integration, or retired.

#### How does autocomplete work in M3 H5?

**Answer:** H5 provides its own field prompting and suggestion behaviour, which is different from Smart Office. Scripts that filled fields or offered suggestions in Smart Office should be retested against H5 behaviour first; often the standard H5 behaviour is enough and the script can be retired.

#### Do Smart Office shortcuts need a script in H5?

**Answer:** Usually not. Many Smart Office shortcut scripts only opened another M3 program with a few values filled in, and H5 has its own shortcuts and personalizations for that. Rebuild those as H5 shortcuts first and keep scripting for cases that need logic, such as validation or MI calls. Check the H5 user guide for your release for the shortcut options.

## Search terms

infor smart office m3, m3 infor smart office, m3 h5 autocomplete, m3 h5 script, infor m3 h5 scripting, m3 h5 shortcut, what is infor smart office, infor m3 h5 development guide

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
