OutSystems — Frequent mistakes when learning the platform

João Heleno
3 min readJul 2, 2018

--

My first contact with the OutSystems platform was back in 2010. Since then I’ve had the opportunity to learn from some of the best specialists in this tool and also to teach what I had learned.

These past couple of years OutSystems has grown a lot and I notice it in the Community Forums. More and more friends registering and asking questions.

Off the top of my head I present you the top 5 frequent mistakes I see people make when learning to develop applications with OutSystems.

1. Ajax Refresh — No element to pick from

One of the first things you do when learning OutSystems is refreshing parts of your screen. To do this you use the Ajax Refresh widget. Those who come across it the first time will probably wonder why the Select Widget Popup doesn’t show any widgets at all.

Where did my elements go?

Don’t worry! All you must do is give a name to the element to be refreshed.

Baptize your element.

Hooray! You can see something now.

There it is :)

2. File upload — Empty files

Mistake number two is people complaining about “Empty (0 bytes) file received” error messages. This happens, usually, because the upload button’s method is set to Ajax Submit.

Wrong Method!

You must set it to Submit”. The Submit option will force the use of HTTP POST enabling your file to be submitted to the server.

And the winner is “Submit”!

3. Popups — They don’t open

Another frequent mistake is popups that don’t open in a modal window.

Link’s method must be Navigate.

Your link’s Method must be “Navigate”.

4. Foreign keys violation

Another one is the feared “INSERT statement conflicted with the FOREIGN KEY constraint…” error message.

Oh no…

It happens because you forgot to set a value in your entity’s attribute that is a mandatory identifier to another entity/table. The message itself is a bit strange because it’s a database error.

If you want to decipher it take a look a this post from Kilian Hekhuis. He’s also an OutSystems MVP.

Don’t forget to assign values to your mandatory identifiers!

5. Saving form data — Changes aren’t saved

The last one, and very common, is saving form data and not seeing the changes being reflected in the database.

It’s likely this happens because the wrong record is passed to the Create entity database action. You changed some attribute in the screen form and then you refresh it and the old information keeps appearing.

A common cause for this behaviour is using the record from the preparation aggregate/advanced query feeding the form instead of the form record that holds the information fetched from the database plus any changes.

Do you have questions about OutSystems? Pass by the Forums and leave your questions 😄

Want to learn more? Go to the Learning section of the OutSystems website and follow the guided paths.

Kudos to Kilian Hekhuis for helping me proofreading this article.

#OutSystems #LowCode #Noesis

--

--

João Heleno
João Heleno

Written by João Heleno

Senior Consultant @ IG&H Platform Services | OutSystems MVP

Responses (3)