<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What is the best way to populate a dropdown ?</title><link>https://community.appian.com/discussions/f/best-practices/10382/what-is-the-best-way-to-populate-a-dropdown</link><description>I need the managers list while adding an employee . i have an employee and manager table . 
 while creating an employee , i need to populate managers list so that HR can assign the manager to an employee . in the interface i need to populate the Manager</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/68508?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 16:18:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6f01df88-b394-4852-b5f4-40235b9ebf7f</guid><dc:creator>karthip0001</dc:creator><description>&lt;p&gt;Thanks, that makes sense.&amp;nbsp; Unfortunately we don&amp;#39;t assign tasks to any user yet.&amp;nbsp; These are pages that will display as part of the application the user has access to.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/68501?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 13:38:09 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:411fde8d-3a14-45d6-8079-9331943be182</guid><dc:creator>Josh</dc:creator><description>&lt;p&gt;In the case that a user is chained into a task from a related action then yes, there probably is not a speed up based on where you place your data load. If a task is assigned to a user (i.e. not from an action or related action) and/or a user continually saves and reopens a given task, there could be a speed up based on where you placed reference data loads.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/68498?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 00:00:40 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:84bd195a-af8b-4828-837d-a16843c3ebbc</guid><dc:creator>karthip0001</dc:creator><description>&lt;p&gt;I dont understand the concept of storing in process model. &amp;nbsp;Wont the process have to retrieve the data first even before it can be passed to the UI and cause the UI delay in rendering anyway?&lt;/p&gt;
