DH-Center-Tuebingen / Spacialist

A Virtual Research Environment for the Spatial Humanities
https://uni-tuebingen.de/forschung/forschungsinfrastruktur/digital-humanities-center/virtuelle-forschungsumgebung/
MIT License
24 stars 6 forks source link

POST-Request to endpoint bibliography/import failed with status code 500 #462

Open nnamreffo opened 7 months ago

nnamreffo commented 7 months ago

What is going wrong?

Error when importing Bibtex file to bibliography module

Description

{"message":"Undefined array key \"mandatory\"","exception":"ErrorException","file":"/var/www/html/spacialist/spp-aue/s/app/Bibliography.php","line":300,"trace":[{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php","line":254,"function":"handleError","class":"Illuminate\Foundation\Bootstrap\HandleExceptions","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/app/Bibliography.php","line":300,"function":"Illuminate\Foundation\Bootstrap\{closure}","class":"Illuminate\Foundation\Bootstrap\HandleExceptions","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/app/Http/Controllers/BibliographyController.php","line":152,"function":"validateMandatory","class":"App\Bibliography","type":"::"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Controller.php","line":54,"function":"importBibtex","class":"App\Http\Controllers\BibliographyController","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php","line":43,"function":"callAction","class":"Illuminate\Routing\Controller","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Route.php","line":260,"function":"dispatch","class":"Illuminate\Routing\ControllerDispatcher","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Route.php","line":205,"function":"runController","class":"Illuminate\Routing\Route","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Router.php","line":799,"function":"run","class":"Illuminate\Routing\Route","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":141,"function":"Illuminate\Routing\{closure}","class":"Illuminate\Routing\Router","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/php-open-source-saver/jwt-auth/src/Http/Middleware/RefreshToken.php","line":41,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"PHPOpenSourceSaver\JWTAuth\Http\Middleware\RefreshToken","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/php-open-source-saver/jwt-auth/src/Http/Middleware/Authenticate.php","line":34,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"PHPOpenSourceSaver\JWTAuth\Http\Middleware\Authenticate","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php","line":50,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Routing\Middleware\SubstituteBindings","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php","line":159,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php","line":95,"function":"handleRequest","class":"Illuminate\Routing\Middleware\ThrottleRequests","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Routing\Middleware\ThrottleRequests","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":116,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Router.php","line":800,"function":"then","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Router.php","line":777,"function":"runRouteWithinStack","class":"Illuminate\Routing\Router","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Router.php","line":741,"function":"runRoute","class":"Illuminate\Routing\Router","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Routing/Router.php","line":730,"function":"dispatchToRoute","class":"Illuminate\Routing\Router","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php","line":200,"function":"dispatch","class":"Illuminate\Routing\Router","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":141,"function":"Illuminate\Foundation\Http\{closure}","class":"Illuminate\Foundation\Http\Kernel","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/app/Http/Middleware/LanguageMiddleware.php","line":23,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"App\Http\Middleware\LanguageMiddleware","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php","line":39,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Http\Middleware\TrustProxies","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php","line":21,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php","line":31,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\TransformsRequest","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php","line":21,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\TransformsRequest","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php","line":21,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php","line":40,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\TransformsRequest","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\TrimStrings","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php","line":27,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\ValidatePostSize","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php","line":99,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":180,"function":"handle","class":"Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php","line":116,"function":"Illuminate\Pipeline\{closure}","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php","line":175,"function":"then","class":"Illuminate\Pipeline\Pipeline","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php","line":144,"function":"sendRequestThroughRouter","class":"Illuminate\Foundation\Http\Kernel","type":"->"},{"file":"/var/www/html/spacialist/spp-aue/s/public/index.php","line":59,"function":"handle","class":"Illuminate\Foundation\Http\Kernel","type":"->"}]}

Expected behaviour

If the error is in the Bibtex, user should be notified

Actual behaviour

actually not sure

DavidKi commented 7 months ago

Hey @nnamreffo

I am not part of the Dev-Team. But your error looks like an error in your bibtex-file as you already guessed.

For the developers it could be useful, if you post your bibtex-file. Or at least the entry with the "mandatory"-key, which is probable not known to Spacialist.

For better user-experience I would upvote for a a more end-user-friendly error message, which gives a clear hint on the bad bibtex key. So the user can correct his/her bibtex-file

v1r0x commented 7 months ago

This is a bug in Spacialist :wink:

I suppose you are trying to add an item of type misc?

A fix will soon be available

nnamreffo commented 7 months ago

Thank you @DavidKi and @v1r0x !

Afterwards i checked entry by entry and it was indeed a misc type item causing troubles:

@misc{baldan_riverconn_2022, title = {riverconn: {An} {R} package to assess river network fragmentation}, collaborator = {Baldan, Damiano and Cunillera-Montcusi, David and Funk, Andrea and Hein, Thomas}, year = {2022}, file = {SSRN-id4096555.pdf:C\:\Users\tt70osax\Zotero\storage\8AUV8HXS\SSRN-id4096555.pdf:application/pdf}, }

There's no mandatory key here, i suppose this is spacialist checking for a minimum of information in the imported entry, the unknown entry type being part of this minimum.