May the Forge be with you…
Geplaatst op: 9 januari 2017 • Martijn Habraken • Blog

Accelerators for your web-apps, develop with the speed of light..

The OutSystems Forge is a repository of reusable application modules. When you first start working with OutSystems, the Forge can be a little bit overwhelming. At the moment the Forge contains 1137 (and growing every day) applications and modules. This blog will shine some light on a few modules that you should really look at when developing your first apps.

Let’s begin with the child prodigy of OutSystems that was introduced to us in the spring of 2015: SILK UI with all of its templates. This is one of the components that OutSystems developed themselves and is featured and supported. The SILK UI framework helps you build beautiful looking applications with a very high speed. The framework contains a library of patterns for: content management, controls, data visualization and many more. This framework is a must have when you start building your applications. For more information on SILK UI and its templates take a look at:


Another way to help your users understand you application better is the use of “input masks”. This will help your users to better understand in with format they should type their input. For example: do you want your users to type the data format in mm/dd/yyyy (American standard) or dd-mm-yyyy? Or maybe you want

to show the user that a specific input contains a currency and that the amount is in Euro. There are a few components in the forge that have these features but in my opinion the: CustomMasks application is the best to use. This component gets regular updates and has a great help page!

A lot of applications I have built in the past are applications that are only used in one specific country but when you need to build an application that will be used in multiple countries you will probably get the problem that some of those countries/states are in different time zones. So how do you store and show dates and times? Probably you want to store all date times in the same time zone format. When a user then goes to the application you only need to check in what time zone the user is and change the show the date time in his time zone. The application: Time Zone is a ‘simple’ application that contains a few actions easily to work with date times and time zones.

Many apps you will build over time need some kind of reporting functionality. Maybe you want to export timesheets summaries or want monthly sales numbers with a nice layout. One of the ways to manage this is to build a web page as a report and convert these HTML pages to PDF. These PDF files can be easily printed or saved to the filesystem. In the forge you can find the component: HTML2PdfConverter, as the name suggests this component gives you the functionality to take a page you created in Service Studio and make a PDF file of it. The component itself is already a few years old, but it still gets regular updates. An important difference with the above-mentioned apps is that you will need to install some additional libraries on the application server where you run OutSystems. The documentation and help for this are included in the component.

fullsizerender2Do you need more flexibility when developing, did you ever wonder how you could call a screen action from another web block? Well, this is possible with some help of the following component: Event System. This component is a little bit overwhelming when you first look at all functionality that it exposes. The developer of this component has built a learning website that you can find here. Another thing that makes this component different from other components in the Forge that it isn’t open source. You can use the component as is but when you want to customize it you will need to buy it. You can find all additional licensing information on the website provided.

fullsizerender3By default you can see that the application is doing an Ajax refresh when looking at the bottom right corner where a waiting text is visible. However sometimes you want to let the user know that the system is working/loading and prevent the user from clicking on buttons or links in the meantime. The component: Full Screen Ajax Wait is an easy to use component for this requirement. You will need to replace the default ajax wait web block with the web block provided by the Full Screen Ajax Wait component.

Will you be using business processes in your application? If so then is the Business Activity Monitoring application a must have. This component contains actions to interact better and easier with your processes and activities and it contains web blocks to show information about your (running) processes. Want to show how many processes are assigned to the IT department or maybe you want to see the processes that are overdue? Just drag the web blocks on your page and your users (certainly managers) will have all the information they need in beautiful looking diagrams and charts.

getallenThe last component I want to bring to your attention is a very small component that I already used a number of times. Sometimes you’re in the need of a random number, well then there is the Randomizer Number Generator. As the name suggest you can get a random number from the actions in this component, handy if you need to divide users into groups. If you’re a looking for a way to generate a unique number, then you should look at the action: GenerateGuid from the system module.

I hope you all enjoy developing with the OutSystems Platform as much as I do. Did I forget a component you use in every project or is letting you develop faster than the speed of light? Let me know!

[1] This blog only looked at modules for web applications, this is a personal blog. Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated.
[2] The components talked about are not owned by me and can be changed over time or disappear.


  • Stel uw vraag aan Martijn Habraken:
  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.


Vacature Assistent Controller

20 augustus 2023 • Transfer Solutions

Aftermovie KlantEvent 2023

29 juni 2023 • Mariette van Pinxteren

Meer nieuws


Meer blogitems

Training & Events

Meer training & events