Hello and welcome to the OutSystems
developer foundation course
I would like to start off by thanking you
for joining and stay on behalf of
the whole team here that we hope that
you enjoy the course
so what is the goal of this particular
is to teach you the foundations of
language and the development cycle
you to develop your own web and mobile
business applications going forward
Now what is this OutSystems platform?
is a open application platform
that allows you to create deploy and
therefore evolving a enterprise
mobile and web-based applications.
As you'll see during the next few
days in the duration of the course
it will greatly enable your capability
and modify your business applications as
new requests come from stakeholders
and new features are
demanded of you.
So what are the building blocks that go
into the OutSystems platform, when we
talk about the OutSystems platform?
Well first and foremost there is
the server against witch
not only do you produce your code
but you actually
ran the code once it's published.
So the core of the OutSystems platform is
servers and these servers effectively
have two roles
one of them is to take the applications
that you develop
and produce code that will run
on web application servers and the
other side is
day-to-day usage of actually serving
of actually running the code once
the user interacts with the application.
this normally runs either in the cloud
or in your datacenter and it's
the back end of the OutSystems platform.
For us developers
we normally interact with
the development environment
and the main tool inside our
is what is normally called Service Studio
and over here you can see on the left
side of the screen a small preview of
what's going to be
your day to day tool to develop
your applications visually
and in the development environment
you'll be able to develop not only your
the logic behind your pages but also the
pages, how they look, how they interact
So the majority of your time as a
spent on this particular section
of the OutSystems platform.
There is another sub tool
inside the development environment,
which is normally called
and you normally go there just to write
the connection points with outside systems.
So if you have an outside that database
and you need to pull those
tables to be used with the
if you have an outside chunk of code
from a library that you want to
if you have SAP and you need
to import stuff
from there, this is where you normally go.
wrappers to this functionalities and
then they are readily available
on your main environment.
Now, as for the actual communication
with the server
and both inwards communication when
you need to configure how your server
or outwards communication, for example
to look at logs and see how it's
behaving, we have
the Management Console that is sometimes
Service Center, so this is the web application
which is effectively defaced
of your OutSystems Platform server.
This is how you interact,
as I mentioned,
with it, both to configure
and to retrieve information.
Finally there's another tool that
allows you to see across
So if you have a development
environment, a quality assurance
environment and a production environment,
sometimes it's important
life cycle functionalities,
of new features, it is important
to see across these environments
and this is where you go into the
life cycle management
part of the platform which is sometimes
also called Lifetime.
So normally you just came here
when you need to push something
to QA (quality assurance) or to production.
On the day to day,
basically to do a recap of this course,
and when you are developing
you normally focus on these two vectors
you create your application
and when you press this big button,
which you going to be using
quite often during your development
this big green button,
which is the 1-click-publish,
it will send the blueprint
module into the server,
into the part of the server that takes care
of the code generation, it will look
at your design, it will find out
any changes that need to be made
to the data model and actually do
them for you, it will generate
any code that needs to be executed
when the user interacts with the application
or when you have tasks
that are fired asynchronously and
also it will generate any pages
that are needed
to actually interact with the user and
once all this code is generated
places and makes it available on the
to be accessed by your end users.
Now for the duration of this course,
the server that you are going to be using
to publish, is actually your personal
why we asked you to inform us of
what your personal environment was,
finish your enrolment for the course.
how is the course actually going to be ran
and what is the make-up of this course?
is a sequence of video lessons
and then assignments, that we're going to
see a little bit more in detail
in a second, what are the differences here.
once you go through a few of these
lessons in the silence, we actually have
of checkpoints sessions here and
there, where we
hope to address some of the problems
you might have encountered
in the last lessons and assignments
that lead up to this
So you'll see also check point sessions.
Now, we expect the time to complete
the whole assignments and all video
lessons to be around 25 hours
and we have estimated the course
duration for two weeks.
So during these two weeks, if you can
dedicate about 25 hours, you should be
all of the contents.
Now, how do you actually interact
with us and with the curriculum and
do you actually go through all this
that code? There is a main application
which is the student dashboard
which allows you not only to track your
but it also contains the workbook,
contains the assignments that you
to go through to complete it.
Also to interact,
if you have any doubts, we set up a
in our website, which is just for use
of the students of this course,
where we expect
that any questions you might have
about the curriculum,
if you have a certain roadblock,
you don't understand something
or you have a more general question
about the OutSystems technology,
feel free to post over there.
We are going to show you a little bit
how it looks like in just a second.
As this is very white course,
transversing lots of countries
and time zones,
we expect you to please communicate
on this forum
in English so that everyone can benefit
from the questions
and the answers as well.
This forum is going to
work pretty much as a knowledge-basedm
so we expect that
if someone asks a particular question,
if later on
another student has got that same
doubt, he will be able to find it
and effectively do a short circuit
of his learning process
rather than asking for it again.
Now if you have
related problems, we actually have an
email that is on your screen right now,
where you can contact us.
Please use this email
strictly for infrastructural problems,
maybe you can't get to the
dashboard application or you have
with your personal environments, do
let us know about that.
But, as for questions to do with the
curriculum or the technology,
that you stick to the forums,
because it's the better
channel for that matter. Okay?
So let's have a quick look
at what this student application
dashboard looks like.
This is where you are actually watching
this video, so you already got
to here, and its a connection of
lessons that you will go through,
Now some of these lessons, as I mentioned,
there will be video lessons
very swiftly, to one such example and
what we classify as a video lesson.
The idea here
is: there is a video that talks you
through how to
use a certain feature or how to get a
certain functionality in your
Our suggestion is that you watch
the video once,
taking notes of the
Once you complete watching the video,
fire up your development environment
and repeat what you saw over there.
We do not advise you that on first watch
you do things at the same time in your
That's because we have found that
when people do this,
not a lot of depth knowledge speaks
because you just go through the
motions, you just doing this mechanically.
So, the best way is really to watch, get a
feel for what's being done,
take a few notes and then repeat afterwards.
Obviously, if you have any
cycle back to the video and strobe to
whatever the moment
where you have some doubts.
In the video lessons you'll also see a panel over
key concepts, which will have links to
the help, regarding those particular features.
So, over here we
talk about entities, attributes, primary keys.
If you have any doubts and you want to
know the official
documentation for these matters just
click and a new tab will appear
with that information.
As you progress through
the course, you will see that there
are many such lessons.
As you progress, we keep flagging your
progress and therefore increasing
the percentage of complete.
If you ever need see the whole
and assignments, you can click over here
in the breadcrumb
and you will have the full curriculum over here.
So, a lot, a lot of stuff there.
I'm going to use this to jump from
to the end this video lesson,
and actually move to an assignment.
Now the assignments are slightly different
they don't actually have a video lesson,
so they are less prescriptive,
we don't tell you exactly how to do
everything but they are
rather kind of specifications that you need
to implement, having in mind the stuff
that you learned in that video lessons
prior to it.
So it's a lot more high-level the requests
and you need to follow them
remembering of the stuff that you have
learned so far.
These are the differences between the assignments
and the video lessons.
At discrete steps as I said,
you will see that there's going to be
These are special video lessons, if you'd
like, a little bit more informal
where we talk about some of the stuff that
had been mentioned before and that might
require little bit more explanation as
as clear up some of the more common
encounter in lessons up to it.
So, if you are ever stuck in one particular
video lesson or assignment,
and you are doubtful, maybe something
in the screen that is not quite right,
then you might, it might be a good idea
just to hop to the checkpoint
of that particular sequence of
lessons and assignments and see if the
problem might be addressed over there.
Okay? So this is effectively
the make up of the lessons.
It is interesting also, since we're over
here to mention,
that some of these assignments
further on, appear as optional assignments.
you've got another one there,
and the final one, quite interesting, to
actually get a mobile version of your
These, as I mentioned, they are optional
assignments. They normally
have a extra challenge, they will
force you to think a little bit more
but if you're pressed for time
it's okay to skip them and come
back to them
after you have done the full length of
let's go upwards and you will see,
it's quite pervasive on all of
the pages but
in this particular case,
here, you can see it.
There is a couple of links.
One of them is and I call to your attention this one,
It is very important that you download this
before you start. This will have all
they will be here inside
this ZIP file and they will be used and
will be supporting
all the video and assignments that
you find in the course, okay? So get
the resources from over here.
More importantly as well
is how do you get to the forum and we
as I mentioned, in every single page
there's a link here, that will take you
If you click on this, you will get,
you will be pushed into the OutSystems forum.
You will need to log in
account because, as I mentioned,
this forum is strictly private.
the users of the community don't have access,
only students of this course, actually,
can get over here and use this,
this particular forum.
There's a lot of other forums, very
with more general technology
considerations with the OutSystems
but this is really focused on our course
in particular, okay? So...
where should you actually conduct
exercises? Where do you connect
your development environment
to actually publish the stuff as
We don't actually have a formal server
for everyone to connect because we
actually have hundreds of people doing
but we'd have a better thing.
You actually have
your personal environment if you
you we'll be publishing and running
does applications as you develop them
during the course and you will develop
you should publish to your
okay? Now you understand the reason for
you to bind your personal environment.
I'm going to show you, as an example, this is
my home page
in the OutSystems site,
and effectively here
you can see my personal environment is
yours will be <<something different>>.outsystemscloud.com
and this is where you should connect
Over here, okay?
Strictly speaking you should select
your environment and connect over there.
This is where you are going to be
developing everything, okay?
And that's basically it,
what we have for today.
dashboard, where you can find on the
materials, we mentioned that you get
the actual binary materials
to go with the curriculum
over there, we talked to you about where
you should place the questions
in the forums, what is the make up of the
several types of
lessons that you find, video lessons, assignments
and also the checkpoints Q&A and
you're all set.
You should be able to join us and enjoy the course.
We hope to see you around in the forums.
Hope to see you, as well,
in the checkpoint Q&A sessions and
until then have fun with the OutSystems