SyteLine Mongoose IDO Development Guide
Infor Data Objects (IDOs) are the data access layer of SyteLine CloudSuite Industrial. Built on the Mongoose framework, IDOs abstract database operations into a service-oriented architecture that forms, APIs, and integrations consume uniformly. Every SyteLine developer must understand IDO architecture—how standard IDOs work, when to create custom IDOs, how to write IDO methods, and how the IDO runtime manages connections, transactions, and caching. This knowledge is the foundation of all SyteLine technical work.
IDO Architecture and the Mongoose Runtime
The Mongoose runtime hosts IDOs as managed objects that handle CRUD operations, execute business logic through methods, and manage data access through property collections. Each IDO maps to one or more database views or tables and exposes properties (columns) and methods (business operations). The runtime manages connection pooling, transaction scope, and caching. Understanding how the runtime resolves IDO requests—from the initial call through property resolution, method execution, and response packaging—is essential for writing performant custom IDOs.
- IDOs use property collections mapped to SQL views, not direct table access, for data retrieval
- Custom IDO methods execute within the Mongoose runtime's transaction scope automatically
- The IDO runtime caches metadata aggressively—restart the application server after IDO changes
- Use IDO Request tracing in the Mongoose admin console to debug data flow issues
Building Custom IDO Methods and Extensions
Custom IDO methods extend SyteLine's business logic layer. Methods can be written as .NET code compiled into assemblies or as stored procedures registered through the IDO metadata. .NET methods offer flexibility and access to the full IDO context, while stored procedures offer raw performance for data-intensive operations. Choose based on complexity: simple data operations suit stored procedures; complex logic requiring IDO context, external service calls, or multi-step workflows suit .NET methods.
- Write stored procedure-based methods for high-volume data operations requiring raw SQL performance
- Use .NET IDO methods when you need access to the IDO context, session info, or external APIs
- Follow the standard method signature pattern: accept parameters via the method context object
- Register custom IDO assemblies in the IDO Extensions form and deploy to all application servers
IDO Performance and Troubleshooting
IDO performance issues manifest as slow form loads, API timeouts, and background process bottlenecks. The most common causes are inefficient SQL views underlying IDOs, missing indexes on filter columns, excessive property loading (selecting all columns when few are needed), and N+1 query patterns in custom methods. Use SQL Profiler in combination with IDO Request tracing to identify the exact queries and their execution plans.
- Optimize IDO SQL views with appropriate indexes on commonly filtered and sorted columns
- Use property lists in IDO requests to load only required columns, not the full property set
- Avoid N+1 patterns in custom methods by batching database calls with set-based operations
- Monitor the Mongoose connection pool for exhaustion during peak usage periods
Need Mongoose IDO expertise? Our developers have built and optimized hundreds of custom IDOs—get in touch.
Related Resources
SyteLine IFS Framework Development Guide
Complete guide to SyteLine IFS framework development. Form architecture, grid components, IDO binding, and IFS best practices for developers.
Infor SyteLineSyteLine Event System Customization Guide
Customize SyteLine with the event system. Build event handlers, manage triggers, and extend CloudSuite Industrial without modifying base code.
Infor SyteLineSyteLine Data Views Optimization Guide
Optimize SyteLine data views for peak performance. SQL tuning, index strategies, and view architecture for faster CloudSuite Industrial queries.