Web References


I was looking over the plataform system tables and i have a few questions, on the table ossys_Web_Reference wich one of the url's is the one used by the applications the url or the effective_url ?

I made a simple query to see the values and i noticed that many of the records have the effective_url empty, will this mean that if the effective url is empty then the plataform uses the url ?

Hi Gonçalo

The Agile Platform has a built-in feature to allow changing the URL of web references without having to change the applications themselves. This is very handy when staging the applications to other environments (like pre-production and production), and update the url of the Web Reference to the corresponding endpoints.

This means that there's a default and an effective value for the URL of the web reference, which can be changed on the Service Center espace details page. When the effective value is empty, the application uses the default value. That system entity holds both these values: url is the default value and the effective_url is the effective value.

So in a nutshell, if the effective_url value is empty, then the application is using the default value that exists on the url attribute.

On final note: never change the values on the system entity. If you need to change them ALWAYS use the Service Center UI for it. But you can use the system entity for read-only purposes.


Miguel Simões João
First of all thanks for the reply :), 

In my case im making a client ambient Synchronization, i'm trying to create a quick way to replace the existing values for this references.
After i change it, both the effective and the default i was going publishing a solution and reset iis services so that the values can be refreshed.

I understand the usual way to change the values should be through the Service Center UI, but i needed a quicker way to change all the Web References.

But like this should work or am i wrong ?

Let me add another question, in case of the site properties i found this two tables ossys_site_property and ossys_site_property_Shared is the logic the same has in the web references ?


Again this is a scenario where i need to act in a small time window to make the entire changes, that is why I'm making this in a script way and not on the Service Center UI.

Hi Gonçalo

I understand that if you have a lot of web references and site properties to change in a very narrow deployment window, an approach using scripting or even an espace to update all web references and site properties seems to be very appealing. However, manipulation of the OutSystems metadata is not recommended nor supported, since it could lead to inconsistent and corruption states on the Agile Platform.

So if you must use that approach, because using the UI on Service Center will not be possible, then consider the a full database backup before performing these tasks, and even attempt a dry run on a non-production environment.

With that said, if you update the web reference effective URL and site properties effective URL directly on the datamodel, and then publish all espaces, it will not require any further action for these new effective values to take effect, as the deploy of the espaces will reload the applications automatically.


Miguel Simões João
Thx for the Reply Miguel

This is just one case, and its a short window.

Thx for all :) !
Hi Gonçalo,

Also, if you change site properties in the UI (and as of 7.0.1+ this also applies to web references) you don't need to republish the eSpaces for the changes to be applied to running applications.

João Rosado