Platform User's Guide
Introduction to the One Network Platform
What is the One Network Platform?
What is the One Network SDK?
High Level Architecture
Platform Services
Permissions
Computational Grid
Integrated eXecution Management (IXM) Framework
User Interface
Integration
What's Next?
SDK Minimum Requirements
Deployment
Runtime (End Users)
One Network Studio
Working with the Platform SDK Perspective
Studio Installation
Running Studio for the First Time
Modules
Working with Modules
Common Development Tasks
Creating a New Module
Importing an Existing Project into Studio
Changing the Views Displayed
Quickly Opening Files within Your Module Project
Working with Ant
Displaying the Ant View
Loading Ant Scripts into the Ant View
Hiding the Internal Targets
Running an Ant Task
One Network Ant Tasks
Adding to the Build Process
Custom Installer
Working with the Database
Browsing the Database with SQL Explorer
Configuring the JDBC Driver
Setting up a Connection to your Oracle Instance
Connecting to the Database
Browsing the Database Structure
Browsing the Data
Querying the Database
Using Oracle's EXPLAIN Profiler
Saving a Query
Committing Your Work
Modifying the Generated Database Structure
Generating the DDL for your Instance's Database
Generating Update _ Diff DDL
Loading Test Data into the Database
Debugging in Studio
The Problems View
Turning On Line Numbering
Using Java Wire Debug Protocol to Debug a Running Server
Configuring the Remote Debugger in Studio
Setting Breakpoints
The Debug Perspective
Stepping Through Code
When to Restart the Server
Terminating the Remote Session
Restarting the Last Run Remote Session
Clearing Breakpoints
Editing Code While Debugging
Common Shortcuts
Data and Process Modeling with Studio
Models
Working with Models in the Module Process Template
Reviewing the Platform Core Models
Model Permissions
Setting Read / Write Permissions on a Model
Related Model Permissions on Models
Partnership Permissions on Models
Custom Permissions on Models
Geo Permissions on Models
Inherited Permissions on Models
Reading Models Programmatically
Views
Actions
Working with Write Masks
Transient Fields
Action Permissions
States
Callbacks
Deploying Actions
Issue Computations
Creating Issue Computations
Issue Computation Code
Personalized Issues
Executing Issue Computations
Personalized Issues as Alerts
Publish_Join Issue Subscription
Partner Alerts
Velocity Templates
Audit Trails
Showing Audit Trails in the UI
Extending Models with Module Defined Fields (MDF)
Application Models
Enumerations
Creating Enumerations
Dynamic Enumerations
Cascading Enumerations
Model Subtypes
Setting a Parent Model
How Model Inheritance Works
Subtype Support For MDFs
DynaFields
Adding DynaField To Model
DynaFieldDef Components
DynaField in ModelForm
DynaField in Report
Programmatic Access to Models
Writing Models Programmatically
Reading Models Programmatically
Concurrency Versioning on Models
How to fetch/set ConcurrencyVersion of a model?
Concurrency Version Configuration
Why to use ConcurrencyVersioning on models?
Working with the Standard Process Template (SPT)
Custom Model Instances
Workflows
Workflows in the MPT
Publishing Changes to the SPT
Working with the Enterprise Process Template (EPT)
Enterprise Process Template (EPT) Project
Publish Changes To the EPT
Custom RoleType(s) and Permissions
Working With Interfaces
Working With MsgProcessingContext
Custom Model Instances
Working With Views, Issue and Actions
Actions
Callbacks
State Machine
Working With EPT Workflows
EPT Context Listener
Task Performers
The UI MetaModel
Reports, ReportOverrides, SqlDefs and TLVs
SqlDefs
REST Resources
JS Modules
Internationalization
Enterprise Defined Fields (EDFs)
Writing EDFs
Read EDFs
Field Types
Attribute SubType
EDFs in Reports
Enterprise Objects
Custom Model Name
Working with views, actions and state machines
Model Forms for EnterpriseObject
ModelLink To EnterpriseObject
Features
Preview Features
Feature Subscription
Global Screen Element
Enterprise Role Types
Load Data
Load Data Schema
Module Specific Data
Core Models
Currency Conversion
Currency Converter
Currency Conversion Factor
Currency Conversion Service
UOM Conversion
EnumConversionDef
EnumConversionFactor
UOMService
UOM_CONVERT
Entity Groups
Creating an EntityGroupType
Configuring the UI
User Interface
UI Metamodel
Menus
Web Actions
Menu Action Groups
Role Type Menus
Home
Documentation
Singleton Tabs/Perspectives
Action and Group Overriding
AND vs OR Conditions in Variations
Desktop Plugin
Deeplinking
Variable Replacements
Internationalization
Label Patterns
RESTful Web Services
A Simple Example
Parameters and Return Types
The BaseResource Class
Exception Handling
Documenting REST Resources
Custom Annotations
Ant Target
Bookstore Example
Base64 Authentication Form
AOP and REST
Dashboards and Widgets
Working With Dashboards
Working With Widgets
Adding Widgets
Advanced Filters On Custom Analytical Widgets
Configuring Widgets
Creating A Custom Analytic Widget
ReportWidget with Column Configs
Working With The Alert Summary Table Widget
Working With The Favorite Report Widget
Working With The Order Allocation Widget
Working With The Problem Summary Table Widget
Working With The Push Engine Widget
Working With The Root Cause Analysis Widget
Working With The To Do Widget
Reports
Concepts
Report Schema in Detail
public
columnQuantity
rowsPerPage
Name
Description
Datasource
JSON Listeners
JS Plugins
AllowPreferences
ExportMode
SqlDef
Variable Substitutions
Context Parameters
Macros
Action Definitions
Configuring the Pop-Up Actions Button in the Report
Configuring Inline Edit Action on the Report Screen
Disabling Actions Button
Filters
Custom Filters
Retrieval
concurrencyVersion
DefaultSorting
FinalSorting
Multi-Value String Mapping
Multi-Value Delimiter
FieldRef
Hidden
Field Types
ADDRESS
BOOLEAN
COMPOSITE
CURRENCY
DATE
DATE_RANGE
DOUBLE
DURATION
GENERIC_MODEL_LINK
INTEGER
LONG
MODEL_LINK
STRING
STRING_ENUMERATION
STATE
Allow Operator Selection
String Operator
Non-String Operator
Field Mappings
PickerReport
SortMapping
RestrictedToFeature
Summary Row
Summary Handler
Summary Cell
PairedInboundInterface
Report Overrides
Override Schema In Detail
rowsPerPage
ReportName
RoleTypeRef
ReportJsonListenerClassOverride
ReportJsPluginsOverride
SqlDefComponentOverride
SqlDefOverride
FilterOverrides
DefaultSortingOverride
FinalSortingOverride
Report Injections
Report Injection Schema In Detail
ReportName
RoleTypeRef
ReportInjectionJsonListenerClass
ReportInjectionJsPlugins
SQLInjections
FilterAdditions
RetrievalAdditions
Report Injection Macro
Sample Example
Flashback in Reports
Timeline Views (TLVs)
Getting Started
TLV Schema in Detail
_public
_locked
_supressBottomBar
Name
Description
Bucketization
Buckets Per Page
User-Defined Bucketization
MIXED Bucketization
Bucketization using Fiscal Calendars
Pre-Defined Mixed Bucketization
Calculator
Timeline View Listener
JS Plugins
Preserve Last Scroll Position
Header Height
SqlDef
Filters
Column Hierarchy
Vertical Paging
_renderLastColumnAsSubBuckets
Column Quantity
Data Measure
DM
DMRef
DataBasedDMGenerator
ComputedDM
Bucket Transform
Header Report
InlineHeaderReport
HeaderReportRef
DM Group
DMRenderer
Computed Style
Computed Renderer
Editable DM
Customized Number Formatting
Customizable
Role-specific Customization
User-Defined Data Measures
Constants
UserDefined DM Grouping
DM Hiding
DM Sequencing
DMTransform
DefaultBucketTransform
NumericalSubstituteForUnsetValuesInGraph
HiddenFetchInDays
Time Zone Handling
Time Zone Selection
Time Zone Shifting
Timeline View Overrides
Timeline View Override Schema in Detail
Timeline View Name
Timeline View Listener Override
Role Type Ref
Sql Def Override
Filter Overrides
Default Bucket Transform Override
TLV Injections
TLV Injection Schema In Detail
TLV Name
Role Type Ref
Sql Def
Filter Additions
Additional DM
Additional Computed DM
DM Child
Example
JS Plugin Framework
Adding JS Plugins
Events
Data
Setting a Context Menu
Flashback in Timeline Views
Pivot Charts and Tables
Creating a Pivot
Configuring a Default Pivot
Pivot Schema
Pivot Name
Pivot Js Plugins
Rows
Columns
Filters
Measures
Sorts
Formats
Measuring Dimension
Charts Enabled
Charts Active
Chart Type
Expand All
Auto Collapse
Print Enabled
Export Enabled
Show Grand Totals
Decimal Places
Max Decimal Places
Max Symbols
Currency Symbol
Currency Symbol Align
Rest APIs
Model API
Define Model APIs
Define Model API Plugin
APIs
ReadByKey
Search
ExecuteAction
Report API
Metadata
Report Execution
Swagger Documentation
Model
Report
Model Form
A Basic Example
Concepts Explained
What is the framework composed of?
Detail and Action Pages
Page Transitions
Customizing Specific Pages
Layouts
Multi-Level Model Form
Server-side Customization
2-level Model Form
Templates
Database
Studio
Client-side
Custom Page
Model Form Integration
Manage Templates report
Server-side
Additional Information
User-Defined Pages
Concepts
Page Flows
Pages
Rules
Related Models
Under the Hood
Models
Creating User-Defined Pages for Your Dataset
Customization
Configuring Grid on User Defined Page
Configuring Action Mask
DynaField Individual Components
Documents
Concepts Explained
User Interface
APIs
Tasks
Task and TaskReqmt Models
Displaying Tasks in the UI
Changing Task States
Integration
Formats
XML
CSV
JSON
EDI
Structure of an EDI Message
Inbound EDI
ODETTE
Message Hierarchy
IDoc
Fixed Length
Messages and Message Queues
Core Concepts
Configuration
Messages and Message Queues
Message Sources and Polls
Message Destinations and Routes
Message Transforms
File Enqueue and Dequeue
Enqueue
Dequeue
SFTP Enqueue_Dequeue
HTTP/S Enqueue and Dequeue
Configuring an HTTPS Destination with MTLS (Mutual TLS, aka Client Certs)
Amazon S3 Enqueue and Dequeue
OCI Object Storage Enqueue and Dequeue
Azure Cloud Storage Enqueue and Dequeue
EMAIL Dequeue
P2PI Routing
MessageRoutes
PlatformInstance
In-Container P2PI Routing
Transactional In-container P2PI Routing
Queue Destination
Temporal Queue Dependencies
Inbound Interfaces
Delimiter
Escape with Double-Quote
Model-based
SQL-based
Custom
EDI
IDoc
Fixed Length
Configuring the Grid for Processing
Inbound Interface Integration with REST
Adding a new SOAP API
SOAP using HTTP Protocol
Understanding WSDL
Creating A Web Service
Generating a SOAP Client using WSDL
Outbound Interfaces
Model-based
SqlDef-based
Net Change Caveats
EDI
IDoc
FixedLength
Report-based
MaxAttempts, MaxRuntime and MaxRetryDelay
Interface Groups
Interface Listener
CSV-as-XML Support
Inbound Support
Outbound Support
CSV-as-JSON Support
Inbound Support
Outbound Support
CSV Delimiter Transform
Integration Subscriptions
Configuring Outbound Interfaces
Enabling Subscriptions for Interface Groups
Creating a New Message Destination
Creating a New Integration Subscription
Creating a new Integration Subscription through files
OAuth 2
Outbound OAuth
Inbound OAuth - Delegated
Inbound OAuth - Client Credentials
Viewing the OAuth OB Client App Report
P2PI setup with OAuth
Message Detail
Enabling Message Detail
Integration Queue Summary Report
Integration Message Summary Report
Message Detail Report
Sharing Messages
Issue Subscription and Alerts
Message Detail Purging Rules
Inbound
Message Detail using CSV file (Default Model CSV Processor) as Example
Message Detail using CSV file (SQL Based Loading) as Example
Message Detail using XML file with a custom processor
Message Detail using Flat file with a custom processor
Outbound
Corrective Messages
Storage
MessageDetail purging configuration
Integration Pipelines
Working with Inbound Integration Pipelines
Creating an Inbound Integration Pipeline
Creating an Inbound Pipeline Interface
Creating a Message Queue
Executing the Pipeline
Viewing the Pipeline Execution History
Sample JSON File
Working with Outbound Integration Pipelines
Loading Sample Data
Creating an Outbound Integration Pipeline
Creating a Pipeline Interface for an Outbound Integration Pipeline
Setting Up an Integration Subscription and Executing the Pipeline
Viewing the Pipeline Execution History for an Outbound Integration Pipeline
Sample Data to Create a Schema
Sample Site Data
Dynamic EDI Message Transforms
Configuring EdiMessageTransforms
EdiMessageQueue state for Dynamic EdiMessageTransforms
EdiMessageTransform UI
Groovy Scripting API and Examples
Outbound Interface for EDI Message Queue
Outbound Interface and Group
Creating a Favorite
Configuring an Integration Subscription
Sample EMQ Report
EDI Config
EDI Config Features
Troubleshooting
Transaction Purging
Rest Authentication With ONERole Header
Computational Grid
Grid Basics
Configuration
Scheduling
About Grid Tuning
Engines
Concepts
Configuration
Configuring an Engine via the Run Engine UI or the JMX Console
Configuring an Engine Using Scenarios
Configuring an Engine via the IXM Engine Configuration
Task Creation
Working with EngineRunTaskPerformer
Task Generator vs. Task Writer
Task Generator
Task Writer
Grid Task Staging Table
Possible Problems with Task Creation
Engine Processing
Data Structures
Big O Analysis and Hybrid Data Structures
Subnet
Query Net
Input and Output (I/O)
Separate Reading, Processing, and Writing
Anti-Patterns and Best Practices
Extensibility
Extensibility Anti-Patterns and Best Practices
Implementation Example
Performance
Input and Output (I/O)
Algorithmic Complexity
Debugging Performance Issues
Output
Transactions
Run Results
Debug
Anti-Patterns and Best Practices
Engine Execution
Run Engine UI
Scheduled Engine Invocation
Programmatic Engine Invocation
Chain Engine Execution
Alternate Automations
Workflows as Automation
Workflow Engine
SQL Def Engine
Script Engine
EngineRunTaskPerformer
Types of Engines
Heuristic Engines
Rules-Based Engines
Dynamic Programming
Statistics or Machinery
Linear Programming
Integer (or Mixed Integer) Programming
Types of Broken
Grid Tuning
Grid Tuning Profiles
Grid Tuning Profiles Report
Grid Tuning Run Report
Building an IXM Engine with One Network Studio
Monitoring and Testing
Monitoring Applications using Java Management Extensions (JMX)
Wrapper Manager
Loggers
Setting Log Levels for a Specific Class
Setting the Log Level on Multiple Classes
Adding Logger Calls to Your Code
Grid Scheduler
Running Schedules
Disabling Schedule until a certain date
Enabling Schedule
Cache Service
Modules
Admin
Performance, Scalability, and Reliability
Simulated Today
Functional Testing
Unit Tests
Running Unit Tests using Ant
Server Tests
Transactional Server Tests
UI Testing
Creating a UI Test
Exploring the API
Complete Test Example
Performance, Scalability and Reliability Testing
Groovy Shell
Module Publication
Private Models
Private Entities
Java Artifacts
Include Private API
Module Documentation
Single Sign On (SSO) Service
Operating Modes
Third Party Integration
Marketing Content
Form Plugin
Studio
Server
Client
Supplementary Data Sources
Shared Storage Service Configuration
System Configuration
Business Logger
Business Logger Document
Analysis UI
Document Storage
Troubleshooting
Rename and Move Procedure
Data Anonymization
Anonymization Strategies
Anonymizer Dependencies
Anonymizer Overrides
Generating and Running the Anonymization Procedure
Business Rules
Overview
Using Business Rules (For Users)
Using Business Rules (For Developers)
Business Rule Functions
Third Party Services (THRD)
Configuring the THRD Instance
Configuring the RTVN Instance to Connect and Call the THRD Instance
SDK Training Guide
1. Getting Started
Registering with Developer Network
Downloading the SDK
Creating a Module
Using the New Module Wizard
Building a Module
Loading Data
Logging in to NEO
2. Developing the Bookstore
Creating a Model
Using the New Model Wizard
Adding Model Instances to the Database
Adding an Action
Loading Models
Browsing the Database
Reading Models Through NEO
Views
Reports
Writing Models - Actions in Views and Reports
Adding a Write Action
Adding States
Creating an Actionable Report
Customizing Actions With Workflows
Customizing Permissions for a Model
Adding a New Role Type
Adding a New User
Setting Model Permissions in Views and Reports
Logging In
Implementing User-Defined Pages
Add the Page Editor Explorer as a NEO menu
Adding Permissions
Create the Page Flow and Page
Specifying the Rules
Adding to the Dataset
Bringing it All Together
3. Advanced Topics
Extending a Model with Module-Defined Fields
Writing a Time-based Workflow
Building an Inbound Interface
Message Queues, Messages and Polling
Building an Outbound Interface
Creating a Report
Create and Deploy a Simple Report
Retrieval
Simple Mappings
Composite Mappings
ModelLink Mappings
Filtering
Simple Filtering
ModelLink Filtering
Organizing Filters
Operator Selection
Context Parameters
Macros
Listeners and Plugins
Server-side Listeners
Client-side Plugins
Actionability
Implementing a Model Form
Deleting a Module
Tips and Tutorials
Configuring NEO Widgets
Git Instructions for DevNet Users
Managing System Interfaces with the EPT
SDK Installation Instructions