Inspect the OML file
Hi all.
Is it possible to inspect the OML file?

I need to develop an app that could list all entities, actions, webscreens, etc from a eSpace.



Have you seen this forum? https://www.outsystems.com/networkforums/viewtopic.aspx?topicid=3666



Hi Acácio.

I've already been there. Unfortunately it has a major downside: I can't download it and customize it. I need a solution to run on a local network. I also need to customize some outputs.

I've seen that there's a OMLProcessor extension on the Platform Server folder, but I can't see it in the references. I've also tried to open it in the Integration Studio but there is no source code available once there.

So, is there other way?

Best regards,

Hi Bruno,



Can you tell us why you need this, please? What are you trying to accomplish? This way we can understand your requirement better and provide some solution.




Hi Rodrigo.
We are developing some apps that consume a unique eSpace responsible for all business rules and services.
What we are trying to do is create another app that would, at runtime, list all actions, entities and structs of that espace. Using the [System] eSpace we can get almost all of this info, with the exception of the actions, that I can't seem to find.
Since we want an always up-to-date version and many of the depelopers don't have internet access, using the OutDocumenter is not an option.

So, is there any other way?


Hi Bruno,



This is only possible for public actions. The system tables Espace_Version_Signature and Extension_Version_Signature have a xml representation of all the elements the eSpace and Extension exposes as public, including the public Actions.


Note that this xml representation is internal and not supported as a feature. This means it is subject to change between major versions of the Agile Platform without notice. Meanwhile, this should tackle your requirement. Simply create an Extension to parse that xml and get the list of Actions from any eSpace or Extension.


We'll include in our backlog a change request to also store in the metamodel of the Agile Platform the Actions (and other elements) of each eSpace, so that you can get a clean API for such requirement in a future version of the Agile Platform.




Sweet. :)
I can live with that.

When you create this extension, please post it in the community! We are looking for something like this but then for ALL eSpaces and Extensions, see: https://www.outsystems.com/networkforums/viewtopic.aspx?topicid=3666

Sure. Like me, many must have this need.

Hi guys, it is a very old post, but if anyone happen to land here, I just did it:

-> OML 2 XML: https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=10885

Extension that converts an OML Binary in an XML File. It is similar to what OutDoc already does, converting an OML to XML, but in this case it exports a lot more information. It was based on another component, OutGource. With the informations you can know exactly where some actions are used inside the OML, or specific properties of an entity or screen. 

-> OML Elements (Under Development): https://www.outsystems.com/forge/Component_Overview.aspx?ProjectId=10886

It is Like an OML API that uses the extension OML2XML, it is at a very early stage yet with just some functionalities, like the possibility to get the Screen and Actions Tree. 

There are also actions to help find the usages of each elements. Since the XML don’t follow a specific pattern for each element, I’m still trying to map the patterns for all types of elements and Modules in order to make a lot more functionalities. I decided to release it, even incomplete, because I think it may help someone with simpler requisites like myself.

The idea is that with that you people can have access to more detailed data of a Module, that is not available in Platform DB Metadata.
Examples would be:

-> Screens that have Anonymous or Registered roles marked which can be a security issue. Or any other role that you may want to track.
-> Specific details of an entity. If it is public.

-> Usages of an element inside a Module.

This way you can build your own complex reports to help manage your code. :)

Hope it helps.

If anyone have a specific use case that would like to do and don’t know how, let me know!

Cheers and Regards

Hi Raphael,

I can't seem to find the Forge components you mention.  Do you have any idea what happened to them?  Also OutGource seems to have disappeared from the Forge.

I'm also looking at a solution to read data from OML files to create supporting tools.

Kind regards,


I'm trying to find them too and I noticed a number of OML to XML components have been removed from Forge. Not sure why though. Can someone from the Outsystems team chip in?

Hey @Steven Decock@Saiful Aseem Abdul Khader,

Unfortunetelly we were asked to remove the components from forge.

We are trying our best to reactivate it or to provide a solution for the community, but we still don't have something we can show.

In the meantime what I sugget is that everyone that has this use case and need to access the OML metadata gives a thumbs up on this idea: https://www.outsystems.com/ideas/5948/oml-api-accessing-data/

This way OutSystems will now how important this use case is for the deveopers and prioritize this feature.

I'm sorry for not being able to help right now, if I have any updates related to this topic I will try to send here as well.



Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.