0% found this document useful (0 votes)
30 views4 pages

OutSystems-Developer-Cheat-Sheet

Uploaded by

JALAL SAMAK
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views4 pages

OutSystems-Developer-Cheat-Sheet

Uploaded by

JALAL SAMAK
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

‭each Attribute’s Data Type in the properties panel (8)‬

‭OutSystems Developer Cheat Sheet‬ ‭○‬ ‭In‬‭[Logic] Layer‬ ‭, right-click either the‬‭[Client‬ ‭●‬ ‭A‬‭Primary Key‬‭of an‬‭Entity‬‭:‬
‭Actions]‬‭or‬‭[Server Actions] folder‬‭, and‬‭“Add‬ ‭○‬ ‭Under‬‭Entity Identifiers‬‭, select the Entity Identifier‬
‭Client/Server Action”‬ ‭●‬ ‭A‬‭Structure‬‭the same as the‬‭Attributes (row) of an Entity‬‭:‬
‭Service Studio IDE‬ ‭1.‬ ‭OR with‬‭Screen scope:‬ ‭○‬ ‭Under‬‭Entities‬‭, select the Entity‬

‭○‬ ‭In‬‭[Interface] Layer‬ ‭Elements Tab (7), right-click the‬ ‭●‬ ‭An‬‭existing‬‭Structure‬‭, defined under the‬‭[Data] Layer‬ ‭:‬
‭ creen‬ ‭, “‬‭Add Client Action‬‭”‬
S ‭○‬ ‭Under‬‭Structures‬‭, select the Structure‬
‭ .‬‭An orange ball‬‭for the Action will be created: Hollow orange‬
2 ‭Define calculations with Operators/Operands/Functions in‬
‭an Action‬
‭for client-side (compiles to Javascript) and solid orange‬
‭for server-side (compiles to .NET). NOTE: This default‬
‭●‬ ‭In a conditional: Using‬‭If‬ ‭logic widget‬
‭icon can be changed from the properties panel (8).‬
‭○‬ ‭In the properties panel (8) after selecting the‬‭If‬‭widget,‬
‭3.‬‭Right-click‬‭on the newly created Client‬ ‭or Server‬ ‭double-click on the‬‭Condition‬‭property row to bring up‬
‭Action to add any‬‭Input/Output Parameters‬‭or‬‭Local‬ ‭the‬‭Expression Editor‬‭and type your expression in the‬
‭Variables‬ ‭Expression field using operands and operators, as well as‬
‭4.‬‭Double-Click‬‭on the newly created Client‬ ‭or Server‬ ‭variables, functions, and scripts in scope as seen in the‬
‭Action to define the logic, by dragging/dropping Logic‬ ‭Scope pane (bottom left of Expression Editor)‬
‭widgets from the Toolbox (2) into the flow and setting their‬
‭properties (8)‬ ‭●‬ ‭In an assignment: Using‬‭Assign‬ ‭logic widget‬
‭5.‬‭NOTE: To make the Action also accessible in an‬‭expression‬ ‭○‬ ‭In the properties panel (8) after selecting the‬‭Assign‬
(‭ 1)‬ ‭1-Click Publish‬‭Button - Compile and Run‬ ‭as a Function, set the Action’s “Function” property to “Yes”‬ ‭widget, select a‬‭Variable‬‭to assign the expression to, then‬
‭(2)‬ ‭Toolbox‬‭- Elements to drag onto Canvas‬ ‭Define Variables‬ ‭double-click on the‬‭Value‬‭property row to bring up the‬
‭(3)‬ ‭Canvas‬‭to design Processes/UI/Logic/Data Model‬ ‭●‬ ‭With‬‭Method scope:‬ ‭Expression Editor‬‭and type your expression in the‬
‭(4)‬ ‭Widget Breadcrumb‬‭- Navigate through UI hierarchy‬ ‭Expression field using operands and operators, as well as‬
‭○‬ ‭Right-click on the‬‭Action‬ ‭, “‬‭Add Local Variable‬‭”,‬ ‭variables, functions, and scripts in scope as seen in the‬
‭(5)‬ ‭Element Breadcrumb‬‭- Navigate through Elements‬ ‭and set its Data Type in the properties panel (8)‬
‭(6)‬ ‭Layers‬‭Tab‬‭- Processes, Interface, Logic, Data‬ ‭Scope pane (bottom left of Expression Editor)‬
‭ ‬ ‭With‬‭Screen scope:‬
● ‭Define For Each and While loops in an Action‬
‭(7)‬ ‭Elements‬‭for selected Layer - Some elements can be‬
‭dragged onto Canvas;‬‭Widget Tree‬‭Tab (Interface Layer‬ ‭○‬ ‭In‬‭[Interface] Layer‬ ‭Elements Tab (7), right-click the‬
‭only) to navigate hierarchy of UI Elements‬ ‭ creen‬ ‭, “‬‭Add Local Variable‬‭”, and set its Data Type in‬
S ‭●‬ ‭For Each‬ ‭logic widget‬
‭(8)‬ ‭Properties‬‭for selected Element(s);‬‭Styles‬‭Tab‬ ‭the Properties panel (8)‬ ‭1.‬ ‭In the properties panel (8) after selecting the‬‭For Each‬
‭(Interface Layer only) for selected UI Elements‬ ‭ ‬ ‭With‬‭Session scope‬‭(Cleared on End User log-off or‬
● ‭widget, fill in the‬‭Record List‬‭property, and optionally the‬
‭(9)‬ ‭True Change‬‭and‬‭Debugger‬‭Tabs‬ ‭timeout)‬ ‭Start Index and Maximum Iterations properties.‬
‭2.‬‭Drag your mouse from the‬‭For Each‬‭widget (cursor will‬
‭Define custom data structures‬ ‭○‬ ‭In‬‭[Data] Layer‬ ‭, right-click the‬‭[Client Variables]‬
‭folder‬‭, “‬‭Add Client Variable‬‭”, and set its Data Type in the‬ t‭ urn into crosshairs‬ ‭) to drag out the‬‭Cycle‬‭branch to‬
‭1.‬ I‭n‬‭[Data] Layer‬ ‭, right-click the‬‭[Structures] folder‬‭, and‬ ‭properties panel (8)‬ ‭define the 1 or more logic widgets that will execute in this‬
‭“Add Structure”‬ ‭ ‬ ‭With‬‭Module scope:‬
● ‭loop.‬
‭2.‬‭Right-click on the newly created Structure, select “‬‭Add‬ ‭3.‬‭Complete the loop by dragging from the last logic‬
‭○‬ ‭In‬‭[Data] Layer‬ ‭, right-click the‬‭[Site Properties]‬ ‭element back to the If widget.‬
‭Attributes‬‭”, and set its properties (i.e. Data Type) in the‬
‭folder‬‭, “‬‭Add Site Property‬‭”, and set its Data Type in the‬ ‭4.‬‭NOTE: You can create logic to exit the loop early by‬
‭properties panel (8).‬
‭properties panel (8)‬ ‭placing an‬‭If‬‭widget within the flow for the exit condition.‬
‭Create a Screen‬
‭Define Variables beyond Basic Data Types‬
‭●‬ ‭Method 1‬‭: In‬‭[Interface] Layer‬ ‭Elements Tab (7),‬ ‭In the‬‭Data Type‬‭property of the Variable, to define a Variable‬ ‭●‬ ‭While‬‭: Using‬‭If‬ ‭logic widget‬
‭right-click the‬‭[MainFlow] UI Flow‬‭, and‬‭“Add Screen”‬ ‭of:‬ ‭1.‬ ‭In the properties panel (8) after selecting the‬‭If‬‭widget, fill‬
‭●‬ ‭An‬‭Array/List‬‭:‬ ‭in the‬‭Condition‬‭property.‬
‭●‬ ‭Method 2‬‭: In‬‭[Interface] Layer‬ ‭Elements Tab (7),‬ ‭○‬ ‭Under‬‭Other‬‭, select‬‭List…‬‭then select the List type‬ ‭2.‬‭Drag your mouse from the‬‭If‬‭widget (cursor will turn into‬
‭double-click the‬‭[MainFlow] UI Flow‬‭,‬‭and drag a “Screen”‬ ‭●‬ ‭A temporary‬‭Structure‬‭:‬
‭widget from the Toolbox (2)‬ ‭○‬ ‭Under‬‭Other‬‭, select‬‭Record…‬‭then right-click on the‬ ‭ rosshairs‬
c ‭) to drag out the‬‭True‬‭branch to define the‬
‭Define a reusable Method (OutSystems term: “Action”)‬ ‭Variable and select “‬‭Add Attribute‬‭” to add other‬ ‭1 or more logic widgets that will execute in this loop as‬
‭1.‬ ‭With‬‭Module scope‬‭:‬ ‭Attributes of the Record/Structure as necessary, defining‬ ‭long as the If Condition property is true.‬

