Simplifier Makers ClubSimplifier Makers Club
  • Docs
  • Knowledge
  • F.A.Q
  • Forum
  • Courses
  • Marketplace
  • Login
  • Try for free
  • German
  • English
  • Try for free
  • Docs
  • Knowledge
  • F.A.Q
  • Forum
  • Courses
  • Marketplace
  • Login
  • Try for free
  • German
  • English
  • Try for free

Current Release

home/Documentation/Current Release
  • Getting Started
    • Basic Concept and Capabilities
      • Interaction
      • Governance
      • Collaboration
      • User Experience
      • Integration
      • Automation
      • Operations
  • App Builder Guide
    • Design
      • OpenUI5, SAPUI5 and Fiori
      • Accessibility
      • Widget Groups
      • Widgets
    • Build
      • Build Workflows
        • Create Workflow
        • Using Conditions
        • Working with Outcomes and Variables
        • Start Workflow within App
        • Using Automated Task
        • Using User Task
        • Using Notification Task
        • Create Custom Task UI
        • Customizing User Task Notifications
        • Run Workflows in parallel
      • Add and Format Data
      • Create Apps via Wizard
        • Login
        • Table with Details
        • Layout
        • Form Assistant
        • Upgrade UI5 Version
        • Database Data Editor
      • Using Keyboard shortcuts
      • Create Apps from Scratch
        • Device Condition
        • Design Apps in Real Time across all devices
        • Create the User Interface
          • Collaboration
          • Manage Screens
          • Design Screen
          • Assets
          • CSS Editor
          • Libraries
          • Theming
        • Access Business Object via Script
      • Add Application Logic
        • Login/Logout into an App
        • Modify the UI at runtime
        • Events
        • Variables and Datatypes
        • Auto-Fields
        • Logic
          • Device Condition
          • Condition
          • Iterate over List of Data Records
          • Custom Scripting
          • Access Business Object via Script
        • Navigate between Screens
        • Data Services
        • Data Object
          • Filters for Connectors
        • Mapping Area
      • Using native mobile Features
        • Contacts API
        • Internal camera application
        • Mobile Actions
        • App Links / Deep Links
        • Offline Usage
          • Offline Storage
          • Offline Events
      • Modularize your Apps
        • Use Modules
        • Interfaces
      • Manage Access
      • Working with Text and Mails
        • Dynamic Text
        • Sending Email
      • Localization
        • Translate Workflows
        • Import/Export Workflow Translations
        • Translate Applications
      • Run Application
        • Run in Browser
    • Integrate
      • Integrate into SAP
      • Connectors
        • Login Methods
          • Username or -alias
          • Single-Sign-On with oAuth 2.0 Bearer Token
          • Certificates
          • Token
          • Username/Password
          • SAP Logon
        • Create and Manage Connectors
        • Websocket Communication
          • Token Generation
          • Websocket Generation
          • Websocket API Documentation (Incomplete)
          • Request Types (Asynchronous Connectors)
          • Token, Websocket and Request Sending Example
          • Asynchronous Connector Request Json Examples
            • OPC-UA Monitoring Requests
            • OPC-UA Monitoring Requests Examples
        • Create and manage connector calls
          • Connector Call Specific Parameters
          • Copy Connector Calls
          • Test a Connector Call
        • SOAP Connector
          • SOAP Connector Calls
        • REST Connector
          • REST Connector Calls
          • REST Connector Call Query Parameters
          • REST Connector Call Header Parameters
        • OData V2 Connector
          • OData V2 Connector Calls
        • SAP RFC Connector
          • SAP RFC Quickstart
          • SAP RFC Connector Calls
            • Create SAP RFC Calls manually
        • SQL Connector
          • SQL Connector Calls
          • Up-Download of SQLite Databases
        • MQTT Connector
        • OPC UA Connector
          • OPC UA Connector Calls
            • READ Call - OPC UA Connector
            • WRITE Call - OPC UA Connector
            • BROWSE Call - OPC UA Connector
            • SUBSCRIBE Call - OPC UA Connector
        • CSV Connector
          • CSV Connector Calls
        • Email Connector
          • Email Connector Call
        • Push Notification Connector
          • Assign Roles
          • Send message via Process Dashboard
          • Receive message via Process Dashboard
          • Push Notification Connector Calls
        • Proxy Connector
        • Simplifier SAP
          • SAP ERP6 Business Partner
          • SAP ERP6 Object Status
          • SAP ERP6 Status Profile
          • SAP ERP6 ArchiveLink
          • SAP ERP6 Generic Object Services
          • SAP ERP6 Object Classification
          • SAP ERP6 Text
          • SAP ERP6 Partner Schema
          • SAP ERP6 Document (DIS/DRAW)
          • SAP ERP6 Change Document
          • SAP ERP6 Material
          • SAP ERP6 User
          • SAP SD Sales Order
          • SAP SD Customer
          • SAP SD Customer Quotation
          • SAP SD Vendor
          • SAP SD Billing Document
          • SAP IS-U Connection Object
          • SAP IS-U Business Partner
          • SAP ISU Premise
          • SAP ISU Device Location
          • SAP ISU Meter Reading Order
          • SAP ISU Installation
          • SAP ISU Meter
          • SAP ISU Owner Allocation
          • SAP ISU Point of Delivery
          • SAP ISU Service Order
          • SAP ISU Street
          • SAP ITIZ Handler
          • SAP IS-U Account
          • SAP IS-U Contract
          • SAP ITIZ SDSH
          • SAP ITIZ Key Value
          • SAP ITIZ UI5
          • SAP ITIZ DB Table
          • SAP MM Service Master
          • SAP MM Purchase Order
          • SAP MM Entry Sheet
          • SAP MM Goods Movement
          • SAP MM Purchase Requisition
          • SAP PM Equipment
          • SAP PM Functional Location
          • SAP PM Measurement Point
          • SAP PM Maintenance Notification
          • SAP PM Service Notification
          • SAP PM Service Order
          • SAP PM Maintenance Order Confirmation
          • SAP PP Material BOM
          • SAP PP Production Order Confirmation
          • SAP PP Production Order
          • SAP WM Transfer Order
          • SAP HR Personal Time Management
          • SAP HR Time Sheet
          • SAP QM Quality Notification
      • Code Designer
      • Business Objects
        • Create server-side Business Objects
          • Server-Side Business Object API
          • Server-Side - Access Connectors
          • Server-Side - Access other Business Objects
          • Server-Side - Access Plugins
          • Changes in Business Objects with Release 8 EHP 1
          • Convert XML to/from JSON
          • Encode/Decode Base64
          • Extended Functionality
        • Create client-side Business Object
          • Client-Side Business Object API
          • Client-Side - Access Connectors
          • Client-Side - Access Plugins
          • Client-Side - Access other Business Objects
        • Create and Manage Functions
          • Test Business Object Functions
          • Versioning of Business Objects
      • Data Types
        • Domain Type
        • Struct Type
        • Collection Type
        • Copy Data Types
      • Database Designer
        • Schema Overview
        • Data Editor
        • Create/Modify Schema
        • Import existing Database
        • Deploy Schema
      • SAP Systems
      • Jobs
    • Debugging
      • Debugging on Browser
      • Debugging on Mobile Client iOS
      • Debug Server-Side Business Objects
      • Debugging on Mobile Client Android
    • Test & Secure
      • Automated Testing
      • Automated Testing on mobile
    • Deploy
      • Application Properties and Releases
      • Deploy on Simplifier Runtime
        • Transports
          • Packages
          • Create a Transport
          • Import Manual Transport
          • Release and Transport an Application
      • Simplifier Mobile Client
        • Features
        • Intune
      • Deploy as Standalone Mobile
      • Deploy to SAP onPremise
      • Deploy to SAP BTP
    • Manage
      • Projects
    • Maintain & Optimize
      • Monitoring
        • Monitoring
        • Monitor Workflows
        • Monitoring Sub Workflows
        • Statistics
        • Logs
          • Filter
          • User-Log
          • Execution Log
    • Extend
      • Create custom App Wizards
      • Create Widget Groups
      • Create custom Widgets
        • Single Widget
          • Enumeration in Widget Properties
        • Widget Categories
      • System Libraries
      • Simplifier Client API
      • Integrate external Libraries
        • Add a new Library
          • Integration of Libraries - addScript
          • Integration of Libraries - addStyle
          • Integration of Libraries - addBeforeInitHandler
          • Integration of Libraries - addAfterInitHandler
      • Workflow API
      • Simplifier App Wizard API
      • Plugins
        • Overview
        • List of Plugins
          • PDF Plugin
            • Installation PDF Plugin
            • Build a PDF Template
            • Technical call of a PDF Plugin
              • Delete a PDF Template
              • Start PDF Generation
              • List your PDF Templates
              • Fetch a PDF Template
              • Edit a PDF Template
              • Add a PDF Template
            • Typical Use-Case PDF Plugin
          • Content Repository
            • Content Files
          • keyValueStore / JSON Store Plugin
        • Plugins via Script
        • Plugin development
        • Anonymous Profile for Plugins
        • Plugin Secrets
  • End User Guide
    • Mobile Client
      • Login
      • Using Apps
      • Handling User Task mobile
      • Adjust Mobile Settings
      • Report Errors
    • Launchpad
      • Handling Tasks
      • Update your Profile
  • Operator Guide
    • Operation Model (PMT)
      • People
      • Method
        • Preparation - Sprint 0
        • Implementation - Sprint 1 - x
    • Roles and Rights
      • Overview
      • Global Roles
      • Project Roles
      • Business Roles
      • Best Practices with Projects
      • Permission Overview
        • Workflow Permission
    • Automation
      • Automate Transport
    • Support
      • Support Requirements
      • Your contact within Simplifier
      • Manage your Simplifier MyID and support users
      • How to login to our support portal
  • Administrator Guide
    • Release Cycle
    • Feature Lifecycle
    • Launchpad Settings
    • Requirements and Instructions
      • Server Requirements
      • Client Requirements
      • Firewall Requirements
      • Reverse Proxy Requirements
        • Testing WebSocket Connection through Reverse Proxy
      • Additional Requirements for Oracle Databases as Backend
      • Additional Requirements for MySQL Databases as Backend
      • Validate CORS Header
      • Validate I/O Storage Performance
    • Installation
      • Docker Security Runtime
      • Checklist - Simplifier Installation
      • Cluster Mode
      • Docker Image Configuration
      • Configure Proxy Settings
      • On Premise
        • General Requirements for On-Premise-Installations
        • Installing Simplifier MAKERS CHOICE
        • Installing Simplifier LTS
        • Oracle Database Setup
        • Setting up custom certificates for transport system
      • AWS
        • Install via AWS Marketplace
        • High Availability and High Performance Cluster (Horizontal Scaling)
      • Azure
        • Install via Azure Marketplace
      • Simplifier Cloud
        • Simplifier Cloud SLA
          • Simplifier Cloud SLA 1.2
          • Simplifier Cloud SLA 1.1
        • Checklist - Your System Integration
        • Cloud Security
        • Operation Models
          • Hosting Models until 25-03-31
          • Hosting Models until 23-05-01
        • Cloud FAQ
        • Data Centers of Simplifier Cloud
        • Backups
        • ISO Certificates and Audits
      • SAP BTP
    • Quality Update
      • Update via docker compose
      • Automatic Update
    • Upgrade to next MAKERS CHOICE or LTS
      • Upgrade from MC 25-03 to MC 25-05
      • Upgrade from Release 9 to MC 25-05
      • Upgrade from Release 8 to Simplifier 9 LTS
      • Upgrade from Release 8 EHP 4 to Simplifier 9 LTS
    • User Management
      • User Overview - Create a new user
      • Reset Passwords
      • Enable Multi-Factor-Authentication (MFA/2FA)
      • Role Overview
        • Restrict Roles Assignment
      • Group Overview
      • QR Login-Generator
      • Permissions
        • Permission Overview
    • Security
      • Mobile Security
      • Overview
      • Basic Protection of Internet Access
      • Secure Simplifier API
      • Implementation of Web Application Firewalls
      • Operation Best Practice - Public Access
      • Authentication for Web Applications
      • Access Control for Web Applications
      • Secure Session Management
      • Controlled Integration of Data and Content into Web Applications
      • Logging of security-relevant Events of Web Applications
      • Protection against Unauthorized Automated Usage of Web Applications
      • Protection against SQL Injection
      • Security Team (ISIRT)
    • Setup external Identity Provider
      • Using OAuth for authorization on Google
      • SAML and SAP Single Sign-On over SOAP
      • SAP SSO via SNC and Identity Provider
      • Troubleshoot SAP SSO via SNC
      • Setup Principal Propagation for SAP BTP
      • Using OAuth for authorization on Azure / Entra ID
      • Configure SAML Setup with Azure AD / EntraID
      • Using OpenID Connect for authorization in SAP BTP
    • Settings
      • Server Settings
      • Security
      • License
      • Authentication
        • Project Permissions
        • LDAP
        • SAP Single Sign On via SOAP
          • Checklist SAP SSO over SOAP
        • SAP Single Sign On via RFC
        • Active Directory
        • Open Authorization (OAuth)
          • Using OAuth for authorization on Amazon
        • Security Assertion Markup Language (SAML)
          • Using SAML with Google - G Suite
          • Using SAML with Microsoft ADFS
        • User Details Mapping
        • User Attributes Synchronization
        • User Roles Synchronization
        • Test Authentication
      • Messages
      • Log
      • Server Environment
      • SAP Security
      • New Features
      • Workflow Monitoring
      • Native Settings (include.conf)
    • Archiving
      • Archiving Workflow Logs
  • Release Notes
    • Release Notes MAKERS CHOICE 25-05
    • Pre-Release Notes 10
    • Release Notes 9
    • Release Notes Mobile Client
    • Archive MAKERS CHOICE
      • Release Notes MAKERS CHOICE 25-03
      • Release Notes MAKERS CHOICE 25-01
      • Release Notes MAKERS CHOICE 24-11
      • Release 8 Enhancement Package 4 (EHP4)
      • Release 8 Enhancement Package 3 (EHP3)
      • Release 8 Enhancement Package 2 (EHP2)
      • Release 8 Enhancement Package 1 (EHP1)
    • Archive Long Term Support
      • Release Notes 8
      • Release 7 Enhancement Package 1 (EHP1)
      • Release Notes 7.0
      • Release Notes 6.5
      • Release Notes 6.0
      • Release Notes 5.5
      • Release Notes 5.0
      • Release Notes 4.5
      • Release Notes 4.0
      • Release Notes 3.5
      • Release Notes 3.0
      • Release Notes 2.5
      • Release Notes 2.0

