https://giswiki.hsr.ch/api.php?action=feedcontributions&user=NicolaJordan&feedformat=atom Geoinformation HSR - Benutzerbeiträge [de-ch] 2024-03-29T12:49:02Z Benutzerbeiträge MediaWiki 1.27.0 https://giswiki.hsr.ch/index.php?title=Diskussion:GEOWebforum&diff=68035 Diskussion:GEOWebforum 2021-02-04T11:56:35Z <p>NicolaJordan: </p> <hr /> <div>== 2021 ==<br /> <br /> '''Tasks:'''<br /> <br /> 0. Migration auf nochmals neuen Server.<br /> <br /> 1. Anpassung Webseiten mit Umbenennung von KKGEO zu KGK und neuem Logo und Weblink <br /> * Weblink ist: http://www.kgk-cgc.ch/. Logo: (warte noch). (Adresse Geschäftsstelle KGK – CGC, Haus der Kantone, Speichergasse 6, Postfach, 3001 Bern )<br /> <br /> 2. Anpassung Mail-Server: <br /> * Neu statt sfkeller@hsr.ch richtig stefan.keller@ost.ch .<br /> <br /> 3. Bug im Titel von Beiträgen: <br /> * &quot;FOSDEM'21, 6 &amp; 7 Februar 2021, online&quot; im Titel erzeugte: <br /> Fehler in Zeile:257:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near <br /> '21, 6 &amp; 7 Februar 2021, online',425,12,'1612141296',0,'1612141296')' at line 1<br /> <br /> 4. Anpassung Webseiten mit Webstatistik.<br /> * Nicola fragen Stichwort &quot;Matomo&quot;.<br /> <br /> 5. Integration FB und Twitter<br /> * Messenger Bots einrichten, so dass pro neuer Beitrag im GWF eine Message an FB und Twitter geschickt wird.<br /> <br /> == 2020 ==<br /> <br /> Migration auf neue Server.<br /> <br /> == 2019 ==<br /> <br /> To Do's vom 31.10.19:<br /> &quot;Export Personendaten&quot; im CSV-Format als Button (Rolle Admin) wegen GDPR; Falls keine nützliche Query vorhanden zurückstellen und auf offene Punkte tun.<br /> <br /> Offene Punkte:<br /> * Dockerisieren und ev. Punkte unten bei 2018!<br /> <br /> Keine To Do's sind:<br /> * Piwik drinnen lassen - also NICHT herausnehmen! Läuft noch!<br /> * KEIN Akzeptieren-Button<br /> * KEIN Apache Log auswerten<br /> * Es braucht KEINE Text-Ergänzung zu den Benutzungsordnung wegen DSVGO<br /> <br /> Antispam (Done): <br /> * Es müssen drei Buchstaben aus Vorname oder Nachname müssen in E-Mail sein. <br /> * Zudem statisch: &quot;Interessen&quot; (other = Freitextfeld)<br /> * RaymondflomyGW Raymondflomy Darploffroappy@sexkruiz.ru other<br /> <br /> Done 11.06.2019 / 31.10.19: <br /> # GXOWebforum =&gt; GEOWebforum im HTML-Title korrigieren =&gt; Done<br /> # &quot;EMail suchen&quot; ergänzen (Rolle Admin) =&gt; TODO/doing<br /> # NEU: Nutzungsstatistik https://www.geowebforum.ch/stats.php nur noch für Rolle Admin anzeigen! =&gt; TODO/doing<br /> # Bug: In Detaillierte Liste sind die Pages weg!<br /> <br /> == 2018 ==<br /> <br /> Doing:<br /> # Antispam: <br /> ## Nicht-Übereinstimmung (Partial Match) von mind. 3 Buchstaben (chars) des Vergleichs von (Vorname oder Nachname) mit Mail (inkl. Domain) <br /> ## Wiederholung der ersten 4 Buchstaben von Vorname zu Nachname. D.h. das wird durchgelassen: &quot;Stefan¦Keller&quot; matchd &quot;sfkeller@hsr.ch&quot; und &quot;Mirko¦Stocker&quot; matchd &quot;me@stocki.ch&quot;.<br /> ## Nicht-Wiederholung derselben 4 Buchstaben in Vorname, Nachname, Mail. D.h. das wird abgefangen: byronjoighEA byronjoigh byronmalkovich@gmail.com<br /> ## Alles Grossbuchstaben ist Spam, z.B. aktuell &quot;FUELRYFLUIDAYYO FUELRYFLUIDAY don.carrington@fourr.org&quot;<br /> # Anpassen HTML HEAD mit konsequentem &quot;GEOWebforum&quot;, etc.<br /> # Bei memberlist.php den &quot;Balken&quot; (&quot;&lt; 1 2 3 4 5 &gt;&quot;) von unten nach oben verschieben, damit ich schneller da dran komme.<br /> # Abklären: Werden Mail wirklich nicht geschickt, wenn 2. deaktiviert, oder 3. sonstwie: Unzustellbare Mails nicht in DB kommen trotzdem? z.B.Paul Märki paul.maerki.bonanomi@gmail.com<br /> # Ev. Zusätzliche Suche nach E-Mail nur für Admins.<br /> <br /> In Abklärung:<br /> * In Abklärung! Impressum-Text anpassen an DVGO (Möglichkeit für Opt-out und Liste eigener Daten). OK-Button?<br /> * für Admins: Export aller Nutzerdaten im Sinne der DVGO als einfacher Button?<br /> * Statistik überarbeiten. Da stimmt etwas an versch. Orten nicht (z.T. einfach Code/Tabelle löschen): stats.php<br /> <br /> Kostendach 5 AT:<br /> <br /> Done:<br /> # Auf der Startseite https://www.geowebforum.ch/ &quot;Letzte Beiträge&quot; von 5 auf 7 erhöhen.<br /> # Weblink hinter KKGEO/CCGEO von http://www.e-geo.ch/ ändern auf http://www.kkgeo.ch/ .<br /> # Logos entfernen(!) und zwar auf https://www.geowebforum.ch/index.php =&gt; e-geo und SIK (http://www.sik-gis.ch) und auf allen(!) anderen Webseiten SIK ebenfalls im Header. <br /> # UTF8 bei Benutzungsordnung https://www.geowebforum.ch/register.php bzw. https://www.geowebforum.ch/benutzungsordnung.php<br /> # Text-Anpassung Benutzungsordnung: &quot;2. Das Forum verwendet zur Datenübertragung im Rahmen des Forums keine besonders abgesicherten Verbindungen, sondern nur normale HTTP-Verbindungen und E-Mails&quot; <br /> ## de: &quot;2. Das Forum verwendet zur Datenübertragung nicht immer gesicherte Verbindungen.&quot; =&gt; &quot;(SSL-Verschlüsselung o. ä.), sondern nur normale HTTP-Verbindungen und E-Mails.&quot; streichen!<br /> ## it: &quot;2. Il Forum non utilizza sempre connessioni protette per il trasferimento di dati.&quot;<br /> ## fr: &quot;2. Le forum n'utilise pas toujours de connexion sécurisée lors de la transmission de données.&quot;<br /> ## en: &quot;2. This forum does not always use secured connections for the data communication.&quot;<br /> <br /> Notizen zu Antispam:<br /> * Beschränkung auf 10 Beiträge pro Tag.<br /> * Mittels [https://github.com/Valve/fingerprintjs fingerprintjs] bereits im Client und beim Login mit in der DB gespeicherten Spam-Mails (IPs) vergleichen. Falls Match positiv ist, ins Leere laufen lassen.<br /> * Benutzerbeiträge am selben Tag wie die Anmeldung ignorieren<br /> * Moderieren der Neuanmeldungen?<br /> <br /> Weitereintwicklungsideen:<br /> * Social Media: 2-Click-Button für Twitter und Facebook einbauen, zum Liken und Retweeten (unter eigenem Konto). <br /> * Webanalytics einbauen?<br /> * Back-Button anschauen bei search, optional (max. 4h).<br /> <br /> == 2017 ==<br /> <br /> === Releases ===<br /> Done:<br /> * &quot;Twitter-Auftritt einrichten&quot;: IFTTT anpassen.<br /> * „Testdatensatz“ (Excel?) erzeugen und pflegen aus den Spam-Einträgen (und diese dann löschen)<br /> <br /> Webapp Release 2017-1: <br /> * (Dennis) Antispam im Backend verbessern - aktuell werden 1 bis 5 mal pro Tag Spam eingetragen (wohl zur Google Search Optimization). : <br /> ** Google CAPTCHA beim Registrieren und bei Kontakt<br /> ** Vorname extrem lang &gt; 60 =&gt; ignorieren<br /> ** Wenn bei Tätigkeits­bereich, Interessens­gebiete, Fachbereiche kein Enum eingegeben, sondern Freitext =&gt; warnen (verify=warned)<br /> ** Wenn bei Tätigkeits­bereich, Interessens­gebiete, Fachbereiche der String &quot;Version&quot; eingegeen wurde =&gt; ignorieren (verify=ignored??)<br /> ** Blacklist: https://www.geowebforum.ch/spam.php?view=1 ergänzen mit &quot;yandex.com, yandex.ru,, printemailtext.com, emailer.printemailtext.com&quot;.<br /> * Top-Themen-Anpassung: „Forschung“ umbenennen in „Jobs“ (alle Sprachen) und gleich unter Thema „Aus- und Weiterbildung“ einordnen. <br /> <br /> Webapp Release 2017-2: <br /> * neues Grafikdesign Rest<br /> ** Startseite<br /> ** Mail-Versand-Template<br /> ** ???<br /> * Twitter-Card sowie FB-Resource einbauen: vgl. https://giswiki.hsr.ch/Best_Practices_for_Web_Maps#Metadata_for_Social_Media<br /> <br /> Weitere Releases:<br /> * Backup<br /> <br /> <br /> === Requests Bugs === <br /> * MySQL MyAdmin =&gt; CSV-Liste der Abonennten ohne &quot;E-Mail Benachrichtigung über alle neuen Beiträge der letzten Woche&quot;<br /> * Ev. ein Attribut &quot;verify&quot; bei den Stammdaten einführen (default: verify=null)?<br /> * (tba. nice-to-have) RSS-Feed mit Hashtags ergänzen, damit es Twitter mit Hashtags besser funktioniert.<br /> * (IFS) https://stats.uptimerobot.com/ ???<br /> * 2-Click-Button für Twitter und Facebook einbauen, zum Liken und Retweeten (unter eigenem Konto) (nice-to-have).<br /> <br /> Bugs: -<br /> <br /> [[Datei:GWF-Spam_2016.jpg]]<br /> ''Abbildung: GWF-Spam.''<br /> <br /> == 2016 / 2015 ==<br /> <br /> Siehe 'Seite'.<br /> <br /> == 2014 ==<br /> <br /> Bugs: -<br /> <br /> Feature Request:<br /> * Es gibt beim File Upload eine Begrenzung auf 10MB. Uplaoad von Dateien, die grösser sind, wird abgebrochen. Offensichtlich fehlt dazu eine Fehlermeldung.<br /> <br /> == 2013 ==<br /> <br /> 31. Juli 2013.<br /> <br /> Features:<br /> * Projekt &quot;GWF Mobile&quot;: Webseite &quot;mobilfähig&quot; machen: Getestet vorläufig auf Internet Explorer 8 und Chrome (inkl. Firefox); später Safari, ca. 40 PHP-Seiten(!); Pop-up-Fenster neu in Webseite integriert; Alles mal 4 wegen Vier-Sprachigkeit<br /> * Startseite: Grafisch aufpeppen: Striche weg<br /> * Startseite: Grafisches Gruppieren der Themen<br /> * Startseite: RSS Auto Discovery (Test mit Google Reader auf Android) auf index.html eintragen.<br /> * Startseite: Anzeige neuer Themen seit letzten Montag (analog http://www.geowebforum.ch/last_entries.php )<br /> * Suche nach &quot;agit&quot;, dann Diskussion, dann &quot;Back&quot;-Button =&gt; &quot;Form Resend&quot;-Fehler...<br /> * User Liste sortiert<br /> <br /> Bugs:<br /> * Zugriff auf Dokumente aus geschlossener Gruppe funktioniert nicht (Egloff)<br /> * &quot;Letzte Beiträge&quot;: Wenn ein Bild in den ersten X Zeichen, die dargestellt werden eingebettet ist, wird es in voller Grösse dargestellt. Das Bild sollte besser in der Grösse beschränkt oder aber ausgeblendet werden.<br /> * Fehler bei „Neue Diskussion beginnen“: Gehe z.B. zu Diskussionen zum Thema «Test»; „Neue Diskussion beginnen“...; Ok.; Diskussion löschen; Nun kann man keine Diskussionen mehr beginnen!; Nach Aus- und wieder Einloggen ging’s wieder.<br /> * Montagsmail von Ende Dezember ist nicht raus =&gt; Berechnungsfehler.<br /> * Beiträge, die vor dem Sonntag erfasst und aber erst nach Sonntag 03:00 freigeschaltet werden, kommen nie im Mail eine Woche darauf nicht. Vgl. z.B. http://www.geowebforum.ch/thread.php?postingID=2012 -. Mo 22.02.2010 (das ist so. wenn ein eintrag in woche X erstellt wird und am zeitpunkt, an dem die newsletter für woche X versandt wird, hidden ist, wird er nie als neu angepriesen, da die nächste newsletter für die woche X+1 bestimmt ist und nicht für die woche X).<br /> * Fehlermeldungen bei nicht-existierenden Seiten: Bei [http://www.geowebforum.ch/thread.php?postingID=2654] kommt eine Fehlermeldung (&quot;Diese Beitrag ist leider nicht mehr vorhanden&quot;), jedoch abgeschnitten. Bei [http://www.geowebforum.ch/thread.php?threadID=1125] kommt gar keine Fehlermeldung.<br /> <br /> == URL's in Postings ==<br /> [[Allowed URLs in Postings Roule]]<br /> <br /> == Feature Requests / Ideen ==<br /> <br /> Kleinere Verbesserungen:<br /> * Nach Login Weiterleitung nach der ursprünglich aufgerufenen Seite.<br /> * Wöchentliche Zusammenfassung bei geschlossenen Gruppen.<br /> * Preview-Funktion (mit Button) für Benutzer beim Erfassen eines neuen Beitrags.<br /> <br /> == Erledigt ==<br /> * &lt;s&gt;Themen: Wenn ich als Titel &quot;Comité d'éthique de la 3D&quot; angebe, wird &quot;Comité d\'éthique de la 3D&quot; eingetragen und dargestellt: Was tun? (vgl. das neue Thema das ich erstellt habe).&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 17:39, 15. Feb. 2012 (CET))<br /> * &lt;s&gt;In &quot;Neue Diskussion&quot;: Länge von &quot;Titel der neuen Diskussion&quot; gleich breit wie der Text machen, also statt zurzeit 43 neu ca. 82 Zeichen.&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 17:56, 15. Feb. 2012 (CET))<br /> * &lt;s&gt;&quot;Suchen&quot;-Feld im Header einbauen, so dass es von jeder Seite aus nutzbar ist.&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 14:21, 16. Feb. 2012 (CET))<br /> * &lt;s&gt;In der Ansicht '[http://www.geowebforum.ch/memberlist.php?showalphabet=B&amp;result=true&amp;compact=yes Mitgliederliste]' einen neuen Link in den Mitglied-Namen einbauen, wo man als Administrator direkt zu &quot;Mitglieder Bearbeiten&quot; gelangt.&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 15:28, 16. Feb. 2012 (CET))<br /> * &lt;s&gt;Einbau OpenSearch (xml) in Startseite (vgl. OpenSearch). http://taginfo.openstreetmap.ch/search?q=schloss#keys&lt;/s&gt;(erledigt [[Benutzer:Felu|Felu]] 17:54, 16. Feb. 2012 (CET))<br /> * &lt;s&gt;Verständlichere und schönere Fehlermeldung bei &quot;http://www.geowebforum.ch/thread.php&quot; und &quot;http://www.geowebforum.ch/thema.php&quot; und &quot;http://www.geowebforum.ch/thema.php?themenID=blablabla&quot; &lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 15:44, 21. Feb. 2012 (CET))<br /> * &lt;s&gt;Diskussionen zum Thema X: Bei Beitrag verschieben (z.B. .../thema.php?move=1007) sollte die Liste sortiert sein (da fehlt ein ORDER BY ...).&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 18:01, 16. Feb. 2012 (CET))<br /> * &lt;s&gt;Arbeitsgruppen: Beim Eröffnen einer neuen Arbeitsgruppe, sollte die Auswahlliste sortiert sein (da fehlt ein ORDER BY ...).&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 18:16, 16. Feb. 2012 (CET))<br /> * Bug: &lt;s&gt;img-Tag wird nicht dargestellt: Vgl. http://www.geowebforum.ch/thread.php?threadID=1033#2490&lt;/s&gt; (erledigt [[Benutzer:Felu|Felu]] 13:35, 8. Mai 2012 (CEST))</div> NicolaJordan https://giswiki.hsr.ch/index.php?title=QGIS_Plugins_mit_Python&diff=60267 QGIS Plugins mit Python 2017-03-09T10:47:55Z <p>NicolaJordan: </p> <hr /> <div>'''QGIS Plugins mit Python - PyQGIS'''<br /> <br /> Siehe auch: [[QGIS for Devs]], [[QGIS]], [[QGIS - Tipps und Tricks]], [[Python]] (QGIS nutzt Python 2.7)<br /> <br /> == Allgemeines ==<br /> <br /> Wichtige Informationen:<br /> * Dokumentation/Tutorials: [http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications PyQGis Cookbook] (QGIS Documentation), insbesondere [http://www.qgis.org/pyqgis-cookbook/plugins.html Kap. 'Developing Python Plugins'] (PyQGIS, QT4, Eclipse, Eclipse PyDev)<br /> * Diagram about main QGIS Python API classes: http://labs.webgeodatavore.com/partage/diagramme_principal.html ([https://github.com/webgeodatavore/qgis-class-diagram Sources])<br /> * QGIS-Python-Plugin-Verzeichnis: C:\Documents and Settings\&lt;username&gt;\.qgis\python\plugins (Windows).<br /> * QTDesigner unter Windows ist nun Bestandteil von der QT IDE [http://qt.nokia.com/products/ QTCreator]. <br /> <br /> QGIS Plugins mit Python: Siehe [[#Writing_QGIS_Plugins]]<br /> <br /> Tools:<br /> * QGIS Python Plugin Builder: http://pyqgis.org/builder/plugin_builder.py<br /> * From the QGIS-dev mailing list: [http://osgeo-org.1560.x6.nabble.com/A-common-set-of-functions-for-QGIS-plugins-td5233908.html &quot;A common set of functions&quot;] by Victor Olaya, Nathan Woodrow<br /> <br /> Manuelles Installieren eines Python-Plugins myPlugin:<br /> * Download myPlugin.zip.<br /> * Auspacken von myPlugin in einem temporären Verzeichnis; nun sollte ein Ordner myPlugin/ vorhanden sein.<br /> * Den Ordner myPlugin ins QGIS-Python-Plugin-Verzeichnis kopieren.<br /> * QGIS (neu) starten und &quot;Erweiterungen verwalten...&quot; wählen. Dort sollte ein neuer Eintrag stehen =&gt; ankreuzen.<br /> <br /> == Writing QGIS Plugins ==<br /> <br /> * Documentation zum Schreiben von PyQGIS-Plugins:<br /> ** '''[http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/ PyQGIS Developer Cookbook]'''<br /> ** '''[http://www.qgis.org/api/ QGIS API]''' <br /> ** QGIS Manual - Guide: http://qgis.org/en/documentation/manuals.html &gt; QGIS Coding and Compilation Guide<br /> ** Forum: http://forum.qgis.org/viewforum.php?f=5<br /> ** Wiki-Artikel: http://www.qgis.org/wiki/Writing_Python_Plugins<br /> ** Community Support: http://gis.stackexchange.com/questions/tagged/pyqgis<br /> * Tutorials / Bücher: <br /> ** Book [http://pyqgis.com The PyQGIS Programmer's Guide] <br /> ** [http://blog.qgis.org/node/59 Quantum GIS Blog]<br /> ** [http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/ide_debugging.html How to debug a plugin using PDB] on QGIS Wiki (for C++ on Linux see [http://www.qgis.org/wiki/How_to_debug_QGIS_Plugins How to debug QGIS pugins])<br /> ** ''Rapid GUI Programming with Python and Qt'', Summerfield, Mark - Gutes Buch zu PyQt 4, Python und QT wird auch erklärt.<br /> ** Building a plugin for QGIS http://gis.ucar.edu/building-plugin-qgis<br /> <br /> == Testing QGIS Plugins ==<br /> <br /> * Writing Uni Tests for QGIS Plugins: http://snorf.net/blog/2014/01/04/writing-unit-tests-for-qgis-python-plugins/<br /> * Testen von Qt-GUI Komponenten: http://www.voom.net/pyqt-qtest-example<br /> * Neues Python Modul &quot;qgis.testing&quot; (4.2.2016): [http://www.opengis.ch/2016/02/04/increasing-the-stability-of-processing-algorithms/]<br /> <br /> == Plattform-unabhängiges Programmieren ==<br /> <br /> Auf was ist bei der plattform-unabhängigen Programmieren zu achten?<br /> <br /> * Encoding<br /> * Fonts: http://en.wikipedia.org/wiki/Liberation_fonts<br /> * tbd.<br /> <br /> == UX Guidelines ==<br /> <br /> Siehe [[QGIS for Devs#UX Guidelines]] (GUI)<br /> <br /> == Eclipse/PyDev ==<br /> <br /> Wie kann man Eclipse mit PyDev zum Entwickeln von QGIS-Plugins (QT4) aufsetzen inklusive Unit-Testing und Debugging (gem. [http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications] )?<br /> <br /> === Installation Eclipse ===<br /> <br /> * Download minimalstes Eclipse 3.x, sprich nur Eclipse Platform Runtime Binary, welches leider nicht direkt auf der Hauptseite verfügbar ist<br /> # http://download.eclipse.org/eclipse/downloads/eclipse3x.php<br /> # -&gt; Latest Release<br /> # Zur Platform Runtime Binary Sektion navigieren und entsprechenden Download starten<br /> # Installation<br /> <br /> === Einrichten Eclipse ===<br /> <br /> * Installation/Einrichten des Eclipse Marketplace<br /> # Eclipse starten<br /> # ''Help-&gt;Install New Software''<br /> # ''Indigo - http://download.eclipse.org/releases/indigo'' als Quelle auswählen<br /> # Im Filter Feld ''Market'' eingeben<br /> # '''Marketplace Client''' auswählen und installieren<br /> <br /> * Installation PyDev<br /> # ''Help-&gt;Eclipse Marketplace...''<br /> # Im Suchfeld nach '''pydev''' suchen<br /> # ''PyDev - Python IDE for Eclipse'' installieren<br /> # Konfiguration nach Eclipse Neustart:<br /> # ''Window-&gt;Preferences''<br /> # ''PyDev-&gt;Interpreter - Python'' für Linux oder ''PyDev-&gt;Interpreter - Iron Python'' und dann '''Auto Config''' wählen<br /> <br /> ;Hinweis<br /> :PyDev und den eingebauten Debugger kennen lernen: http://www.vogella.de/articles/Python/article.html<br /> <br /> * Optional: Sourcecontrol EGit einrichten<br /> # ''Help-&gt;Eclipse Marketplace...''<br /> # Im Suchfeld nach '''egit''' suchen<br /> # ''EGit - Git Team Provider'' auswählen und installieren<br /> <br /> * CDT<br /> # ''Help-&gt;Install New Software''<br /> # ''Indigo - http://download.eclipse.org/releases/indigo'' als Quelle auswählen<br /> # In der Kategorie Programming Languages ''C/C++ Development Tools'' auswählen und installieren<br /> <br /> * Python und QT4<br /> # Folgende Pakete müssen für Linux, am Beispiel Ubuntu, installiert werden um mit qt4 und sqlite arbeiten zu können<br /> ## python-qt4-sql<br /> ## python-qt4-dev<br /> ## libqt4-dev<br /> ## libqt4-sql-sqlite<br /> ## qt4-dev-tools<br /> ## qt4-doc-html<br /> ## pyqt4-dev-tools<br /> <br /> * Installation Eclipse Plugin<br /> # Download von http://qt.nokia.com/products/eclipse-integration/<br /> <br /> ;Hinweis<br /> :Um die qt-Umgebung, sprich Designer etc. kennen zu lernen, ist das eingebaute Eclipse-CheatSheet sehr gut geeignet. Eclipse-&gt;Help-&gt;Cheat Sheets...<br /> :Ein Wiki mit vielen Tutorials gibts hier: http://diotavelli.net/PyQtWiki/Tutorials<br /> <br /> Eine alternative Anleitung zur Installation gibts hier: http://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/<br /> <br /> * QGIS installieren<br /> # Nach Anleitung von http://www.qgis.org/wiki/Download vorgehen<br /> # Zur Entwicklung libqgis-dev zusätzlich installieren<br /> <br /> == Debugging von Python-QGIS-Plugins mit Eclipse ==<br /> <br /> ;Warum ist das Debugging von Plugins nicht so einfach wie bei einem Python-Programm?<br /> :Grund dafür ist, dass bei Plugins ein weiterer Prozess, also nicht unser Plugin-Code, die Lebensdauer unseres Codes bestimmt. Das heisst, dass wir in den wenigsten Fällen direkt in den Programmcode des 'Host'-Prozesses eingreifen können um an der Stelle zu warten, an welcher unser Plugin zum Einsatz kommt.<br /> <br /> ;Wie verbinden wir nun den Eclipse-PyDev-Debugger und ein QGIS-Plugin?<br /> :Die Lösung die PyDev hierzu anbietet, verwendet einen sogenannten Remote-Debugger. Dabei agiert Eclipse-PyDev als Server, welcher auf einem bestimmten Port (Default ist 5678) auf eine Verbindung eines entsprechend ausgerüsteten Python-Programmes wartet. Sobald die Verbindung zu Stande gekommen ist können wir wie gewohnt debuggen.<br /> <br /> === Remote-Debugger / Debug Server ===<br /> <br /> Als erstes wechseln wir in die Debug Perspektive von Eclipse. Dadurch erhalten wir zwei zusätzliche Symbole im Toolbar [[Datei:EclipseDebugServerIcons.png|200px|thumb|right|Toolbar Icons]] , welche uns erlauben den Remote-Debugger zu Starten/Stoppen. Alternativ dazu können wir den Debug-Server im Menu ''Pydev-&gt;Start/End Debug Server'' kontrollieren.<br /> <br /> Wir starten nun den Remote-Debugger durch anklicken des entsprechenden Symbols oder im Menu ''Pydev-&gt;Start Debug Server''. In der Konsole wird nun ausgegeben [[Datei:EclipsePydevDebugServerConsoleOutput.png|200px|thumb|right|Console output]], auf welchem Port der Debug Server auf eine Verbindung wartet. Der Port kann in den allgemeinen PyDev Einstellungen unter Debug angepasst werden.<br /> <br /> === Anpassungen im Python-Plugin Code ===<br /> <br /> Damit unser Plugin mit dem Debug Server verbinden kann müssen wir den folgenden Code einbauen, '''am besten direkt nach den üblichen Module Imports von Python'''<br /> <br /> &lt;pre&gt;<br /> #...<br /> <br /> import os<br /> from os import *<br /> pydevPysrcPath = os.environ.get('ECLIPSE_PYSRC_PATH', '')<br /> if pydevPysrcPath:<br /> if os.path.exists(pydevPysrcPath):<br /> import sys<br /> sys.path.append(pydevPysrcPath)<br /> import pydevd<br /> pydevd.settrace()<br /> else:<br /> print &quot;Specified ECLIPSE_PYSRC_PATH [%s] does not exist&quot; % (pydevPysrcPath)<br /> <br /> #...<br /> &lt;/pre&gt;<br /> <br /> Damit haben wir die Möglichkeit den Eclipse-Debug-Server nur dann zu kontaktieren, wenn wir auch die entsprechende Umgebungsvariable '''ECLIPSE_PYSRC_PATH''' gesetzt haben. Dies funktioniert natürlich nur dann, wenn wir auch die 'Host'-Applikation aus dieser Konsole starten.<br /> <br /> ;Beispielaufruf in der Konsole (Linux)<br /> &lt;pre&gt;<br /> ~$ export ECLIPSE_PYSRC_PATH=/opt/eclipse/plugins/org.python.pydev.debug_2.2.3.2011100616/pysrc/<br /> ~$ qgis &amp;<br /> &lt;/pre&gt;<br /> <br /> ;Beispiel (Windows)<br /> * Die Umgebungsvariable ECLIPSE_PYSRC_PATH setzen und QGIS starten. <br /> * Dazu gibt es zwei Möglichkeiten: 1. Batchdatei mit folgendem Inhalt (dann diese Batchdatei ausführen):<br /> &lt;pre&gt;<br /> set ECLIPSE_PYSRC_PATH=/opt/eclipse/plugins/org.python.pydev.debug_2.2.3.2011100616/pysrc/&quot; <br /> qgis.exe<br /> &lt;/pre&gt;<br /> * oder ECLIPSE_PYSRC_PATH dauerhaft als Systemvariable eintragen und QGIS mittels Doppelklick auf Icon - oder aus dem Startmenü- starten.<br /> <br /> ; Weiterführende Informationen<br /> : remote-debugging: http://pydev.org/manual_adv_remote_debugger.html<br /> <br /> == How to publish a plugin ==<br /> <br /> Preparation: <br /> * Check if all attributes in the metadata.txt file are in order:<br /> ** The version needs to be different to the previous one in order for the upload to work.<br /> ** If needed change the experimental flag from true to false. Experimental plugins won't be shown in the QGIS plugin list by default.<br /> ** It is recommended to have an Icon set for the plugin. Its max. size does not seem to be specified.<br /> * Remove all files from the directory you want to upload that are not needed for the plugin to run(e.g. *.pyc files, files and folders from IDEs, .gitignore etc.).<br /> * File names can only contain ASCII characters in order for the upload to work. Characters like Umlauts in file names will cause an Error when uploading.<br /> * The plugin directory can't contain hyphens in its name (if it does the plugin might still work in QGIS but it will show an error message).<br /> * ZIP your plugin directory.<br /> <br /> Upload:<br /> * In order to upload a plugin on the official QGIS page a OSGeo ID is required. It can be created here: https://www.osgeo.org/cgi-bin/ldap_create_user.py<br /> * On the page https://plugins.qgis.org/ login with your OSGeo ID.<br /> * The plugin (ZIP archive) can be uploaded here: https://plugins.qgis.org/plugins/add/ Check experimental field if the plugin still is experimental.<br /> * After uploading the plugin it won't be immediately available in the plugin list. It first has to get approved. The approval can take up to 2 weeks. Check &quot;How to add your plugin to this repository&quot; on https://plugins.qgis.org/ for the criteria the plugin has to meet in order to get approved.<br /> <br /> [[Kategorie:Geoprocessing]] [[Kategorie:QGIS]] [[Kategorie:Python]] [[Kategorie:Programmieren]] [[Kategorie:QGIS-Plugin]]</div> NicolaJordan