ceskaexpedice / ceska-digitalni-knihovna

Automatically exported from code.google.com/p/ceska-digitalni-knihovna
6 stars 1 forks source link

ČDK - problém při založení nové knihovny pro sklízení #35

Closed mduda100871 closed 1 year ago

mduda100871 commented 3 years ago

Zdravím,

zjistil jsem nepříjemnou komplikaci v případě, kdy se zakládá nová knihovna (na pozadí je to virtuální sbírka) pro sklizeň.

Pokud se knihovna založí standardně přes admin rozhraní Krameria v administraci sbírek a vyplní se český a anglický název knihovny, tak jádro (zřejmě) za každý název přidá odřádkování.

To by zdánlivě nevadilo, ale má to jeden velmi negativní dopad - nelze pak aktivovat žádnou položku z admin menu Krameria (za všechny např. dialog se seznamem procesů). Jediná chybová hláška, která je k dohledání, vypadne v konzoli prohlížeče:

cdk-00

a jádro Krameria pak nelze vůbec adminovat.

Řešení - na příkazové řádce serveru jsem vyexportoval přímo FOXML digitálního objektu virtuální sbírky (sklízené knihovny) příkazem fedora-export.sh, příklad:

$ fedora-export.sh  127.0.0.1:9080 fedoraAdmin <heslo> vc:c4bb27af-3a51-4ac2-95c7-fd393b489e26 'info:fedora/fedora-system:FOXML-1.1' archive ~/tmp/ http

Následně jsem vygeneroval nové popisky/názvy knihovny bez odřádkování na konci a ty enkódoval zpět do BASE64 formátu, příklad:

$ cat /tmp/knihovna_nazev_en.txt | base64 -w0
$ cat /tmp/knihovna_nazev_cs.txt | base64 -w0

Výslednými řetězci jsem nahradil řetězce (element <foxml:binaryContent/>) v příslušných datastreamech vyexportovaného FOXML, příklad:

...
  <foxml:datastream CONTROL_GROUP="M" ID="TEXT_en" STATE="A" VERSIONABLE="false">
    <foxml:datastreamVersion CREATED="2018-10-16T07:37:14.417Z" ID="TEXT_en.8" LABEL="Description en"
      MIMETYPE="text/plain" SIZE="46">
      <foxml:binaryContent>TW9yYXZpYW4tU2lsZXNpYW4gUmVzZWFyY2ggTGlicmFyeSBpbiBPc3RyYXZh</foxml:binaryContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="M" ID="TEXT_cs" STATE="A" VERSIONABLE="false">
    <foxml:datastreamVersion CREATED="2018-10-29T15:50:35.474Z" ID="TEXT_cs.11" LABEL="Description cs"
      MIMETYPE="text/plain" SIZE="47">
      <foxml:binaryContent>TW9yYXZza29zbGV6c2vDoSB2xJtkZWNrw6Ega25paG92bmEgdiBPc3RyYXbEmw==</foxml:binaryContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
...

a opravený FOXML jsem naimportoval zpět do Fedory příkazem fedora-ingest.sh, příklad:

$ fedora-ingest.sh f ~/tmp/vc_41f345fc-d0ad-11ea-b976-005056b593cd.xml 'info:fedora/fedora-system:FOXML-1.1' 127.0.0.1:9080 fedoraAdmin <heslo> http

A začalo to fungovat normálně.

Bylo by nicméně dobré opravit jádro, aby při zakládání nové knihovny pro sklizeň nemusel admin podtsupovat "tělocvik" na příkazové řádce.

MD

pavel-stastny commented 1 year ago

@mduda100871 Myslim, ze muzeme uzavrit.