1/69
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What does Outsystems provide?
OutSystems Server
Development
Admin & Ops
OutSystems Forge & Community
What is the OutSystems server?
set of servers that compiles, deploys, manages, runs, and monitors applications
the two components of development
integration studio & service studio
two components of admin and ops
service center & lifetime
service studio
low-code visual development environment that enables developers to rapidly create amazing mobile and web applications
integration studio
dev environment for integrating external resources;
integrate existing data and code as well as create .NET code extensions
service center
platform server management console;
admin console that is accessible via browser;
access to platform server configuration for admin and operations teams
lifetime
web app that manages lifecycle across environments;
extends service center's capabilities to cross environment scenarios;
complete application lifecycle management via browser
outsystems forge
source of downloadable components to help speed app delivery
what are screen actions bound to?
widgets on a screen
where can server actions be called?
in any flow
how many input and output parameters and local variables can server actions have?
multiple
do screen actions have output parameters
no
do preparations have parameters or variables
no
server actions that are set as a function are...
1. restricted to one output parameter
2. available in expressions
what is an action flow
where a piece of logic is defined
actions flows can have one of what and multiple of what
one start node
multiple end nodes and raise exceptions
what can screen actions and preparations also end with (2 things) besides end and raise exception?
destination nodes and download
can a flow have multiple exception handlers?
yes, but action and exception flows cannot intersect
what does that assign statement do?
allows setting values to variables or parameters
how are values assigned in assign statements?
top to bottom and changes occur immediately
what are some accelerators that service studio provides regarding assign statements?
auto-assign of remaining attributes
standard type-matching values suggestion
what does an if statement do?
creates a conditional branch in an action flow
what does a switch statement do?
creates conditional branching with multiple branches
how does the switch statement operate?
conditions are evaluated from first to last
only the first branch that evaluates to True is executed or the otherwise branch
and the otherwise branch is mandatory
what does a for each statement do?
allows iterating through a record list
how does a for each statement operate?
the cycle branch is followed for each record in the list
-branch must return to the for each so the loop can continue
-branch can create other conditional/alternative branches
the branch is followed after the cycle completes
what does RecordList.Current get in a for each statement
the current record being iterated within the loop
how to implement an ad-hoc loop
use the if to evaluate a loop condition
-follow a cyclic branch when condition is true
-exit the loop when condition is false
in the cyclic branch of an ad hoc loop...
branch must return to the if to continue the loop
branch can create other conditional/alternative branches
when is an exception used in a screen action?
when an operation fails unexpectedly at runtime
the execution is moved to an exception handler flow
what kind of exception handler flows can an action have?
database exception
security exceptions
custom user exceptions
how can an exception be raised?
automatically
raise exception statement
what happens when an exception is raised?
execution is moved to the handler most specific to the exception thrown
execution continues through that handler flow
how does a global exception handler get called?
if a handler doesn't exist in the current execution context, the server bubbles-up to check any outer contexts until a matching handler is found
details about the module global exception handler
located in the common flow
1 per module at most
highest possible level to bubble-up
should handle all exceptions!!!
validating user inputs help...
limit user mistakes
what are some reasons that input fields would need validated
input fields may..
have different data types
depend on other user input values
require business specific validations
does outsystems provide mechanisms to help implement input validations?
yes
T or F: outsystems provides build-in validations for input widgets
T
what are 2 of the built-in validations
mandatory fields must be filled
data type in must comply with the data type of the variables bound to the widgets
how and when are validations performed?
automatically
when data is submitted to the server
what widgets do not have validations?
link/button widgets with the navigate method
what does the validation property do on a widget?
influences how the input validation will be performed?
what are the 3 types of validations on a link or button?
server, client & server, none
what happens in a server validation?
inputs are submitted to the server
what are each input field's two runtime properties?
valid: boolean property
validationMessage: text property
-displayed in the case that input is not valid
when built-in validations are performed automatically....
valid property is auto set to false
but it still needs to be explicitly checked in the action flow
what is a custom server-side validation?
when a developer writes their own validations
-must be perform in the action flow
if the form input fields are invalid...
you should set the valid property to false and set the ValidationMessage accordingly
when should the form valid property be checked?
after all custom validations
what if one input is invalid?
the form is automatically not valid
can the form valid property be explicitly assigned?
No
are built-in validations checked on the server or client side?
client
if client side validations are valid then what happens? Invalid?
inputs are submitted to the server
user gets error message immediately
how do server side validations work?
as the server validation method
custom server-side validations can be defined
how does the none validation work?
inputs are submitted to the server
no built-in validations are performed on client or server side
custom server-side validations can be defined
when is the valid property of the input widget checked?
when rendering
if the valid property is set to false...
regular widget is displayed
specific styling is applied (red border)
displays the validation message when the input gains focus
troubleshooting is generally a combination of 2 things
debugging and monitoring
what does debugging do?
suspends code execution at given points
analyzes the value of variables
developer can execute code step by step
what is monitoring?
analyzing and correlating system logs
outsystems records events in logs like errors, slow queries, etc.
how does debugging work in service studio?
allows you to place breakpoints on elements that generate code such as action/preparation statements and screen widgets
when should you start the debugger?
before opening the app in the browser
what does service studio do when debugging?
registers the breakpoints and connects to server to stop execution
where are breakpoints listed?
in the debug panel
*note that they can be temporarily disabled or removed
what commands are available once code execution stops at a breakpoint?
-stop, continue, suspend, abort
-step over, step into, step out
what does the break on all exceptions button do?
forces the debugger to suspend the execution of threads when exceptions occur
handled or unhandled
when do you inspect the values of variables in debugging?
when code execution is stopped
T/F watches are always displayed, even if out of scope
T