Server-Side Business Object API

8010 views 5 Updated on January 23, 2025

You can access any methods, like Logging, Utils/Tools, Email, Connectors, Business Objects, Plugins, Users, Permissions, Groups and Roles of Simplifier by using the Simplifier object.

Variables marked with question marks are optional parameters.

  • Connectors
  • Business Objects
  • Plugin
  • Email
  • Util
  • Log
  • User
  • Group
  • Role
  • Permissions
  • System
  • Template

Connectors

Connectors

Simplifier.Connector.<ConnectorName>.<CallName>
Executes a connector call. The input parameters are defined in the input object (payload).
Input : (payload?: string|object) Result: object

input object structure depends on the input parameters configured in the connector call

The result object of the defined connector call, as defined in the output parameters.

Examples:

var connectorCallResult = Simplifier.Connector.Fruits.selectAllFruits({});
var connectorCallResult2 = Simplifier.Connector.Fruits.insertFruit({name: "apple", color: "red"});

 

Simplifier.Connector.<ConnectorName>
**DEPRECATED** Executes a connector. The connector call and the input parameters are defined in the input object (payload).
Input : (payload?: string|object) Result: object

input object structure depends on the connector type (SQL, SOAP, etc.)

For example, for SQL:

request: String
mode: String

The result object of the defined connector call.

