Hi Marco, <br><br><div class="gmail_quote">On Tue, May 24, 2011 at 5:05 PM, Marco Hugentobler <span dir="ltr">&lt;<a href="mailto:marco.hugentobler@sourcepole.ch" target="_blank">marco.hugentobler@sourcepole.ch</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Similar to Radim, I&#39;d prefer to have an integration with QBrowser and its<br>
model.<br></blockquote><div><br>as I wrote, it&#39;s ok for me to use the QgsBrowserModel and QgsDataItem to create the tree, <br>in fact I added it to the wiki yesterday.<br><br>I also want to improve providers adding the import layer functionality  to allow to <br>



move/copy layers between different providers and I had wrote that to my proposal.<br><br>What I don&#39;t like it&#39;s to create DBManager as a C++ plugin or just as a QBrowser <br>
extension. Python code is easily maintainable, furthermore the QBrowser/DBManager <br>won&#39;t do heavy computation, so is there a good reason to develop it using C++ <br> instead of python?<br><br>Regards.<br><br></div>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

Since the browser classes are in the source tree, they are easy to distribute<br>
also as C++ code.<br>
<br>
Regards,<br>
Marco<br>
<br>
Am Dienstag, 24. Mai 2011, 09.07:57 schrieb Giuseppe Sucameli:<br>
<div><div></div><div>&gt; Hi Radim,<br>
&gt;<br>
&gt; On Tue, May 24, 2011 at 7:46 AM, Radim Blazek &lt;<a href="mailto:radim.blazek@gmail.com" target="_blank">radim.blazek@gmail.com</a>&gt;wrote:<br>
&gt; &gt; First of all, IMO, the DBManager has to be implemented in QGIS core,<br>
&gt;<br>
&gt; &gt; not as a plugin for two main reasons:<br>
&gt; 1) it is core functionality<br>
&gt;<br>
&gt; I not agree, it&#39;s a GUI functionality. We can implement all the core stuff<br>
&gt; in the<br>
&gt; qgis core creating API for reuse of code (I think about connections, as it<br>
&gt; was done<br>
&gt; in WMS provider) and then accessing that from the plugin, but I don&#39;t like<br>
&gt; the idea<br>
&gt; to have DBManager in C++.<br>
&gt;<br>
&gt; &gt; 2) connection factories MUST go to providers, otherwise you start to<br>
&gt; &gt; create a set of plugins for each DB, parallel to providers.<br>
&gt;<br>
&gt; I agree with you about this point, as you can see I added yesterday the<br>
&gt; QgsDataItem section to the wiki.<br>
&gt;<br>
&gt; &gt;From UI point of view, I would prefer to have everything in one place,<br>
&gt; &gt;<br>
&gt; &gt; that means in QBrowser. We can rename QBrowser to QManager and<br>
&gt; &gt; suddenly it sounds more logical.<br>
&gt;<br>
&gt; QBrowser is a standalone application, a C++ application, I think the<br>
&gt; manager should<br>
&gt; be easily maintainable and IMHO python code is the best solution.<br>
&gt;<br>
&gt; Having everything in one tree will<br>
&gt;<br>
&gt; &gt; allow in future to easily drag-and-drop for example Shapefile to<br>
&gt; &gt; PostGIS and so on.<br>
&gt;<br>
&gt; That is not a problem, that feature could be implemented in providers, an<br>
&gt; import<br>
&gt; method which take a QgsMapLayer (this was in my gsoc proposal yet), but<br>
&gt; have<br>
&gt;<br>
&gt; everything in core without any real and strong reason could make the core<br>
&gt; code<br>
&gt; hard to maintain.<br>
&gt;<br>
&gt; We have to add support for other providers to<br>
&gt;<br>
&gt; &gt; QBrowser anyway. It does not make sense to have another similar UI<br>
&gt; &gt; just for databases, implemented in a different way. Currently QBrowser<br>
&gt; &gt; is a stand alone application but it will be integrated also to QGIS<br>
&gt; &gt; main application.<br>
&gt;<br>
&gt; QBrowser it&#39;s implemented as a C++ standalone application to browse files<br>
&gt; and<br>
&gt; show information about layers, but those are the same infos you can get<br>
&gt; using QGis.<br>
&gt;<br>
&gt; The manager would make easy the use of databases in QGis, but not for QGis<br>
&gt; use<br>
&gt; only. Ok, we can show preview, load a layer in canvas, but also run<br>
&gt; queries,<br>
&gt;<br>
&gt; create/edit/drop tables and views, ... pretty different from the QBrowser<br>
&gt; aim!<br>
&gt;<br>
&gt; I think all the qgis-devs should say their opinion about this question<br>
&gt; raised by Radim.<br>
&gt;<br>
&gt; I attended the GSoC 2009 for a different FOSS project and after I started<br>
&gt; to work<br>
&gt; on my _accepted_ project all devs said me that they didn&#39;t like my project,<br>
&gt; so my<br>
&gt; code was set aside and left on a branch and my GSoC was set as failed even<br>
&gt; if I had<br>
&gt; ended coding = no gsoc shirt :&#39;( and no money for the second coding period<br>
&gt;<br>
&gt; :(<br>
&gt;<br>
&gt; I don&#39;t want to work again on something that devs don&#39;t like,<br>
&gt; so please devs, I need your opinion. Thanks.<br>
&gt;<br>
&gt; Regards.<br>
&gt;<br>
&gt; QgsDataItem probably is not the best place where db connections should<br>
&gt;<br>
&gt; &gt; be implemented, but it is good place where they can be used to<br>
&gt; &gt; represent databases in QgsBrowserModel and thus in QBrowser. I can<br>
&gt; &gt; imagine a QgsDatabase inherited by QgsPostGis, QgsSqlite etc. with all<br>
&gt; &gt; the methods you list on [2]. Then a single QgsDatabaseItem (which<br>
&gt; &gt; would inherit from QgsDataItem) could represent any DB provider,<br>
&gt; &gt; taking as parameter a QgsDatabase child for specific provider.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Radim<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Mon, May 23, 2011 at 5:21 PM, Giuseppe Sucameli<br>
&gt; &gt;<br>
&gt; &gt; &lt;<a href="mailto:brush.tyler@gmail.com" target="_blank">brush.tyler@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; Hi all,<br>
&gt; &gt; &gt; I&#39;m starting to work on DBManager plugin for QuantumGIS.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I&#39;ve just created the repository on GitHub [1] and here&#39;s [2] a page on<br>
&gt; &gt;<br>
&gt; &gt; the<br>
&gt; &gt;<br>
&gt; &gt; &gt; QGis wiki<br>
&gt; &gt; &gt; containing ideas I wrote in the past few days. I will add weekly<br>
&gt; &gt; &gt; reports<br>
&gt; &gt;<br>
&gt; &gt; to<br>
&gt; &gt;<br>
&gt; &gt; &gt; that wiki page.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Any comments and reviews are very welcome.<br>
&gt; &gt; &gt; Regards.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; [1] <a href="http://github.com/brushtyler/db_manager" target="_blank">http://github.com/brushtyler/db_manager</a><br>
&gt; &gt; &gt; [2] <a href="http://www.qgis.org/wiki/DB_Manager_plugin_GSoC_2011" target="_blank">http://www.qgis.org/wiki/DB_Manager_plugin_GSoC_2011</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Giuseppe Sucameli<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Qgis-developer mailing list<br>
&gt; &gt; &gt; <a href="mailto:Qgis-developer@lists.osgeo.org" target="_blank">Qgis-developer@lists.osgeo.org</a><br>
&gt; &gt; &gt; <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
<br>
<br>
--<br>
</div></div>Dr. Marco Hugentobler<br>
Sourcepole -  Linux &amp; Open Source Solutions<br>
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland<br>
<font color="#888888"><a href="mailto:marco.hugentobler@sourcepole.ch" target="_blank">marco.hugentobler@sourcepole.ch</a> <a href="http://www.sourcepole.ch" target="_blank">http://www.sourcepole.ch</a><br>
Technical Advisor QGIS Project Steering Committee<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Giuseppe Sucameli<br>