This lesson is part of the Developer Online Class for OutSystems 9 course.

Important: This course covers legacy versions of the OutSystems Platform (versions 8 and 9). To learn how to develop in OutSystems 10, follow the "Developing OutSystems Web Applications"  or "Developing OutSystems Mobile Apps" courses instead.



How is this course organized?

This course comprises a set of online video lessons and hands-on exercises - assignments. If you have watched some/all video lessons before, our recommendation is that you go through each of the lessons once more during this course. Why?

  • You will notice things you haven’t before
  • You’ll be better prepared for the assignments

To complete the assignments you will need a set of resources like (images, icons or seed data) that you may download from the sidebar of the course's Table of Contents page.

How to use this app?

It’s simple:

  1. Watch the video lesson once from start to finish
    1. Set YouTube player to HD and make it full screen
    2. Take your notes and questions
  2. After watching the video, go back to Service Studio and implement what you’ve seen in the video lesson. If you need to do so:
    1. Go back to the video lesson for reference
    2. Use Service Studio online help for additional reference
  3. When you’re done:
    1. Advance to next lesson/assignment

How should you progress through the coursework?

This course focuses on the flexibility of learning at your own pace, and we expect it will take you around 25/35 hours to complete. You are free to go through the curriculum (which you will find in subsequent pages of this application) when it's most convenient to you. If you are pressed for time, you can skip the Optional Assignments found in the curriculum.


While we strived to have the lessons be as clearly explained as possible, those enrolled in this course have exclusive access to the Developer Online Class Discussion forum, where you will be able to interact and exchange thoughts with your colleagues at any time. If you have a question, maybe you’ll find the answer there already? Or it could be the case that you can help someone there yourself?

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 course?
is to teach you the foundations of OutSystems platform
language and the development cycle thus enabling
you to develop your own web and mobile business applications going forward
Now what is this OutSystems platform? OutSystems platform
is a open application platform
that allows you to create deploy and manage
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 to deliver
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
the more
day-to-day usage of actually serving those pages,
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 effectively
the back end of the OutSystems platform. For us developers
we normally interact with the development environment
and the main tool inside our development environment
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
data model,
the logic behind your pages but also the pages, how they look, how they interact
with the users.
So the majority of your time as a developer is
spent on this particular section
of the OutSystems platform. There is another sub tool
inside the development environment, which is normally called
Integration Studio
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 platform,
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. You create
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 you need
to look at logs and see how it's behaving, we have
the Management Console that is sometimes also called
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 several environments.
So if you have a development environment, a quality assurance
environment and a production environment,
sometimes it's important for a
life cycle functionalities, for deployment
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 work on the
development environment, 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 of your
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 application server
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 environment.
This is the reason
why we asked you to inform us of what your personal environment was,
so we could move on, and
finish your enrolment for the course. Now,
how is the course actually going to be ran
and what is the make-up of this course? The 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. Then
once you go through a few of these lessons in the silence, we actually have
a couple
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
session. Okay? 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
able to go through
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 progress,
but it also contains the workbook,
contains the assignments that you will need
to go through to complete it. Also to interact,
if you have any doubts, we set up a private forum
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
more logistically
related problems, we actually have an email that is on your screen right now,
that is
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 problems
with your personal environments, do let us know about that.
But, as for questions to do with the curriculum or the technology,
we ask
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, sequentially.
Now some of these lessons, as I mentioned, there will be video lessons
to let me move
very swiftly, to one such example and this is
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 important things.
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 development environment.
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
doubts you can
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
here, of
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
list of lessons
and assignments, you can click over here in the breadcrumb
and you will have the full curriculum over here. Okay?
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.
Okay? 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 checkpoints, okay?
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 bugs people
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 got one there,
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
the course. Okay? Now...
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, the assignment
materials, okay?
It is very important that you download this before you start. This will have all
sorts of things from
CSS files, images,
JavaScript snippets, whatever, 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 conveniently placed,
as I mentioned, in every single page there's a link here, that will take you
to the forum.
Okay? If you click on this, you will get,
you will be pushed into the OutSystems forum. You will need to log in
with your OutSystems
account because, as I mentioned, this forum is strictly private.
So, normally
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
interesting ones,
with more general technology considerations with the OutSystems
but this is really focused on our course
in particular, okay? So...
final question is:
where should you actually conduct
exercises? Where do you connect your development environment
to actually publish the stuff as you're developing?
We don't actually have a formal server
for everyone to connect because we actually have hundreds of people doing
this course,
but we'd have a better thing. You actually have
your personal environment if you remember. So
you we'll be publishing and running
does applications as you develop them during the course and you will develop
quite a few of them,
you should publish to your personal environment,
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>>
and this is where you should connect your
development environment. 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.
So, we talked about the
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 therefore
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
Take care! Bye, bye!