Example:

var connectorResult = Simplifier.Connector.Fruits({request: "SELECT * FROM Fruit;", mode: "query"});

Business Objects

Business Objects

Simplifier.BusinessObject.<BusinessObjectName>.<FunctionName>
Executes a server-side business object function.
Input : (payload?: string|object, parametrized?: boolean = true) Result: object

payload: Object – the input parameters, as defined in the business object function. If the function has no input parameters, the payload can either be an empty object or omitted
parametrized: Boolean? (default: true)

The result object of the business object function, as defined in the output parameters.

Examples:

var oResult = Simplifier.BusinessObject.ITIZ_User.getUserDataByUsername({s_username: "trainer"});
var oResultUnparametrized = Simplifier.BusinessObject.ITIZ_User.getUserDataByUsername("{\"s_username\": \"trainer\"}", false);

 

Simplifier.CurrentBusinessObject.<FunctionName>
Executes a server-side business object function contained within the currently used server-side business object.
Input : (payload?: string|object, parametrized?: boolean = true) Result: object

payload: Object – the input parameters, as defined in the business object function. If the function has no input parameters, the payload can either be an empty object or omitted
parametrized: Boolean? (default: true)

The result object of the business object function, as defined in the output parameters.

Examples:

var oResult = Simplifier.CurrentBusinessObject.getUserDataByUsername({s_username: "trainer"});
var noArgsResult = Simplifier.CurrentBusinessObject.getFruits();

 

