Bulk edit Site Properties to prevent corruption, downtime or unneeded cache invalidation

Service Center

It would be great if we can edit Site Properties in bulk instead of per item within System Center. My main reason for this has do to with a bit of Quality of Life but more importantly conistency of data and preventing downtime of the application in question.

A bit more detail;

Right now we need to change the Site Properties one-by-one. Each setting opens a new window and is being saved independently. Let say I want to change a connection to an external system that is saved in 3 Site Properties. One for the URI , one for username and one for the password. When I change either of them a part of my application stops working cause the combination of the 3 isn't correct. Only after changing all 3 the application continues to work as planned. This can take some time of your environment isn't really fast or if you need to verify the inputted data. It can also cause corruption of data on either end of you haven't got any retry capabilities in place or are not handling the connection error correctly. 

What also happen when you update one Site Property is that you application pool gets invalidated and needs to be build again. This will take some time and causes low load times for application. One is already annoying but by doing this multiple times the time gets really long and people will start to call the servicedesk or you directly causing wasting even more time.

A solution;

My suggestion would be to be able to edit all Site Properties on one page with one generic Save button. This way all settings will be updated at the same time preventing the error situations I mentioned above and causing only one Application Pool Invalidation and thus reducing a long duration of slow responses for the end-user.

Some inspiration could be the way the Site Properties are handled in Azure Web Applications. The hide the values by default (good security practice) and allow bulk editing as well as individual editing of properties. Everything is saved by a general Save button setting all values in one sweep.

Created on 13 Jan
Comments (5)

Changed the category to Service Center

Seems like a great idea!

Honestly, 3 or even 5 cache invalidations from editing a few SPs in SC isn't a big deal. What *is* a big deal, is updating a SP *frequently*. SPs are super convenient, but at this point in the game I don't recommend using them at all in any decent-sized app. They have too many shortcomings.



To me the inconsistency that you currently can get between URI, Username and Password is a much bigger deal and these is not frequently changing data. Using SP's for this kind of data is one of the most used use-cases for Site Properties overall (not just OutSystems) and currently you can get into an inconsistent state that could case all kinds of issues. Of course you could also create a table for these settings but that also has it's own challenges especially in OutSystems. The latter is nice to talk about via a separate channel though.

I understand why you want something LIKE SPs.

I'm saying "don't use SPs".

My Application Framework on the Forge has a configuration system already written up in it, that works about as easily as SPs, while adding:

* Import/Export

* Encryption

* Caching as an option rather than mandatory

* Can enumerate the properties at runtime

* Multitenancy

* Out-of-the-box widgets to allow easy edits

So... really... there's no reason to use SPs when you can build on something that does it right from the get-go, without having to do any coding.