<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-CH">
	<id>https://giswiki.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NicolaJordan</id>
	<title>Geometa Lab OST - Benutzerbeiträge [de-ch]</title>
	<link rel="self" type="application/atom+xml" href="https://giswiki.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NicolaJordan"/>
	<link rel="alternate" type="text/html" href="https://giswiki.ch/Spezial:Beitr%C3%A4ge/NicolaJordan"/>
	<updated>2026-04-28T06:03:21Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:GEOWebforum&amp;diff=68035</id>
		<title>Diskussion:GEOWebforum</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:GEOWebforum&amp;diff=68035"/>
		<updated>2021-02-04T11:56:35Z</updated>

		<summary type="html">&lt;p&gt;NicolaJordan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2021 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0. Migration auf nochmals neuen Server.&lt;br /&gt;
&lt;br /&gt;
1. Anpassung Webseiten mit Umbenennung von KKGEO zu KGK und neuem Logo und Weblink &lt;br /&gt;
* Weblink ist: http://www.kgk-cgc.ch/. Logo: (warte noch). (Adresse Geschäftsstelle KGK – CGC, Haus der Kantone, Speichergasse 6, Postfach, 3001 Bern )&lt;br /&gt;
&lt;br /&gt;
2. Anpassung Mail-Server: &lt;br /&gt;
* Neu statt sfkeller@hsr.ch richtig stefan.keller@ost.ch .&lt;br /&gt;
&lt;br /&gt;
3. Bug im Titel von Beiträgen: &lt;br /&gt;
* &amp;quot;FOSDEM&#039;21, 6 &amp;amp; 7 Februar 2021, online&amp;quot; im Titel erzeugte: &lt;br /&gt;
  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 &lt;br /&gt;
  &#039;21, 6 &amp;amp; 7 Februar 2021, online&#039;,425,12,&#039;1612141296&#039;,0,&#039;1612141296&#039;)&#039; at line 1&lt;br /&gt;
