Knowledge Requirements
Here you can find the knowledge prerequisites to ORIGAM development.
Getting Started Guide
Here you can download the current version of ORIGAM Architect Getting Started Guide.
Model Reference
ORIGAM model consists of all the building blocks needed for an application. Every part of the solution is modeled and later interpreted by the ORIGAM Runtime.
- Naming Conventions
- Basics - This chapter provides basic information about the ORIGAM model and how the model works.
- Documentation
- Inheritance
- Model Elements - This chapter describes the basic building blocks of the ORIGAM - model elements.
- Model Structure
- Packages
- Common Model - In the Common section of the model you can find general elements that you will need throughout the modeling process of your application.
- Deployment - The Deployment model allows you to define the model versions and database upgrade scripts between those versions.
- Features - Features allow you to define parts of the model that can be unlocked by an individual customer.
- String Library - String Library allows full localization of the model in different languages. Error messages and other texts can be defined and stored there.
- Data Model - The Data Model is the base level of the modeling process. It is the foundation of the resulting application. After the Data Model is defined, all the following modeling makes use of it. For example, when designing screens, the editor offers a list of data fields that you can just drag and drop into the form designer.
- Data Constants - Data constants allow you to store different constant values that will be used elsewhere in the system. With data constants you can also define parameters for your application.
- Data Structures - Data structures can be also described as entity-sets. While entities describe a single dimension (entity/fields), data structures allow definition of a hierarchical schema.
- Data Structure Entity - Maps an entity so it can appear in the data structure. When filled with data (from a service or by user), it will contain data rows of either all or only of the selected columns.
- Data Structure Parameter - Defines parameters specified on the data structure level that can be used e.g. for dynamic filtering.
- Data Structure Workflow Method
- Default Sets - Defines a set of default values that will override the default values specified in an entity.
- Filter Sets - Defines a set of predefined entity filters that can be selected when loading data from a DataService.
- Rule Sets - Defines a set of rules that will automatically calculate values inside the data set.
- Sort Sets - Defines a list of fields by which the data will be sorted either when loaded from the database or in the front-end application.
- Template Sets
- Data Types - Data types are the most basic elements in the model. They represent the minimal data storage containers.
- Entities - The Entity model is the most basic part of the model. It defines data entities which in turn define database tables for storing customer data. Entities contain not only fields but also predefined filters, row-level-security rules, row-color rules and more.
- Actions
- Conditional Formatting Rules
- Fields
- Dynamic Field Labels
- Field Dependencies
- Field Types
- Aggregated Field - This field type allows you to create a calculated total field using an aggregate function.
- Database Field - This model element maps an entity field to a physical, such as a database or a column.
- Function Call Field - This field type allows you to create a calculated field by calling a function.
- Lookup Field - This type of field allows you to look up a value from another entity based on a field in the current entity using a lookup.
- Virtual Field - This field type is not mapped to any physical database field.
- Filters
- Indexes
- Index Field - Indexes contain index keys, which define the fields the index is built on.
- Parameters
- Predefined Entities
- Relationships
- Row Level Security Filters
- Row Level Security Rules
- Functions - Functions define a set of functions you can use for modeling data filters or simple calculated entity fields. You can add your own database functions (that you create manually in the database and map using this part of the model).
- Standard Functions
- Database Functions
- Function Parameter - Typically functions require some values to be passed as parameters.
- Field Reference
- Filter Reference
- Lookup Reference
- Parameter Reference
- Lookups - Lookups define the way how to fill-in Drop-Down lists and how to translate id’s to names both in the user interface and business logic.
- Tree Structures - Here you can define hierarchical structures that you can later use in the user interface.
- User Interface Model - User interface definition is an integral part of ORIGAM solution development. Building complex user interfaces on top of the data model is fast and easy.
- Charts - You can easily implement chart visualization of data in your ORIGAM application. Any screen section can add a Chart View.
- Dashboard Widgets - Dashboards Widgets are predefined parts (e.g. charts, tables, values) that users can later add to their dashboards.
- Images - Here you can find a list of images that can be used as menu or action button icons.
- Keyboard Shortcuts - Here you can find a list of keyboard shortcut definitions that can be assigned to action buttons.
- Menu - Users need a way to access the the different screens and workflows from the client application. To allow this, you must define a menu. The menu is a list of functions and sub-menus that will be displayed in the client application.
- Dashboard Menu Item
- Data Constant Menu Item - This menu item allows a user to redefine and store a different value to the underlying data constant.
- Dynamic Menu Menu Item
- Menu Parameter Mapping
- Report Menu Item - This menu shows a report to the user.
- Screen Menu Item - This menu assigns a Screen that will open when the user will execute the menu item.
- Sequential Workflow Menu Item - This menu items executes a Sequential Workflow.
- Submenu - This menu item creates a folder for other menu items.
- Notification Boxes And Tooltips - Notification boxes allow you to dynamically display information in different parts of the application.
- Reports - ORIGAM allows data analysts to view and analyze data from different data sources by using all the infrastructure of ORIGAM services and user interfaces.
- Crystal Report - This element allows you to attach a report developed using SAP Crystal Reports (version 2008 and later).
- Excel Report
- File System Report
- PrintIt Report
- Report Parameters
- SQL Server Report - This element allows you to attach a report developed using SQL Server Reporting Services.
- Web Report - A web report maps a report element to a URL with the ability to pass different parameters to it.
- Screens - A Screens is a collection of screen sections and other widgets built on a data structure definition.
- Screen Sections - A Screen Section is a user interface element built on an entity Entities definition.
- Implicit Filter - This property allows you to set a filter on the section data that will always be applied.
- Physical Data Order - This feature allows a user to manually order the rows in a data set.
- Views - A Screen Section that provides the user with different views of the underlying dataset.
- Styles
- Widgets - This part describes different user interface controls that can be placed either on screens or on sections.
- Hashtag Categories - Hashtags in ORIGAM are a way how to create links to data from unstructured HTML pages, chats, etc. Hashtag category is e.g. “customer”. Hashtag label is customer/john_doe while hashtag itself is a specially crafted tag that contains both the hashtag category and an identification of the target record.
- Business Logic Model - The Business logic model allows you to define the functional part of your application.
- Rules
- Complex Data Rule - An XSLT based rule used for enforcing rules on data (calculated fields).
- Condition Rule - An XPath based rule that always returns a boolean value.
- Entity Rule - An XPath based rule used for evaluating entity-level conditions.
- Simple Data Rule - An XPath based rule used for enforcing rules on data (calculated fields).
- Validation Rule - An XSLT based rule that returns a RuleExceptionDataCollection type.
- Validation Rule Lookup XPath - An XPath that should return a string containing a Validation Rule.
- Schedules
- Schedule Times
- Sequential Workflows - Workflows allow you to define a sequence of tasks which will make up the functionality of your solution. Workflows can be added to a menu in your user interface or they can be called by other workflows.
- Context Store
- Tasks
- Check Rule Task
- Service Method Call Task
- Set Workflow Property Task
- Update Context By Xpath Task
- Update Context Task
- User Interface Task
- Wait Task
- Workflow Call Task
- Workflow Call Context Mapping - You can pass data between the caller and called workflow by adding Context Mapping elements under the Workflow Call element.
- Blocks
- Passing Values
- Debugging Sequential Workflows
- Workflow Task Dependency
- Services - Internal and external services can be called by the sequential workflow engine’s Service Method Call Task in order to retrieve or save data, send e-mails, connect to external systems, etc.
- DataService - Data Service uses the complete ORIGAM data model metadata in order to translate it to internal language of each database server, typically to SQL.
- DataTransformationService - After loading the data from the database, you will need to modify the data in some way. Data Transformation is the way to do it.
- ExcelService - Using this service adapter you can read from and write to Microsoft Excel sheets (XLS format or XLSX).
- FileService - Using this service adapter you can read content from flat text files (e.g. CSV).
- FileSystemService - Using this service adapter you can execute operations on files on the server.
- Http Service
- MailService - Using Mail Service you can send and retrieve e-mail messages.
- MobilePhoneService - This service provides methods needed for communicating with mobile phones using a serial port.
- OperatingSystemService - This service provides methods for invoking operating system functions (e.g. command line).
- PrintService - This service provides a method for direct printing to printer.
- ReportService - This service provides methods for easy report batch printing.
- SerialPortCommunicationService - Using this service you can communicate with a computer’s serial (COM) port.
- Service Method
- SharePointListService - Using this service you can communicate with Microsoft SharePoint Server 2003. Methods are available for reading and updating SharePoint lists.
- WorkQueueService
- State Workflows
- Transformations - Transformations are used in sequential workflows and other places where you need to modify data loaded from a database or transform them to a different format.
- Work Queue Classes - The Work Queue Class is a part of the model which defines how a work queue message looks (what fields it has), how it gets composed and what special operations (beyond some default ones) you can execute on it.
- Extending Work Queue Notifications With a New Contact Type - It comes handy when you want to send notifications to recipients that are to be computed dynamically based on the data.
- Rules
- Web API/Pages - Web elements specify outside facing REST API or HTML pages. This way you can expose any data or functionality, or your ORIGAM applications in a simple way.
- API Page Types
- Data Page - Data page can be used to expose CRUD http://en.wikipedia.org/wiki/Create,\_read,\_update_and_delete data operations.
- File Download Page - Using this element you can define an API using which you will be able to download binary objects (BLOB) from the database, e.g. record attachments.
- Report Page
- Workflow Page - Using Workflow API you can expose sequential workflow functionality through the API. You would use this API typically where simple Data Page would not provide enough functionality, e.g. when additional processing has to happen before storing the data into the database.
- Action Parameter
- Redirect Action - Redirect defines where the HTTP request will be redirected after Workflow Page has finished.
- File Mapping
- Parameter Mapping
- API Page Types
XSLT Reference
Here you can explore Extensible Stylesheets for Transformations (XSLT) standard tags and functions as well as ORIGAM extensions.
- XSLT 1.0 Reference - Here you will find the reference of all standard XSLT 1.0 commands.
- AS Date Functions - Functions responsible for handling date values.
- AddDays - Adds a specified number of days to a date.
- AddHours
- AddMinutes
- AddMonths
- AddSeconds
- AddWorkingDays
- AddYears
- DifferenceInDays
- DifferenceInMinutes
- DifferenceInSeconds
- FirstDayNextMonthDate
- FormatDate
- IsDateBetween
- LastDayOfMonth
- ListDays
- LocalDateTime
- Month
- UTCDateTime
- Year
- AS Number Functions
- AS Other Functions
- ActiveProfileId - Returns an ID of a currently logged-in user.
- AS:abs
- AS:Diff
- AS:FormatLink
- AS:isnull
- AS:NodeSet
- AS:NodeToString
- AS:ToXml
- DecodeTextFromBase64
- GenerateId - Generates a new unique identifier Universally unique identifier - Wikipedia.
- GenerateSerial (sequenceCode, date) - Generates a new sequence (serial) number from the numbering sequence. A date is provided so the sequence can start new e.g. each year.
- GenerateSerial (sequenceCode) - Generates a new sequence (serial) number from the numbering sequence.
- GetConstant - Returns a constant value by name.
- GetString - Returns a string from a string model. The text will be returned in the user’s language.
- GetStringOrEmpty - Returns a string from a string model. If the name of the string is not found, return empty string. The text will be returned in the user’s language.
- HttpRequest - Sends a GET HTTP request and returns its data back.
- iif - Inline if conditional statement.
- IsFeatureOn
- IsInRole - Returns true if the currently logged-in user has the given application role assigned.
- IsInState - Returns true if the currentStateValue correspons to targetStateId. The function is necessary to be used when you need to compare some concrete state with state group.
- LookupList - This function allows you to get a list of values (single or multiple columns) from a data source directly in an XSLT transformation.
- LookupOrCreate
- LookupOrCreateEx
- LookupValue - Gets a value from defined lookup.
- MaxString
- MinString
- ResourceIdByActiveProfile - Returns an Id of the active logged-in user’s Resource Id.
- Trace
- Filesystem Functions - Filesystem related functions.
- FileExists - Returns true if file exists on the given path.
- Crypto Functions - Functions handling cryptography related tasks.
- Nonce - Returns Base64 encoded nonce.