@olympeio/runtime-node 9.11.7 → 9.11.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.11.7","ff023000000000000011":"Primordial"}},{"o":1,"t":"00000000000000000060","p":{"ff023000000000000011":"Embedded Graph Database","ff023000000000000060":true,"ff023000000000000063":"hybrid","ff023000000000000065":false}}],"optionalOperations":[{"o":1,"t":"10000000000000000001","p":{"ff023000000000000011":"Olympe Libraries"}},{"o":1,"t":"10000000000000000002","p":{"ff023000000000000011":"Internal"}},{"o":1,"t":"10000000000000000000","p":{"ff023000000000000011":"Home"}}]}
1
+ {"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"100000000000000000dd","p":{"017869c7d2833c9492c1":"@olympeio/runtime","017869c80bb9929c76d0":"9.11.8","ff023000000000000011":"Primordial"}},{"o":1,"t":"00000000000000000060","p":{"ff023000000000000011":"Embedded Graph Database","ff023000000000000060":true,"ff023000000000000063":"hybrid","ff023000000000000065":false}}],"optionalOperations":[{"o":1,"t":"10000000000000000001","p":{"ff023000000000000011":"Olympe Libraries"}},{"o":1,"t":"10000000000000000002","p":{"ff023000000000000011":"Internal"}},{"o":1,"t":"10000000000000000000","p":{"ff023000000000000011":"Home"}}]}
@@ -1 +1 @@
1
- {"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"014831d95fd7d12b8568","p":{"ff023000000000000001":"admin","ff023000000000000004":"7786a50fc85b287ec9aadebf0e940eb4b9577140a936a7a046c7edc2afa2ec0a","ff023000000000000005":"45108c56fc2bbea114eca6765cd3a860e218261445839185824ad5fb5fbb93a61b3f774c3e5dd431ad4371ba6f88aa5d073a2fa596956f64fe8fead92d1c5867d9d171ba0aeff3828e794c22ff7818107c61562b2cf7668ae9ef9af56b3eb15dfb4e16c59ef2e21b599338d904697be948ec9f25844b62c9cb482a94e86d9ed35e6e36d3f9518d81a42ba7413d54ea369fbdd5d819c6934e8413dc7b43e4c3dd29b1c4d05ea60d7bf015559e85276ff3f5f59152cf224ba9c6d8e0c1b8f1369e143a45ca620394f62272bbb9a8e3a207c34bf2bc78a3ede8fa35b0c0db1c5bb8d9e763c4643ec5cf726a3272977a59340fee476c5c4e09b29a7e4521afc63626"}},{"o":2,"t":"0163d9653067b6237f62","p":{"ff023000000000000001":"guest","ff023000000000000004":"9ec16ea49905a236dbe01f3a897d279344ad6b8dc84b7f5177d40333b5a7bab2","ff023000000000000005":"3231836fcadc4dbc18d665214cccf8d057b014291925fd4290ec0eac62a52c18f1e13193fe1ed93f3220630783c457ec73b9532a1887085cab107b00de321852d584cad9d8406b0f19b22a7a8429f75f273a719e44dbc3f49947ca735510de61f96a20799ea4236ba5509899e96c8e0caab4519c5957a6640a3afb1dea5ea05ee6c5769381bc7a4ec84a7bd902425e13f19fe59f0062e239b1eda437589eb9ea71805eefa490412f572bcd27bc197003980b0b884a4ab255bd8fe5a2d138099cc9ff3936462d550235139144ea644c8eb6aa496775349aaac392ac0d52e6d06ec09a04c43507af06f7a8cf61f20701407527a14bd03f6002e4380cbac605868c"}}],"optionalOperations":[]}
1
+ {"rootTag":"100000000000000000dd","operations":[{"o":2,"t":"014831d95fd7d12b8568","p":{"ff023000000000000001":"admin","ff023000000000000004":"2715dd5d27efbb43d86581057b0a52b937ad2f7689e98b5aa1a63e561656197f","ff023000000000000005":"7e426852bf18f4abb08b02fef94bd9ce82b91c8d2295af0e0a2131fec17da21c3687606ebb9a56d14e61efcba6249de9275887ea24e9c091b66e91b2eab299ae66c946d0e91aed7495224481af27e0e41ac84b0a6b8b10238918c6b415df7816e3d2ab4d16906560b461aa13f349a1a2c814e9e7e2c3d33b423c6a7881bc130d4b0aba99c1e3cde59c210ffdfa017ed851457c67861267772b76de3e0e1a4c425f005ae14b017ba2017580ceae32d5f194d7e2c254c0892eb67783f42acc5547eeaaaf07370f98ec66b60aa7ace5933eaeccd3bd8f6f10d0756e56bae648e2e74f574781019af5751d7a7c26af5c6be603f71dd7b9899407bcbdaea75634a905"}},{"o":2,"t":"0163d9653067b6237f62","p":{"ff023000000000000001":"guest","ff023000000000000004":"b4a58c4ee20a094f3300de87bcc23449c448f7518ca5803bc7931a473c864ff8","ff023000000000000005":"811b5b47efded2f6cd04b91fbef18e5e265769a712c96a5107920544fe32756e5c2a9674829168d377ec033176493bdbd44a9903946e5effde4a604fcc38ac4e34b68516894366a783509b3d42fe47fc4d3d1218f836a1ae5c38d83310b6fc470d1fda466726ec0cd0240f7e11156703cbb8599074953b02c00c0257105770a647fb77cdcff919d72766fd36d664a2e2e2c2748c23ce4cd230e304a8bfc8fae35fc81afd1c4c6b3a3151077aa2024bd724f95f9cc1ee27ce27386e3162a94a7ce377af0cfa7c2812c3be4c4f703f1ef915824f1249e552984907a545a3555a8c26da7039ca4f5127fc3c121cb69e4dd69f13f12caf9da845630d5c5f20f96ac3"}}],"optionalOperations":[]}
@@ -1 +1 @@
1
- {"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"}},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"Allows defining one or more enums.","01703376c4a81c0e9d92":"An enum is an ordered list of entries, with a `Value` and a `Display Name`. The `Value` is the actual value being used within dataflows, while the `Display Name` is the text displayed in DRAW.<br/><br/>Enums are treated as *types* within Olympe, and they can therefore be used in various places:\n- In Functions and Actions, as types of inputs and outputs\n- In Visual Components, as types of properties\n- In Data Models, as types of properties within Data Types\n\n"}},{"o":1,"t":"016cdd861b32d56c8208","p":{"ff023000000000000011":"Enum Item"}},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Config Data Set"}},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of Config Data Type instances.","01703376c4a81c0e9d92":"Config Data Sets are used to create instances of Config Data Types.\nThey are typically used to create sets of data that can be used by your application as configuration, a bit like enums, with custom properties.<br/><br/>Since that data is part of the definition of applications, it cannot be updated by applications at runtime.\nCompared to instances of regular Data Types, which are created and modified by users at runtime, records inside Config Data Sets are saved during the export of the project, as part of the application data."}},{"o":1,"t":"016324fde11a836f77d3","p":{"ff023000000000000011":"Config Data Type"}},{"o":1,"t":"016324fde11a836088d3","p":{"ff023000000000000011":"Config Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f77d3","p":{"01703376c4a81c0e9d91":"A data structure to be used as configuration within bricks and applications.","01703376c4a81c0e9d92":"A Config Data Type let you specify a complex data structure which contains a number of properties an relations.\nThis is very similar to the concept of 'Class' in object-oriented programming languages.\nCompare to regular Data Types, a Config Data Type is defined in a *Config Data Model*, and it must be instantiated in a *Config Data Set*."}},{"o":1,"t":"0163a68ce44f3d1fa95d","p":{"ff023000000000000011":"Config Data Model"}},{"o":1,"t":"0163a68ce4503d1fa95d","p":{"01703376c4a81c0e9d91":"Defines Config Data Types and their relations.","01703376c4a81c0e9d92":"A Config Data Model is where you define the data structures called *Config Data Types*, which can be used within bricks and applications as configuration.<br/><br/>A Config Data Model allows defining complex data structure with multiple config data types, properties and relations.<br/><br/>A project can have multiple Config Data Models."}},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"}},{"o":1,"t":"016324fde11a836087c2","p":{"ff023000000000000011":"Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"Defines a new type.","01703376c4a81c0e9d92":"A Data Type is very similar to the concept of 'Class' in object-oriented programming languages, or to a table in a relational database. A data type can contain:\n- Properties: values attached to data type instances\n- Relations: these are many-to-many relationships between data type instances.\n\n"}},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"}},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"Defines data types and relations between them.","01703376c4a81c0e9d92":"A Data Model enables defining the structure of the data that the application and its users will manage.A single Data Model can define multiple Data Types, as well as the relations between them. A project can have multiple Data Models."}},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"}},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":515,"ff023000000000000031":1,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":0}},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0,"ff023000000000000437":0,"ff023000000000000537":0}},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"}},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A Media Library stores assets like images, videos and fonts that can be used within the project."}},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"}},{"o":1,"t":"01644b6297315d62fca2","p":{"01703376c4a81c0e9d91":"A file containing an image.","01703376c4a81c0e9d92":"An Image File contains a binary encoded image. Supported formats are jpeg, png and gif."}},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":12,"m":34,"s":58,"S":964,"z":0,"y":2025,"M":7,"d":2},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":12,"m":34,"s":58,"S":964,"z":0,"y":2025,"M":7,"d":2}}},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"}},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"}},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"}},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"}},{"o":1,"t":"01647e113044c637b541","p":{"01703376c4a81c0e9d91":"A file containing a font definition.","01703376c4a81c0e9d92":"A Font File contains a set of graphically related used to display strings on the screen.\n Supported formats are: woff & woff2"}},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"}},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"A Video File contains a binary encoded video. Supported formats are mp4, mpeg and avi."}},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"}},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"}},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"}},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"}},{"o":1,"t":"018119241abce0e5696e","p":{"ff023000000000000011":"Map"}},{"o":1,"t":"018119241abde0e5696e","p":{"01703376c4a81c0e9d91":"An ordered collection of key-value pairs.","01703376c4a81c0e9d92":"A Map is a collection of values. Each value has a unique key and can be accessed through that key."}},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"}},{"o":1,"t":"01631aacd8286ea98490","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A List is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."}},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"}},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"}},{"o":1,"t":"01631aacd8286ea98491","p":{"01703376c4a81c0e9d91":"A mutable ordered collection of objects.","01703376c4a81c0e9d92":"An Array is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"}},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of object tuples produced by the execution of a Query. It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"}},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"}},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"}},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"}},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"}},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"}},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"}},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"}},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"}},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"}},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"}},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"}},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"}},{"o":1,"t":"018312ceeb3e93618a85","p":{"ff023000000000000011":"Context"}},{"o":1,"t":"018312ceeb3f93618a85","p":{"01703376c4a81c0e9d91":"Context of a brick","01703376c4a81c0e9d92":"A Context is a placeholder to store some key/value related to a specific part (context) of the application"}},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"}},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true}},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"}},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"}},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"}},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true}},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"}},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"}},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"}},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"}},{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"}},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d91":"A signature for functions","01703376c4a81c0e9d92":"A Function Signature defines the inputs and outputs, with names and types, of a function, but does not provide an implementation.Function Signatures can be used to define as types within the inputs or outputs of Functions and Actions, as well as within properties of Visual Components.<br/><br/>A Function Signature is analogous to an <a href=\"https://en.wikipedia.org/wiki/Interface_(object-oriented_programming)\" targer=\"_blank\">interface</a> in object-oriented programming."}},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"}},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"}},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"}},{"o":1,"t":"0166446c1f128ebc904e","p":{"ff023000000000000011":"On Error"}},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true}},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":10,"ff023000000000000437":10,"ff023000000000000537":10}},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4,"ff023000000000000437":4,"ff023000000000000537":2}},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true}},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"}},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"}},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"}},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A Function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A Function is the basic logic brick. It takes one or several inputs and produces one or several outputs.\nFor instance `Plus` is a Function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs.<br/><br/>A Function can be reused within other Functions, Actions and Visual Components.<br/><br/>By default, a Function is triggered once each one of its inputs has been defined, and then everytime one of its inputs changes."}},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"}},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A Function implemented using code.","01703376c4a81c0e9d92":"A Coded Function is a function implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Functions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true}},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"}},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"}},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"}},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"}},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"}},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"An Action is the other basic logic brick. It also takes one or several inputs and produces one or several outputs.\nAdditionally, an Action has an input and output *control flows*. The Action is executed when the input control flow is triggered, and it defines all outputs before the output control flow is triggered.<br/><br/>By default, an action is triggered everytime the control flow is triggered, regardless of the value of the other inputs.<br/><br/>An Action can be reused within other Functions, Actions and Visual Components."}},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"}},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"An Action implemented using code.","01703376c4a81c0e9d92":"A Coded Action is an Action implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Actions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true}},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"}},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A long running action to be run in a Service Application.","01703376c4a81c0e9d92":"A Service is an Action meant to be run inside a Service App. The Service is triggered when the Service App starts, and runs until the Service App stops.<br/><br/>A Service has no input, and its configuration is therefore generally read from configuration files, APIs or other external sources.<br/><br/>Typical uses of Services are to run batch jobs, expose web services, or listen to outside events such as incoming emails."}},{"o":1,"t":"0169b6876a03f139d50a","p":{"ff023000000000000011":"Interaction Event Definition"}},{"o":1,"t":"016ac63808535703691c","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"0169b6876a03f14ae61b","p":{"ff023000000000000011":"Error Handler Definition"}},{"o":1,"t":"016ac638085357047a2d","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"}},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"}},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"An action running remotely in a Service App.","01703376c4a81c0e9d92":"A Remote Action is an Action which is running within a Service App. It behaves and it is used like an action, but it runs remotely. The Remote Action takes care of serializing the inputs, send them to the Service App, executes the content of the Remote Action, and serializes the outputs back to the caller.<br/><br/>Remote Actions are typically used to call APIs, databases, send emails and perform other back-end operations.<br/><br/>A remote action is synchronous, and can therefore be subject to timeouts if running for too long. The timeout value is configurable per environment."}},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true}},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"}},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"}},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"}},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"}},{"o":1,"t":"011203300000000adf0f","p":{}},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true}},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171bc1f15da96dfdb90","p":{"ff023000000000000011":"deploy data source","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"}},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"}},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"}},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"}},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"}},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"}},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"}},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"}},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"}},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"}},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"}},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"}},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"}},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"011203300001000adef3","p":{"01703376c4a81c0e9d91":"A headless (with no UI) application.","01703376c4a81c0e9d92":"Service Apps are back-end applications that are meant to be run on servers or on any edge or IoT device that does not have a screen. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."}},{"o":1,"t":"017dc8d6c8fd8c8bd2ff","p":{"ff023000000000000011":"Data Connector"}},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true}},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true}},{"o":1,"t":"017ffdc010e5bcc9c971","p":{"fd017ffdc010e5bcc9c972":false,"ff023000000000000011":"Workflow"}},{"o":1,"t":"017ffdc010e5bcc9c972","p":{"ff023000000000000011":"Serialization Enabled"}},{"o":1,"t":"017ffdc010e5bcc9c973","p":{"ff023000000000000011":"Data Type","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"017ffdc010e5bcc9c974","p":{"ff023000000000000011":"States","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6,"ff023000000000000437":6,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e5bcc9c975","p":{"ff023000000000000011":"Initial State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e6bcc9c971","p":{"01703376c4a81c0e9d91":"Defines states and transitions between states.","01703376c4a81c0e9d92":"A Workflow defines a set of *states* through which the instances of a Data Type can go through, as well as the transitions allows between those states.<br/><br/>A Workflow can therefore be seen as a state machine. Each transition can have an optional *Process Function*, which can embed any custom logic to:\n- Add predefined processing within a transition\n- Add additional verification logic to allow or deny the transition to happen\n\nEach Workflow is assigned to a Data Type, and can then be used to control the possible states of the instances of that Data Type."}},{"o":1,"t":"017ffdc2dda51d46b430","p":{"ff023000000000000011":"Workflow State"}},{"o":1,"t":"017ffdc2dda61d46b430","p":{"01703376c4a81c0e9d91":"A single state of a workflow sequence.","01703376c4a81c0e9d92":"A Workflow State represents a single state in a workflow."}},{"o":1,"t":"017ffde21f5fe0f704ce","p":{"ff023000000000000011":"Workflow Process Function Definition"}},{"o":1,"t":"017ffe02381f9fac5060","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5061","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Object"}},{"o":1,"t":"017ffe02381f9fac5062","p":{"017bc044aeacce7ffc8f":2,"ff023000000000000011":"User"}},{"o":1,"t":"017ffe02381f9fac5065","p":{"017bc044aeacce7ffc8f":3,"ff023000000000000011":"Data Map"}},{"o":1,"t":"017ffe02381f9fac5063","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5064","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017ffdc633219f16beea","p":{"ff023000000000000011":"Workflow Transition"}},{"o":1,"t":"017ffdc633219f16beec","p":{"ff023000000000000011":"Process"}},{"o":1,"t":"017ffdc2dda51d46b431","p":{"ff023000000000000011":"From State","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}},{"o":1,"t":"017ffdc633219f16beeb","p":{"ff023000000000000011":"To State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}}],"optionalOperations":[]}
1
+ {"rootTag":"100000000000000000dd","operations":[{"o":1,"t":"017a7a9ff057958e5678","p":{"ff023000000000000011":"Enums"}},{"o":1,"t":"017a7a9ff058958e5678","p":{"01703376c4a81c0e9d91":"Allows defining one or more enums.","01703376c4a81c0e9d92":"An enum is an ordered list of entries, with a `Value` and a `Display Name`. The `Value` is the actual value being used within dataflows, while the `Display Name` is the text displayed in DRAW.<br/><br/>Enums are treated as *types* within Olympe, and they can therefore be used in various places:\n- In Functions and Actions, as types of inputs and outputs\n- In Visual Components, as types of properties\n- In Data Models, as types of properties within Data Types\n\n"}},{"o":1,"t":"016cdd861b32d56c8208","p":{"ff023000000000000011":"Enum Item"}},{"o":1,"t":"01645fe6873aeea59e64","p":{"ff023000000000000011":"Config Data Set"}},{"o":1,"t":"017ed8ac775f48d4d589","p":{"ff023000000000000011":"dataRel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":0,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01645fe6873beea59e64","p":{"01703376c4a81c0e9d91":"Set of Config Data Type instances.","01703376c4a81c0e9d92":"Config Data Sets are used to create instances of Config Data Types.\nThey are typically used to create sets of data that can be used by your application as configuration, a bit like enums, with custom properties.<br/><br/>Since that data is part of the definition of applications, it cannot be updated by applications at runtime.\nCompared to instances of regular Data Types, which are created and modified by users at runtime, records inside Config Data Sets are saved during the export of the project, as part of the application data."}},{"o":1,"t":"016324fde11a836f77d3","p":{"ff023000000000000011":"Config Data Type"}},{"o":1,"t":"016324fde11a836088d3","p":{"ff023000000000000011":"Config Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f77d3","p":{"01703376c4a81c0e9d91":"A data structure to be used as configuration within bricks and applications.","01703376c4a81c0e9d92":"A Config Data Type let you specify a complex data structure which contains a number of properties an relations.\nThis is very similar to the concept of 'Class' in object-oriented programming languages.\nCompare to regular Data Types, a Config Data Type is defined in a *Config Data Model*, and it must be instantiated in a *Config Data Set*."}},{"o":1,"t":"0163a68ce44f3d1fa95d","p":{"ff023000000000000011":"Config Data Model"}},{"o":1,"t":"0163a68ce4503d1fa95d","p":{"01703376c4a81c0e9d91":"Defines Config Data Types and their relations.","01703376c4a81c0e9d92":"A Config Data Model is where you define the data structures called *Config Data Types*, which can be used within bricks and applications as configuration.<br/><br/>A Config Data Model allows defining complex data structure with multiple config data types, properties and relations.<br/><br/>A project can have multiple Config Data Models."}},{"o":1,"t":"016324fde11a836f76c2","p":{"ff023000000000000011":"Data Type"}},{"o":1,"t":"016324fde11a836087c2","p":{"ff023000000000000011":"Data Type -> Project","ff023000000000000030":610,"ff023000000000000031":96,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":8,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016324fde11b836f76c2","p":{"01703376c4a81c0e9d91":"Defines a new type.","01703376c4a81c0e9d92":"A Data Type is very similar to the concept of 'Class' in object-oriented programming languages, or to a table in a relational database. A data type can contain:\n- Properties: values attached to data type instances\n- Relations: these are many-to-many relationships between data type instances.\n\n"}},{"o":1,"t":"0163a68ce44f3d1fa84c","p":{"ff023000000000000011":"Data Model"}},{"o":1,"t":"0163a68ce4503d1fa84c","p":{"01703376c4a81c0e9d91":"Defines data types and relations between them.","01703376c4a81c0e9d92":"A Data Model enables defining the structure of the data that the application and its users will manage.A single Data Model can define multiple Data Types, as well as the relations between them. A project can have multiple Data Models."}},{"o":1,"t":"017b3aa8fae1e3d044dc","p":{"ff023000000000000011":"Business Container"}},{"o":1,"t":"017b3aa8fd1659291b92","p":{"ff023000000000000011":"business container to project","ff023000000000000030":515,"ff023000000000000031":1,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":0,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":0}},{"o":1,"t":"017b3aa8fe7ec3fd52f2","p":{"ff023000000000000011":"business container to runtime objects","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":0,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":0,"ff023000000000000437":0,"ff023000000000000537":0}},{"o":1,"t":"01644b6d4543b344b857","p":{"ff023000000000000011":"Media Library"}},{"o":1,"t":"01644b6d4544b344b857","p":{"01703376c4a81c0e9d91":"A repository for media resources.","01703376c4a81c0e9d92":"A Media Library stores assets like images, videos and fonts that can be used within the project."}},{"o":1,"t":"01644b6297305d62fca2","p":{"ff023000000000000011":"Image File"}},{"o":1,"t":"01644b6297315d62fca2","p":{"01703376c4a81c0e9d91":"A file containing an image.","01703376c4a81c0e9d92":"An Image File contains a binary encoded image. Supported formats are jpeg, png and gif."}},{"o":1,"t":"016eb13ba1388f7bdd71","p":{"ff023000000000000011":"picture_default","ff023000000000000050":"picture_default.svg","ff023000000000000051":{"c":4,"h":12,"m":19,"s":24,"S":61,"z":0,"y":2025,"M":7,"d":29},"ff023000000000000052":"image/svg+xml","ff023000000000000053":"images/picture_default.svg","ff023000000000000054":false,"ff023000000000000055":{"c":4,"h":12,"m":19,"s":24,"S":61,"z":0,"y":2025,"M":7,"d":29}}},{"o":1,"t":"01647e113043c637b541","p":{"fd01647e677f5d1cfbdf42":"normal","fd01647e6780999bf8bd25":300,"ff023000000000000011":"Font File"}},{"o":1,"t":"01647e35ecd24ef0b88d","p":{"ff023000000000000011":"Font Family"}},{"o":1,"t":"01647e677f5d1cfbdf42","p":{"ff023000000000000011":"Font Style"}},{"o":1,"t":"01647e6780999bf8bd25","p":{"ff023000000000000011":"Font Weight"}},{"o":1,"t":"01647e113044c637b541","p":{"01703376c4a81c0e9d91":"A file containing a font definition.","01703376c4a81c0e9d92":"A Font File contains a set of graphically related used to display strings on the screen.\n Supported formats are: woff & woff2"}},{"o":1,"t":"0164643c432146a71d5c","p":{"ff023000000000000011":"Video File"}},{"o":1,"t":"0164643c432246a71d5c","p":{"01703376c4a81c0e9d91":"A file containing a video recording.","01703376c4a81c0e9d92":"A Video File contains a binary encoded video. Supported formats are mp4, mpeg and avi."}},{"o":1,"t":"0163c9ae01f2d6e9ca49","p":{"ff023000000000000011":"ObjectRef"}},{"o":1,"t":"0163c9ae0401d21eb0c3","p":{"ff023000000000000011":"objectTag"}},{"o":1,"t":"0169b5a8a33144fb0b49","p":{"ff023000000000000011":"reference","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016421bb3797e22d1c4e","p":{"ff023000000000000011":"Video Stream"}},{"o":1,"t":"0162f672366be5ca7a86","p":{"ff023000000000000011":"Type"}},{"o":1,"t":"018119241abce0e5696e","p":{"ff023000000000000011":"Map"}},{"o":1,"t":"018119241abde0e5696e","p":{"01703376c4a81c0e9d91":"An ordered collection of key-value pairs.","01703376c4a81c0e9d92":"A Map is a collection of values. Each value has a unique key and can be accessed through that key."}},{"o":1,"t":"01631aacd8276ea98490","p":{"ff023000000000000011":"List"}},{"o":1,"t":"01631aacd8286ea98490","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A List is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).\nThis is similar to arrays in programming languages."}},{"o":1,"t":"016cfca73e63f9ab5ba4","p":{"ff023000000000000011":"Text"}},{"o":1,"t":"01631aacd8276ea98491","p":{"ff023000000000000011":"Array"}},{"o":1,"t":"01631aacd8286ea98491","p":{"01703376c4a81c0e9d91":"A mutable ordered collection of objects.","01703376c4a81c0e9d92":"An Array is a collection of objects of the same type (e.g. a list of strings). It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98492","p":{"ff023000000000000011":"Query Result"}},{"o":1,"t":"01631aacd8286ea98492","p":{"01703376c4a81c0e9d91":"An ordered collection of objects.","01703376c4a81c0e9d92":"A **QueryResult** is a collection of object tuples produced by the execution of a Query. It can be accessed sequentially (one entry after the other) or directly by specifying the rank of the entry (e.g. the 3rd entry).<br/><br/>This is similar to arrays in programming languages."}},{"o":1,"t":"01631aacd8276ea98493","p":{"ff023000000000000011":"Query"}},{"o":1,"t":"01631aacd8286ea98493","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98494","p":{"ff023000000000000011":"Filter Type"}},{"o":1,"t":"01631aacd8286ea98494","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98495","p":{"ff023000000000000011":"Sort Direction"}},{"o":1,"t":"01631aacd8286ea98495","p":{"01703376c4a81c0e9d91":"TODO","01703376c4a81c0e9d92":"TODO"}},{"o":1,"t":"01631aacd8276ea98496","p":{"017a7690c915975ea995":0,"ff023000000000000011":"equals","ff023000000000000026":"equals"}},{"o":1,"t":"01631aacd8276ea98497","p":{"017a7690c915975ea995":1,"ff023000000000000011":"different","ff023000000000000026":"different"}},{"o":1,"t":"01631aacd8276ea98498","p":{"017a7690c915975ea995":2,"ff023000000000000011":"contains","ff023000000000000026":"contains"}},{"o":1,"t":"01631aacd8276ea98499","p":{"017a7690c915975ea995":3,"ff023000000000000011":"greater than","ff023000000000000026":"greater than"}},{"o":1,"t":"01631aacd8276ea9849a","p":{"017a7690c915975ea995":4,"ff023000000000000011":"greater or equals","ff023000000000000026":"greater or equals"}},{"o":1,"t":"01631aacd8276ea9849b","p":{"017a7690c915975ea995":5,"ff023000000000000011":"smaller than","ff023000000000000026":"smaller than"}},{"o":1,"t":"01631aacd8276ea9849c","p":{"017a7690c915975ea995":6,"ff023000000000000011":"smaller or equals","ff023000000000000026":"smaller or equals"}},{"o":1,"t":"01631aacd8276ea9849d","p":{"017a7690c915975ea995":7,"ff023000000000000011":"regexp","ff023000000000000026":"regexp"}},{"o":1,"t":"01631aacd8276ea9849e","p":{"017a7690c915975ea995":0,"ff023000000000000011":"ascending","ff023000000000000026":"ascending"}},{"o":1,"t":"01631aacd8276ea9849f","p":{"017a7690c915975ea995":1,"ff023000000000000011":"descending","ff023000000000000026":"descending"}},{"o":1,"t":"018312ceeb3e93618a85","p":{"ff023000000000000011":"Context"}},{"o":1,"t":"018312ceeb3f93618a85","p":{"01703376c4a81c0e9d91":"Context of a brick","01703376c4a81c0e9d92":"A Context is a placeholder to store some key/value related to a specific part (context) of the application"}},{"o":1,"t":"01621fb84e320000cf00","p":{"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016eeb5ede9f3094d8f0","p":{"ff023000000000000011":"Error Flow"}},{"o":1,"t":"016ac4f59ee8ea2081ba","p":{"ff023000000000000011":"Predefined IO","ff023000000000000012":true}},{"o":1,"t":"017bc044aeacce7ffc8f","p":{"ff023000000000000011":"Predefined IO Rank"}},{"o":1,"t":"016ac4f5a0091c4790e2","p":{"ff023000000000000011":"Predefined Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59c592b862457","p":{"ff023000000000000011":"Predefined Input"}},{"o":1,"t":"016ac4f59dd99f5df3e1","p":{"ff023000000000000011":"Predefined Output"}},{"o":1,"t":"0168a431d25001540000","p":{"ff023000000000000011":"Runnable IO","ff023000000000000012":true}},{"o":1,"t":"01740c5d4ae4b520dd01","p":{"ff023000000000000011":"IO Rank"}},{"o":1,"t":"0168a431d3b9b7438424","p":{"ff023000000000000011":"Type IO","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"0168a431d25001540001","p":{"ff023000000000000011":"Runnable Input"}},{"o":1,"t":"01740c5d4ae4b520dd02","p":{"ff023000000000000011":"Default Value"}},{"o":1,"t":"0168a431d25001540002","p":{"ff023000000000000011":"Runnable Output"}},{"o":1,"t":"011100000000000adef0","p":{"ff023000000000000011":"Function Signature"}},{"o":1,"t":"016ac4f59a2917fdef01","p":{"ff023000000000000011":"Predefined Inputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"016ac4f59a2917fdef02","p":{"ff023000000000000011":"Predefined Outputs rel","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011100000001000adef0","p":{"01703376c4a81c0e9d91":"A signature for functions","01703376c4a81c0e9d92":"A Function Signature defines the inputs and outputs, with names and types, of a function, but does not provide an implementation.Function Signatures can be used to define as types within the inputs or outputs of Functions and Actions, as well as within properties of Visual Components.<br/><br/>A Function Signature is analogous to an <a href=\"https://en.wikipedia.org/wiki/Interface_(object-oriented_programming)\" targer=\"_blank\">interface</a> in object-oriented programming."}},{"o":1,"t":"0112000000000000def0","p":{"fd01692aa71f3108454479":false,"ff023000000000000011":"Runnable Definition"}},{"o":1,"t":"01692aa71f3108454479","p":{"ff023000000000000011":"hardcoded"}},{"o":1,"t":"0166446c1f128ebc903a","p":{"ff023000000000000011":"On Load"}},{"o":1,"t":"0166446c1f128ebc904e","p":{"ff023000000000000011":"On Error"}},{"o":1,"t":"01621fb84e320000f00a","p":{"ff023000000000000011":"Inputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01621fb84e320000f00b","p":{"ff023000000000000011":"Outputs","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"0171838bcfed0000e00e","p":{"ff023000000000000011":"Super Definition","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171838bcfed0000a00a","p":{"ff023000000000000011":"Auxiliary model","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"01130000000000ca1100","p":{"ff023000000000000011":"Runnable","ff023000000000000012":true}},{"o":1,"t":"01692a4af82e8984742b","p":{"ff023000000000000011":"Definition of runnable","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"01756a18d4921c103111","p":{"ff023000000000000011":"Anonymous definition","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":10,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":10,"ff023000000000000437":10,"ff023000000000000537":10}},{"o":1,"t":"01692a4af82e8984742c","p":{"ff023000000000000011":"Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742d","p":{"ff023000000000000011":"Conditional Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"01692a4af82e8984742e","p":{"ff023000000000000011":"Extra Calls Runnable","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":4,"ff023000000000000037":4,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":4,"ff023000000000000437":4,"ff023000000000000537":2}},{"o":1,"t":"016c2d996d9ca27fa9d8","p":{"ff023000000000000011":"Delegate","ff023000000000000012":true}},{"o":1,"t":"016c3cb7742ec9309e0b","p":{"ff023000000000000011":"Delegator Relation","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016c42d3454636f90533","p":{"ff023000000000000011":"Delegated Properties","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"016d3f37610ae4fc3962","p":{"ff023000000000000011":"SizeDelegator"}},{"o":1,"t":"01621fb84e320000f000","p":{"ff023000000000000011":"Function"}},{"o":1,"t":"0162f15740c36629dc57","p":{"ff023000000000000011":"description"}},{"o":1,"t":"01621fb84e330000f000","p":{"01703376c4a81c0e9d91":"A Function takes inputs and produces outputs.","01703376c4a81c0e9d92":"A Function is the basic logic brick. It takes one or several inputs and produces one or several outputs.\nFor instance `Plus` is a Function that takes 2 numbers as inputs an produces, as output, a number that is the sum of these 2 inputs.<br/><br/>A Function can be reused within other Functions, Actions and Visual Components.<br/><br/>By default, a Function is triggered once each one of its inputs has been defined, and then everytime one of its inputs changes."}},{"o":1,"t":"01621fb84e320000f011","p":{"ff023000000000000011":"Coded Function"}},{"o":1,"t":"01621fb84e330000f011","p":{"01703376c4a81c0e9d91":"A Function implemented using code.","01703376c4a81c0e9d92":"A Coded Function is a function implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Functions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96f0000","p":{"ff023000000000000011":"Function Call","ff023000000000000012":true}},{"o":1,"t":"0168a431d91f25780000","p":{"ff023000000000000011":"Pipe"}},{"o":1,"t":"0168a431d91f25780001","p":{"ff023000000000000011":"Source Value"}},{"o":1,"t":"0168a431d91f25780002","p":{"ff023000000000000011":"Source Scope","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780003","p":{"ff023000000000000011":"Source Output","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f25780004","p":{"ff023000000000000011":"Source Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000a","p":{"ff023000000000000011":"Destination Scope","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":9,"ff023000000000000137":9,"ff023000000000000237":10,"ff023000000000000337":9,"ff023000000000000437":9,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000b","p":{"ff023000000000000011":"Destination Input","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"0168a431d91f2578000c","p":{"ff023000000000000011":"Destination Property","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":9,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":8}},{"o":1,"t":"01621fb84e32000000a0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Ascender"}},{"o":1,"t":"01621fb84e32000000a1","p":{"ff023000000000000011":"Input","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000a2","p":{"ff023000000000000011":"Upward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d0","p":{"01621fb84e320000f001":"private","ff023000000000000011":"Descender"}},{"o":1,"t":"01621fb84e32000000d1","p":{"ff023000000000000011":"Downward","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":1,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e32000000d2","p":{"ff023000000000000011":"Output","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":10,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"01621fb84e320000a000","p":{"ff023000000000000011":"Action"}},{"o":1,"t":"016ac63229782039429f","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016ac6322acf67eebfe7","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"01621fb84e330000a000","p":{"01703376c4a81c0e9d91":"A function takes inputs and produces outputs.","01703376c4a81c0e9d92":"An Action is the other basic logic brick. It also takes one or several inputs and produces one or several outputs.\nAdditionally, an Action has an input and output *control flows*. The Action is executed when the input control flow is triggered, and it defines all outputs before the output control flow is triggered.<br/><br/>By default, an action is triggered everytime the control flow is triggered, regardless of the value of the other inputs.<br/><br/>An Action can be reused within other Functions, Actions and Visual Components."}},{"o":1,"t":"01621fb84e320000f012","p":{"ff023000000000000011":"Coded Action"}},{"o":1,"t":"01621fb84e330000f012","p":{"01703376c4a81c0e9d91":"An Action implemented using code.","01703376c4a81c0e9d92":"A Coded Action is an Action implemented using code, such as JavaScript or TypeScript.<br/><br/>Coded Actions are typically used to add new functionalities within applications, or to implement more complex logic."}},{"o":1,"t":"0168c6f020f2a96a0000","p":{"ff023000000000000011":"Action Call","ff023000000000000012":true}},{"o":1,"t":"016a9766c230916ea5ec","p":{"ff023000000000000011":"Service"}},{"o":1,"t":"016ac63c5b3ed0562740","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"016a9766c231916ea5ec","p":{"01703376c4a81c0e9d91":"A long running action to be run in a Service Application.","01703376c4a81c0e9d92":"A Service is an Action meant to be run inside a Service App. The Service is triggered when the Service App starts, and runs until the Service App stops.<br/><br/>A Service has no input, and its configuration is therefore generally read from configuration files, APIs or other external sources.<br/><br/>Typical uses of Services are to run batch jobs, expose web services, or listen to outside events such as incoming emails."}},{"o":1,"t":"0169b6876a03f139d50a","p":{"ff023000000000000011":"Interaction Event Definition"}},{"o":1,"t":"016ac63808535703691c","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"0169b6876a03f14ae61b","p":{"ff023000000000000011":"Error Handler Definition"}},{"o":1,"t":"016ac638085357047a2d","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a948e30508fa","p":{"ff023000000000000011":"Remote Action"}},{"o":1,"t":"017a7b07b09e3b22c8b4","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b07ba05807a74b0","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"User"}},{"o":1,"t":"017a7b0818c12388d731","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017a7b085146d5e69aec","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017a7b07a949e30508fa","p":{"01703376c4a81c0e9d91":"An action running remotely in a Service App.","01703376c4a81c0e9d92":"A Remote Action is an Action which is running within a Service App. It behaves and it is used like an action, but it runs remotely. The Remote Action takes care of serializing the inputs, send them to the Service App, executes the content of the Remote Action, and serializes the outputs back to the caller.<br/><br/>Remote Actions are typically used to call APIs, databases, send emails and perform other back-end operations.<br/><br/>A remote action is synchronous, and can therefore be subject to timeouts if running for too long. The timeout value is configurable per environment."}},{"o":1,"t":"017a7b0c5dcbd8964c5d","p":{"fd017a7b0c62a02a89444f":false,"ff023000000000000011":"Remote Action Call","ff023000000000000012":true}},{"o":1,"t":"017a7b0c62a02a89444f","p":{"ff023000000000000011":"listener"}},{"o":1,"t":"011203300000000adf00","p":{"fd011203300000000adf01":0,"fd011203300000000adf02":20000,"ff023000000000000011":"System Information"}},{"o":1,"t":"011203300000000adf01","p":{"ff023000000000000011":"appController timestamp"}},{"o":1,"t":"011203300000000adf02","p":{"ff023000000000000011":"appController heart rate"}},{"o":1,"t":"011203300000000adf0f","p":{}},{"o":1,"t":"01120300000000adef00","p":{"ff023000000000000011":"Application Definition","ff023000000000000012":true}},{"o":1,"t":"0171bc1f15da96dfdb89","p":{"ff023000000000000011":"app project import","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":2,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"0171bc1f15da96dfdb90","p":{"ff023000000000000011":"deploy data source","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":2}},{"o":1,"t":"011203300000000adef5","p":{"fd011203300000000adef6":false,"fd011203300000000adef7":false,"fd011203300000000adef8":0,"ff023000000000000011":"Deployment Info"}},{"o":1,"t":"011203300000000adef6","p":{"ff023000000000000011":"activated"}},{"o":1,"t":"011203300000000adef7","p":{"ff023000000000000011":"rebuild"}},{"o":1,"t":"011203300000000adef8","p":{"ff023000000000000011":"status"}},{"o":1,"t":"011203300000000adef9","p":{"ff023000000000000011":"last error"}},{"o":1,"t":"011203300000000adefa","p":{"ff023000000000000011":"project URL"}},{"o":1,"t":"011203300000000adefb","p":{"ff023000000000000011":"project branch"}},{"o":1,"t":"011203300000000adefc","p":{"ff023000000000000011":"build command"}},{"o":1,"t":"011203300000000adefd","p":{"ff023000000000000011":"project config"}},{"o":1,"t":"011203300000000adefe","p":{"ff023000000000000011":"logs"}},{"o":1,"t":"011203300000000adeff","p":{"ff023000000000000011":"port mappings"}},{"o":1,"t":"011203300000000adee0","p":{"ff023000000000000011":"dependencies"}},{"o":1,"t":"011203300000000adef3","p":{"ff023000000000000011":"Service App"}},{"o":1,"t":"011203300000000adef4","p":{"ff023000000000000011":"Deployment Info","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":2,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":2,"ff023000000000000437":2,"ff023000000000000537":0}},{"o":1,"t":"011203300001000adef3","p":{"01703376c4a81c0e9d91":"A headless (with no UI) application.","01703376c4a81c0e9d92":"Service Apps are back-end applications that are meant to be run on servers or on any edge or IoT device that does not have a screen. They run in the background and are typically used to capture data from a third party, process data, perform data input validation, etc."}},{"o":1,"t":"017dc8d6c8fd8c8bd2ff","p":{"ff023000000000000011":"Data Connector"}},{"o":1,"t":"0113030000000aca1100","p":{"ff023000000000000011":"Application","ff023000000000000012":true}},{"o":1,"t":"0113032000000aca1102","p":{"ff023000000000000011":"Headless Application","ff023000000000000012":true}},{"o":1,"t":"017ffdc010e5bcc9c971","p":{"fd017ffdc010e5bcc9c972":false,"ff023000000000000011":"Workflow"}},{"o":1,"t":"017ffdc010e5bcc9c972","p":{"ff023000000000000011":"Serialization Enabled"}},{"o":1,"t":"017ffdc010e5bcc9c973","p":{"ff023000000000000011":"Data Type","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":2}},{"o":1,"t":"017ffdc010e5bcc9c974","p":{"ff023000000000000011":"States","ff023000000000000030":543,"ff023000000000000031":31,"ff023000000000000034":0,"ff023000000000000037":6,"ff023000000000000137":6,"ff023000000000000237":2,"ff023000000000000337":6,"ff023000000000000437":6,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e5bcc9c975","p":{"ff023000000000000011":"Initial State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":1,"ff023000000000000137":5,"ff023000000000000237":1,"ff023000000000000337":1,"ff023000000000000437":1,"ff023000000000000537":0}},{"o":1,"t":"017ffdc010e6bcc9c971","p":{"01703376c4a81c0e9d91":"Defines states and transitions between states.","01703376c4a81c0e9d92":"A Workflow defines a set of *states* through which the instances of a Data Type can go through, as well as the transitions allows between those states.<br/><br/>A Workflow can therefore be seen as a state machine. Each transition can have an optional *Process Function*, which can embed any custom logic to:\n- Add predefined processing within a transition\n- Add additional verification logic to allow or deny the transition to happen\n\nEach Workflow is assigned to a Data Type, and can then be used to control the possible states of the instances of that Data Type."}},{"o":1,"t":"017ffdc2dda51d46b430","p":{"ff023000000000000011":"Workflow State"}},{"o":1,"t":"017ffdc2dda61d46b430","p":{"01703376c4a81c0e9d91":"A single state of a workflow sequence.","01703376c4a81c0e9d92":"A Workflow State represents a single state in a workflow."}},{"o":1,"t":"017ffde21f5fe0f704ce","p":{"ff023000000000000011":"Workflow Process Function Definition"}},{"o":1,"t":"017ffe02381f9fac5060","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5061","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Object"}},{"o":1,"t":"017ffe02381f9fac5062","p":{"017bc044aeacce7ffc8f":2,"ff023000000000000011":"User"}},{"o":1,"t":"017ffe02381f9fac5065","p":{"017bc044aeacce7ffc8f":3,"ff023000000000000011":"Data Map"}},{"o":1,"t":"017ffe02381f9fac5063","p":{"017bc044aeacce7ffc8f":0,"ff023000000000000011":"Control Flow"}},{"o":1,"t":"017ffe02381f9fac5064","p":{"017bc044aeacce7ffc8f":1,"ff023000000000000011":"Error Flow"}},{"o":1,"t":"017ffdc633219f16beea","p":{"ff023000000000000011":"Workflow Transition"}},{"o":1,"t":"017ffdc633219f16beec","p":{"ff023000000000000011":"Process"}},{"o":1,"t":"017ffdc2dda51d46b431","p":{"ff023000000000000011":"From State","ff023000000000000030":994,"ff023000000000000031":992,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":8,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}},{"o":1,"t":"017ffdc633219f16beeb","p":{"ff023000000000000011":"To State","ff023000000000000030":514,"ff023000000000000031":0,"ff023000000000000034":0,"ff023000000000000037":8,"ff023000000000000137":9,"ff023000000000000237":1,"ff023000000000000337":8,"ff023000000000000437":8,"ff023000000000000537":0}}],"optionalOperations":[]}