[QGIS-Developer] QGIS Server 3 status

Anita Graser anitagraser at gmx.at
Thu Oct 12 13:56:24 PDT 2017


Thanks everyone so far! Please keep the info coming. I'll draft a blog post
on the weekend.

Regards,
Anita

On Thu, Oct 5, 2017 at 9:34 AM, Alessandro Pasotti <apasotti at gmail.com>
wrote:

> Hi Règis,
>
> thanks for the nice summary!
>
> Maybe it would be interesting for python devs to stress out how QGIS
> server 3 brings the bindings and the plugins to a new level: while the
> original filter-style python plugins, are still available, the new
> service-oriented plugin-based architecture allows Python developers to
> create new services (for example WPS) by implementing a new `QgsService`
> directly in Python. Overriding existing services is also possible.
>
> The server API has now full python bindings and a QGIS server can be
> easily implemented directly in Python and wrapped into your favourite
> framework (see this simple wsgi experiment: https://gist.github.com/
> elpaso/0cd7fb6a0518dc46c45557d9133438b8 ).
>
> For more examples of the API, I think there are some basic examples in the
> official Python tests: https://github.com/qgis/QGIS/
> blob/master/tests/src/python/test_qgsserver_services.py#L79
>
>
> Cheers
>
>
>
>
>
> On Wed, Oct 4, 2017 at 10:49 PM, Régis Haubourg <regis.haubourg at gmail.com>
> wrote:
>
>> Well, from a user point of view, that's a bit hard since all this is 90 %
>> refactoring.. which is supposed to be transparent for users.
>>
>> We have the trust and multithreaded features, that should (and early
>> testers today found it slower today) and the ability to code new services
>> using python.
>> We can also show some numbers about OGC conformity tests and the goal of
>> reaching OGC certification (WMS only by now).
>>
>> Alessandro, René-Luc and David, do you have some user oriented examples
>> for the new modular API ?
>>
>>
>>
>> 2017-10-04 22:18 GMT+02:00 Anita Graser <anitagraser at gmx.at>:
>>
>>> Great overview, thanks for drafting Régis!
>>>
>>> Some additional ideas: Could we add a section with the key improvements
>>> from an user perspective?
>>>
>>> I'm particularly intrigued by the services / plugins part. Could you
>>> elaborate?
>>>
>>> Regards,
>>> Anita
>>>
>>>
>>>
>>> On Wed, Oct 4, 2017 at 9:42 PM, Régis Haubourg <regis.haubourg at gmail.com
>>> > wrote:
>>>
>>>> Hi again,
>>>> here is my very first draft:
>>>>
>>>>  Several images can be pulled from the joined slides given at Foss4G-EU
>>>> here https://drive.google.com/file/d/0BzatQbprJ-hjWF95VzdHbGRsVEk
>>>> /view?usp=sharing
>>>>
>>>> René-Luc, David, Paul, don't hesitate to amend that!
>>>>
>>>> ------------------------------------------------------------
>>>> --------------------------------
>>>>
>>>>
>>>> *Qgis server refactoring is done!*
>>>> As you may know, QGIS is jumping to a new major version (yes!).
>>>> Doing so was made necessary because of the need to switch to python 3,
>>>> QT5, but also because we needed to break the QGIS API in several places.
>>>>
>>>> A year ago, a tiny troll
>>>> <https://github.com/qgis/qgis3.0_api/issues/63>from switzerland rang a
>>>> bell about the strong need for love server code base required.
>>>>
>>>> Indeed, the API was locked by some old methods of QGIS server. In
>>>> short, QGIS server was reparsing the qgs project file in his own way, and
>>>> created dependencies to part of QGIS we needed to drop.
>>>>
>>>> As outsourcing the server code base was not an option, so we had to
>>>> refactor it.
>>>>
>>>> The involved parties decided to get engaged in a code sprint
>>>> <https://github.com/qgis/QGIS/wiki/QGIS3---QGIS-Server-code-sprint-Notes> in
>>>> the city of Lyon , France dedicated to sharing their vision, planning the
>>>> work and finally making all the following
>>>> <https://github.com/qgis/QGIS-Enhancement-Proposals/issues/74> happen :
>>>>
>>>>
>>>>
>>>> *# Deep, complex and unrewarding tasks:*
>>>>
>>>> - Remove all singleton calls
>>>>
>>>> - Cut all the dependencies to the old qgis project parser
>>>>
>>>> - Minimize dependencies to GUI library. Since fonts are necessary to
>>>> render maps, totally removing them was not feasable.
>>>>
>>>> *# Higher level refactoring*
>>>>
>>>> All services (WMS GetMap, WFS GetFeature, GetLegendGraphics, WCS,
>>>> GetPrint etc..) have been rewritten. Some like WMS were entirely rewritten.
>>>> Kudos to the dev's
>>>>
>>>>
>>>> *# New features and architecture stuff*
>>>>
>>>> - QGIS Server Services as plugins like providers. (slide 10 would be a
>>>> nice figure here)
>>>>
>>>> - Multi-thread rendering  <https://github.com/qgis/QGIS/pull/3886>-
>>>> like in the desktop
>>>>
>>>> - A new option to trust layer metadata
>>>> <https://github.com/qgis/QGIS/pull/5094> and speed up project loading
>>>>
>>>>
>>>> *# Infrastructure tasks*
>>>>
>>>> - Build a OGC compliancy platform
>>>> <http://oslandia.com/en/2017/06/16/qgis-server-ogc-cite-compliance-testing/> and
>>>> integrate it to a continuous integration platform. Conformity reports are
>>>> now pushed to tests.qgis.org *XXX waiting for Richard to expose them
>>>> in the website*
>>>>
>>>> - Add unit tests... and again more unit tests
>>>>
>>>> - Stress QGIS server against security leaks
>>>> <http://oslandia.com/en/2017/06/14/qgis-server-security-aspect/> (SQL
>>>> injections and other malicious attacks)
>>>>
>>>> - Start profiling and bench marking performances. This work still need
>>>> some love - and funding - to be achieved
>>>>
>>>>
>>>> A presentation
>>>> <https://git.osgeo.org/gogs/foss4g-europe/foss4g-europe-2017-paris/src/master/presentations/2017-07-20/general_track/foss4g-europe-2017-QGIS_3_Refactoring_and_enhancement-DMarteau-PBlottiere.pdf> was
>>>> given at FOSS4G-EU in July.
>>>>
>>>> *Congratulations* to the developers who worked hard on that work.
>>>>
>>>> Now this deserves to be well tested, please report back any issues!
>>>>
>>>>
>>>>
>>>> 2017-10-04 15:17 GMT+02:00 Anita Graser <anitagraser at gmx.at>:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Oct 4, 2017 at 1:23 PM, Régis Haubourg <
>>>>> regis.haubourg at gmail.com> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Yes, refactoring is now complete! see :
>>>>>> https://github.com/qgis/QGIS-Enhancement-Proposals/issues/74
>>>>>> #issuecomment-334123595
>>>>>>
>>>>>> Anita, I'll draft an article tonight if you still agree to review it,
>>>>>> that would be great!
>>>>>>
>>>>>
>>>>>
>>>>> ​Sure!
>>>>>
>>>>> Anita
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>> _______________________________________________
>> QGIS-Developer mailing list
>> QGIS-Developer at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
>
>
> --
> Alessandro Pasotti
> w3:   www.itopen.it
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20171012/97737544/attachment-0001.html>


More information about the QGIS-Developer mailing list