Hello community,
While playing around with ODC and going through the trainings available, I've come up with some questions...
And these are the questions I have until now :) if someone could enlighten me, it would be great.
Regards,
Cláudio Oliveira
Hi Cláudio,
Those are all very good questions, and ODC doesn't have (yet) the answers we like to hear.
I try to answer your questions with the knowledge I gained sofar in participating in the EAP of ODC.
ODC will be in GA with not complete feature set, let's not forget it also took many years for OutSystems to get into what is in O11. So what is not yet available, might become available in the (near) future.
1. Hotfixes
You can only develop (have your screens and logic) in the DEV stage. This makes it impossible to do hot fixes as we are used to in O11 in a preceding environment line Pre-Prod or QA and then merge back the hotfix in DEV.
There is currently, imho, ODC has no easy way to do hotfixes. The way you describe is a good way to do it, and it doesn't come a lot easier. The way you describe it seems not too hard, but it will be if the versions have entity changes.
Alternatively, you can introduce the concepts of feature flags.
2. Entities
No experience with large volumes of data, but executing a query, would generate a SQL statement executed on the database server. It should not matter that two entities are defined in two different apps. You can still define relationships between entities of different applications. App A can reference a public entity of App B and define a relationship between an entity of app A and app B. The generated SQL statement will be executed on the database server, not in your app containers.
Each Runtime stage has an isolated Amazon Aurora Serverless database.
3. Library App Static Entities
You can use record attributes of a public static entity from a library in consumer app aggregates and SQL. You can not use the Identifier of a public library static entity as foreign key in entities in a consumer module. So even if you want to filter for example Product.Category (entity in an app) with ProductCategory static entity defined in a Library, you cannot even set Product.Category to the static Entity identifier. Instead, you need to use a base type like Integer. So no database relation is established. But you can use the static entity in filters, in this example the ProductCategory static entity is from a library.
If you want to iterate over the records of a static entity, you need to define the static entity in an application, not in a library.
4. Timers
Not defined or documented, I will ask OutSystems. I do hope that for the fact that timers also run in isolated containers, we are not stuck to the same limitations as in O11https://success.outsystems.com/Documentation/outsystems-developer-cloud/Building_apps/Use_Timers/Create_and_run_Timers
I am confident that these responses may not be exactly what you were hoping for, but I hope they are still useful to you.
Kind regards,
Daniel
Thank you for the reply Daniël.
Indeed, the biggest issue here is that the Development team cannot publish anything from the moment the Hotfix starts until it's staged.
So in order to make an hotfix, we need to block the work from other people, that's what I'm not pleased.
Edited (I've previously said something wrong).
I was not aware that there is a single DB instance per runtime stage, so now it's clear ;)
Yap, that's what I thought.
In my opinion there should be a way to iterate through those static entity records. How, I have no idea :P
Indeed, curious to know what will be documented in regards to this.
The same for BPT/LightProcesses, but that's not yet available.
Regarding being the answers I would like to ear... well I'm trying to see the limitations and the effort on big projects.
In my role I need to make some decisions on how the new projects will be implemented, and for that I need to understand some technical aspects that can make me change the implementation design.
We are planning on rebuilding a big application, and knowing ODC is coming, decisions need to be made on making this a pilot for the use of ODC, so I need to understand the risks.
Thank you again :)
@Daniel Kuhlmann I found this post very helpful, thank you! I'm curious if any updates to these for ODC since posted 6 months ago?
No updates on those topics, sorry. New features have been added like external logic, and subscription pages, and some more things. But my reply in this discussion from 6 months still stands with today's version of ODC.