Skip to content

Server: landingpage webapp only functions if built with server python plugins support #64556

@ea-eriksson

Description

@ea-eriksson

What is the bug or the crash?

After building qgis-server with landingpage webapp but without python plugins support, it was noticed that landingpage needs server python plugin support to function correctly. This was unexpected as landingpage API/webapp seems to not rely on python plugins support.

The issue is that the QgsProjectLoaderFilter, defined in qgslandingpage.cpp, which translates project-hashes to project URIs for requests on urls like: landingpage-prefix/project/project-hash/, is not applied.

This is caused by the #ifdef HAVE_SERVER_PYTHON_PLUGINS applied on QgsFilterResponseDecorator::start() and QgsFilterResponseDecorator::finish() functions in qgsfilterresponsedecorator.cpp. Thus, only with server python plugin support, the filter will translate project-hashes and landingpage webapp function as expected.

For my build, I simply removed the #ifdef HAVE_SERVER_PYTHON_PLUGINS mentioned with a patch, which resulted in a functioning landingpage webapp.

Steps to reproduce the issue

Build qgis server with flags: WITH_SERVER_PLUGINS=FALSE and WITH_SERVER_LANDINGPAGE_WEBAPP=TRUE.

Also copy the landingpage webapp resources to the specified directory after build, as they are currently not installed, see: #55462.

Setup server.

Versions

build used 3.44.5, but also in master

Supported QGIS version

  • I'm running a supported QGIS version according to the roadmap.

New profile

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugEither a bug report, or a bug fix. Let's hope for the latter!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions