ceskaexpedice / kramerius

System Kramerius
GNU General Public License v3.0
45 stars 26 forks source link

Vrácený objekt rightMsg při volání api/client/v7.0/info #1055

Closed daliboris closed 6 months ago

daliboris commented 6 months ago

Při volání koncového bodu api/client/v7.0/info obsahuje odpověď objekt rightMsg, která obsahuje nepravdivou (a nerelevantní) informaci o veřejně nedostupném dokumentu.

{"rightMsg": {
  "cs":"Tento dokument není veřejně přístupný.",
  "en":"This document is not public"},
   "instance":  { 
      "registr": "https://registr.digitalniknihovna.cz/library/mzk",
      "acronym":"mzk"},
   "pdfMaxRange":"200",
   "version":"7.0.29",
    "indexerVersion":18,
    "hash":"af975800d4b901f31798465ac18400e16d4f4ee7"
}

Myslím, že odpověď by neměla být zabalena do objektu rightMsg.

Nebylo by lepší (i adekvátní), kdyby všechny klíče byly součástí objektu instance?

vlahoda commented 6 months ago

Asi jste prehledl pravou slozenou zavorku. Objekt rightMsg obsahuje pouze atributy cs a en a neni to ani nepreavdiva ani nerelevantni informace.

daliboris commented 6 months ago

Máte pravdu, koncovou závorku jsem přehlédl, moje chyba.

Pokud jde o relevantnost:

Podle dokumentace volání tohoto koncového bodu vrací "informace o verzi, textová zpráva o nedostupnosti, max. počtu stránek pro generování pdf, atd.". Takže účelem volání není získat nějaký dokument. Případně bych to chápal tak, že účelem je získat dokument ve formátu JSON s informacemi o Krameriovi. A jelikož koncový bod takový "dokument" vrací, tak nevím, proč je tam informace, že dokument není veřejně přístupný.

V čem je moje úvaha chybná?

vlahoda commented 6 months ago

Ano, tento endpoint poskytuje vybrane informace z konfiguracnich souboru backendu Krameria, ktere potrebuje klientska aplikace. Element rightMsg je prave ta "textová zpráva o nedostupnosti", kterou citujete z dokumentace.

daliboris commented 6 months ago

Děkuju za vysvětlení. Takže jde o to, jakou má klient zobrazit zprávu, pokud je dokument nedostupný.

Možná by takovému pochopení pomohlo přeformulování nápovědy. Navrhuju:

text zprávy v případě nedostupnosti dokumentu, informace o verzi, max. počtu stránek pro generování PDF atp.

zabak commented 6 months ago

Předpokládám, že tohle se změní, když budeme přesouvat řešení licencí do jádra, tyhle konkrétní texty k licencím se vlastně v K7 už nijak nevyužívají, naopak přibude hodně textů k licencím.

honza-rychtar commented 5 months ago

Klient už rightMsg nepoužívá. Teď je primární konfigurace a pokud konfigurace chybí, tak se použije univerzální text taky na straně klienta.

Vše přechází na licence, které mají své vlastní texty. Obdoba původního rightMsg je současná obecná hláška o nedostupnosti, kde se ale popisuje pouze to, proč je dokument nedostupný, ale už se v ní nepíše, jak se k dokumentu dostat - to už je pak na jednotlivých licencích.

A jak psal Petr, všechny ty textu se budou posunovat do jádra a editace bude přes admina. Klient si pak vše natáhne přes API, ale to bude jiný endpoint, než ten api/client/v7.0/info, který teď už využívají jen admin a Regirstr Krameriů pro informaci o verzi jednotlivých komponent. Klient ještě používá pdfMaxRange, ale to se mělo taky přesunout do toho nového admin/konfigurce/licence modulu.

Snímek obrazovky 2024-04-05 v 9 45 04