NHMDenmark / DaSSCo-Transcription

Work on transcription of specimen data from images as part of mass digitisation workflows and pipelines
0 stars 0 forks source link

Transcription platform coding #10

Open joaquimsantos1978 opened 2 months ago

joaquimsantos1978 commented 2 months ago

Summary of task: Collaborative web platform for transcribing/classifying specimens based on images (labels/specimens). It uses Laravel PHP Framework It is based on an existing platform built in 2017 (Laravel 5). This task is to make a version of this platform for NHMDenmark. It involves updating for Laravel version 10, changing some internal procedures to allow administrators to better manage the platform and building some managing interfaces. The estimate time to have a first testing version is 2 weeks (80 hours).

Task / version 1 includes:

Estimated end date: 2024-09-23

PipBrewer commented 1 month ago

Following a meeting on 2024-09-10 between Pip, Joaquim and Astrid we have agreed to add this to v1

joaquimsantos1978 commented 1 month ago

2024-10-01 The platform is on the server https://transcription.bhsi.xyz/ However, POST and GET methods are not working as supposed. I guess due to server's configuration (nginx), so it is not possible to login/create accounts, etc. I'll try to sort these out ASAP

joaquimsantos1978 commented 1 month ago

2024-10-08 When trying to login, the browser warns about submitting data through a non-secure connection. Plus, submitting returns always a 301. I thought it was something with nginx configurations that was messing with POST/GET actions, but couldn't sort it out. So I've stopped the nginx and started Apache, but the behaviour was the same, so I guess it is something with the way the reverse proxy connects to the server. Asked @bhsi-snm to check reverse proxy settings. We are analysing that.

joaquimsantos1978 commented 3 weeks ago

I have agreed with @bhsi-snm to have a temporary server outside, so that we can check that if app works properly and what the problem is with the assigned server configuration. It will give us time to figure it out while @AstridBVW is able to test the app.

PipBrewer commented 3 weeks ago

Discussion on security of temporary cloud solution: 20241014 Re_ Using cloud for transcription deployment and DaSSCo data .pdf

joaquimsantos1978 commented 3 weeks ago

Discussion on security of temporary cloud solution: 20241014 Re_ Using cloud for transcription deployment and DaSSCo data .pdf

The server is temporary only for Astrid to move forward with testing, while the routes/ssl issue is solved on NHM servers. This testing server is in Strasbougr, France (screenshot attached). Screenshot 2024-10-15 at 09-36-25 OVHcloud

bhsi-snm commented 3 weeks ago

The transcription platform has been deployed without reverse proxy at https://transcription.invirtu.com/ and it works fine. It needs to be investigated with reverse proxy, my guess is that the Laravel framework needs to be informed that it is deployed behind reverse proxy

joaquimsantos1978 commented 3 weeks ago

The transcription platform has been deployed without reverse proxy at https://transcription.invirtu.com/ and it works fine. It needs to be investigated with reverse proxy, my guess is that the Laravel framework needs to be informed that it is deployed behind reverse proxy

Nice hint! I have solved it by adding the following code to routes/web.php file, following this post: https://cylab.be/blog/122/using-https-over-a-reverse-proxy-in-laravel

$app_url = config("app.url"); if (app()->environment('production') && !empty($app_url)) { URL::forceRootUrl($app_url); $schema = explode(':', $app_url)[0]; URL::forceScheme($schema); } It works!

joaquimsantos1978 commented 2 weeks ago

Bugs to correct ASAP: