Product Specs

This page provides a description as to how the Tulip product functional works and is designed. It is organized into the sections as described below.

  1. System Overview - These describe how Tulip can be configured at the account level, and provide necessary domain information for understanding Tulip concepts.

  2. Routes - Describe the specific views that present a user interface that is served by the admin console that let users CRUD (create, read, update and delete) specific types of data models, and relationships between models, given the appropriate access rights. The documentation of the routes effectively describes how one can use Tulip to created, edit and deploy Tulip solutions.

  3. Models - Describe the digital objects that make up a Tulip solution. Models and attributes that are wholly contained within another model, or are only important in the context of that model, are documented in a nested format with respect to that model.

  4. Components - Describe the complex and custom UI components that are used in multiple places throughout the Tulip platform. Simple components such as buttons, dropdowns, confirmation modals do not require documentation.

System Overview

IDNameDescription# Reqs
S_PLAYERTulip PlayerThe downloadable application used to run Tulip apps13
S_GTWYIoT GatewayA description of Tulip's IoT Gateway product0
S_DESCRThe Tulip PlatformHigh level description of Tulip2
S_DATAData ManagementOverview of the systems & technologies Tulip uses7
S_AUTHEnterprise AuthenticationSpecification of enterprise authentication configurations using SAML or LDAP3
S_AUDITApplication Audit TrailA description of how Tulip creates an audit trail.3

Routes

IDNameDescription# Reqs
R_USRMMy AccountAn interface for managing one's own user profile1
R_USPRUser ProfileAn interface for editing a user's profile and access rights3
R_TBLSTablesAn interface for managing Tulip Tables0
R_TBLQTable Query EditorAn interface for editing all parts of a Table Query0
R_TBLETable EditorAn interface for editing the schema and content of a single Tulip Table.1
R_SWRKSettings - Working DaysA configuration that determines the active working days for the account0
R_SUSRAccount Settings- UsersAn interface for managing users9
R_STATStationAn interface for managing a station0
R_SWRKSettings - Working DaysA configuration that determines the active working days for the account0
R_SPLSSettings - Player SettingsAn interface for managing all player settings in the account1
R_SDEVSettings - Developer ModeAn interface for managing Developer Mode settings0
R_SDATSettings - Date and TimeAn interface for managing the date and time settings0
R_SCOLSettings - Color PaletteAn interface for managing the color palette for the account0
R_SAPTSettings - Approval TypesAn interface for managing the account types available in the account1
R_SAMLSettings - SAML SetupAn interface for managing the integration between the Tulip account and the user's SAML directory0
R_SACCSettings - AccountAn interface for managing account settings0
R_PLAYER_MENUTulip Player MenuAn interface for viewing and editing app permissions0
R_NTWKSettings - Network AccessAn interface for managing the IP addresses and CIDR blocks that are allowed to use this account0
R_MTYPSMachine TypesView a list of all machine types0
R_MTYP_DETMachine Type DetailsView and configure a machine type0
R_MSTSMachine StatesThe page for viewing a list of machine states0
R_MLIBMachine LibraryView a list of all machines0
R_MFLDMachine Activity FieldsThe page for viewing a list of machine activity fields0
R_MDTSMachine Data SourcesAn interface for managing machine data sources.0
R_MDTRMachine Downtime ReasonsView a list of all downtime reasons0
R_MDETMachine DetailsView and configure a machine0
R_MATTMachine AttributesThe page for viewing a list of machine attributes0
R_HISTActivity HistoryThe page for viewing a timeline of activity records1
R_GTWYGateway ManagerAn interface for managing and logging into IoT Gateways0
R_DEVMDeveloper ModeThe testing experience for using the Developer Version of any app1
R_DASHDashboardAn interface for viewing and editing the Dashboard model1
R_CONNSConnectorsThe page for managing connectors0
R_CONNConnectorThe page for managing a single connector1
R_CONN_FUNCConnector Function EditorThe page for editing a connector function1
R_BOTSSettings - BotsAn interface for managing the credentials that are allowed to access the Tulip API on this account0
R_APPVApp VersionsAn interface for viewing and managing the versions for an app0
R_APPPApp PermissionsAn interface for viewing and editing app permissions2
R_APPOApp OverviewA view of app structure and metadata app1
R_APPGApp GroupAn interface for managing an app group1
R_APPEApp EditorAn interface for editing the layout and logic of an app11
R_APPDApplication DashboardA page for seeing the dashboard of all analyses for an app0
R_APPCApp CompletionsAn interface for viewing and exporing the completion data for anapp9
R_APPAApp ApprovalsAn interface for managing approval assignment for an app3
R_ANYSAnalysisA full page view of an analysis6
R_ANYEAnalytics EditorAn interface for creating and editing analyses1