.

Plugin

Plugins

Simplifier.Plugin.<PluginName>.<SlotName>
Executes a slot of a Simplifier plugin.
Input : (payload?: string|object) Result: object

payload: Object – the input parameters, as defined in the plugin slot

The result object of the executed plugin slot.

Examples:

var aRepositories = Simplifier.Plugin.contentRepoPlugin.contentRepositoryList(); 
var oNewRepo = Simplifier.Plugin.contentRepoPlugin.contentRepositoryAdd({name: "MyRepo"});

Email

Email

Simplifier.Email.sendTemplateMail
Sends an email based on a template.
Input : (payload?: string|object) Result: ()

payload: Object

templateNamespace: String,
templateName: String,
emailCharset: String,
emailMime: String,
sender: String,
receiver: String,
receiverCC?: Array(String),
receiverBCC?: Array(String),
replyTo?: Array(String),
subject: String,
data: Object (input parameters of the email template. If the template has no input parameters, set data to an empty object),
attachments?: Array(AttachmentObject)

 

AttachmentObject: Object

mimeType: String,
fileName: String,
b64Data?: String (base64-encoded PDF file),
uploadSession?: String (ID of the upload session)

Example:

Simplifier.Email.sendTemplateMail({    
templateNamespace: "MyNamespace", // folder of template
templateName: "MyTemplate", // template id
emailCharset: "UTF-8", // Charset
emailMime: "text/html",  // html MIME-Type 
sender: "sender@test.de", // sender email
receiver: "test@test.de",  // receiver email
receiverCC: ["cc@test.de"],  // list of carbon copy email (s)
receiverBCC: ["bcc@test.de"], // list of blind carbon copy email(s)
replyTo: ["test@test.de"], // list of reply-to email(s)
subject: "My Mail", // subject
data: {"Var1": "Replacement1"}, // input parameters for template
attachments: [
// attachments can directly send via base 64 encoded string
               {
                mimeType: "application/pdf",
                fileName: "test.pdf",
                b64Data: "base64EncodedPdfFile"
                }, 
// or a simplifier business app upload session id
                {
                mimeType: "image/jpeg",
                fileName: "test.jpg",
                uploadSession: "upload-session-id"
                }
        ]
});

Util

Utils

Simplifier.Util.encodeBase64
Encodes a string to base64. 
Input : (string) Result: string

inputString: the string to encode

The encoded string, in base64 format

 

Simplifier.Util.decodeBase64
Decodes a base64-encoded string. 
Input : (string) Result: string

inputString: the string in base64 format

The decoded string

Examples:

var encoded = Simplifier.Util.encodeBase64("String to encode");
var decoded = Simplifier.Util.decodeBase64(encoded);

 

Simplifier.Util.xml2json
Converts a string in XML format to a stringified JSON.
Input : (string) Result: string

xml: the string in XML format

The stringified JSON

 

Simplifier.Util.xml2jsonValue
Converts a string in XML format to a JSON object.
Input : (string) Result: object

xml: the string in XML format

The JSON object

Examples:

var sStringifiedJSON = Simplifier.Util.xml2json("<root><test>hello</test></root>");
var oJSON = Simplifier.Util.xml2jsonValue("<root><test>hello</test></root>");

 

Simplifier.Util.json2xml
Converts a stringified JSON to a string in XML format.
Input : (string) Result: string

json: the stringified JSON

The string in XML format

 

Simplifier.Util.jsonValue2xml
Converts a JSON object to a string in XML format.
Input : (object) Result: string

json: the JSON object

The string in XML format

Examples:

var sXmlFromStringifiedJSON = Simplifier.Util.json2xml(JSON.stringify({test: "hello"}));
var sXmlFromJSON = Simplifier.Util.jsonValue2xml({test: "hello"});

Log

Logging

Simplifier.Log.info
Creates a log entry with level INFO.
Input : (string, string|object?) Result: ()
message: String
details?: String|Object
–
Simplifier.Log.info(message: string, details: string|object): void

 

Simplifier.Log.warn
Creates a log entry with level WARNING.
Input : (string, string|object?) Result: ()
message: String
details?: String|Object
–
Simplifier.Log.warn(message: string, details: string|object): void

 

Simplifier.Log.error
Creates a log entry with level ERROR.
Input : (string, string|object?) Result: ()
message: String
details?: String|Object
–
Simplifier.Log.error(message: string, details: string|object): void

 

Simplifier.Log.critical
Creates a log entry with level CRITICAL.
Input : (string, string|object?) Result: ()
message: String
details?: String|Object
–
Simplifier.Log.critical(message: string, details: string|object): void

 

Simplifier.Log.debug
Creates a log entry with level DEBUG.
Input : (string, string|object?) Result: ()
message: String
details?: String|Object
–
Simplifier.Log.debug(message: string, details: string|object): void

Examples:

These examples apply to all log levels.

Simplifier.Log.warn("Test log entry");

Simplifier.Log.info("Test log entry with Details", "Details String");

Simplifier.Log.error("Test log entry with Details", {'key': 'value'}); 
 
Simplifier.Log.info("test", ["Array",1337,42.1,null,true, {key:"value"},[1,3,3,7]]);
 
Simplifier.Log.critical("test", 1337);
 
Simplifier.Log.debug("test", 42.1);
 
Simplifier.Log.info("test", null);
 
