<div dir="ltr"><div dir="auto"></div><div class="gmail_extra">jHi all, <br></div><div><br></div><div>to go in the same direction as Andreas, my opinion is that the three relational widgets (value relation, relation reference, and 0-n/n-m one) need some love and I was about to start redacting a global QEP for that. <br></div><div><br></div><div>There are a lot of features missing and glitches we would like to adress, and drill down between fields is one of them. <br></div><div><br></div><div>Merging and coordinating efforts would be great!</div><div><br></div><div>I'm off the office right nown, but here are the requirements I had, according to our experience at building business applications with QGIS:</div><div><br></div><div><br></div><div># widgets naming</div><div><br></div><div>A common issue is that the names are not very self explaining on what use case they adress. <br></div><div>In training sessions, I use this simplification :</div><div><br></div><div> - value relation widget are best used to affect value list (also named sometimes domains) codes when displaying other values like clear or short names</div><div> - reference relation is the "Foreign key" chooser between real features (some are choosable on a map, others not)</div><div> - the relation widget is the opposite of the reference relation widget, displaying the "n" part in 1-n relations<br></div><div><br></div><div># common features needed for all widgets</div><div><br></div><div> We need the same options in both value relation and relation reference widgets.</div><div><br></div><div>- chained / unchained filters with consolidated tests (we have a lot of regressions in ther behavior)<br></div><div><br></div><div>- a common "search tool" to find features to relate when it's not possible to click on it, and when the list is long. <br></div><div>- A KNN search filter for spatial objects would be a massive win there to efficiently limit the list. Alternatively filtering in extent, and by any configurable expression would be nice<br></div><div><br></div><div>We prob<br></div><div><br></div><div># Value relation specific issues</div><div><br></div><div>- This tool substitutes codes by value almost everywhere in QGIS. We however miss the ability to display that value in some parts of the UI, like layer symbology or identify result dialog. That is a real trick for users and being able to display both real and translated values would solve that</div><div><br></div><div># relation reference speficic issue<br></div><div><br></div><div>- This tool load a sub form when not in " readonly" mode. This is quite expensive and if we merge both widgets, we should pay attention to be as lite as possible.<br></div><div><br></div><div># Performance issues<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">We found in 2.18.15 that there were hard coded thresholds changing how relation reference widget was requestion sub features when entering in edit mode. This led to a sudden massive freeze when having more than 100 000 potential related features. SQL request suddenly fetched data by blocks of 2000 from 1 per 1 fetches using classical selects. <br></div><div class="gmail_extra">When raised the threshold and switched sub form preloading to readonly.</div><div class="gmail_extra">Matthias improved a lot of things recently, IIRC like multi threaded loading</div><div class="gmail_extra"><br></div><div class="gmail_extra">Globally, this raise the issue that current situation might not scale up for big databases and we need to put that requirement in the scope. <br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">So, maybe this work could be helped by grant applications and customer direct funding. Anyway, we need to coordinate there.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">My two cents, <br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Régis<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">Le 16 avr. 2018 08:21, "Andreas Neumann" <<a href="mailto:a.neumann@carto.net" target="_blank">a.neumann@carto.net</a>> a écrit :<br type="attribution"><blockquote class="m_5106897700622904681m_-9175642931748038283quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif">
<p>Hi Nyall,</p>
<p>Interesting campaign and definitely some needed feature that will help further improve forms in QGIS.</p>
<p>However, I wonder why you chose the "value relation widget" and not the "relation reference widget". Both widget types have a larger overlap in functionality and I did hope that we could get rid of one of the two widgets in the future. Because from a user perspective it is confusing that different widget types exist that do similar things.</p>
<p>I had the impression that the team around Denis/Matthias is pushing the "relation reference widget" and had the plan to implement in the relation reference widget everything the "value relation widget" does.</p>
<p>Matthias - please correct me if I am wrong.</p>
<p>Nyall/Matthias/Denis: What are your thoughts on the redundant functionality in both widgets? Could we merge the two into one widget?</p>
<p>Greetings,<br>Andreas</p><div class="m_5106897700622904681m_-9175642931748038283elided-text">
<p>On 2018-04-16 05:14, Nyall Dawson wrote:</p>
<blockquote type="cite" style="padding:0 0.4em;border-left:#1010ff 2px solid;margin:0">
<div class="m_5106897700622904681m_-9175642931748038283m_683230050574064338pre" style="margin:0;padding:0;font-family:monospace">Hi all,<br> <br> North Road are proud to launch our latest QGIS crowd-funding campaign:<br> Drill-down (cascading) forms! This campaign covers extending the<br> functionality present in QGIS "Value Relation Widgets", allowing the<br> implementation of complex, dynamic filters within QGIS attribute<br> forms. The functionality can be used to implement "drill-down" forms<br> within QGIS, where the values available in one field depend on the<br> values of other fields.<br> <br> Full details are available at the campaign page:<br> <a href="https://north-road.com/drill-down-cascading-forms/" rel="noopener noreferrer noreferrer" target="_blank">https://north-road.com/drill-d<wbr>own-cascading-forms/</a><br> <br> We need your help to make this feature a reality! We need backers, but<br> just as importantly, we need people to spread the word about this<br> campaign so that all interested users and organisations hear about it.<br> Here are some ideas:<br> <br> - spread the campaign page via your social media accounts: Twitter,<br> Linked in, etc<br> - forward a link to the campaign to any relevant professional networks<br> you're part of<br> - publicise the campaign via your local QGIS user group<br> - have a chat to your manager... if this feature will make your work<br> easier, and you've saved money by implementing QGIS within your<br> organisation, consider contributing and let us make your job easier!<br> <br> Stay tuned for more updates and posts exploring this feature as the<br> campaign progresses...<br> <br> Nyall<br> ______________________________<wbr>_________________<br> QGIS-Developer mailing list<br> <a href="mailto:QGIS-Developer@lists.osgeo.org" rel="noreferrer" target="_blank">QGIS-Developer@lists.osgeo.org</a><br> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noopener noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/qgis-developer</a><br> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noopener noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/qgis-developer</a></div>
</blockquote>
<p><br></p>

</div></div><div class="m_5106897700622904681m_-9175642931748038283elided-text">
______________________________<wbr>_________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org" rel="noreferrer" target="_blank">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/qgis-developer</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/qgis-developer</a></div></blockquote></div><br></div></div>