What's new in the Agile Platform 6.0

What's new in the Agile Platform 6.0

Hello Community,

As I am sure most of you know, we have released the Agile Platform 6.0 last Thrusday, during NextStep 2011

This is a major version. packed with a lot of great new things from Mobile support to Themes and Placeholders, a simplified User Management solution and a gorgeous, redesigned, Service Studio.

Together with this version, we also released a set of full blown, free, open source business apps to help you jump start the learning process and quickly deliver fully functional apps, in hours. You can try them online right away, download them to your free trial in the cloud or request your own development or production environment using the Agile Platform in a Platform-as-a-Service model.


But that's not all. As usual, we've listened to your requests, looked into how you use the Agile Platform everyday and included an inumerous set of small but priceless improvements that will help you in your everyday work.

You can already check in the What's New document some of the things I'm mentioning.
In the coming days we'll go into the details of all of these features, so you're ready to use the new capabilities of the Agile Platform like an expert. Stay in tune.

Thank you for all the feedback! Download the new version, try it for yourself and enjoy! 

Gonçalo Borrêga
Definately a big improvement! Simplied user management is what we have been asking for since day 1! Extremely glad to see outsystems has moved into this direction :)
If you are creating layouts and styes for mobile ...
the portrait/landscape switch only reacts on the default div tag for portrait and the body[orient="landscape"] addition for landscape.
So the following will create the right styles used in Service Studio

div.Main {
    -servicestudio-background-color: orange;

body[orient="landscape"] div.Main {
    -servicestudio-background-color: green;

and be sure to save your work regularly if you're designing in layout mode :-)
Hi Joop,

Are you facing any problems with the layout mode?
Can you please report those problems?

Thanks :)

Just send support a mail and feedback direct from Service Studio, it crashes a lot on me.
But then I'm messing around with styles and divs ;-)
Hi again,

Thanks for the submission. 

Guys, please keep us aware of any issues you find.
It is very important that people submit feedback in order to us identify and solve the issues. 

Thanks again,

Can any of you Outsystems staff post here how the autocomplete feature is done in 6.0, for the ones who couldn't attend the event. It was one of my favorite new features. ;)

Hermínio Mira
Hi everyone,

In the aftermath of the launch we've recorded a set of small videos about 6.0 for existing users.

Here goes the first which talks about apps@outsystems.

thanks Pedro

the apps are great!  and real useful aswell.

Today I'm posting a video about the gorgeous, beatifully redesigned Service Studio.

Another set of two great new features of 6.0: Themes & Placeholders

Here's a screen recording of some of the new productivity tweaks in version 6.0

 - Application component: shared theme/roles, Intelliwarp updating menu in the producer
 - Multiple espaces editing: open in producer, drag between tabs to automatically add references between espaces, refresh references without publishing, open all consumers
 - Attribute creation tweaks: drag entity to create foreign key, Automatic type inference (CreatedBy (*By) -> UserId, UpdatedOn (*On) ->DateTime; there are a few others like RecordName to create a record; x,y,z to create integers, ...)
 - Preview mode: navigation on links, Selected menu preview
 - Intelliwarp: right click on dropdown to "Convert to AutoComplete", right click on sidebar action to "New DeleteEntity Action"
 - Widget hierarchy tree: shows the hierarchy of the controls in your screen and allows direct editing for finetuning the positioning


Here's another video for you. This time it's about how you create you own gorgeous app using IntelliWarp and new default themes of 6.0.
I just realized I never got to publish the video about creating mobile applications with 6.0. Here it goes!

In version 6.0 there were also some improvements on BPT.
In order to increase the execution capacities of the processes you have now available a new API that allows you to:
  • Hide the Done button of the taskbox for a specific activity instance - eg: so that you fully control in the UI when you want an activity to be closed, via the ActivityClose system function.
  • Hide the Release button of the taskbox for a specific activity instance - eg: To avoid that users release an activity after they pick it. You can then make some logic to track when users want to release an activity and use 
  • Extend a particular activity instance instructions with an expression - eg: to use in an Approve Expense activity, so that instructions mention "Approve John's expense of $120 (Roadtrip)", specific for that activity instance (the dynamic instructions are appended after the static ones)
To use this API just add a reference to EPA_Taskbox.SetActivityVisualization and use it on the Activitiy's OnReady callback (or the general Process.OnActivityReady if you want the same logic to apply to every activity in the process). The Expenses App has some examples of this usage that you can check.
There are also three Site Properties ( in EPA_Taskbox espace) that allow you to disable/hide the Done, Release or Skip buttons for all activities, for those cases where your application fully controls the whole process!
  • HideDoneActivityOption
  • HideReleaseActivityOption
  • HideSkipActivityOption
Another tip, this one related to using and checking User Roles and Groups.
From version 6.0 the platform's model supports:
  • Users - as usual, dynamic, created in backoffice or by your application programatically
  • Roles - static, defined in Service Studio. A User can be given a set of Roles (ex: John is a SalesManager)
  • (new) Groups: dynamic, created in Users backoffice (or your own user provider) or managed programatically by the application. You can use the Groups for the things like Administrators, US Sales Managers, etc, to which you add Users and Roles (ex: the US Sales Managers have the SalesManager role; John belongs to the US Sales Managers Group, so he inherits the SalesManager Role)
  • User_Effective_Role: this entity will give you all the Roles that a User has, either those directly assigned to him or those he inherited by belonging to a Group that has a Role

There's also an attribute "Has_Custom_Management" in the Group entity that informs the Users espace not to show that Group in the Backoffice management. This allows you to programatically create and manage groups only in your application. It can be used for scenarios such as
  • creating volatile Groups: e.g: assigning BPT activities to a "team of 2 users", created at runtime on the OnReady callback of the activity and discarded on the OnClose
  • creating "abstract teams": if you have an hierarchical list of companies/departments, you can create an hidden Group for each of them "USRegion-NewYork_Store", and programatically manage the Users within that Group so that you can, for instance, assign a document to a Region or a Store
On top of that, there is a new CheckRole(RoleId, UserId) system function that you can use, even inside queries, to determine if a user has a Role. Ex:
  • CheckRole(Roles.SalesManager, Opportunity.CreatedBy) = True: Used inside a query, will allow you to obtain all Opportunities created by a SalesManager
Hello Goncalo

In regards to users/roles how would outsystems implement user roles for an SaaS agile platform application

Enterprise Manager was the first approach to have the Single Sign-on capability for applications designed with the Agile Platform.
Most of the Enterprise Manager was designed as an extension to the Agile Platform, adding much functionality and a very extensive and complex API.

With the introduction of the new Application Security Model in version 6.0, the core functionality present in Enterprise Manager was revised and moved into the Agile Platform, attaining a better integration of user and security management with your applications.

From Agile Platform 6.0, OutSystems will no longer be maintaining Enterprise Manager. It is a public, open-source component, that you can use and customize it to your own requirements. Something you should take into consideration when upgrading is whether you'd like to keep using Enterprise Manager or migrate to the new, simpler, Security Model of the Agile Platform.
In order to help you out assessing this option, and have a better understanding of the mapping between the Security Model and Enterprise Manager, OutSystems has elaborated a technical note that is available in the Enterprise Manager component.

Kind regards,

jaime vasconcelos
the aps are really great and helpful thanks !