Simplifier.Log.warn("test", true);

User

Get Users

Simplifier.User.getAll
Retrieves all users on the current Simplifier instance.
Input : () Result: Array(object)
–
[{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String
}]

 

Simplifier.User.getById
Retrieves the user with the given ID. Also retrieves the user’s roles, groups and attributes.
Input: (number) Result: object|null
id: Number
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }],
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

 

Simplifier.User.getByName
Retrieves the user with the given login name. Also retrieves the user’s roles, groups and attributes.
Input: (string) Result: object|null
loginName: String
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }],
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

 

Simplifier.User.getCurrentUser
Retrieves the currently logged in user. Also retrieves the user’s roles, groups and attributes. (the roles-Array will only be present in the response if the currentUser has the role/right to read the roles.)
Input: () Result: object|null
–
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }],
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

 

Examples

var oMyUser = Simplifier.User.getById(12);
var oMyUser = Simplifier.User.getByName("MyUserLoginName");
var oCurrentUser = Simplifier.User.getCurrentUser();

Create, update and delete a User

Simplifier.User.create
Creates a new user.
Input: (data: object) Result: object
data: Object
{
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String?,
  salutation: String?,
  activeFrom: String?,
  activeTill: String?,
  active: Boolean?,
  blocked: Boolean?,
  preferredLanguage: String?
  roles: [String]?,
  groups: [Number]?,
  attributes: [{ name: String, category: String, value: String, description: String? }]?
}
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }],
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

 

Simplifier.User.createWithActivationMail
Creates a new user and sends an email for the user to activate their account.
Input: (object) Result: ()
data: Object
{
  userData:
  {
    login: String,
    firstName: String,
    lastName: String,
    email: String,
    mobileNumber: String?,
    salutation: String?,
    activeFrom: String?,
    activeTill: String?,
    active: Boolean?,
    blocked: Boolean?,
    preferredLanguage: String?,
    roles: [String]?,
    groups: [Number]?,
    attributes: [{ name: String, category: String, value: String, description: String? }]?
  },
  emailConfig: 
  {
    templateNamespace: String,
    templateName: String,
    registrationUri: String - the URL of the Simplifier app where the user can set their password,
    subject: String?,
    emailMime: String = "text/html",
    emailCharset: String = "UTF-8",
    additionalData: Object? 
  }
}
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }], 
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

With this call you can pass your own (or different per user group) registrationUrl. This registrationUrl will be prefixed to the {{link}} placeholder of your custom email template, which is mandatory to work with this BO call.

Additionally you will need to implement the registrationUri yourself (e.g with an App, that extracts the oneTimeHashToken). When the registrationUri is called and a password has been defined by the user, you need to call  Simplifier.User.activateWithOneTimeLink to complete the activation of the the user.

 

Simplifier.User.update
Updates the user identified by the assigned login name.
Input: (loginName: string, data: object) Result: object
loginName: String
data: Object{
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String?,
  salutation: String?,
  activeFrom: String?,
  activeTill: String?,
  active: Boolean?,
  blocked: Boolean?,
  preferredLanguage: String?,
  roles: [String]?,
  groups: [Number]?,
  attributes: [{ name: String, category: String, value: String, description: String? }]?
}
{
  id: Number,
  login: String,
  firstName: String,
  lastName: String,
  email: String,
  mobileNumber: String,
  salutation: String,
  activeFrom: String,
  activeTill: String,
  active: Boolean,
  blocked: Boolean,
  externalUser: Boolean,
  createdOn: String,
  lastLogin: String,
  preferredLanguage: String,
  attributes:
  [{
    name: String,
    category: String,
    value: String,
    description: String
  }],
  roles:
  [{
    id: String,
    name: String,
    description: String,
    active: Boolean
  }],
  groups:
  [{
    id: Number,
    name: String,
    description: String
  }]
}

 

Simplifier.User.updateImage
Updates the user’s profile image.
Input: (loginOrId: string|number, data: object) Result: ()
loginOrId: String|Number - the user ID or login name
data: object - the image data
{
  uploadId: String - the session ID of the uploaded image,
  mimeType: String
}

 

Simplifier.User.delete
Deletes a user identified by the given ID.
Input: (number) Result: ()

id: Number

–

 

Simplifier.User.checkLogin
Checks whether a user can login providing the given credentials. 
Input: (string, string) Result: (boolean)

login: String

password: String

true, false


		

Allowed language codes for preferredLanguage are:

bg_BG, ca_ES, hr_HR, cs_CZ, da_DK, nl_NL, en_US, et_EE, fi_FI, fr_FR, de_DE, el_GR, hi_IN, hu_HU, it_IT, ja_JP, kk_KZ, ko_KR, lv_LV, lt_LT, ms_MY, mt_MT, no_NO, pl_PL, pt_PT, ro_RO, ru_RU, zh_CN, sk_SK, sl_SL, es_ES, sv_SE, th_TH, zh_TW, tr_TR, uk_UA, vi_VN

Examples

