<div dir="ltr"><div>Hi Nidhi,</div><div><br></div><div>This implemented <a href="https://blueprints.launchpad.net/fuel/+spec/dynamic-fields">https://blueprints.launchpad.net/fuel/+spec/dynamic-fields</a> blueprint provided an ability to use "text_list" and "textarea_list" UI control types.</div><div>They are suitable for settings where the value is a list of strings.</div><div>These controls represent on UI a list of single or multiline text inputs with +/- buttons to add/remove an additional element:</div><div><br></div><div>My Setting      value1 +/-</div><div>                       value2 +/-</div><div>                       value3 +/-</div><div>(the result value for the setting "My Setting" is ['value1', 'value2', 'value3']).<br></div><div><br></div><div><br></div><div>If I understand your case properly, you need something like dynamic groups of inputs of different type.</div><div>This is still not supported by Fuel UI. The implementation does not look simple, it requires changing of data structure in settings yaml, adding a new level of nesting. There is a need to think thoroughly about the details: how to organize such a setting yaml structure, how to declare a set of inputs in such a group, how inputs should be aligned in the group (horizontally/vertically), etc.</div><div><br></div><div>For now, I would suggest the following ways of how to organize your plugin settings:</div><div><br></div><div>1) use text_list/textarea_list controls for each field from a group that represents storage backend configuration:</div><div><br></div><div>Field1  value_for_backend_1 +/-</div><div>            value_for_backend_2 +/-</div><div>            value_for_backend_3 +/-</div><div><br></div><div>Field2  value_for_backend_1 +/-</div><div>            value_for_backend_2 +/-</div><div>            value_for_backend_3 +/-</div><div><br></div><div>Field3  value_for_backend_1 +/-</div><div>            value_for_backend_2 +/-</div><div>            value_for_backend_3 +/-</div><div><br></div><div>2) use text_list/textarea_list controls to configure a list of storage backends by declaring their settings as a single comma-separated string:</div><div><br></div><div>Backends Settings    comma_separated_settings_for_backend_1 +/-</div><div>          <span class="Apple-tab-span" style="white-space:pre">          </span>          comma_separated_settings_for_backend_2 +/-</div><div>                                  comma_separated_settings_for_backend_3 +/-</div><div><br></div><div>From my point of view, the first version looks more clear. Will it suit your case, Nidhi?</div><div><br></div><div><br></div><div>Best regards,</div><div>Julia</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 21, 2016 at 8:17 AM <<a href="mailto:nidhi.hada@wipro.com">nidhi.hada@wipro.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr" class="gmail_msg">
<div id="m_1671772147780028939divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif" class="gmail_msg">
<p class="gmail_msg">Hi All,</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg">This is regarding an info required for fuel plugin development.</p>
<p class="gmail_msg"><span style="font-size:12pt" class="gmail_msg">We are working on Fuel Cinder Plugin where we require to </span><br class="gmail_msg">
</p>
<p class="gmail_msg">configure multiple 'n' number of backends of storage vendor ,</p>
<p class="gmail_msg">in one go, from Fuel UI screen. where 'n' will be known at run time.</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg">Its like from UI, I can configure a set of fields, [field1, field2, field3] </p>
<p class="gmail_msg">for one backend <span style="font-size:12pt" class="gmail_msg">and </span><span style="font-size:12pt" class="gmail_msg">if user ask to configure 'n' backends then same </span></p>
<p class="gmail_msg"><span style="font-size:12pt" class="gmail_msg">set of fields to be </span><span style="font-size:12pt" class="gmail_msg">asked repeatedly.</span></p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg">I have found some similar provision was planned in </p>
<p class="gmail_msg"><a href="https://blueprints.launchpad.net/fuel/+spec/dynamic-fields" class="m_1671772147780028939x_OWAAutoLink gmail_msg" id="m_1671772147780028939LPlnk297032" target="_blank">https://blueprints.launchpad.net/fuel/+spec/dynamic-fields</a><br class="gmail_msg">
</p>
<p class="gmail_msg"></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg">But when i see implementation <a href="https://review.openstack.org/#/q/topic:bp/dynamic-fields,n,z" class="m_1671772147780028939x_OWAAutoLink gmail_msg" id="m_1671772147780028939LPlnk888526" target="_blank">https://review.openstack.org/#/q/topic:bp/dynamic-fields,n,z</a><br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg">which implements new type as text_list and textarea_list ..</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg">which is capability to add multiple lines of text in single field..</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg">It does not look like same as aim of BP, where acceptance criteria for BP is <br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:12px;line-height:18px" class="gmail_msg">"Enable text and textarea field types to be extended - where a plugin user is
 able to toggle the visibility of additional fields with +/- signs and the data provided is used by plugin"</span><br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:12px;line-height:18px" class="gmail_msg"><br class="gmail_msg">
