SyteLine FormScripts, validators, personalization and bookmarks
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
- 1Need quick access to a form? Bookmark it from the web client so it appears in the user's own list.
- 2Need a different layout, labels or hidden fields for a user or group? Use personalization on the form, with no code.
- 3Need to reject or warn on bad input? Define a validator on the field.
- 4Need logic across fields, defaults, or a call to the server? Write a FormScript in the form editor.
- 5Build and test in a test or non-production tenant, never directly in production.
- 6Document each script (purpose, owner, events used) in a shared register.
- 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 = MaxQtyValidators
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
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 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.
AdvancedHow 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.
AdvancedHow 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.
AdvancedHow 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 fixFixing 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 fixDiagnosing 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 ERPAI 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 ERPOn-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
- SyteLine Form Personalization ChecklistA practical checklist for scoping, building, testing, documenting and upgrading SyteLine form personalizations without creating upgrade debt.
- SyteLine Change Request Form TemplateA change control form for SyteLine configuration, customization, patch and integration changes with impact analysis and rollback plan.
ERP fixes and how-tos
- How to Promote Form Customizations from a Test Tenant to Production in CloudSuite IndustrialHow to move Mongoose form customizations, UDFs and event config from a test tenant to production in CloudSuite Industrial multi-tenant without losing changes.
- What Customizations Are Allowed in CloudSuite Industrial Multi-Tenant?What you can and cannot customize in CloudSuite Industrial multi-tenant: forms, UDFs, events, reports, ION and REST, and what to do when code is restricted.
- Fixing SyteLine's 'Object reference not set to an instance of an object' errorSyteLine throws 'object reference not set to an instance of an object' when a form or IDO method hits a null value. Here is how to trace it to the field, IDO method or customization that is missing data, with real fixes.
Guides
- SyteLine Form Personalization Complete GuideComplete guide to SyteLine form personalization. Field visibility, layout changes, conditional logic, and user-level personalizations without code changes.
- SyteLine Form Personalization: The Right Way to Change FormsLearn SyteLine form personalization the right way: WinStudio edit modes, personalization vs customization layers, upgrade-safe changes, and governance.
- How to Set Up Form Personalization in SyteLineLearn how to set up form personalization in Infor SyteLine to customize form layouts, field visibility, default values, and user-specific configurations without development effort.