var oNewUser = Simplifier.User.create({
    login: "janedoe",
    firstName: "Jane",
    lastName: "Doe",
    email: "jande.doe@testmail.com",
    mobileNumber: "123456789",
    salutation: "Miss",
    roles: ["131702554218077DC71EBD1A569CC81025ADDE6D48F3000291192B88E2D64CA3"], // IDs of existing roles
    groups: [1,2], // IDs of existing groups
    attributes: [{name: "Department", category: "Company", value: "Berlin", description: "company departments"}]
});
var oUpdatedUser = Simplifier.User.update("janedoe", {
    firstName: "updatedFirstName",
    lastName: "updatedLastName",
    email: "updatedEmail",
    mobileNumber: "updatedMobileNumber",
    active: true,
    blocked: true,
    salutation: "Miss",
    roles: ["15BEB553CC701C8C6488AD823E052BECD18F12969027EE286AE6F1294C8DF1E2"], // IDs of existing roles
    groups: [2], // IDs of existing groups
    attributes: [{name: "Department", category: "Company", value: "Munich", description: "company departments"}]
});
var oCurrentUser = Simplifier.User.getCurrentUser();
if (oCurrentUser) {
   if (oCurrentUser.id) {
     Simplifier.User.updateImage(oCurrentUser.id, {
            uploadId: input.profileImage, // the upload session ID
            mimeType: "image/jpeg" // mime type of the image
     });
   }
}
var oNewUserWithActivationMail = Simplifier.User.createWithActivationMail({ 
    userData: { 
        login: "janedoe", 
        firstName: "Jane",
        lastName: "Doe",
        email: "jande.doe@testmail.com",
        mobileNumber: "123456789",
        salutation: "Miss",
        roles: ["131702554218077DC71EBD1A569CC81025ADDE6D48F3000291192B88E2D64CA3"], // IDs of existing roles
        groups: [1,2], // IDs of existing groups
        attributes: [{name: "Department", category: "Company", value: "Berlin", description: "company departments"}]
    },
    emailConfig: {
        templateNamespace: "MyNamespace", // folder of template 
        templateName: "MyTemplate",
        registrationUri: "https://www.simplifier.io/example" , // the URL of the Simplifier app where the user can set the new password
        subject: "Set your password now!",
        emailMime: "text/html",
        emailCharset: "UTF-8"
    }
 });


		

User Role and Group assignment

Simplifier.User.assignRole
Assigns the role with the given ID to the user with the given ID/login name.
Input: (string|number, string) Result: ()
loginOrId: String|Number –  User login name or user ID

roleId: String

–

 

Simplifier.User.unassignRole
Removes the given role from the given user.
Input: (string|number, string) Result: ()
loginOrId: String|Number –  User login name or user ID
roleId: String
–

 

Simplifier.User.assignGroup
Assigns the group with the given ID to the user with the given ID/login name.
Input: (string|number, number) Result: ()
loginOrId: String|Number –  User login name or user ID

groupId: Number

–

 

Simplifier.User.unassignGroup
Removes the given group from the given user.
Input: (string|number, number) Result: ()
loginOrId: String|Number –  User login name or user ID

groupId: String

–

 

Simplifier.User.getBusinessRoles
Retrieves all business roles of the current logged in user.
Input: () Result: Array (object)
[project: String

businessRole: String]

 

Simplifier.User.getBusinessRolesInProject
Retrieves all business roles of the current logged in user within a given project.
Input: (string) Result: Array (string)
projectID: String – ID of the project [“roleName1”, “roleName2]

 

Simplifier.User.checkBusinessRole
Checks if the current logged in user has a specific business role within a given project.
Input: (string, string) Result: (boolean)
projectID: string – ID of the project

roleName: string – Name of the Business Role

true, false

 

Simplifier.User.assignBusinessRole
Assigns the business role with the given name and project to the user, identified by the given login name. 
Input: (string, string, string) Result: ()
loginName: String – The user’s login name

projectID: String – ID of the project

roleName: String – Name of the Business Role

 

Simplifier.User.unassignBusinessRole
Removes the given business role from the given user.
Input: (string, string, string) Result: ()
loginName: String – The user’s login name

projectID: String – ID of the project

roleName: String – Name of the Business Role

 

Examples

Simplifier.User.assignRole(21, "131702554218077DC71EBD1A569CC81025ADDE6D48F3000291192B88E2D64CA3");
Simplifier.User.assignGroup("myUserLogin", 1);
var bHasBusinessRole = Simplifier.User.checkBusinessRole("MYPROJECT", "administrator");
Simplifier.User.assignBusinessRole("myUserLogin", "MYPROJECT", "administrator");


		

User Attributes

Simplifier.User.getAttributes
Retrieves all attributes of the user identified by the given loginName/ID.
Input: (string|number) Result: Array (object)

loginOrId: String –  User login name or user ID

[{
  name: String,
  category: String,
  value: String,
  description: String
}]

 

Simplifier.User.getAttribute
Retrieves the attribute with the given name and category of a user identified by the given loginName/ID. 
Input: (string|number, string, string) Result: (object | null)
loginOrId: String|Number –  User login name or user ID
name: String – name of the attribute
category: String – attribute category
{
  name: String,
  category: String,
  value: String,
  description: String
}

 

Simplifier.User.setAttribute
Sets (adds or updates) an attribute of the user identified by the given loginName/ID.
Input: (string|number, string, string, string) Result: ()

loginOrId: String –  User login name or user ID

name: String – name of the attribute

category: String – attribute category

value: String – new value for the attribute

–

 

Simplifier.User.deleteAttribute
Deletes the given attribute of the user identified by the given loginName/ID.
Input: (string|number, string, string) Result: ()

loginOrId: String|Number –  User login name or user ID

name: String – name of the attribute

category: String – attribute category

–

 

Examples

var oAttribute = Simplifier.User.getAttribute("myUserLogin", "attributeName", "attributeCategory");
Simplifier.User.getAttribute("myUserLogin", "attributeName", "attributeCategory", "attributeValue");
Simplifier.User.deleteAttribute("myUserLogin", "attributeName", "attributeCategory");


		

User Password and Activation

Simplifier.User.activateWithOneTimeLink
Sets a user password for the provided one-time-hash.
Input: (string) Result: ()

oneTimeHash: String – The URL Query Parameter that is generated via resetPasswordWithEmailTemplate to validate the Passwort Reset Link (resetURI)

newPassword: String – new Passwort

–

 

