135
Views
4
Comments
Dynamic Form Creation in Outsystems
Question
Application Type
Reactive

Hi all

i have one requirement to design fully dynamic form.i have gone through dynamic form creation component.but the problem in the component we are using metadata and also we can customizer this thing.so basis of entity we can fetch all the fields from entity  and can create the dynamic form.but customer they want to create attribute on the fly so as per my knowledge in outsystems platform it is not supporting.do we have any workarroung for this requirement?if we will use nosql or mongo db because in this we are not following RDBMS.

need your thought or suggestion

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Hi Arkyadeep,

In general, "fully dynamic forms" with "creating attributes on the fly" are typically a symptom of a bad design. Typically, customers that demand this don't know what data they need on forehand, so they request everything is dynamical. This is not what OutSystems is good at, unfortunately.

That said, not knowing the Dynamic Form Forge asset (so I can't say how to solve it using that), you could treat each attribute as a key in a key/value pair, and store and retrieve that from your nosql database. It's difficult to offer specific advise, without knowing more details.

2023-06-14 08-52-52
Arkyadeep Bharadwaj

Hi

Suppose we can create one from entity and under that entity we can store Form Details and another entity we have that is field entity and based one form we can store all field details,datatype,min,max value for respective form.one another entity we have that is field data details here we are capturing field level data.

sample DB design

but main challenge is here suppose we have list page then we have to show the data from field data entity in tabular format for that purpose we have to do pivot.

i am not how much it can be achievable through outsystems. 

as per my knowledge if we use NoSQl or Mongo db then all value will come through structure so if you change the structure ion DB then manually we have to change the structure then it will work.correct me if i am wrong.

2020-09-15 13-07-23
Kilian Hekhuis
 
MVP

Yeah, pivoting will be difficult, as you can't have a dynamic amount of columns in a Table. If you can define a maximum amount of columns that you need to support, you can query the field details to retrieve all fields, then have a standard aggregate that left joins the field data entity the maximum amount of times, and filter in each join on another result of the field details query. Then in the screen you can have a Table with the maximum amount of columns, each column representing the data from one join. You can use CSS to hide columns that there's no data for (in case you have less than the maximum different attributes).

All of this is of course very convoluted, but like I said, it's typically bad functional design to want this...

2023-06-14 08-52-52
Arkyadeep Bharadwaj

I agree with u


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.