&lt;p&gt;Also dont understand where Josh says if the user opens the UI everytime, the local variable in the load function will be populated every time but isnt that the case with process model as well? &amp;nbsp;If the user closes and opens the UI again wont a new process model instance be created?&lt;/p&gt;
&lt;p&gt;I have a similar need for a pricing tool where I need to populate a dozen dropdowns with albeit very small data sets but I need to frequently look up multiple RATES tables based on the drop down values selected. &amp;nbsp;The RATES tables store records from about to 20 to 200 rows and I have about 10 of them! &amp;nbsp;ANY IDEAS?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/58927?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 15:06:39 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ee7bc866-8803-4e3e-8d19-030a668ff1c0</guid><dc:creator>rajeshs</dc:creator><description>I would use Query entity with filters with Batch Size of 10 and utilize it in Customer Picker. The moment user will type in Manager name, it will match and display.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/58916?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 11:47:12 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:115ba336-0bc7-4a39-aa8a-f791c87ec300</guid><dc:creator>sergeiz</dc:creator><description>Think of it from design perspective. Process Model is something that have predefined steps and some logic to move the process along. Caching data is not a part of business flow. So the main approach should be querying data on form opening. And the reasonable exception if it leads to pure UI performance.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/58915?ContentTypeID=1</link><pubDate>Wed, 08 Aug 2018 11:15:46 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:86afcea4-f569-4c7c-b3a4-a3e4f787f69c</guid><dc:creator>sonakshid</dc:creator><description>I agree with vahedullas, database interactions/queries should be done in process model and passed as rule inputs to SAIL,&lt;br /&gt;
as it will reduce form rendering time to the user and improves SAIL performance. &lt;br /&gt;
&lt;br /&gt;
Also, in case if large data present in database, querying on SAIL impacts performance.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/58825?ContentTypeID=1</link><pubDate>Tue, 07 Aug 2018 10:25:45 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:98090d3f-f527-4e30-ae9e-3fe22abc045c</guid><dc:creator>vahedullas1000</dc:creator><description>As Josh mentioned, it depends on the approach and use case. In case of Data centric approach, user experience is same even though I would store the data in process and pass the list in as a rule input.&lt;br /&gt;
Again if we have multiple drop downs based on the selection, then we need to fetch the data in the form itself.&lt;br /&gt;
As per best practice, i would recommend store the data in process and pass the list in as a rule input.&lt;br /&gt;
Correct me if i am wrong.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45685?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 17:58:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:09b277a5-0216-4237-8dfe-a2121535db3e</guid><dc:creator>Josh</dc:creator><description>I would use a grid or a picker. You can refer to &lt;a href="https://docs.appian.com/suite/help/17.1/images/Appian_Style_Guide_for_Interface_Designers.pdf"&gt;docs.appian.com/.../Appian_Style_Guide_for_Interface_Designers.pdf&lt;/a&gt; for recommendations on what components to use based on the size of your reference data.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45681?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 17:24:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:cd10290f-d821-4ca1-bfa5-cdb9e1f686c6</guid><dc:creator>Shreehari Gopalakrishnan Ramanan</dc:creator><description>as per the use case , This drop down should grow  at max 100 - 200 values.  is it a better idea to convert to a grid ?&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45679?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 15:17:24 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:1a40ea55-83d1-4578-8666-2f8ec596be4f</guid><dc:creator>Josh</dc:creator><description>Again, the exact approach depends on the use case. While I generally agree there would not be a difference between querying 10 records vs. 1000, this is not a guarantee.&lt;br /&gt;
&lt;br /&gt;
The same goes for caching data in process, there is a trade-off here between process memory and user experience. You can easily reduce process memory by marking the process variable as hidden and update your archive settings to quickly archive the process.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45676?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 15:03:55 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f7304fcc-a189-4215-b3d9-8a83fa5d29dc</guid><dc:creator>sergeiz</dc:creator><description>I don&amp;amp;#x27;t think extracting two columns for 1000 records will take much longer than for 10. If everything is OK on the database side, not a heavy view, etc.&lt;br /&gt;
&lt;br /&gt;
And if the size of the data is an issue it is not good to cache it in each process.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45675?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 14:55:03 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:02769541-79cc-41bc-9169-70d28bb19a22</guid><dc:creator>Josh</dc:creator><description>The exact approach depends on the use case. The recommendation was made to improve user experience if the query to retrieve the managers was slow.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45674?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 14:52:26 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:c7a6a171-01ea-4a1e-b64b-49d056553b3f</guid><dc:creator>sergeiz</dc:creator><description>&amp;gt; I would store the data in process and pass the list in as a rule input.&lt;br /&gt;
&lt;br /&gt;
Is it a good practice to keep long lists in process variables? It will consume Appian memory. Practically I don&amp;amp;#x27;t think there would be a very long manager list. In case it is it would be easier to select department first with less managers inside.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45673?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 14:31:49 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:99cb81e9-baa9-4f4e-98f2-30ea6f4de692</guid><dc:creator>Shreehari Gopalakrishnan Ramanan</dc:creator><description>Oops Yes , i forgot to return the id in the rule :)&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45671?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 13:57:58 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9ecde444-0b90-42ac-b85b-bda6d6d4add9</guid><dc:creator>Josh</dc:creator><description>This error indicates that an id in your list is null. While the &amp;quot;value&amp;quot; of a dropdown can be null, none of your &amp;quot;choiceValues&amp;quot; can be null.&lt;br /&gt;
&lt;br /&gt;
Assuming the &amp;quot;id&amp;quot; is a primary key of your manager table, I wouldn&amp;amp;#x27;t expect any of your ids to be null. I would look into the data being returned.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45670?ContentTypeID=1</link><pubDate>Wed, 24 May 2017 13:54:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:ab44e6a0-4d92-4851-9e85-aedf3bc7553b</guid><dc:creator>Shreehari Gopalakrishnan Ramanan</dc:creator><description>Thanks for the reply &lt;br /&gt;
&lt;br /&gt;
 choiceValues:{index(local!managers.data, &amp;quot;id&amp;quot;, {})},&lt;br /&gt;
If i give like this , i am getting the error below &lt;br /&gt;
&lt;br /&gt;
A dropdown component [label=“Manager”] has an invalid value for “choiceValues”. Choice values cannot be null.&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: What is the best way to populate a dropdown ?</title><link>https://community.appian.com/thread/45646?ContentTypeID=1</link><pubDate>Tue, 23 May 2017 21:37:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:40039651-6fad-42fb-9cd3-51f0f48ebfbd</guid><dc:creator>Josh</dc:creator><description>&lt;p&gt;Your snippet should look more like&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!dropdownField(
    label: &amp;quot;Manager&amp;quot;,
    labelPosition: &amp;quot;ADJACENT&amp;quot;,
    placeholderLabel: &amp;quot;--- Select a Manager ---&amp;quot;,
    choiceLabels:{index(local!managers.data, &amp;quot;name&amp;quot;, {})},
    choiceValues:{index(local!managers.data, &amp;quot;id&amp;quot;, {})},
    value: index(ri!manager, &amp;quot;id&amp;quot;, null),
    saveInto: ri!manager.id,
    validations: {}
)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If your query doesn&amp;#39;t take too much time, loading the managers in a load() variable on the interface will be fine. However, this load variable will re-evaluate whenever the user opens up the interface, so if you anticipate both the user frequently leaving/coming back to the form AND the query is slow, I would store the data in process and pass the list in as a rule input.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>