</span></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><span style="color:rgb(51,51,51);font-family:sans-serif;font-size:12px;line-height:18px" class="gmail_msg">Kindly correct my understanding if its wrong, do we have capability to add a text
 field by pressing +/- ?</span></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><span style="font-size:12px;line-height:18px" class="gmail_msg">What capability do we have with Fuel UI to add fields dynamically today ?</span></font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><span style="font-size:12px;line-height:18px" class="gmail_msg"><br class="gmail_msg">
</span></font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><span style="font-size:12px;line-height:18px;color:rgb(51,51,51);font-family:sans-serif" class="gmail_msg">I have </span><span style="font-size:12px;line-height:18px;color:rgb(51,51,51);font-family:sans-serif" class="gmail_msg">read </span><a href="https://openstack.nimeyo.com/44264/openstack-dev-fuel-interaction-between-fuel-plugin-and-fuel" class="m_1671772147780028939OWAAutoLink gmail_msg" id="m_1671772147780028939LPlnk223877" style="font-size:12px;line-height:18px;font-family:sans-serif" target="_blank">https://openstack.nimeyo.com/44264/openstack-dev-fuel-interaction-between-fuel-plugin-and-fuel</a><br class="gmail_msg">
</p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"></font></p>
<div id="m_1671772147780028939LPBorder_GT_14770268762320.3183547469053811" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px" class="gmail_msg">
<table id="m_1671772147780028939LPContainer_14770268762260.18122913469855217" cellspacing="0" style="width:90%;overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top-width:1px;border-top-style:dotted;border-top-color:rgb(200,200,200);border-bottom-width:1px;border-bottom-style:dotted;border-bottom-color:rgb(200,200,200);background-color:rgb(255,255,255)" class="gmail_msg">
<tbody class="gmail_msg">
<tr valign="top" style="border-spacing:0px" class="gmail_msg">
<td id="m_1671772147780028939TextCell_14770268762290.8069639841498317" colspan="2" style="vertical-align:top;padding:0px;display:table-cell" class="gmail_msg">
<div id="m_1671772147780028939LPRemovePreviewContainer_14770268762290.2113578960910043" class="gmail_msg"></div>
<div id="m_1671772147780028939LPTitle_14770268762300.03680376574719513" style="color:rgb(0,120,215);font-weight:normal;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px" class="gmail_msg">
<a id="m_1671772147780028939LPUrlAnchor_14770268762300.4602030942676172" href="https://openstack.nimeyo.com/44264/openstack-dev-fuel-interaction-between-fuel-plugin-and-fuel" style="text-decoration:none" class="gmail_msg" target="_blank">[openstack-dev] [Fuel] interaction between fuel-plugin and
 fuel-UI - OpenStack Mailing List Archive</a></div>
<div id="m_1671772147780028939LPMetadata_14770268762310.7282029767443792" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:normal;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px" class="gmail_msg">
<a href="http://openstack.nimeyo.com" class="gmail_msg" target="_blank">openstack.nimeyo.com</a></div>
<div id="m_1671772147780028939LPDescription_14770268762310.7332893704409376" style="display:block;color:rgb(102,102,102);font-weight:normal;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden" class="gmail_msg">
Hi all, I am working on two plugins for fuel : logrotate and cinder-netapp (to add ... /<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="gmail_msg" target="_blank">lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></div>
</td>
</tr>
</tbody>
</table>
</div>
<br class="gmail_msg">

<p class="gmail_msg"></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg">where suggestions are made to use restrictions to hide display components.</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><br class="gmail_msg">
</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg">Another suggestion is to use comma separated values.</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><br class="gmail_msg">
</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg">But its an year back post, do we have a better solution today ?</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><br class="gmail_msg">
</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg">Will be helpful if someone can suggest how do we achieve it in fuel UI.</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><br class="gmail_msg">
</font></p>
<p style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px" class="gmail_msg"><font color="#333333" face="sans-serif" class="gmail_msg"><br class="gmail_msg">
</font></p>
Thanks
<p class="gmail_msg"></p>
<p class="gmail_msg">Nidhi</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
<p class="gmail_msg"><br class="gmail_msg">
</p>
</div>
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should
 not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments
 for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. <a href="http://www.wipro.com" class="gmail_msg" target="_blank">www.wipro.com</a>
</div>

__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
</blockquote></div>