Strax före jul bakades stöd för Python in i utvecklingsversionen av QGIS Server och finns sedan 2.8 med även i den stabila versionen (har inte testat själv).
Det börjar nu märkas att funktionen används och vi kommer nog att få se mer utveckling av plug-in för QGIS Server i framtiden.
Vad är då QGIS Server Python Plug-In?
Jag tittar igenom lite filmer och presentationsunderlag och gör så gott jag kan en kort sammanställning:
Med funktionen skulle man kunna tänka sig att man skapar skräddarsydda autentiseringsfunktioner, eller att man modifierar OGC svar, eller helt enkelt skapar nya.
Man kan lyssna på ”requests” och om dessa inte är standard (”404”) så kan man låta ett insticksprogram analysera frågan och ge ett passande svar. Detta gör det möjligt att ta hand om sådant som inte är standardiserade ”requests”.
För att modifiera standardiserade ”requests” så krävs det mera kod, men i princip allt är möjligt att ändra.
Ett enkelt exempel (hämtat från http://www.itopen.it/qgis-server-getfeatureinfo-with-style/) visar hur ett ”filter” skapats i Python.
Filtret lyssnar efterom det är en ”Request” för WMS/GETFEATUREINFO i HTML-format.
Om så är fallet så byts ”BODY” taggen ut och en ”STYLE” tagg läggs till med instruktionern för hur svaret skall formateras. Snyggt och väldigt enkelt! Inte så svårt att anpassa och kanske lägga till en logotyp eller kontaktuppgifter…
Plug-In skripten bygger i princip på tre ”hooks” (bilden ovan). Ett som görs när förfrågan är mottagen, en när svaret är klart för sändning och ett när svaret skall sändas (det finns en skillnad mellan de två senare, men jag utvecklar inte det här).
Vilken kod du väljer att inkludera i ditt skript är helt upp till dig, så länge du använder minst en av dessa ”hooks”. Det går att använda vilken Python-kod som helst och det går att använda alla QGIS Python bindningar om man så vill.
Vi får väl se när/om jag får tid att testa detta vidare, men om du vill gå vidare själv så finns en instruktion för hur du sätter upp en QGIS Server med Python Plug-In på http://www.itopen.it/qgis-server-python-plugins-ubuntu-setup/