Simplifier.User.resendActivationMail
Sends the activation mail again to the given user.
Input: (object) Result: ()
data: Object
{
  login: String,
  email: String,
  emailConfig: {
    templateNamespace: String,
    templateName: String,
    registrationUri: String - the URL of the Simplifier app where the user can set their password,
    subject: String?,
    emailMime: String = "text/html",
    emailCharset: String = "UTF-8",
    additionalData: Object?
  }
}
–

 

Simplifier.User.resetPasswordWithEmailTemplate
Sends an email with a template for password restoration and resets the password for the provided user identified by the given ID or login name.
Input: (string|number, object) Result: ()
 

 

loginOrId: String|Number - ID or login name of the user
emailData : Object
{
  templateNamespace: String,
  templateName: String,
  resetURI: String - the URL of the Simplifier app where the user can set the new password,
  subject: String?,
  emailMime: String = "text/html",
  emailCharset: String = "UTF-8",
  additionalData: Object?
}
–

 

Simplifier.User.setPassword
Sets a user password for the provided one-time-hash.
Input: (string, string) Result: ()

oneTimeHash: String – The URL Query Parameter that is generated via resetPasswordWithEmailTemplate to validate the Passwort Reset Link (resetURI)

newPassword: String – new Passwort

–

Group

Groups

Simplifier.Group.getAll
Returns all groups on the current Simplifier instance.
Input : () Result: Array[object]
– [{

id: Number,
groupName: String,
description: String

}]

 

Simplifier.Group.getById
Returns the group with the given ID. Also returns the users that are assigned to this group.
Input : (number) Result: object|null
id: Number {

id: Number,
groupName: String,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

}

 

Simplifier.Group.getByName
Returns the group with the given name. Also returns the users that are assigned to this group.
Input : (string) Result: object|null
groupName: String {

id: Number,
groupName: String,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

}

 

Simplifier.Group.getUsersByGroup
Returns all users that are members of the given group ID.
Input : (number) Result: object|null
id: Number [{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

Examples

var aAllGroups = Simplifier.Group.getAll();
var oMyGroup = Simplifier.Group.getByName("Group1");
var aUsersOfGroup = Simplifier.Group.getUsersByGroup(1);

 

Simplifier.Group.create
Creates a new group with the given details.
Input : (data: object) Result: object|null
data: Object

{

name: String,
description: String,
assignedUserIDs: [Number]

}

{

id: Number,
groupName: String,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

}

 

Simplifier.Group.update
Updates an existing group with the given group data.
Input : (id: number, data: object) Result: object|null
id: Number
data: Object{
name: String,
description: String,
assignedUserIDs: [Number]
}
{

id: Number,
groupName: String,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

}

 

Simplifier.Group.delete
Deletes the group with the given ID.
Input : (number) Result: ()
id: Number

Examples

var oNewGroup = Simplifier.Group.create({name: "NewGroup", description: "this is a new group", assignedUserIDs: [1,2]});
var oUpdatedGroup = Simplifier.Group.update(1, {name: "MyGroup", description: "updated description", assignedUserIDs: [1,2,3]});
Simplifier.Group.delete(1);

Role

Roles

Simplifier.Role.getAll
Returns all roles on the current Simplifier instance.
Input : () Result: Array[object]
– [{

id: String,
roleName: String,
active: Boolean,
description: String

}]

 

Simplifier.Role.getById
Returns the role with the given ID. Also returns the users that are assigned to this role as well as the permissions that are included in this role.
Input : (string) Result: object|null
id: String {

id: String,
roleName: String,
active: Boolean,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}],
permissions:
[{
technicalName: String,
name: String,
description: String,
characteristicTechnicalName: String,
characteristicName: String,
characteristicDescription: String,
characteristicValue: [String],
characteristicDisplayType: String
}]

}

 

Simplifier.Role.getByName
Returns the role with the given name. Also returns the users that are assigned to this role as well as the permissions that are included in this role.
Input : (string) Result: object|null
roleName: String {

id: String,
roleName: String,
active: Boolean,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}],
permissions:
[{
technicalName: String,
name: String,
description: String,
characteristicTechnicalName: String,
characteristicName: String,
characteristicDescription: String,
characteristicValue: [String],
characteristicDisplayType: String
}]

}

 

Simplifier.Role.getUsersByRole
Returns all users that are members of the given role ID.
Input : (string) Result: object|null
id: String [{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}]

Examples

var aAllRoles = Simplifier.Role.getAll();
var oMyRole = Simplifier.Role.getByName("administratorRole");
var aUsersOfRole = Simplifier.Role.getUsersByRole("B119B78BE474FF875A9F6A411C762E1AB298F251D57DA73BE355844B3B3C719C);

 

Simplifier.Role.create
Creates a new role with the given details.
Input : (data: object) Result: object|null
data: Object

{

name: String,
active: Boolean,
description: String,
assignedUsers: [Number],
permissions:
[{
technicalName: String,
characteristic: String,
value: [String]
}]

}

{

id: String,
roleName: String,
active: Boolean,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}],
permissions:
[{
technicalName: String,
name: String,
description: String,
characteristicTechnicalName: String,
characteristicName: String,
characteristicDescription: String,
characteristicValue: [String],
characteristicDisplayType: String
}]

}

 

Simplifier.Role.update
Updates an existing role with the given role data.
Input : (id: string, data: object) Result: object|null
id: String
data: Object{
name: String,
active: Boolean,
description: String,
assignedUsers: [Number],
permissions:
[{
technicalName: String,
characteristic: String,
value: [String]
}]}
{

id: String,
roleName: String,
active: Boolean,
description: String,
assignedUsers:
[{
id: Number,
loginName: String,
firstName: String,
lastName: String,
email: String
}],
permissions:
[{
technicalName: String,
name: String,
description: String,
characteristicTechnicalName: String,
characteristicName: String,
characteristicDescription: String,
characteristicValue: [String],
characteristicDisplayType: String
}]

}

 