Models

IDNameDescription# Reqs
M_USERUserA digital record for a person granted some level of access to the Tulip System5
M_USER_STATUSUser StatusThe current state of a user with respect to the system0
M_USER_ROLEUser RoleA named collection of specific access rights that can be assigned to a user6
M_USER_FIELDUser FieldA custom attribute applied to the user model0
M_TRIGTriggersUser defined actions performed in response to events in the Tulip system.74
M_TABLETableA user defined database that easily integrates with Tulip apps.55
M_TABLE_RECORDTable RecordA row in a Tulip Table22
M_TABLE_RECORD_FIELDTable Record FieldA property for each object in the table. Sometimes called a column.23
M_TABLE_QUERYTable QueryA collection of Table Records that can be changed based on values in an app5
M_TABLE_AGGREGATIONTable AggregationA summary value that can exist on top of a single field in a Tulip Table0
M_STATStationA configuration that connects a specific Tulip player to machines and devices6
M_STAGStation GroupA group of stations0
M_PLAYER_DEVICE_MAPPlayer Device MappingThe technical details of a device that can be used in the Tulip Player0
M_MTYPMachine TypeA ruleset used to define the behavior of a Machine7
M_MTRIGMachine TriggersIf/Then logic for defining the state of a machine and other machine fields.5
M_MSTSMachine StateA category for the current status of a Machine11
M_MFLDMachine Activity FieldA field or column in a machine activity table.2
M_MDTSMachine Data SourceA connection to data generated by a physical machine2
M_MDTRMachine Downtime ReasonA data type used to classify downtime events for Machines1
M_MATTMachine AttributeA unit of data for mapping between raw data and a Machine2
M_MACHMachineA digital twin of equipment that generates data.5
M_MACH_MACTMachine ActivityA running history of state details for a machine2
M_EXPRESSIONExpressionsA configured code snippet that returns a calculated value based on certain inputs2
M_DASHDashboardA column based layout for seeing a collection of analyses3
M_CONNConnectorA configuration that specifies how Tulip connects to an external data source21
M_CONN_FUNCConnector FunctionA configured code snippet that allows apps to make requests to a connector data source22
M_CONN_ENVConnector EnvironmentA configuration for how a connector accesses a data source given the app status.2
M_CLRSColor PaletteAllows for defining a universal color palette that can be accessed in all apps.0
M_BOTSBotA set of credentials for using the Tulip API0
M_APPROVALTYPEApproval TypeA specific approval that must be accepted for an app to be published2
M_APPGROUPApp GroupNamed groupings of Apps, similar to folders in a file system.1
M_APPApp (Application)The set of all versions of an a app.9
M_APP_VERApp VersionsA specific version of an app11
M_APP_VER_VARVariableDynamic value used in apps for real time control logic22
M_APP_VER_STEPGROUPStep GroupA collection of steps and step groups app2
M_APP_VER_STEPStepA named view in an app that can be routed to based on trigger logic and human actions21
M_APP_VER_STEP_SIGNSignature StepA form step that includes an e-sig widget16
M_APP_VER_STEP_REGRegular StepA step that renders a custom arrangement of widgets10
M_APP_VER_STEP_REG_WIDGETWidgetA UI component that can be custom configured to be on an a step20
M_APP_VER_STEP_HIST_WIDGETRecord History WidgetA UI component that can be used to view the history of a table record6
M_APP_VER_STEP_FORMForm StepA step that renders input widgets in a form3
M_APP_VER_STEP_FORM_INPUTForm InputAn input element for user data entry on a form step17
M_APP_VER_RECDRecord PlaceholderA dynamic reference in an app to a table record0
M_APP_VER_QRYTable Query PlaceholderAn instance of a Table Query that is bound to an app0
M_APP_VER_COMPApp Version CompletionA persistent log of App execution metrics and state.27
M_APP_VER_AGGTable Aggregation InstanceAn instance of a Table Aggregation that is bound to an app0
M_APP_PERMApp PermissionA named role for assigning a user certain access rights to an app3
M_APP_APPRApp ApprovalAn approval type assigned to an app, and the eligible approvers, required for a new version of an app to be published.7
M_ANALYSISAnalysisA configuration specifying a way to retrive and represent data on a dashboard or in an app21
M_ALLOWLISTIP AllowlistA set of permitted IP addresses and CIDR blocks for accessing Tulip.0
M_ACTIVITYActivity RecordAn immutable record containing information about a change to master data0

Components

IDNameDescription# Reqs
C_MENUMenu BarA universal navigation bar across all routes in Tulip0
C_ACTRActivity RecordA card for displaying an activity record0