Hi Anita,
Maybe you could add a section about "testing wanted / needed" at the end
of the blog post?
I think after such a lot of refactoring, users can expect
incompatibilities with the previous 2x version. Thats why a call for
testing should be included. Otherwise existing QGIS server users maybe
just upgrade without noticing and run into issues.
We just recently came across an incompatibility in the
GetProjectSettings command where the new version behaves differently
than the old version regarding the visibility state of groups - issue
report still pending. Issue was discovered by Eric Lemoine (Camptocamp).
Greetings,
Andreas
On 17.10.2017 22:36, Anita Graser wrote:
I've extended Régis' draft with some of the more recent information.
Please let me know what you think. I'll try to publish in a couple of
days.
-- start --
*
*
*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.
(http://blog.qgis.org/2016/02/10/qgis-3-0-plans/
<http://blog.qgis.org/2016/02/10/qgis-3-0-plans/>)
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:
*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 devs!
*New features*
- 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 thus speed up project loading
- WFS 1.1 support https://github.com/qgis/QGIS/pull/5297
<https://github.com/qgis/QGIS/pull/5297>
- Full Python bindings for the server API
- Server Services as plugins like providers
*Deep, complex and unrewarding tasks
*
- Remove all singleton calls
- Cut all the dependencies to the old QGIS project file parser
- Minimize dependencies to GUI library. Since fonts are necessary to
render maps, totally removing them was not feasable.
*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 <http://tests.qgis.org/>
/
/
- 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!
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer