Enterprise Scale

Starter templates - normalize and bootstrap your apps

By creating your own set of templates your team members will then be able to create new applications that share the same look, set of widgets, and be bootstraped with an initial set of service/API references that will not only ensure the overall visual consistency of your apps, but also guide them in complying to your standard enterprise architecture.

You can also find and share Templates in the OutSystems Forge, getting help from and helping everyone in the Community.

Learn how to build a template

Enterprise Scale

Staging control for complex deployment scenarios

Staging control for complex deployment scenarios

As your portfolio grows and the number of applications and modules increases, it is only natural to expect that dev and ops will have to deal with different lifecycles among applications and modules. If your portfolio is big enough (hundreds of applications and modules), you’ll want more fine grained control over specifically which versions of the applications and modules are pushed forward to production. Moreover, you’ll want perfect visibility over what the impact and timeframe required for your deployment will be.

In Platform 9 Amsterdam, we have redesigned the lifecycle management engine to give you a finer-grained control over deployment operations. Just as before, you are allowed to push an entire application version between environments with one click. But if you do need more control over the lifecycle of each specific module, you can now also choose which individual modules you want to take.

When you’re dealing with very large applications this provides a great way to quickly push a small hotfix, instead of deploying the full app. We have also made it faster and easier to create a deployment plan. Once you have done all selections for your deployment plan, you can click the “Validate Deployment” to make sure that all dependencies are satisfied and apps can be deployed with no inconsistency.

Learn more about how to deploy a single application module

IT collaboration in a deployment plan

When multiple teams are working at the usual rapid delivery pace enabled by the Platform, all eager to push changes to production, sometimes you end up with daily deployment cycles with changes from several distinct teams.

To support these complex deployment scenarios, users can now edit a shared deployment plan, over which several users can add their applications. This way multiple users or teams working on different modules can synchronize, in a single operation, the deployment of their changes to another environment.

All of the deployment operations are governed by the permissions of the users who are creating the plan and by the user who is executing the plan. Any user will be able to add an application to a plan, as long as they have the appropriate privileges over that application in the involved environments, and only a user who has appropriate permissions over all applications in the plan can execute it.

IT collaboration in a deployment plan

User governance for large app portfolios

User governance for large app portfolios

In typical enterprises, it is very common for a given IT user to have different kind of responsibility and access levels in different applications.

As an example, an in-house developer might be allowed to change the Directory application, but not allowed to open or reuse the Intranet application (where the master Intranet data and services reside), while another user might be able to open and reuse services from Directory and Intranet, but only change the Vacations application. Even though the Platform has long supported the fine-grained configuration of these rules, as the number of developers and applications grow, complex policies are defined and federated App Dev team models are implemented. Individually managing each developer or policy would become unruly for your administrators.

With Platform 9 Amsterdam we have simplified this workflow by introducing the capability for a user to have multiple application roles. All you need to do is define the roles and their permission levels across the infrastructure and then assign the desired role to that user in the desired applications.

Federated user management

Another common scenario in enterprises is to have teams that work on and have responsibility for a well-defined set of applications, where each person on that team may have a different level of responsibility and access over the applications that belong to the team.

Platform 9 Amsterdam allows each user to have one role in each team and that role automatically applies to all applications that belong to the team. Adding or removing users and applications to the team is a very simple task. And to support a federated development model, where the central administrators ensure they remain in control while opening the door for each team admin to manage their own teams, we have also introduced the concept of Team and Application Manager. Users with this privilege on an application can manage that application’s privileges to other users. Similarly, if a user has that permission over a team, the user can add and remove other users to and from the team, thus no longer requiring the Administrator to do this operation.

Learn more about configuring security for complex security policies

Customer Portal

User Authentication

Platform external authentication for IT users

A common scenario in large enterprises, or in enterprises with strong security compliance requirements, is to have a centralized user management solution, such as Microsoft Active Directory. These solutions ease operational activities and support complex security policies requirements, thus increasing the overall security of the IT infrastructure.

Platform 9 Amsterdam allows organizations to leverage these investments by allowing the creation of OutSystems modules (eSpaces) that act as authentication providers for the Platform, implementing the specific authentication rules that an enterprise may require, by simply complying with a well-defined API.

OutSystems Platform includes by default - on top of its own internal authentication provider - integration with Active Directory (AD) and LDAP.

These “authentication plug-ins” can be used as-is or as starting points for more complex scenarios. The Platform offers support for user+password credentials validation scenarios as well as Windows Integrated Authentication for LifeTime and Service Center.

Learn how to use an external authentication provider for your IT Users

Application publish performance improvements

OutSystems is constantly tuning publish cycles and with Platform 9 Amsterdam have reduced that time by up to 10%, each time you hit 1-Click Publish. When you publish an app, the Platform performs several checks so you don't have to. These ensure consistency between your new version and the supporting systems. That tells us what needs to change for your application to function correctly.

In this release, we focused on the performance of two of these consistency checks:

Entity model consistency checking

While an application is being published, the Platform applies the necessary changes to the database to ensure that is consistent with the visual entity model. This is CPU intensive and puts considerable burden on the database. Although entity model changes are most frequent in the early stages of an application's development and become increasingly rare as it matures, the Platform performs this check at every 1CP, as the Database’s model could have become invalid due to modifications outside the Platform.

Web reference checking

During the 1CP process, the Platform checks to see if all application web references remain valid by probing each one with an HTTP request. Depending on the number of web references and network conditions (e.g. latency), this process can take a significant toll on total publication time.

View more detail

Audits across all operations

Audits across all operations

Nowadays, it is very common for enterprises to keep information regarding events that occurred in their systems or networks. This information is used to help system operators in their tasks of troubleshooting problems, getting insights over system usage, recording the actions of users, and providing useful data for investigating malicious activity.

Platform 9 Amsterdam introduces new functionality to address these requirements and make the life of developer and operations teams easier. All activity that changes the state of your infrastructure is logged, including user management, role management, team management, infrastructure management, and application lifecycle operations. This logging is available for all top level objects, such as users, roles, teams, applications, environments and infrastructure. You will be able to know who did which operation, over which object, and when it was done.

Learn more about monitoring usage with Audit logs

Database self-service operations API

When you delete Entities and Attributes in your applications, the Platform doesn't delete the corresponding table or column in the database. Your data is safely stored in case a rollback in required.

However, there are scenarios where you know that you will no longer need that data and you would like to permanently delete it from your database. With Platform 9 Amsterdam, we included a new API that allows you to permanently / physically delete module versions, entities and attributes that are no longer used.

As these operations are destructive, all calls to this API are audited, logged, and require elevated privileges. Thus, you don't force your database administrator to perform these operations, while still retaining control over your critical data.

Learn more about the DBCleaner APIs

contact pricing