<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hi Patrick,</p>
<p>Matthias Kuhn, the one who knows about this the best, is currently out of office / on holidays. I think he is back next week.</p>
<p>I would probably wait for his review.</p>
<p>Thanks and greetings,</p>
<p>Andreas</p>
<p>On 2016-10-12 09:48, Patrick Valsecchi wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr">
<div>No answer. I think I'll move forward with my proposal.<br /><br /></div>
Thanks.</div>
<div class="gmail_extra"><br />
<div class="gmail_quote">On Fri, Oct 7, 2016 at 9:27 AM, Patrick Valsecchi <span><<a href="mailto:patrick.valsecchi@camptocamp.com">patrick.valsecchi@camptocamp.com</a>></span> wrote:<br />
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div dir="ltr">
<div>
<div>Hi,<br /><br /></div>
I'm tasked with making QGIS a bit more usable with complex database schemas having a lot of relations (up to hundreds of linked tables). The INSPIRE people were a bit too inspired when creating their data schemas and now we have to try to make QGIS able to cope with that.<br /><br /></div>
My concerns with the current situation (as of QGIS master) are:<br />
<ul>
<li>We can specify the relations between the layers at the project level (it's now easier with the auto-discover feature for PostGIS and Spatialite). But those are only showing in the QgsAttributeForm for the 1-N side (the side that doesn't have the foreign key). Why not on the N-1 side?</li>
<li>For showing the N-1 side in the QgsAttributeForm, one can define a Join in the layer's properties, but I don't see the point of having to define it here as well when we have already the relations info at the project level. I see a use for special joins, but for relations, I don't see why we have to define it twice. And the way it's displayed is not allowing to create joins or edit the joined fields.</li>
<li>I let you imagine the look of the feature attribute form when there are hundreds of directly and indirectly linked tabled. This is just not usable if we display all of them directly like that. Just look at the attached screen shot that shows what happens by default with only 3 tables. It's already a mess.</li>
</ul>
<p>Now, what I propose is:</p>
<ul>
<li>Not expand the relation widget (QgsCollapsibleGroupBox) by default and build it's content only when it is expanded the first time (think of what would happen when you have loops in the schema).</li>
<li>Show N-1 relations as well, in a collapsed by default QgsCollapsibleGroupBox, including a way to add a new linked entry, remove the link (put the FK to NULL) and delete it.</li>
<li>Add a button to open a related feature in a new window.</li>
</ul>
<p>What do you guys think?</p>
<p>Thanks.</p>
</div>
</blockquote>
</div>
</div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /> Qgis-developer mailing list<br /><a href="mailto:Qgis-developer@lists.osgeo.org">Qgis-developer@lists.osgeo.org</a><br /> List info: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br /> Unsubscribe: <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a></div>
</blockquote>
<p> </p>
<div> </div>
</body></html>