‭OutSystems Developer Cheat Sheet v0.8‬ ‭Page‬‭1‬


‭3.‬‭Complete the loop by dragging from the last logic‬ ‭ ethods” if you have access to a REST API with Swagger‬
m ‭ creen‬ ‭, “‬‭Fetch Data from Database‬‭” and define the‬
S
‭element back to the‬‭If‬‭widget.‬ ‭specification and want to consume multiple methods at‬ ‭Query in the Aggregate editor (see above)‬
‭●‬ ‭NOTE: You can swap the while loop to loop while the‬‭If‬ ‭once - see documentation)‬ ‭ ‬ ‭From Action‬‭(asynchronously executed Method on page‬

‭condition is False by right-clicking on the If widget, and‬ ‭2.‬‭Select the‬‭Method‬‭(GET, POST, PUT, DELETE, PATCH), and‬ ‭load)‬
‭selecting “Swap connectors”‬ ‭paste the‬‭URL‬‭, replacing any‬‭parameters‬‭in‬‭braces‬‭(curly‬
‭●‬ ‭NOTE: You can create logic to exit the loop early by‬ ‭brackets)‬ ‭1.‬ ‭In‬‭[Interface] Layer‬ ‭Elements Tab (7), right-click the‬
‭placing an‬‭If‬‭widget within the flow for the exit condition.‬ ‭3.‬‭Depending on the Method selected, fill in the‬‭Body‬‭Tab‬ ‭Screen‬ ‭, “‬‭Fetch Data from Other Sources‬‭”‬
‭Call a Method/Action‬ ‭with sample‬‭Request‬‭and/or‬‭Response‬‭JSON or‬ ‭2.‬‭In the newly created Data Action, select the Output‬
‭NOTE: If calling from a UI element, first double-click on the UI‬ ‭text/plain example to allow the platform to generate the‬ ‭parameter and modify the properties (i.e. Data Type) as‬
‭element to edit the OnClick Action for that element.‬ ‭parameters and structures‬ ‭necessary, and define the Action logic to retrieve the data‬
‭●‬ ‭Drag any reusable Action into the Action logic flow‬ ‭●‬ ‭NOTE: Under the‬‭Test‬‭Tab, you can execute a test of‬ ‭to assign to the Output parameter.‬
‭the API Method (providing any required parameters)‬ ‭Display retrieved data on Screen (Basic)‬
‭○‬ ‭From under the current‬‭Screen‬ ‭in the‬‭[Interface]‬
‭and copy the request/response body to the Body Tab‬ ‭ ‬ ‭As an Expression:‬