&lt;br /&gt;
4. Anpassung Webseiten mit Webstatistik.&lt;br /&gt;
* Nicola fragen Stichwort &amp;quot;Matomo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
5. Integration FB und Twitter&lt;br /&gt;
* Messenger Bots einrichten, so dass pro neuer Beitrag im GWF eine Message an FB und Twitter geschickt wird.&lt;br /&gt;
&lt;br /&gt;
== 2020 ==&lt;br /&gt;
&lt;br /&gt;
Migration auf neue Server.&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
To Do&#039;s vom 31.10.19:&lt;br /&gt;
&amp;quot;Export Personendaten&amp;quot; im CSV-Format als Button (Rolle Admin) wegen GDPR; Falls keine nützliche Query vorhanden zurückstellen und auf offene Punkte tun.&lt;br /&gt;
&lt;br /&gt;
Offene Punkte:&lt;br /&gt;
* Dockerisieren und ev. Punkte unten bei 2018!&lt;br /&gt;
&lt;br /&gt;
Keine To Do&#039;s sind:&lt;br /&gt;
* Piwik drinnen lassen - also NICHT herausnehmen! Läuft noch!&lt;br /&gt;
* KEIN Akzeptieren-Button&lt;br /&gt;
* KEIN Apache Log auswerten&lt;br /&gt;
* Es braucht KEINE Text-Ergänzung zu den Benutzungsordnung wegen DSVGO&lt;br /&gt;
&lt;br /&gt;
Antispam (Done): &lt;br /&gt;
* Es müssen drei Buchstaben aus Vorname oder Nachname müssen in E-Mail sein. &lt;br /&gt;
* Zudem statisch: &amp;quot;Interessen&amp;quot; (other = Freitextfeld)&lt;br /&gt;
* RaymondflomyGW Raymondflomy Darploffroappy@sexkruiz.ru other&lt;br /&gt;
&lt;br /&gt;
Done 11.06.2019 / 31.10.19: &lt;br /&gt;
# GXOWebforum =&amp;gt; GEOWebforum im HTML-Title korrigieren =&amp;gt; Done&lt;br /&gt;
# &amp;quot;EMail suchen&amp;quot; ergänzen (Rolle Admin) =&amp;gt; TODO/doing&lt;br /&gt;
# NEU: Nutzungsstatistik https://www.geowebforum.ch/stats.php nur noch für Rolle Admin anzeigen! =&amp;gt; TODO/doing&lt;br /&gt;
# Bug: In Detaillierte Liste sind die Pages weg!&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
Doing:&lt;br /&gt;
# Antispam: &lt;br /&gt;
## Nicht-Übereinstimmung (Partial Match) von mind. 3 Buchstaben (chars) des Vergleichs von (Vorname oder Nachname) mit Mail (inkl. Domain) &lt;br /&gt;
## Wiederholung der ersten 4 Buchstaben von Vorname zu Nachname. D.h. das wird durchgelassen: &amp;quot;Stefan¦Keller&amp;quot; matchd &amp;quot;sfkeller@hsr.ch&amp;quot; und &amp;quot;Mirko¦Stocker&amp;quot; matchd &amp;quot;me@stocki.ch&amp;quot;.&lt;br /&gt;
## Nicht-Wiederholung derselben 4 Buchstaben in Vorname, Nachname, Mail. D.h. das wird abgefangen: byronjoighEA byronjoigh byronmalkovich@gmail.com&lt;br /&gt;
## Alles Grossbuchstaben ist Spam, z.B. aktuell &amp;quot;FUELRYFLUIDAYYO FUELRYFLUIDAY don.carrington@fourr.org&amp;quot;&lt;br /&gt;
# Anpassen HTML HEAD mit konsequentem &amp;quot;GEOWebforum&amp;quot;, etc.&lt;br /&gt;
# Bei memberlist.php den &amp;quot;Balken&amp;quot; (&amp;quot;&amp;lt;   1     2     3     4     5   &amp;gt;&amp;quot;) von unten nach oben verschieben, damit ich schneller da dran komme.&lt;br /&gt;
# 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&lt;br /&gt;
# Ev. Zusätzliche Suche nach E-Mail nur für Admins.&lt;br /&gt;
&lt;br /&gt;
In Abklärung:&lt;br /&gt;
* In Abklärung! Impressum-Text anpassen an DVGO (Möglichkeit für Opt-out und Liste eigener Daten). OK-Button?&lt;br /&gt;
* für Admins: Export aller Nutzerdaten im Sinne der DVGO als einfacher Button?&lt;br /&gt;
* Statistik überarbeiten. Da stimmt etwas an versch. Orten nicht (z.T. einfach Code/Tabelle löschen): stats.php&lt;br /&gt;
&lt;br /&gt;
Kostendach 5 AT:&lt;br /&gt;
&lt;br /&gt;
Done:&lt;br /&gt;
# Auf der Startseite https://www.geowebforum.ch/ &amp;quot;Letzte Beiträge&amp;quot; von 5 auf 7 erhöhen.&lt;br /&gt;
# Weblink hinter KKGEO/CCGEO von http://www.e-geo.ch/ ändern auf http://www.kkgeo.ch/ .&lt;br /&gt;
# Logos entfernen(!) und zwar auf https://www.geowebforum.ch/index.php =&amp;gt; e-geo und SIK (http://www.sik-gis.ch) und auf allen(!) anderen Webseiten SIK ebenfalls im Header. &lt;br /&gt;
# UTF8 bei Benutzungsordnung https://www.geowebforum.ch/register.php bzw. https://www.geowebforum.ch/benutzungsordnung.php&lt;br /&gt;
# Text-Anpassung Benutzungsordnung: &amp;quot;2. Das Forum verwendet zur Datenübertragung im Rahmen des Forums keine besonders abgesicherten Verbindungen, sondern nur normale HTTP-Verbindungen und E-Mails&amp;quot; &lt;br /&gt;
## de: &amp;quot;2. Das Forum verwendet zur Datenübertragung nicht immer gesicherte Verbindungen.&amp;quot; =&amp;gt; &amp;quot;(SSL-Verschlüsselung o. ä.), sondern nur normale HTTP-Verbindungen und E-Mails.&amp;quot; streichen!&lt;br /&gt;
## it: &amp;quot;2. Il Forum non utilizza sempre connessioni protette per il trasferimento di dati.&amp;quot;&lt;br /&gt;
## fr: &amp;quot;2. Le forum n&#039;utilise pas toujours de connexion sécurisée lors de la transmission de données.&amp;quot;&lt;br /&gt;
## en: &amp;quot;2. This forum does not always use secured connections for the data communication.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notizen zu Antispam:&lt;br /&gt;
* Beschränkung auf 10 Beiträge pro Tag.&lt;br /&gt;
* 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.&lt;br /&gt;
* Benutzerbeiträge am selben Tag wie die Anmeldung ignorieren&lt;br /&gt;
* Moderieren der Neuanmeldungen?&lt;br /&gt;
&lt;br /&gt;
Weitereintwicklungsideen:&lt;br /&gt;
* Social Media: 2-Click-Button für Twitter und Facebook einbauen, zum Liken und Retweeten (unter eigenem Konto). &lt;br /&gt;
* Webanalytics einbauen?&lt;br /&gt;
* Back-Button anschauen bei search, optional (max. 4h).&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
Done:&lt;br /&gt;
* &amp;quot;Twitter-Auftritt einrichten&amp;quot;: IFTTT anpassen.&lt;br /&gt;
* „Testdatensatz“ (Excel?) erzeugen und pflegen aus den Spam-Einträgen (und diese dann löschen)&lt;br /&gt;
&lt;br /&gt;
Webapp Release 2017-1: &lt;br /&gt;
* (Dennis) Antispam im Backend verbessern - aktuell werden 1 bis 5 mal pro Tag Spam eingetragen (wohl zur Google Search Optimization). : &lt;br /&gt;
** Google CAPTCHA beim Registrieren und bei Kontakt&lt;br /&gt;
** Vorname extrem lang &amp;gt; 60 =&amp;gt; ignorieren&lt;br /&gt;
** Wenn bei Tätigkeits­bereich, Interessens­gebiete, Fachbereiche kein Enum eingegeben, sondern Freitext =&amp;gt; warnen (verify=warned)&lt;br /&gt;
** Wenn bei Tätigkeits­bereich, Interessens­gebiete, Fachbereiche der String &amp;quot;Version&amp;quot; eingegeen wurde =&amp;gt; ignorieren (verify=ignored??)&lt;br /&gt;
** Blacklist: https://www.geowebforum.ch/spam.php?view=1 ergänzen mit &amp;quot;yandex.com, yandex.ru,, printemailtext.com, emailer.printemailtext.com&amp;quot;.&lt;br /&gt;
* Top-Themen-Anpassung: „Forschung“ umbenennen in „Jobs“ (alle Sprachen) und gleich unter Thema „Aus- und Weiterbildung“ einordnen. &lt;br /&gt;
&lt;br /&gt;
Webapp Release 2017-2: &lt;br /&gt;
* neues Grafikdesign Rest&lt;br /&gt;
** Startseite&lt;br /&gt;
** Mail-Versand-Template&lt;br /&gt;
** ???&lt;br /&gt;
* Twitter-Card sowie FB-Resource einbauen: vgl. https://giswiki.hsr.ch/Best_Practices_for_Web_Maps#Metadata_for_Social_Media&lt;br /&gt;
&lt;br /&gt;
Weitere Releases:&lt;br /&gt;
* Backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Requests Bugs === &lt;br /&gt;
* MySQL MyAdmin =&amp;gt; CSV-Liste der Abonennten ohne &amp;quot;E-Mail Benachrichtigung über alle neuen Beiträge der letzten Woche&amp;quot;&lt;br /&gt;
* Ev. ein Attribut &amp;quot;verify&amp;quot; bei den Stammdaten einführen (default: verify=null)?&lt;br /&gt;
* (tba. nice-to-have) RSS-Feed mit Hashtags ergänzen, damit es Twitter mit Hashtags besser funktioniert.&lt;br /&gt;
* (IFS) https://stats.uptimerobot.com/ ???&lt;br /&gt;
* 2-Click-Button für Twitter und Facebook einbauen, zum Liken und Retweeten (unter eigenem Konto) (nice-to-have).&lt;br /&gt;
&lt;br /&gt;
Bugs: -&lt;br /&gt;
&lt;br /&gt;
[[Datei:GWF-Spam_2016.jpg]]&lt;br /&gt;
&#039;&#039;Abbildung: GWF-Spam.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2016 / 2015 ==&lt;br /&gt;
&lt;br /&gt;
Siehe &#039;Seite&#039;.&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
Bugs: -&lt;br /&gt;
&lt;br /&gt;
Feature Request:&lt;br /&gt;
* Es gibt beim File Upload eine Begrenzung auf 10MB. Uplaoad von Dateien, die grösser sind, wird abgebrochen. Offensichtlich fehlt dazu eine Fehlermeldung.&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
&lt;br /&gt;
31. Juli 2013.&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Projekt &amp;quot;GWF Mobile&amp;quot;: Webseite &amp;quot;mobilfähig&amp;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&lt;br /&gt;
* Startseite: Grafisch aufpeppen: Striche weg&lt;br /&gt;
* Startseite: Grafisches Gruppieren der Themen&lt;br /&gt;
* Startseite: RSS Auto Discovery (Test mit Google Reader auf Android) auf index.html eintragen.&lt;br /&gt;
* Startseite: Anzeige neuer Themen seit letzten Montag (analog http://www.geowebforum.ch/last_entries.php )&lt;br /&gt;
* Suche nach &amp;quot;agit&amp;quot;, dann Diskussion, dann &amp;quot;Back&amp;quot;-Button =&amp;gt; &amp;quot;Form Resend&amp;quot;-Fehler...&lt;br /&gt;
* User Liste sortiert&lt;br /&gt;
&lt;br /&gt;
Bugs:&lt;br /&gt;
* Zugriff auf Dokumente aus geschlossener Gruppe funktioniert nicht (Egloff)&lt;br /&gt;
* &amp;quot;Letzte Beiträge&amp;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.&lt;br /&gt;
* 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.&lt;br /&gt;
* Montagsmail von Ende Dezember ist nicht raus =&amp;gt; Berechnungsfehler.&lt;br /&gt;
* 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).&lt;br /&gt;
* Fehlermeldungen bei nicht-existierenden Seiten: Bei [http://www.geowebforum.ch/thread.php?postingID=2654] kommt eine Fehlermeldung (&amp;quot;Diese Beitrag ist leider nicht mehr vorhanden&amp;quot;), jedoch abgeschnitten. Bei [http://www.geowebforum.ch/thread.php?threadID=1125] kommt gar keine Fehlermeldung.&lt;br /&gt;
&lt;br /&gt;
== URL&#039;s in Postings ==&lt;br /&gt;
[[Allowed URLs in Postings Roule]]&lt;br /&gt;
&lt;br /&gt;
== Feature Requests / Ideen ==&lt;br /&gt;
&lt;br /&gt;
Kleinere Verbesserungen:&lt;br /&gt;
* Nach Login Weiterleitung nach der ursprünglich aufgerufenen Seite.&lt;br /&gt;
* Wöchentliche Zusammenfassung bei geschlossenen Gruppen.&lt;br /&gt;
* Preview-Funktion (mit Button) für Benutzer beim Erfassen eines neuen Beitrags.&lt;br /&gt;
&lt;br /&gt;
== Erledigt ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Themen: Wenn ich als Titel &amp;quot;Comité d&#039;éthique de la 3D&amp;quot; angebe, wird &amp;quot;Comité d\&#039;éthique de la 3D&amp;quot; eingetragen und dargestellt: Was tun? (vgl. das neue Thema das ich erstellt habe).&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 17:39, 15. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;In &amp;quot;Neue Diskussion&amp;quot;: Länge von &amp;quot;Titel der neuen Diskussion&amp;quot; gleich breit wie der Text machen, also statt zurzeit 43 neu ca. 82 Zeichen.&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 17:56, 15. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;&amp;quot;Suchen&amp;quot;-Feld im Header einbauen, so dass es von jeder Seite aus nutzbar ist.&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 14:21, 16. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;In der Ansicht &#039;[http://www.geowebforum.ch/memberlist.php?showalphabet=B&amp;amp;result=true&amp;amp;compact=yes Mitgliederliste]&#039; einen neuen Link in den Mitglied-Namen einbauen, wo man als Administrator direkt zu &amp;quot;Mitglieder Bearbeiten&amp;quot; gelangt.&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 15:28, 16. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;Einbau OpenSearch (xml) in Startseite (vgl. OpenSearch). http://taginfo.openstreetmap.ch/search?q=schloss#keys&amp;lt;/s&amp;gt;(erledigt [[Benutzer:Felu|Felu]] 17:54, 16. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;Verständlichere und schönere Fehlermeldung bei &amp;quot;http://www.geowebforum.ch/thread.php&amp;quot; und &amp;quot;http://www.geowebforum.ch/thema.php&amp;quot; und &amp;quot;http://www.geowebforum.ch/thema.php?themenID=blablabla&amp;quot; &amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 15:44, 21. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;Diskussionen zum Thema X: Bei Beitrag verschieben (z.B. .../thema.php?move=1007) sollte die Liste sortiert sein (da fehlt ein ORDER BY ...).&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 18:01, 16. Feb. 2012 (CET))&lt;br /&gt;
* &amp;lt;s&amp;gt;Arbeitsgruppen: Beim Eröffnen einer neuen Arbeitsgruppe, sollte die Auswahlliste sortiert sein (da fehlt ein ORDER BY ...).&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 18:16, 16. Feb. 2012 (CET))&lt;br /&gt;
* Bug: &amp;lt;s&amp;gt;img-Tag wird nicht dargestellt: Vgl. http://www.geowebforum.ch/thread.php?threadID=1033#2490&amp;lt;/s&amp;gt; (erledigt [[Benutzer:Felu|Felu]] 13:35, 8. Mai 2012 (CEST))&lt;/div&gt;</summary>
		<author><name>NicolaJordan</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=QGIS_Plugins_mit_Python&amp;diff=60267</id>
		<title>QGIS Plugins mit Python</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=QGIS_Plugins_mit_Python&amp;diff=60267"/>
		<updated>2017-03-09T10:47:55Z</updated>

		<summary type="html">&lt;p&gt;NicolaJordan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QGIS Plugins mit Python - PyQGIS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[QGIS for Devs]], [[QGIS]], [[QGIS - Tipps und Tricks]], [[Python]] (QGIS nutzt Python 2.7)&lt;br /&gt;
