-
-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Use remote WebDAV server to store and retreive files #3937
Conversation
Thanks a lot for this contribution. We will take time to audit the code. Not sure if it can land in 3.7, as we would like to release in a very short term |
Thanks to you, this is an early stage development and contains only the basic structure of the desired feature. It can be a start point I'm available for any questions Cheers! |
Any plans to push this in the next LM release? We can patch it, but it would be nice (and I believe useful for others) to have in stable version. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good to me, some small code improvements can be done. (see suggestion)
Regarding the last comment on the PR, in the timeline
So I think now, it's more than "early stage development" ? Can you just confirm that it's ready for a production use now ? Or any known bullet list to check ? I will checkout the PR, thanks for this work. |
There are still a couple of things that need to be done:
Do you think that resolving this two points by intercepting the Initially I had discarded this option because I thought it was more correct to make the changes on the server plugin. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-- Note, I started the review and screenshots before your previous comment about known bottlenecks. I would be nice to write explicitly what is still a work in progress, before we start a review. I didn't edit my comment below, that I started before your comment ---
I just give it a try :
- Minor note, maybe in the your new test tables, I would add some data with a webdav data in the attribute table ? I would make it easier for testing ? (for attribute table and popup tests) I have noticed you always start playwright test with addition of new features ? Just an idea
- The popup doesn't have a proper link to the new GetMedia, it's leading to
http://webdav/ksnip_20231017-111339.png
which obvously giving an error in web-browser when clicking on the link in the popup
it's the first think I tried, create a new feature with a webdav picture, open on it's popup... This is a blocker I think.
The data from WFS has the raw URL, I think all data from LWC should be a proxy to hide the webdav server
If I understood correctly, data can only be stored in the root directory of the web dav server ? Because of the QGIS expression used for now ?
Sorry, I might other tests coming
Right, sorry for the lack of information
Yes, but in this case during application building some files should be moved in webdav folder right? In this case can you point me the files I should update?
Yes, as pointed out, this is a work in progress to discuss together
Yes, as pointed out, this is true for non postgre layers. Work in progress same as the previous point
No, you can store data also in subfolders.
Thank you |
Why not committing just a text file and a very small picture in
I think, popup is blocker (whatever the mode : automatic, QGIS HTML maptip, QGIS form) to have a proper replacement, the popup feature is a common feature, after creation of a new feature in the table. Users are expecting to see the data they just added.
I will let my colleague answer, I don't know exactly the path in the PHP source code, but in PHP, there should be a place where data is replaced. (not JS, so it work in QGIS with WFS stream, and making a replacement in JS side is not secure) for all kind of requests (WFS attribute table, WMS GetFeatureInfo for popup...) whatever the backend. Indeed with PG layers, lizmap indeed tries if possible to make a straight SQL query, but if for any reason it fails, it will still use the WFS service from QGIS server (because we know for sure QGIS server can access the data). And QGIS server is used for all other backend indeed. And Lizmap QGIS server plugin is not involved in this part. (only for the GetFeatureInfo, to have the "form" popup about Drag&Drop design). Side note, for playwright, I would avoid pixel comparaison, even if you are using the same picture as upload, so it should work ? But it seems plawyright tests are failing on that ? I would just check HTTP code 200, maybe just mime type. Pixel comparaison is very fragile I hope I will have some insights from @mdouchin |
d648059
to
e1a4883
Compare
I didn't mark as resolved the last conversation since I'm not sure if the changes are what you are expected. A couple of question:
Thanks |
It can be, however, keep in mind that there is a also a such limit into the PHP configuration (upload_max_filesize and post_max_size), and so this parameter cannot be higher than this limit, and the PHP limits cannot be changed by Lizmap. |
bfb01e7
to
8eefebc
Compare
…e lib instead of curl, add more tests
…the popup, update test project, add tests
8eefebc
to
b25b869
Compare
…ependency, webdav url replacement on web client side
Thanks @mind84 ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just tried the PR in QGIS desktop and in the docker stack.
Looks good to me and thanks for taking care of previous comments and rollback !
Just some comments/suggestions. Related to what need to be documented as well.
…update test project accordingly, store the dav url prefix in a static variable
@mind84 do you prefer that we merge your commits "as is" (i.e. add them all to the master branch with an additional merge commit), or you would prefer to reorganise/merge/rename your commits ? |
@mdouchin, Thanks |
Thanks a lot |
Provide on LWC the functionality of the
Attachment Widget
's WebDav Storage property, according to the widget documentationFunded by Faunalia