Thanks for your time, your effort and suggestions.
It all depends of the use cases. Since I know the context of my app quite well, I might assign different weights to different aspects of an app. Furthermore, I cannot solve all the challenges at once. Step-by-step…
Regarding your points:
I am not so sure whether you win so much, when you discard the uplink. It depends on how Anvil is setup, does it not? How does Anvil communicate with the postgres-db? Is it running on the Anvil-Server or on a separate (virtual) machine?
I am not familiar with postgres to the degree necessary to use it in the project at hand. To go into the details of any complex DB is demanding and time consuming. So I stick with what I am familiar with and can scale and where I can demonstrate a solution.
Additionally, I think I could not use a direct link from Anvil to Azure, because Azure-SQL-DBs have that firewall-feature were you specify the tcp-addresses that can call in and execute SQL-commands.
Since the tcps of Anvil are not fixed (AWS, is it not?) any SQL-calls will be blocked over time, even if you find out where your server is running.
Of course, I could turn-off the firewall, but this is very insecure and I know that any user data, should I become productive, will be client-confidential. If I have to trade security and speed, I choose security. Speed is a question of ressources/money, is it not?
Since I can host Azure-Data in Switzerland, local laws apply. This is not the case with Anvils DB. So I cannot use that DB anyway. I would not host the database myself either for the same reason. Much too complex, much to risky. I know what the say about MS, but they got their act together here.
Thus, in a production context, I would see a number N of Azure VMs that fire-off the SQLs necessary for the users.
But I am still very far from that. My app is using multiple layers of complex forms. They work. The data tables are stable and function.But supposedly simple printing/PDF creation is a construction site. Since my app needs to be multi-lingual (hey, this is Switzerland…) not just the data-fields need be loaded but also the field labels themselves… 30 second time-out, loading the data with parameters. This is simply not feasible.
Document-upload and structured storage is what I will do next. I have the basics working (pdf-encryptions, cloud-storage, secrets (again not Anvil).
Have you come across a decent tree-manager? I find the current JS documentation is not sufficient for me. I am too stupid for the examples provided. Any hint would be appreciated. It seems as if I had to delve into JS now.