Questions on Preparation Action Best Practice

Hi,


First off, apologies since I'm not exactly sure which forum this topic should be in.


As stated in the best practices page (https://success.outsystems.com/Documentation/Best_Practices/Performance_Best_Practices/Performance_Top_10_Rules), we should avoid using Preparation data in Screen Actions since the data will be passed over the wire (network). I would like to clarify a couple of things regarding this issue.


Is this a hard rule or are there scenarios in which this would be acceptable? Right now I'm not sure how the viewstate caching works. If I use only part of the preparation data is the entire dataset passed or only the part that is needed by the Screen Action? 


Another thing is that instead of a database call we might be referencing an external system  (whose stability may be less guaranteed) in our Preparation and the Screen Action using the data may be heavily called as part of user interaction. 


Lastly, would a screen variable be part of the viewstate? That is, if I put in the Preparation data in the screen variable would it be considered as "avoiding" the usage of Preparation data in Screen Actions?


Cheers,

Kevin

Hi Kevin Tolentino,

First of all, as you said it's a best practice, not an obligation.


Your skills will be improved with time.

Hi Kevin,


About viewstate you can find here a simple explanation about that: https://www.c-sharpcorner.com/UploadFile/g_arora/discussing-viewstate-session-and-caching-the-threes-of-as/


Regards,

Ricardo