Simplifier.Role.delete
Deletes the role with the given ID.
Input : (string) Result: ()
id: String

Examples

var oNewRole = Simplifier.Role.create({name: "NewRole", active: true, description: "this is a new role"});

var oNewRole2 = Simplifier.Role.create({
       name: "NewRole2",
       active: true,
       assignedUsers: [1,2,3],
       permissions: [{
               technicalName: "com.itizzimo.app.MyTestApp", // app has to be existent
               characteristic: "execute",
               value: ["true"]
       }],
       description: "created via Business Object API"});

var oUpdatedRole = Simplifier.Role.update("B119B78BE474FF875A9F6A411C762E1AB298F251D57DA73BE355844B3B3C719C", {name: "MyRole", active: false, description: "updated description"});

Simplifier.Role.delete("B119B78BE474FF875A9F6A411C762E1AB298F251D57DA73BE355844B3B3C719C");

Permissions

Permissions

Simplifier.Permission.checkPermission
Checks whether the current logged in user has the granted permission characteristic for the provided permission name.
Input : (string, string) Result: boolean

permissionName: String,
characteristic: String

Indicates if the current logged in user has the specified permission characteristic (true/false)

 

Simplifier.Permission.checkPermissionCharacteristic
Checks whether the current logged in user has the granted permission characteristic value for the provided characteristic and the provided permission name.
Input : (string, string, string) Result: boolean

permissionName: String,
characteristic: String,
characteristicValue: String

Indicates if the current logged in user has the specified permission characteristic value (true/false)

Examples:

var bHasCharacteristic = Simplifier.Permission.checkPermission("com.itizzimo.Certificates", "edit");
var bHasCharacteristicValue = Simplifier.Permission.checkPermissionCharacteristic("com.itizzimo.Certificates", "edit", "true");

Permission Objects

Technical name of permission characteristics
com.itizzimo.BusinessObject admin
com.itizzimo.Certificates delete
assign
view
edit
download
create
admin
com.itizzimo.ChangeLog read
write
com.itizzimo.ClientBusinessObject admin
com.itizzimo.Connector admin
com.itizzimo.DataType admin
com.itizzimo.DbDesigner admin
com.itizzimo.ErrorLog admin
com.itizzimo.Group read
create
delete
edit
assign
com.itizzimo.Job admin
com.itizzimo.Library admin
com.itizzimo.Marketplace read
sell
buy
com.itizzimo.PermissionTemplate admin
com.itizzimo.Plugin admin
com.itizzimo.Role create
assign
edit
read
delete
com.itizzimo.SendEmail send
com.itizzimo.ServerSettings ServerSettings
SecuritySettings
Auth
com.itizzimo.SystemLibrary admin
com.itizzimo.SystemMessage create
delete
update
read
com.itizzimo.Template admin
com.itizzimo.TestAllApps execute
com.itizzimo.TestAllConnectors execute
com.itizzimo.Transport import
create
export
approve
com.itizzimo.UiDesigner create
edit
delete
view
admin
com.itizzimo.Uploader allowUpload
com.itizzimo.User edit
read
create
readSelf
editSelf
delete
com.itizzimo.Widget admin
com.itizzimo.WidgetGroup admin
com.itizzimo.app.APPNAME view
execute
delete
edit
releasemeta
com.itizzimo.businessobject.BUSINESSOBJECTNAME view
execute
delete
edit
com.itizzimo.clientbusinessobject.CLIENTBUSINESSOBJECTNAME view
delete
edit
com.itizzimo.connector.CONNECTORNAME view
delete
edit
execute
com.itizzimo.job.JOBNAME view
delete
edit
com.itizzimo.loginmethod.LOGINMETHODNAME view
delete
edit
com.itizzimo.plugin.ContentRepo AccessForeignFile
CreateRepository
PermissionObjectType
MimeMappings
PermissionObjectID
com.itizzimo.plugin.PdfGeneration manageTemplates
generatePdf

System

System

Simplifier.System.getActiveInstance
Returns the details of the active Simplifier instance.
Input : () Result: Object
{

“name”: the technical name of the active instance,
“url”: the url path of the active instance,
“description”:  the description of the active instance,
“type”: the type of the active instance (‘Develop‘/’Quality‘/’Production‘/’Custom‘)
“active”:  flag if the instance is active (true/false)

}

 

Simplifier.System.getInstances
Returns the details of all Simplifier instances that are configured in the Server Environment Settings.
Input : () Result: Array(Object)
[{

“name”: the technical name of the instance,
“url”: the url path of the instance,
“description”:  the description of the instance,
“type”: the type of the instance (‘Develop‘/’Quality‘/’Production‘/’Custom‘)
“active”:  flag if the instance is active (true/false)

}]

Examples:

var oActiveInstance = Simplifier.System.getActiveInstance();
var aConfiguredInstances = Simplifier.System.getInstances();

Template

Plugins

Simplifier.Template.<TemplateFolderName>.<TemplateName>
Renders the given template with the given input parameters and returns it as a string.
Input : (payload?: object) Result: string

payload: Object – the input parameters of the template

The rendered template with the given input parameter values.

Examples:

var sRenderedTemplate = Simplifier.Template.FeedbackAppTemplates.RequiredRoleCheck_RoleMissing({username: "currentUserName"}).Template;
Related Articles
  • Release Cycle
  • Release Notes 9
  • Release Notes MAKERS CHOICE 25-03
  • Pre-Release Notes 10
  • Form Assistant
  • Translate Workflows
Previous
Create server-side Business Objects
Next
Server-Side – Access Connectors

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.