Skip to content

Milestone 17: TEI Präsentationsschicht - #315

Draft
sebhofmann wants to merge 2 commits into
mainfrom
milestones/17-tei-praesentationsschicht
Draft

Milestone 17: TEI Präsentationsschicht#315
sebhofmann wants to merge 2 commits into
mainfrom
milestones/17-tei-praesentationsschicht

Conversation

@sebhofmann

Copy link
Copy Markdown
Collaborator

Integrations-PR für Milestone TEI Präsentationsschicht.

Sammelt die Arbeit des Milestones auf dem Branch milestones/17-tei-praesentationsschicht und merged sie gebündelt nach main. Einzelne Milestone-PRs (z.B. #311) targeten diesen Branch und werden dort zuerst gemerged.

Als Draft offen halten, bis der Milestone vollständig ist. Der erste Commit ist ein leerer Seed-Commit, damit der PR schon jetzt geöffnet werden kann; der Diff füllt sich mit jedem gemergten Milestone-PR.

Enthaltene PRs

Seed commit so the milestone integration branch can host a merge PR into
main. Milestone PRs (e.g. #311) target this branch and merge here first.
@sebhofmann sebhofmann added this to the TEI Präsentationsschicht milestone Aug 11, 2026
* [#294] - Embed TEI edition and XML source in viewer tabs

The object viewer now shows one tab per readable derivate, titled by the
derivate_types classification label. The rendering is chosen by the main
file extension, not the derivate type:

- xml/tei main files are rendered as a TEI text edition (XSLT 3.0/Saxon,
  loaded lazily via MCRDerivateContentTransformerServlet) and get an extra
  "<label> (XML)" tab showing the pretty printed, syntax highlighted source.
- everything else (pdf, images) uses the mycore image viewer as before.

Derivates without a main file no longer produce an empty tab.

Also improves the upload boxes: uploading into an existing filespace is now
visually separated from creating a new filespace.

* [#294] - Make TEI the default viewer tab and render edition regions

Render title/desc metadata, seriesStmt editors, witness sigla, metDecl
prosody and blockLyrics text; resolve cross-object links; add critical
apparatus with annotation popover. Move all UI labels to messages
(de/en/tr) via mcri18n and fix apparatus link spacing.

* [#294] - Add CLI commands to import TEI sources into mods derivates

'update tei sources from directory {0}' returns one 'update tei source
from file {0}' command per XML file. The file command reads the linked
mods object from milestone[@Unit='cite']/@source and uploads the TEI file
to the object's edition_tei derivate, creating it if necessary.

* [#294] - Refine TEI edition viewer: layout, Bootstrap popovers and i18n

- Drop duplicated title/shelfmark from the edition header
- Mirror the printed edition in the verse block: centred lines, bold main
  text, regular terennüm, italic performance directions, even-only line
  numbers, per-line @real scansion in a popup
- Bracket <supplied> as [..] and resolve @reason/@resp, resolve editor
  @ROLE and rdg @type, split genre into music/text genre and text form
- Move all edition popups (metre, supplied, editors, catalogue, reading
  types and the annotation apparatus preview) onto Bootstrap popovers
  sharing one .cmo-tei-bs-popover theme
- Add de/en/tr messages for the new labels, roles, reasons and reading
  types taken from the editors' translation table

* [#294] - Switch TEI popovers to click and show reading witnesses

Popovers in the TEI edition viewer are now opened by click instead of
hover, so they stay open and links inside them remain clickable. Only
one popover is open at a time; a click outside closes it. Real links
keep their hover tooltip so the click still navigates.

Readings with a @wit attribute now get a popover listing the witness
sigla resolved from the listWit.

* [#294] - Use native Bootstrap click popovers with close button

Drop the custom single-open tracking and outside-click handling in the
TEI viewer and rely on Bootstrap's native click toggle instead. Nested
triggers (a supplied span wrapping an annotation) now open both popovers
on one click and close again on re-click. Each click popover gets a small
close button in its top right corner.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant