DHBern / presentation_parzival

https://dhbern.github.io/presentation_parzival/
0 stars 1 forks source link

Umsetzung Downloadfunktionalität #22

Closed pdaengeli closed 2 months ago

pdaengeli commented 2 months ago

Erste Analyse bzw. Anfrage an D. Steinbach:

Die Fassungsansicht nach Dreissigern der parzDB bieten ja verschiedene Download-Formate an. Wir sind am Klären, inwiefern sich diese Funktionalität auch in der neuen Umsetzung einbauen lässt. Soweit ich sehe, handelt es sich bei den PDFs um on-the-fly generierte LaTeX- bzw. XeTeX-Renderings. Kannst Du etwas mehr dazu sagen, was sich hinter den Kulissen abspielt? Denkst Du, es wäre möglich von on-request- zu build-time-Generierung zu wechseln und die PDFs in einer GH-Action zu setzen? Das entspräche dem Bedürfnis der Sammlung aller Dependencies an einem Ort am besten.

Oder wäre es besser/einfacher, die Komponente zu isolieren und als Service (weiterhin) auf einer Uni-VM laufen zu lassen?

Plan C wäre die externe Vorgenerierung und Übernahme der benötigten Skripte und resultierenden Dateien ins Repo (also konzeptuell nahe am GH-Actions-Workflow, aber weniger formalisiert/integriert).

Etwas systematischer:

Methode Vorteile Nachteile Umsetzung
build-time (GH-Action wie z.B. PubTeX) alles an einem Ort, versionskontrolliert, automatisiert Verlängerung der build time Komplexität unklar
on-request (Betrieb als externer Dienst auf Uni-Infrastruktur) nahe an bisheriger Umsetzung; enthält timestamp zum Zeitpunkt des Abrufs Verzettelung; erfordert mehr Kontextwissen
extern (TeX-Skrite im Repo, externe Generierung, Übernahme der Resultate) alles an einem Ort, versionskontrolliert weniger formalisiert/automatisiert niedere Komplexität, aber komplexerer Workflow

TODO

pdaengeli commented 2 months ago

Einige Ansätze zu GH-Actions:

Damit scheint einiges machbar, zumindest auf der Basis von tex-Dateien. Es bleibt aber noch die Frage, ob wir auch den Schritt von Tustep zu tex in einer Action skripten können.

pdaengeli commented 2 months ago

Resultat des Austauschs

Wir greifen die Exportformate (pdf/tex/tustep) in parzival-static-api bei Bedarf ab den bestehenden Schnittstellen ab und verlinken aus dem Frontend lediglich darauf.

Solange parzdb läuft, ist das die einfachste und zweckmässigste Vorgehensweise.