NatLibFi / Finto-suggestions

Finto-suggestions
7 stars 1 forks source link

Term in Finto does not redirect to correct url #242

Closed kouralex closed 4 years ago

kouralex commented 4 years ago

Steps to reproduce:

  1. Select a suggestion with term in Finto, e.g., raipparangaistus
  2. Observe how the link for Termi Fintossa (term in Finto) does not correctly redirect the tab/open the Finto URL.
kouralex commented 4 years ago

It turns out that this is an issue in https://github.com/NatLibFi/Finto-suggestions/blob/master/api/scripts/github_data_parser.py, where http:// is falsely stripped into http//.

After a fix, one must either 1) run github importer again or 2) run a psql script that fixes the wrongly inserted database items.

miguelvaara commented 4 years ago

Kokeiltiin aluksi korjata niin, että muutetaan github_data_parser.py:tä, jossa GitHubin issueiden importtauksen logiikka on, mutta tästä seuraa se, että joko tietokanta on muodostettava jokaisen kehitysmuutoksen testauksen kohdalla uudelleen tai uudet käsite-ehdotukset inkrementoivat tietokannan koon aina noin 7500 issuella per testi. Ensimmäiseen vaihtoehtoon menee yhden vaiheen testaamiseksi aikaa 20-50 minuuttia (riippuu verkon nopeudesta ja palvelinmen kuormasta). Toiseen vaihtoehtoon menee aikaa noin 15-20 minuuttia per muutoksen testaus ja tietokannan koko kasvaa valtavasti (hidastaa kehittämistä).

Proddata-import-toimintoa käytetään vain yhden (1) kerran, kun siirrytään tuotantoon. Sen jälkeen kyseinen skripti on tarpeeton.

Ei ole mielekästä käyttää valtavasti aikaa a) pieneen muutokseen ja b) asiaan (importtaus), jota tarvitaan lopulta vain yhden kerran.

Paljon helpompaa oli tehdä yksinkertainen SQL-komento, joka kerralla muutti tietokannassa kaikki json-tyyppisen yse_term-kentän arvot oikein eli 'http' muutettiin 'http:':ksi. SQL-komennon ajo kestää 1-2 sekuntia per kanta.

Lause ajettiin sekä kehitykseen että tuotantoon ja nyt linkki toimii oikein eli ohjaa Fintoon.

HUOM: Kun teet kehitystä omalla koneellasi, aja ehdotusjärjestelmän tietokannassa seuraava komento:

UPDATE suggestions SET yse_term = replace(yse_term::TEXT, 'http', 'http:')::json;