‭Layer‬ ‭Elements Tab (7)‬ ‭4.‬‭Under the‬‭Headers and Authentication‬‭Tab, you can‬
‭○‬ ‭From under the‬‭[Client Actions]‬‭or‬‭[Server Actions]‬ ‭define any Request/Response headers, as well as any‬ ‭○‬ ‭In‬‭[Interface] Layer‬ ‭Elements Tab (7), double-click‬
‭REST API Authentication requirements‬ t‭ he‬‭Screen‬ ‭, and drag any Screen’s‬‭Local Variable‬‭,‬
‭folder‬‭in the‬‭[Logic] Layer‬ ‭Data Action‬‭Output Variable‬‭, Screen‬‭Entity‬‭, or any of‬
‭5.‬‭Click‬‭Finish,‬‭and you should see a Server‬‭Action‬ ‭for‬
‭○‬ ‭“Run Client/Server Action” from the Logic widgets (2)‬ ‭their‬‭attributes‬‭to the Screen.‬
‭the REST API you consumed that you can call from other‬
‭Define Database Tables and Relationships‬ ‭Actions‬ ‭●‬ ‭In a Form Element (i.e. Input, Text Area, Switch, Checkbox,‬
‭●‬ ‭NOTE: For advanced pre-processing and‬ ‭etc):‬
‭1.‬ I‭n‬‭[Data] Layer‬ ‭, under the‬‭[Entities] folder‬‭, right-click‬
‭post-processing, you can define the‬‭OnBeforeRequest‬ ‭○‬ ‭Select the Form element widget, and configure the‬
‭[Database]‬‭for‬‭Server-Side‬‭or‬‭[Local Storage]‬‭for‬‭Mobile‬‭,‬
‭and‬‭OnAfterResponse‬‭Actions that will execute for all‬ ‭Variable property to bind it to in the properties panel (8)‬
‭select “‬‭Add Entity‬‭” to define the Database Table‬
‭REST APIs under the REST API properties.‬ ‭○‬ ‭NOTE: It may require Data Conversion (see above)‬
‭2.‬‭Right-click the newly created‬‭Entity‬ ‭, and select “‬‭Add‬
‭Expose a REST API‬
‭Entity Attribute‬‭” to define each Entity Attribute (column) in‬
‭the properties panel (8)‬
‭1.‬ I‭n‬‭[Logic] Layer‬ ‭, right-click REST under the‬
‭3.‬‭To define a‬‭Foreign Key‬‭column, set its‬‭Data Type‬‭in the‬
‭[Integrations] folder‬‭, “‬‭Expose REST API‬‭”, then right-click‬
‭properties panel to one of the “‬‭Entity Identifiers‬‭” OR name‬
‭the newly created REST API and select “‬‭Add REST API‬
‭the attribute to‬‭<EntityName>Id‬‭where OutSystems will‬
‭Method‬‭” for each API Method you want to define.‬
‭automatically assume it’s the Foreign Key to that Entity.‬
‭2.‬‭Defining each API Method is the same as defining a‬
‭Define a Query (SELECT) from a Database visually using‬
‭reusable Method/Action as per above instructions;‬
‭Aggregates‬
‭ ouble-click‬‭on the newly created Action‬
D ‭to edit‬
‭1.‬ I‭n an‬‭Action‬ ‭, drag the‬‭Aggregate‬ ‭widget‬ ‭it, add input/output parameters, local variables, call other‬
‭into the logic flow, then double-click on it to bring up the‬ ‭Actions, etc.‬
‭Aggregate editor‬ ‭●‬ ‭NOTE: For every exposed REST API, the OutSystems‬
‭2.‬‭Drag any‬‭Entities‬‭you need for this query from the‬‭[Data]‬ ‭Platform will automatically generate Swagger‬
‭documentation that you can share with other developers‬
‭ ayer‬
L ‭onto the Aggregate editor. Each one will be added‬
‭(including non-OutSystems) who need to integrate with‬
‭to the‬‭Sources‬‭list under the‬‭Sources‬‭Tab‬‭in the Aggregate‬
‭your exposed REST API. You can access this‬
‭editor, and any relationships will automatically appear under‬
‭documentation’s URL by right-clicking on the REST API‬
‭the‬‭Joins‬‭column, which can also be customized. If a join‬
‭and selecting “Open Documentation”‬
‭needs to be manually added, click on “‬‭Add join‬‭”.‬
‭Data Conversions‬
‭3.‬‭Add any‬‭Filters‬‭(WHERE) under the‬‭Filters‬‭Tab (May say “No‬
‭●‬ ‭In an Expression, you have access to the Functions listed‬
‭Filters”) in the Aggregate editor.‬
‭under the‬‭Data Conversion‬‭folder under the‬‭Built-in‬
‭4.‬‭Add any‬‭Sorts‬‭(SORT BY) under the‬‭Sorting‬‭Tab (May say‬
‭Functions‬‭folder.‬
‭“No Sorts”) in the Aggregate editor.‬
‭Retrieve data for Screen‬
‭Consume a REST API‬
‭●‬ ‭From Aggregate‬‭(asynchronously executed SQL query on‬
‭1.‬ I‭n‬‭[Logic] Layer‬ ‭, right-click REST under the‬ ‭page load)‬
‭[Integrations] folder‬‭, “‬‭Consume REST API‬‭”, then select‬ ‭○‬ ‭In‬‭[Interface] Layer‬ ‭Elements Tab (7), right-click the‬
‭“‭A
‬ dd single method‬‭” (You can select “Add multiple‬

‭OutSystems Developer Cheat Sheet v0.8‬ ‭Page‬‭2‬


‭OutSystems Main Concepts‬ ‭Screen and Block Tools‬ I‭nput‬ ‭Send data into Action‬ ‭Method parameter‬
‭Paramete‬
‭ he OutSystems Platform provides developers with a‬
T
‭Widget‬ ‭UI Controls‬ ‭UI Control Classes‬ ‭r‬
‭domain-specific language for developing and changing web‬
‭and mobile business applications. This developer cheat sheet‬ I‭nput‬ ‭Send data to a screen‬ ‭ uery string variable‬
Q ‭ utput‬ ‭Return data from Action‬
O ‭Method‬‭out‬‭parameter‬
‭describes the OutSystems language main concepts and their‬ ‭Paramete‬ ‭of an HTTP request, or‬ ‭Paramete‬
‭mappings to other development languages, including .NET.‬ ‭r‬ ‭an‬‭HttpContext Item‬ ‭r‬
‭Processes Layer‬ ‭in Server request‬ ‭ ocal‬
L ‭Variables with Action scope‬ ‭Method Local Variable‬
‭Business Processes and Batch Processing‬ ‭ ocal‬
L ‭Variables with Screen scope‬‭Instance variable of‬ ‭Variable‬
‭OutSystems‬ ‭Description‬ ‭Traditional/.NET/Jav‬ ‭Variable‬ ‭the web page‬ ‭ ser-Defi‬ ‭Actions that can be invoked‬ ‭Static‬‭Method‬
U
‭ascript‬ ‭ etch‬
F ‭Asynchronous Action that‬ ‭ned‬ ‭in Expressions‬
‭Process‬ I‭ntegrate business‬ ‭Data from‬‭retrieves data to the Client‬ ‭Function‬
‭processes into an‬ ‭Database‬ ‭using a Server-side‬ ‭Client Action Tools‬‭(Compiles to‬‭Javascript‬‭on the Client)‬
‭application by‬ ‭Aggregate‬
‭defining activities‬ ‭ etch‬
F ‭Asynchronous Action that‬ ‭Start‬ ‭Start of Action flow‬
‭within process flows‬ ‭Data from‬‭retrieves data to the Client‬ ‭Message‬ ‭Pop-up an Alert message‬
‭Timer‬ ‭ ctions that‬
A ‭Batch job‬ ‭Other‬ ‭using a Server Action flow‬
‭ un‬
R ‭Call a Client-Side Method‬
‭execute‬ ‭Sources‬
‭Client‬
‭asynchronously on‬ ‭ lient‬
C ‭ ctions only available in‬
A ‭Action‬
‭a defined schedule.‬ ‭Action‬ ‭Screen; compiles to‬
‭ un‬
R ‭Call a Server-Side Method‬
‭Process Actions‬ ‭Javascript on screen‬
‭Server‬
‭Screen and Block Widgets‬ ‭Action‬
‭Launch<Process>‬ ‭ xplicitly launch an‬
E ‭ ggregat‬ ‭SELECT Query, using visual‬
A
‭instance of a‬ ‭Container‬‭A “box” to contain other‬ ‭Panel‬ ‭e (Mobile)‬‭editor; for JOIN, WHERE,‬
‭process‬ ‭widgets and containers‬ ‭SORT BY, GROUP BY, etc; DB‬
‭Timer Actions‬ ‭If‬ ‭ ontrol displayed content‬ ‭if/else‬
C ‭agnostic (DB type is‬
‭based on condition(s) with‬ ‭abstracted away)‬
‭Wake<Timer>‬ ‭ xplicitly wake a‬
E ‭“then/else”‬ ‭ efresh‬
R ‭ efreshes a Screen‬
R
‭Timer, ignoring its‬ ‭ xpressio‬ ‭Render value computed at‬ ‭Label‬
E ‭Data‬ ‭Aggregate to update the‬
‭schedule‬ ‭n‬ ‭run-time‬ ‭resultset for the Client‬
(‭ See‬ ‭Table, List, List Item, Form,‬ ‭*Only available on Screen‬
‭Interface Layer‬ ‭Documen‬ ‭Label, Input, Text Area,‬ ‭Actions‬
‭ ser Interface‬
U ‭tation for‬ ‭Switch, Checkbox, Radio‬ ‭Comment‬‭Add a comment‬
‭OutSyste‬ ‭Description‬ ‭ raditional/.NET/Javasc‬
T ‭Others)‬ ‭Group, Dropdown, Upload,‬ ‭If‬ ‭ onditional for branching‬
C ‭If‬‭statement‬
‭ms‬ ‭ript‬ ‭Button, Button Group, Link,‬ ‭Action flow into 2 paths‬
‭UI Flow‬ ‭ ser interaction diagram of‬ ‭N/A‬
U ‭Popover Menu, Image, Icon,‬
‭Switch‬ ‭ onditionals for branching‬ S
C ‭ witch‬‭/‭c
‬ ase‬‭/‭b
‬ reak‬
‭screens‬ ‭Popup, Block, HTML‬
‭Action flow into multiple‬ ‭statement‬
‭Element, etc‬
‭UI Flow Tools‬ ‭paths‬
‭For Each‬ R
‭ epeats Action path‬ ‭Foreach‬‭statement‬
‭Logic Layer‬
‭Screen‬ ‭HTML pages‬ ‭execution‬
‭ usiness Logic‬
B
‭Block‬ ‭ eusable group of widgets‬
R ‭Assign‬ ‭ ssigns 1 or more‬
A ‭Series of‬‭=‬‭statements‬
‭OutSyste‬ ‭Description‬ ‭ raditional/.NET/Javasc‬
T
‭for other blocks/screens‬ ‭expressions to 1 or more‬
‭ms‬ ‭ript‬
‭Email‬ ‭ end an email‬
S ‭variables‬
‭ lient/Ser‬‭Business Logic; Server‬
C ‭Method‬
‭asynchronously via a‬ ‭ SON‬
J ‭ onvert a Record or a List‬
C
‭ver‬ ‭Actions compile to .NET and‬
‭sending queue.‬ ‭Serialize‬ ‭of Records into JSON‬
‭Action‬ ‭run on the Server; Client‬
‭ xternal‬ C
E ‭ onnects to a site external‬ ‭data-interchange format‬
‭Actions compile to‬
‭Site‬ ‭to your module through a‬ ‭text.‬
‭Javascript and run on the‬
‭well-known URL you specify‬ ‭Client.‬

‭OutSystems Developer Cheat Sheet v0.8‬ ‭Page‬‭3‬


‭ SON‬
J ‭Convert a JSON string into‬ ‭Assign‬ ‭ ssigns 1 or more‬
A ‭Series of‬‭=‬‭statements‬
‭Deserializ‬ ‭a Structure or List‬ ‭expressions to 1 or more‬ ‭ ecurity‬
S
‭e‬ ‭variables‬ ‭OutSyste‬ ‭Description‬ ‭ raditional/.NET/Javasc‬
T
‭ xception‬‭Handle exceptions by‬
E ‭Catch‬‭statement with‬ ‭ ecord‬
R ‭ xports contents of a‬
E ‭ ethod that writes a‬
M ‭ms‬ ‭ript‬
‭Handler‬ ‭catching them and allowing‬ ‭catch‬‭block‬ ‭List To‬ ‭record list to an Excel file‬ ‭list of objects into an‬ ‭Role‬ I‭mplement security‬ ‭ ecurity setting‬
S
‭you to define a parallel error‬ ‭Excel‬ ‭Excel file using a‬ ‭representing a group of‬ ‭granted to users and‬
‭handling flow‬ ‭library to write Excel‬ ‭elements that share the‬ ‭roles‬
‭ aise‬
R ‭Explicitly launch a user‬ ‭Throw‬‭statement‬ ‭files‬ ‭same grant policy‬
‭Exception‬‭exception‬ ‭ xcel To‬ I‭mports content of an Excel‬ ‭Method that reads a‬
E ‭Role Actions‬
‭ avascrip‬ ‭Add in in-line Javascript‬
J ‭Record‬ ‭file into a record list‬ ‭list of objects from an‬
‭t‬ ‭code to execute‬ ‭List‬ ‭Excel file using a‬ ‭ heck<Ro‬‭Checks whether a specific‬ ‭N/A‬
C
‭library to read Excel‬ ‭le>‬ ‭End User has been granted‬
‭End‬ ‭ nds the Action flow. More‬
E
‭files‬ ‭access to a specific‬
‭than one End element in‬
‭the same Action flow is‬ ‭ SON‬
J ‭ onvert a Record or a List‬
C ‭permission area‬
‭allowed for organization.‬ ‭Serialize‬ ‭of Records into JSON‬ ‭ rant<Rol‬ ‭Provides access for a‬
G ‭N/A‬
‭data-interchange format‬ ‭e>‬ ‭specific End User to a‬
‭ estinati‬ J
D ‭ umps to a specific screen‬
‭text.‬ ‭specific permission area.‬
‭on‬ ‭*Only available on Screen‬
‭Actions‬ ‭ SON‬
J ‭Convert a JSON string into‬ ‭ evoke<R‬ ‭Denies access for a specific‬ ‭N/A‬
R
‭Deserializ‬ ‭a Structure or List‬ ‭ole>‬ ‭End User to a specific‬
‭Download‬‭Download facility‬ ‭ ethod that writes‬
M
‭e‬ ‭permission area.‬
‭*Only available on Screen‬ ‭the request response‬
‭Actions‬ ‭to a file, by setting the‬ ‭ xception‬‭Handle exceptions by‬
E ‭Catch‬‭statement with‬
‭*Not on Mobile‬ ‭request content type,‬ ‭Handler‬ ‭catching them and allowing‬ ‭catch‬‭block‬ ‭Data Layer‬
‭its header, and writing‬ ‭you to define a parallel error‬ ‭ atabase (Server-Side) and Local Storage (Client-Side)‬
D
‭the file content to its‬ ‭handling flow‬ ‭OutSyste‬ ‭Description‬ ‭Traditional/.NET/Javasc‬
‭output stream, all‬ ‭ aise‬
R ‭Explicitly launch a user‬ ‭Throw‬‭statement‬ ‭ms‬ ‭ript‬
‭processed on the‬ ‭Exception‬‭exception‬ ‭Entity‬ ‭ ersistent data storage‬
P ‭ atabase Table, similar‬
D
‭Client side.‬ ‭Comment‬‭Add a comment‬ ‭representing database‬ ‭to‬‭DataSource‬‭or an‬
‭Server Action Tools‬‭(Compiles to‬‭.NET‬‭on the Server)‬ ‭ end‬
S *‭ Does not exist in Data‬ ‭model‬ ‭Object-Relational (OR)‬
‭Email‬ ‭Action‬ ‭Mapping Class‬
‭Start‬ ‭Start of Action flow‬ ‭End‬ ‭ nds the Action flow. More‬
E ‭ ntity‬
E ‭Entity storage‬ ‭ atabase Table Field,‬
D
‭ un‬
R ‭Call a Server-Side Method‬ ‭than one End element in‬ ‭Attribute‬ ‭similar to‬‭DataSource‬
‭Server‬ ‭the same Action flow is‬ ‭field or a field in an‬
‭Action‬ ‭allowed for organization.‬ ‭Object-Relational (OR)‬
‭ ggregat‬ S
A ‭ ELECT Query, using visual‬ ‭Method with SQL‬ ‭Mapping Class‬
‭e‬ ‭editor; for JOIN, WHERE,‬ ‭query returning a‬ I‭ ntegrations‬
‭SORT BY, GROUP BY, etc; DB‬ ‭dataset‬ ‭OutSyste‬ ‭Description‬ ‭ raditional/.NET/Javas‬
T
‭agnostic (DB type is‬ ‭ms‬ ‭cript‬ ‭ ntity‬
E ‭ RUD (Create, Read, Update,‬‭OR Mapping CRUD‬
C
‭abstracted away)‬ ‭SOAP‬ ‭Expose/Consume SOAP API‬ ‭Actions‬ ‭Delete) Actions‬ ‭Methods or Methods‬
‭SQL‬ ‭ ELECT Query, using‬
S ‭ ethod with SQL‬
M ‭automatically created and‬ ‭that execute the‬
‭REST‬ ‭Expose/Consume REST API‬
‭DB-specific text-based‬ ‭query returning a‬ ‭managed by the‬ ‭CREATE‬‭,‬‭GET‬‭,‬‭UPDATE‬‭,‬
‭SAP‬ ‭Integrate with SAP BAPI‬ ‭OutSystems platform for‬ ‭and‬‭DELETE‬‭SQL‬
‭SQL‬ ‭dataset‬
‭ xtension‬ ‭Wrappers to existing C#‬
E ‭Class Library‬‭project‬ ‭each Entity‬ ‭statements‬
‭If‬ ‭ onditional for branching‬
C ‭If‬‭statement‬
‭(.xif)‬ ‭libraries, database tables,‬ ‭compiled into a native‬ ‭ tatic‬
S ‭ ntity with static data‬
E ‭ ntity with static and‬
E
‭Action flow into 2 paths‬
‭etc, visually exposed inside‬ ‭assembly DLL‬ ‭Entity‬ ‭managed during design‬ ‭fixed data (‬‭enums‬‭)‬
‭Switch‬ ‭ onditionals for branching‬ S
C ‭ witch‬‭/‭c
‬ ase‬‭/‭b
‬ reak‬ ‭the IDE as reusable Actions,‬ ‭(Server‬ ‭time with strong typing.‬ ‭defined during‬
‭Action flow into multiple‬ ‭statement‬ ‭Entities, and Structures.‬ ‭Only)‬ ‭Used for constants and‬ ‭design-time.‬
‭paths‬ ‭Extensions are‬ ‭enumerations.‬
‭For Each‬ R
‭ epeats Action path‬ ‭Foreach‬‭statement‬ ‭created/modified with‬
‭execution‬ ‭Integration Studio.‬

‭OutSystems Developer Cheat Sheet v0.8‬ ‭Page‬‭4‬

You might also like