&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
&lt;br /&gt;
Wichtige Informationen:&lt;br /&gt;
* 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. &#039;Developing Python Plugins&#039;] (PyQGIS, QT4, Eclipse, Eclipse PyDev)&lt;br /&gt;
* Diagram about main QGIS Python API classes: http://labs.webgeodatavore.com/partage/diagramme_principal.html ([https://github.com/webgeodatavore/qgis-class-diagram Sources])&lt;br /&gt;
* QGIS-Python-Plugin-Verzeichnis: C:\Documents and Settings\&amp;lt;username&amp;gt;\.qgis\python\plugins (Windows).&lt;br /&gt;
* QTDesigner unter Windows ist nun Bestandteil von der QT IDE [http://qt.nokia.com/products/ QTCreator]. &lt;br /&gt;
&lt;br /&gt;
QGIS Plugins mit Python: Siehe [[#Writing_QGIS_Plugins]]&lt;br /&gt;
&lt;br /&gt;
Tools:&lt;br /&gt;
* QGIS Python Plugin Builder: http://pyqgis.org/builder/plugin_builder.py&lt;br /&gt;
* From the QGIS-dev mailing list: [http://osgeo-org.1560.x6.nabble.com/A-common-set-of-functions-for-QGIS-plugins-td5233908.html &amp;quot;A common set of functions&amp;quot;] by Victor Olaya, Nathan Woodrow&lt;br /&gt;
&lt;br /&gt;
Manuelles Installieren eines Python-Plugins myPlugin:&lt;br /&gt;
* Download myPlugin.zip.&lt;br /&gt;
* Auspacken von myPlugin in einem temporären Verzeichnis; nun sollte ein Ordner myPlugin/ vorhanden sein.&lt;br /&gt;
* Den Ordner myPlugin ins QGIS-Python-Plugin-Verzeichnis kopieren.&lt;br /&gt;
* QGIS (neu) starten und &amp;quot;Erweiterungen verwalten...&amp;quot; wählen. Dort sollte ein neuer Eintrag stehen =&amp;gt; ankreuzen.&lt;br /&gt;
&lt;br /&gt;
== Writing QGIS Plugins ==&lt;br /&gt;
&lt;br /&gt;
* Documentation zum Schreiben von PyQGIS-Plugins:&lt;br /&gt;
** &#039;&#039;&#039;[http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/ PyQGIS Developer Cookbook]&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;[http://www.qgis.org/api/ QGIS API]&#039;&#039;&#039; &lt;br /&gt;
** QGIS Manual - Guide: http://qgis.org/en/documentation/manuals.html &amp;gt; QGIS Coding and Compilation Guide&lt;br /&gt;
** Forum: http://forum.qgis.org/viewforum.php?f=5&lt;br /&gt;
** Wiki-Artikel: http://www.qgis.org/wiki/Writing_Python_Plugins&lt;br /&gt;
** Community Support: http://gis.stackexchange.com/questions/tagged/pyqgis&lt;br /&gt;
* Tutorials / Bücher: &lt;br /&gt;
** Book [http://pyqgis.com The PyQGIS Programmer&#039;s Guide] &lt;br /&gt;
** [http://blog.qgis.org/node/59 Quantum GIS Blog]&lt;br /&gt;
** [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])&lt;br /&gt;
** &#039;&#039;Rapid GUI Programming with Python and Qt&#039;&#039;, Summerfield, Mark - Gutes Buch zu PyQt 4, Python und QT wird auch erklärt.&lt;br /&gt;
** Building a plugin for QGIS http://gis.ucar.edu/building-plugin-qgis&lt;br /&gt;
&lt;br /&gt;
== Testing QGIS Plugins ==&lt;br /&gt;
&lt;br /&gt;
* Writing Uni Tests for QGIS Plugins: http://snorf.net/blog/2014/01/04/writing-unit-tests-for-qgis-python-plugins/&lt;br /&gt;
* Testen von Qt-GUI Komponenten: http://www.voom.net/pyqt-qtest-example&lt;br /&gt;
* Neues Python Modul &amp;quot;qgis.testing&amp;quot; (4.2.2016): [http://www.opengis.ch/2016/02/04/increasing-the-stability-of-processing-algorithms/]&lt;br /&gt;
&lt;br /&gt;
== Plattform-unabhängiges Programmieren ==&lt;br /&gt;
&lt;br /&gt;
Auf was ist bei der plattform-unabhängigen Programmieren zu achten?&lt;br /&gt;
&lt;br /&gt;
* Encoding&lt;br /&gt;
* Fonts: http://en.wikipedia.org/wiki/Liberation_fonts&lt;br /&gt;
* tbd.&lt;br /&gt;
&lt;br /&gt;
== UX Guidelines ==&lt;br /&gt;
&lt;br /&gt;
Siehe [[QGIS for Devs#UX Guidelines]] (GUI)&lt;br /&gt;
&lt;br /&gt;
== Eclipse/PyDev ==&lt;br /&gt;
&lt;br /&gt;
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] )?&lt;br /&gt;
&lt;br /&gt;
=== Installation Eclipse ===&lt;br /&gt;
&lt;br /&gt;
* Download minimalstes Eclipse 3.x, sprich nur Eclipse Platform Runtime Binary, welches leider nicht direkt auf der Hauptseite verfügbar ist&lt;br /&gt;
# http://download.eclipse.org/eclipse/downloads/eclipse3x.php&lt;br /&gt;
# -&amp;gt; Latest Release&lt;br /&gt;
# Zur Platform Runtime Binary Sektion navigieren und entsprechenden Download starten&lt;br /&gt;
# Installation&lt;br /&gt;
&lt;br /&gt;
=== Einrichten Eclipse ===&lt;br /&gt;
&lt;br /&gt;
* Installation/Einrichten des Eclipse Marketplace&lt;br /&gt;
# Eclipse starten&lt;br /&gt;
# &#039;&#039;Help-&amp;gt;Install New Software&#039;&#039;&lt;br /&gt;
# &#039;&#039;Indigo - http://download.eclipse.org/releases/indigo&#039;&#039; als Quelle auswählen&lt;br /&gt;
# Im Filter Feld &#039;&#039;Market&#039;&#039; eingeben&lt;br /&gt;
# &#039;&#039;&#039;Marketplace Client&#039;&#039;&#039; auswählen und installieren&lt;br /&gt;
&lt;br /&gt;
* Installation PyDev&lt;br /&gt;
# &#039;&#039;Help-&amp;gt;Eclipse Marketplace...&#039;&#039;&lt;br /&gt;
# Im Suchfeld nach &#039;&#039;&#039;pydev&#039;&#039;&#039; suchen&lt;br /&gt;
# &#039;&#039;PyDev - Python IDE for Eclipse&#039;&#039; installieren&lt;br /&gt;
# Konfiguration nach Eclipse Neustart:&lt;br /&gt;
# &#039;&#039;Window-&amp;gt;Preferences&#039;&#039;&lt;br /&gt;
# &#039;&#039;PyDev-&amp;gt;Interpreter - Python&#039;&#039; für Linux oder &#039;&#039;PyDev-&amp;gt;Interpreter - Iron Python&#039;&#039; und dann &#039;&#039;&#039;Auto Config&#039;&#039;&#039; wählen&lt;br /&gt;
&lt;br /&gt;
;Hinweis&lt;br /&gt;
:PyDev und den eingebauten Debugger kennen lernen: http://www.vogella.de/articles/Python/article.html&lt;br /&gt;
&lt;br /&gt;
* Optional: Sourcecontrol EGit einrichten&lt;br /&gt;
# &#039;&#039;Help-&amp;gt;Eclipse Marketplace...&#039;&#039;&lt;br /&gt;
# Im Suchfeld nach &#039;&#039;&#039;egit&#039;&#039;&#039; suchen&lt;br /&gt;
# &#039;&#039;EGit - Git Team Provider&#039;&#039; auswählen und installieren&lt;br /&gt;
&lt;br /&gt;
* CDT&lt;br /&gt;
# &#039;&#039;Help-&amp;gt;Install New Software&#039;&#039;&lt;br /&gt;
# &#039;&#039;Indigo - http://download.eclipse.org/releases/indigo&#039;&#039; als Quelle auswählen&lt;br /&gt;
# In der Kategorie Programming Languages &#039;&#039;C/C++ Development Tools&#039;&#039; auswählen und installieren&lt;br /&gt;
&lt;br /&gt;
* Python und QT4&lt;br /&gt;
# Folgende Pakete müssen für Linux, am Beispiel Ubuntu, installiert werden um mit qt4 und sqlite arbeiten zu können&lt;br /&gt;
## python-qt4-sql&lt;br /&gt;
## python-qt4-dev&lt;br /&gt;
## libqt4-dev&lt;br /&gt;
## libqt4-sql-sqlite&lt;br /&gt;
## qt4-dev-tools&lt;br /&gt;
## qt4-doc-html&lt;br /&gt;
## pyqt4-dev-tools&lt;br /&gt;
&lt;br /&gt;
* Installation Eclipse Plugin&lt;br /&gt;
# Download von http://qt.nokia.com/products/eclipse-integration/&lt;br /&gt;
&lt;br /&gt;
;Hinweis&lt;br /&gt;
:Um die qt-Umgebung, sprich Designer etc. kennen zu lernen, ist das eingebaute Eclipse-CheatSheet sehr gut geeignet. Eclipse-&amp;gt;Help-&amp;gt;Cheat Sheets...&lt;br /&gt;
:Ein Wiki mit vielen Tutorials gibts hier: http://diotavelli.net/PyQtWiki/Tutorials&lt;br /&gt;
&lt;br /&gt;
Eine alternative Anleitung zur Installation gibts hier: http://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/&lt;br /&gt;
&lt;br /&gt;
* QGIS installieren&lt;br /&gt;
# Nach Anleitung von http://www.qgis.org/wiki/Download vorgehen&lt;br /&gt;
# Zur Entwicklung libqgis-dev zusätzlich installieren&lt;br /&gt;
&lt;br /&gt;
== Debugging von Python-QGIS-Plugins mit Eclipse ==&lt;br /&gt;
&lt;br /&gt;
;Warum ist das Debugging von Plugins nicht so einfach wie bei einem Python-Programm?&lt;br /&gt;
: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 &#039;Host&#039;-Prozesses eingreifen können um an der Stelle zu warten, an welcher unser Plugin zum Einsatz kommt.&lt;br /&gt;
&lt;br /&gt;
;Wie verbinden wir nun den Eclipse-PyDev-Debugger und ein QGIS-Plugin?&lt;br /&gt;
: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.&lt;br /&gt;
&lt;br /&gt;
=== Remote-Debugger / Debug Server ===&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Pydev-&amp;gt;Start/End Debug Server&#039;&#039; kontrollieren.&lt;br /&gt;
&lt;br /&gt;
Wir starten nun den Remote-Debugger durch anklicken des entsprechenden Symbols oder im Menu &#039;&#039;Pydev-&amp;gt;Start Debug Server&#039;&#039;. 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.&lt;br /&gt;
&lt;br /&gt;
=== Anpassungen im Python-Plugin Code ===&lt;br /&gt;
&lt;br /&gt;
Damit unser Plugin mit dem Debug Server verbinden kann müssen wir den folgenden Code einbauen, &#039;&#039;&#039;am besten direkt nach den üblichen Module Imports von Python&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#...&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
from os import *&lt;br /&gt;
pydevPysrcPath = os.environ.get(&#039;ECLIPSE_PYSRC_PATH&#039;, &#039;&#039;)&lt;br /&gt;
if pydevPysrcPath:&lt;br /&gt;
    if os.path.exists(pydevPysrcPath):&lt;br /&gt;
        import sys&lt;br /&gt;
        sys.path.append(pydevPysrcPath)&lt;br /&gt;
        import pydevd&lt;br /&gt;
        pydevd.settrace()&lt;br /&gt;
    else:&lt;br /&gt;
        print &amp;quot;Specified ECLIPSE_PYSRC_PATH [%s] does not exist&amp;quot; % (pydevPysrcPath)&lt;br /&gt;
&lt;br /&gt;
#...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit haben wir die Möglichkeit den Eclipse-Debug-Server nur dann zu kontaktieren, wenn wir auch die entsprechende Umgebungsvariable &#039;&#039;&#039;ECLIPSE_PYSRC_PATH&#039;&#039;&#039; gesetzt haben. Dies funktioniert natürlich nur dann, wenn wir auch die &#039;Host&#039;-Applikation aus dieser Konsole starten.&lt;br /&gt;
&lt;br /&gt;
;Beispielaufruf in der Konsole (Linux)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ export ECLIPSE_PYSRC_PATH=/opt/eclipse/plugins/org.python.pydev.debug_2.2.3.2011100616/pysrc/&lt;br /&gt;
~$ qgis &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Beispiel (Windows)&lt;br /&gt;
* Die Umgebungsvariable ECLIPSE_PYSRC_PATH setzen und QGIS starten. &lt;br /&gt;
* Dazu gibt es zwei Möglichkeiten: 1. Batchdatei mit folgendem Inhalt (dann diese Batchdatei ausführen):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set ECLIPSE_PYSRC_PATH=/opt/eclipse/plugins/org.python.pydev.debug_2.2.3.2011100616/pysrc/&amp;quot; &lt;br /&gt;
qgis.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* oder ECLIPSE_PYSRC_PATH dauerhaft als Systemvariable eintragen und QGIS mittels Doppelklick auf Icon - oder aus dem Startmenü- starten.&lt;br /&gt;
&lt;br /&gt;
; Weiterführende Informationen&lt;br /&gt;
: remote-debugging: http://pydev.org/manual_adv_remote_debugger.html&lt;br /&gt;
&lt;br /&gt;
== How to publish a plugin ==&lt;br /&gt;
&lt;br /&gt;
Preparation: &lt;br /&gt;
* Check if all attributes in the metadata.txt file are in order:&lt;br /&gt;
** The version needs to be different to the previous one in order for the upload to work.&lt;br /&gt;
** If needed change the experimental flag from true to false. Experimental plugins won&#039;t be shown in the QGIS plugin list by default.&lt;br /&gt;
** It is recommended to have an Icon set for the plugin. Its max. size does not seem to be specified.&lt;br /&gt;
* 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.).&lt;br /&gt;
* 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.&lt;br /&gt;
* The plugin directory can&#039;t contain hyphens in its name (if it does the plugin might still work in QGIS but it will show an error message).&lt;br /&gt;
* ZIP your plugin directory.&lt;br /&gt;
&lt;br /&gt;
Upload:&lt;br /&gt;
* 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&lt;br /&gt;
* On the page https://plugins.qgis.org/ login with your OSGeo ID.&lt;br /&gt;
* The plugin (ZIP archive) can be uploaded here: https://plugins.qgis.org/plugins/add/ Check experimental field if the plugin still is experimental.&lt;br /&gt;
* After uploading the plugin it won&#039;t be immediately available in the plugin list. It first has to get approved. The approval can take up to 2 weeks. Check &amp;quot;How to add your plugin to this repository&amp;quot; on https://plugins.qgis.org/ for the criteria the plugin has to meet in order to get approved.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Geoprocessing]] [[Kategorie:QGIS]] [[Kategorie:Python]] [[Kategorie:Programmieren]] [[Kategorie:QGIS-Plugin]]&lt;/div&gt;</summary>
		<author><name>NicolaJordan</name></author>
	</entry>
</feed>