Super dynamic user interface

We have a few hundred products. Each product has different configuration fields (with different labels or data types). Depending on which product is selected by the user, the interface displays various fields for the user to fill out. Does Appian provide a way to render such dynamic interface based on the configuration fields defined in a database table by product? I am trying not to write an interface for each product. Any comments and suggestions are appreciated. 

  Discussion posts and replies are publicly visible

Parents
  • I can think of one solution for your problem, but it wont be super easy.

    1) Create a table that has defined all the properties of each product (labels and so on)

    2) Create and expression rule that provides you the structure that you need i.e getProductStructure(product:"ABC") that returns something of the type {name:Col1, value:2.3, type:decimal}

    3) Create an dynamic interface that goes on loop with if conditions that loops all the element of the array provided from getProductStructure. So kind of if(local!structure = "decimal", a!float...(), {if(local!structure = "Text, a!textField(..),{})}) and so on

    4) Create a script based on Appian with a start form that receives an XML and reads the XDS files of your CDTs, and writes on the a new table / update the table with the product name CDT and its fields.You will need here quite a development to make it work.

    The step 4 can be a loop for each of the files. You can easily have all the XDS by making a patch of your application, extracting it and checking the zip file.

    Good luck!

    Best,

    Manuel

Reply
  • I can think of one solution for your problem, but it wont be super easy.

    1) Create a table that has defined all the properties of each product (labels and so on)

    2) Create and expression rule that provides you the structure that you need i.e getProductStructure(product:"ABC") that returns something of the type {name:Col1, value:2.3, type:decimal}

    3) Create an dynamic interface that goes on loop with if conditions that loops all the element of the array provided from getProductStructure. So kind of if(local!structure = "decimal", a!float...(), {if(local!structure = "Text, a!textField(..),{})}) and so on

    4) Create a script based on Appian with a start form that receives an XML and reads the XDS files of your CDTs, and writes on the a new table / update the table with the product name CDT and its fields.You will need here quite a development to make it work.

    The step 4 can be a loop for each of the files. You can easily have all the XDS by making a patch of your application, extracting it and checking the zip file.

    Good luck!

    Best,

    Manuel

Children
No Data