ceskaexpedice/kramerius

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

daliboris opened this issue · 6 comments

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?

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

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á?

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.

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

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.

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