How-toInfor SyteLine (CloudSuite Industrial)Mongoose / Form Customization

SyteLine FormScripts, validators, personalization and bookmarks

Question
syteline formscript

Also searched as

  • syteline validators
  • syteline 10 personalization
  • how to bookmark a form in syteline

Short answer

FormScripts add custom behavior to a Mongoose form (react to events, set values, call IDO methods), validators check field input, and personalization and bookmarks change how a user sees and reaches forms without code. Choose the lightest tool that works: bookmark or personalize first, validator second, FormScript last.

Applies to: SyteLine 9.x and CloudSuite Industrial 10.x with Mongoose forms

Pick and apply the right customization

  1. 1Need quick access to a form? Bookmark it from the web client so it appears in the user's own list.
  2. 2Need a different layout, labels or hidden fields for a user or group? Use personalization on the form, with no code.
  3. 3Need to reject or warn on bad input? Define a validator on the field.
  4. 4Need logic across fields, defaults, or a call to the server? Write a FormScript in the form editor.
  5. 5Build and test in a test or non-production tenant, never directly in production.
  6. 6Document each script (purpose, owner, events used) in a shared register.
  7. 7Promote through your normal process and retest after every upgrade.

FormScripts: what they are and when to use them

A FormScript is code attached to a form and run when form or component events fire, for example when the form loads, a value changes, or a button is pressed. Scripts can read and set field values and call IDO methods to fetch or save data. They are edited in the Mongoose form editor.

Use them for client-side behavior that cannot be configured: filling a field from another, showing a message before a risky action, or enabling a control based on a condition. Keep them small. If the logic needs to run regardless of which form calls it, move it to an IDO extension class or a stored procedure.

// Illustrative pseudocode only; use the object model your release documents
onValueChanged(Qty):
  if Qty > MaxQty then
    ShowMessage("Quantity exceeds the maximum")
    Qty = MaxQty

Validators

Validators define checks on a field, such as a required lookup against another table, a pattern, or a range. They are generally better than a script for simple rules because they are declarative, reusable across forms and easier to audit.

Remember that a client-side validator protects only that form. If integrations or imports also write the field, enforce the rule in the IDO or database as well.

Personalization and bookmarks

Personalization lets a user or admin change a form's appearance and behavior for themselves or a role: moving or hiding fields, changing labels, adding default filters. In 10.x it is the first thing to try before writing scripts, since it survives upgrades more easily.

Bookmarks are per-user shortcuts in the web client. They hold forms and, in many releases, a saved filter. They are not security: users can only open forms they are authorized for.

Try it here, free

SyteLine Form Personalization Checklist

Open full tool

A practical checklist for scoping, building, testing, documenting and upgrading SyteLine form personalizations without creating upgrade debt.

Common pitfalls

  • !Writing a FormScript for something personalization can do.
  • !Putting business rules only in the client, so imports and integrations bypass them.
  • !Editing forms in production without version control.
  • !Leaving scripts undocumented, which makes upgrades risky.
  • !Assuming a bookmark grants access to a form.

How an ERP-grounded AI assistant handles this

SyteRay can read your existing form metadata and scripts, explain what each one does, flag scripts affected by an upgrade, and draft a candidate script or validator for review. On-prem, your customizations stay local. Generated code is a draft that a developer tests in a non-production tenant.

Frequently asked questions

What is a FormScript in SyteLine?

It is custom code attached to a Mongoose form that runs on form events. It can read and set values and call IDO methods. It is the right tool for form-specific behavior that configuration cannot achieve.

What is the difference between a validator and a FormScript?

A validator checks one field against a rule declaratively. A FormScript is general code that can implement logic across fields or call the server. Use a validator when it can express the rule.

How do I bookmark a form in SyteLine?

In the web client, use the bookmark or favorites control while the form is open, which adds it to your personal list. Exact wording depends on your release, and it only affects your own account.

Does personalization survive upgrades?

Usually better than custom scripts, but you should still test after an upgrade. Form changes by Infor can affect personalized layouts, so keep a record of what you changed.

Related

How-to

How to Promote Form Customizations from a Test Tenant to Production in CloudSuite Industrial

In multi-tenant CloudSuite Industrial, form customizations, UDFs and event configuration live in each tenant's configuration, so moving them from test to production is an export and import of that metadata, not a file copy. Build a change list, export the changed objects from the test configuration, import them into production in dependency order, and verify with a scripted smoke test. Record every change, because a tenant refresh can overwrite test work.

Advanced

How to Add a Custom Method to a SyteLine IDO in C#

Custom IDO methods let you expose new server-side business logic - beyond the standard Load, Update, and Delete - as a named, callable operation from the SyteLine client, a script, or an external integration. You declare the method and its parameters on the IDO Collection, then implement it in an extension class that handles invoke calls for that method name.

Advanced

How to Add Custom Business Logic to a SyteLine IDO with an Extension Class

SyteLine lets you add validation, defaulting, and side-effect logic to any IDO without touching Infor's generated code, by writing an IDO extension class in C# and hooking into the object's Before/After events. The extension assembly is compiled, deployed next to the IDO Runtime, and picked up once the runtime cache is refreshed.

Advanced

How the SyteLine Event System Works for Workflow Notifications

SyteLine's Event Manager lets administrators subscribe to IDO-level events, such as a purchase order being released or a customer credit hold being set, and fire an email, a Mongoose script, or a workflow action without writing an IDO extension. Cloud tenants can extend the same triggers into ION Workflow for multi-step, cross-application approval processes.

Error fix

Fixing SyteLine's 'Object reference not set to an instance of an object' error

This is a generic .NET NullReferenceException surfacing through the SyteLine IDO Runtime, not a SyteLine-specific error code. It almost always means a form, script or IDO method referenced a field, row or object that came back null, usually after a customization, a missing related record, or a view/IDO method call before the form finished loading. Turn on detailed client logging and check the most recent customization or form event first.

Error fix

Diagnosing and fixing SyteLine session timeout errors

SyteLine session timeouts come from one of three independent layers: the IDO Data Service session timeout on the app server, the IIS/application pool idle timeout for the web (Mongoose Web) client, or a load balancer/proxy idle timeout in front of a CloudSuite hosted environment. Fixing the wrong layer is the most common mistake - you need to identify which layer is actually expiring the session before changing anything.

AI for ERP

AI for Infor SyteLine and CloudSuite Industrial

Add grounded AI to Infor SyteLine or CloudSuite Industrial: natural-language answers, agents over IDOs and ION, on-prem or CloudSuite deployment.

AI for ERP

On-Prem AI for CloudSuite Industrial, Without the Multi-Tenant Cloud Move

Add generative AI to CloudSuite Industrial without moving to Infor's multi-tenant cloud. On-prem private LLM options for CSI, with governance and audit built in.

Stuck on Infor SyteLine (CloudSuite Industrial)?

Talk to engineers who work inside Infor SyteLine (CloudSuite Industrial) every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

Guides

AI on your ERP

Software