Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapt RPB UI for BiblioVino (RPB-37) #52

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
517b27f
Adapt RPB UI for BiblioVino (RPB-37)
fsteeg Oct 19, 2023
5458e96
Add contacts, imprint, and other links to info menu (RPB-38)
fsteeg Nov 21, 2023
f05b812
Merge remote-tracking branch 'origin/main' into biblioVino
fsteeg Feb 20, 2024
4cfb93c
Merge branch 'main' into biblioVino
fsteeg Jul 22, 2024
8956ae9
Merge branch 'rpb-127-subjectComponentList' into biblioVino
fsteeg Jul 22, 2024
831348f
Merge remote-tracking branch 'origin/main' into biblioVino
fsteeg Nov 28, 2024
a3dab17
Merge remote-tracking branch 'origin/rpb-114-alternativeTitle' into b…
fsteeg Nov 28, 2024
e536325
Merge remote-tracking branch 'origin/main' into biblioVino
fsteeg Dec 13, 2024
3fb22b9
Merge branch 'rpb-230-delete' of https://github.com/hbz/rpb into bibl…
fsteeg Dec 13, 2024
28b631e
Merge remote-tracking branch 'origin/main' into biblioVino
fsteeg Dec 27, 2024
80f9f85
Update text on index page (RPB-231)
fsteeg Dec 27, 2024
ffc635a
Merge remote-tracking branch 'origin/rpb-229-emptySubjectComponent' i…
fsteeg Jan 6, 2025
df55bbb
Merge branch 'biblioVino_rpb-231-text' of https://github.com/hbz/rpb …
fsteeg Jan 7, 2025
939a72b
Exclude `Notationen` subjects in details view (RPB-240)
fsteeg Jan 13, 2025
30493de
Remove redundant subjects source filter
fsteeg Jan 13, 2025
d9d553c
Restore items map and list in details view (RPB-241)
fsteeg Jan 13, 2025
d3a4ada
Show label, fix formatting for superordinate items link (RPB-241)
fsteeg Jan 13, 2025
8b4e186
Skip `contribution` source links for non-http values (RPB-242)
fsteeg Jan 13, 2025
1e29649
Prefer own items over superordinate link (RPB-241)
fsteeg Jan 13, 2025
ac658eb
Merge remote-tracking branch 'origin/rpb-240-ff' into biblioVino_rpb-…
fsteeg Jan 13, 2025
82163f4
Merge branch 'biblioVino_rpb-240-ff' of https://github.com/hbz/rpb in…
fsteeg Jan 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions app/controllers/nwbib/Lobid.java
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,24 @@ private static String locationPolygon(String location) {
return location.contains("|") ? location.split("\\|")[1] : location;
}

/**
* @param doc The result JSON doc
* @return A mapping of item IDs (URIs) to item details (JSON strings)
*/
public static Map<String, String> itemDetails(String doc) {
JsonNode items = Json.parse(doc).findValue("hasItem");
Map<String, String> result = new HashMap<>();
if (items != null && (items.isArray() || items.isTextual())) {
Iterator<JsonNode> elements =
items.isArray() ? items.elements() : Arrays.asList(items).iterator();
while (elements.hasNext()) {
JsonNode nextItem = elements.next();
result.put(nextItem.get("id").asText(), nextItem.toString());
}
}
return result;
}

/**
* @param doc The result JSON doc
* @return A mapping of ISILs to item URIs
Expand Down
2 changes: 1 addition & 1 deletion app/views/advanced.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
@import play.api.libs.json.Json
@import play.api.libs.json.JsValue

@main("RPB - Erweiterte Suche") {
@main("BiblioVino - Erweiterte Suche") {
@tags.search_advanced("Suchen", person="_", name="_", subject="_")
}
49 changes: 46 additions & 3 deletions app/views/details.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
@import play.mvc.Controller.session
@import play.cache.Cache

@idAndLabelLink(e: JsValue) = {
<a href='@((e\"id").asOpt[String].getOrElse("--"))'>@((e\"label").asOpt[String].getOrElse("--"))</a>
}

@pageLink(last: Seq[String], key: String, label: String, tip: String) = {
@defining((last.indexOf(session(key))-1,last.indexOf(session(key))+1)) { case (prev,next) =>
<li class="@if(session(key).isEmpty){disabled}">
Expand Down Expand Up @@ -66,9 +70,9 @@
*@
@tags.search_form(q)
<div class="row" id="search-results">
@defining(Lobid.items(doc.toString)) { items =>
@defining(!(doc\\"containedIn").isEmpty && (doc\"type").toString.contains("Article")){superordination =>
<div class="col-md-12">
@defining((Lobid.items(doc.toString), Lobid.itemDetails(doc.toString))) { case (items, itemDetails) =>
@defining(items.isEmpty && !(doc\\"containedIn").isEmpty && (doc\"type").toString.contains("Article")){superordination =>
<div class="col-md-@if(items.isEmpty && !doc.toString.contains("fulltextOnline") && !superordination){12} else {8}">
<dl>
@defining((doc\"rpbId").asOpt[String].getOrElse(q)){ id =>
<dt>@tags.star_button(id) Titeldetails:
Expand All @@ -80,6 +84,45 @@
}
</dl>
</div>
@if(!items.isEmpty || doc.toString.contains("fulltextOnline") || superordination){
<div class="col-md-4" id="holdings">
<dl>
@if(doc.toString.contains("fulltextOnline")){
<dt>Online-Ressource:</dt>
<dd>
<table class="table table-striped table-condensed">
<tr>
<th style="width: 15%"></th>
<th style="width: 85%"></th>
</tr>
@result_field("Link", "fulltextOnline", doc, TableRow.LINKS)
</table>
</dd>
}
@if(superordination){
<dt>Bestandsangaben:</dt>
<dd>
<table class="table table-striped table-condensed">
<tr>
<th style="width: 40%"></th>
<th style="width: 60%"></th>
</tr>
<tr>
<td>Zum Bestand siehe:</td>
<td>@idAndLabelLink((doc\"containedIn").as[Seq[JsValue]].head)</td>
</tr>
</table>
</dd>
}
@if(!superordination && !items.isEmpty && !doc.toString.contains("fulltextOnline")){
@defining(items.size){num =>
<dt>Bestand in @num Bibliothek@if(num>1){en}:</dt>
}
<dd>@tags.items_map(items, itemDetails)</dd>
}
</dl>
</div>
}
}
}
</div>
Expand Down
34 changes: 19 additions & 15 deletions app/views/index.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
@import play.api.libs.json.JsValue
@import controllers.nwbib.Lobid

@main("RPB") {
@main("BiblioVino") {
@tags.search_form("")
<div class="row">
@*<div class="col-md-7 intro">
Expand Down Expand Up @@ -37,22 +37,26 @@
*@
<div class="col-md-12 intro">
<p class="lead">
Die Rheinland-Pfälzische Bibliographie (RPB) ist eine regionale Literaturdokumentation des Landes Rheinland-Pfalz, die seit 1991 im Auftrag des damaligen
Ministeriums für Wissenschaft und Weiterbildung erstellt wird. Sie erfasst Literaturnachweise von Büchern, Aufsätzen aus Zeitschriften, Jahrbüchern, Tages-
und Wochenzeitungen sowie Einzelbeiträgen aus Sammelwerken.
Die Bibliographie zur Geschichte und Kultur des Weines ist eine Literaturdokumentation der deutschsprachigen Weinliteratur. Sie erfasst
Literaturnachweise von Büchern, Aufsätzen aus Zeitschriften, Jahrbüchern, Tages- und Wochenzeitungen sowie Einzelbeiträgen aus Sammelwerken.
Wo möglich werden Volltexte als frei zugängliche Digitalisate eingebunden.
</p>
<p>
Die Bibliographie wird von Mitarbeitern des Landesbibliothekszentrums an den Standorten Speyer und Koblenz sowie den wissenschaftlichen Stadtbibliotheken in
Mainz und Trier gemeinsam erarbeitet. Die einzelnen Bibliotheken sind schwerpunktmäßig für die Literatur aus ihrer und über ihre Region zuständig. Rund 1400
Zeitschriften des Berichtszeitraums 1991 bis heute und andere fortlaufende Werke werden durchgesehen. Die Titel werden in den einzelnen Bibliotheken dezentral
erfasst. Die Rheinische Landesbibliothek des lbz führt das Titelmaterial redaktionell zusammen und betreut mit dem hbz die für die Herstellung der Bibliographie
erforderliche Datenverarbeitung.
</p>
<p>
Um an die Artikel oder Bücher selbst heranzukommen, empfiehlt es sich, diese über die eigene Bibliothek vor Ort zu beschaffen (z.B. als Buchfernleihe oder als
Aufsatzbestellung über die Fernleihe).
</p>
</div>
Die Bibliographie wird von Mitarbeitern des Landesbibliothekszentrums bearbeitet. Für die Verzeichnung in der Weinbibliographie werden alle
Veröffentlichungen aus allen Epochen berücksichtigt, die einen inhaltlichen Bezug zu kulturellen und geschichtlichen Aspekten des Weins
haben. Nicht erfasst werden moderne, praktische Aspekte des Weinbaus. Im Wesentlichen wird deutschsprachiges Schrifttum (bei älteren Schriften auch
Latein) ausgewertet. Fremdsprachige Literatur ist vereinzelt zu finden, wird jedoch nicht systematisch erschlossen. Das Landesbibliothekszentrums führt
das Titelmaterial redaktionell zusammen und betreut mit dem hbz die für die Herstellung der Bibliographie erforderliche Datenverarbeitung.
</p>
<p>
Grundlage der sachlichen Erschließung sind die Schlagwörter gemäß der bundeseinheitlichen Normdatei (GND), die in Kooperation der wissenschaftlichen
Bibliotheken des deutschsprachigen Raumes erstellt und von der Deutschen Nationalbibliothek verwaltet werden.
</p>
<p>
Um an die Artikel oder Bücher selbst heranzukommen, empfiehlt es sich, diese über die eigene Bibliothek vor Ort zu beschaffen (z.B. als Buchfernleihe
oder als Aufsatzbestellung über die Fernleihe).
</p>
</div>
</div>
@*
<script type="application/ld+json">
Expand Down
26 changes: 11 additions & 15 deletions app/views/main.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<link rel="stylesheet" media="all" href="@controllers.routes.Assets.at("stylesheets/jquery-ui.min.css")">
<link rel="stylesheet" media="all" href="@controllers.routes.Assets.at("stylesheets/font-awesome.min.css")">
<link rel="stylesheet" media="all" href="@controllers.routes.Assets.at("stylesheets/nwbib.css")">
<link rel="shortcut icon" type="image/png" href="@controllers.routes.Assets.at("images/favicon.png")">
<link rel="shortcut icon" type="image/png" href="@controllers.routes.Assets.at("images/bibliovino.png")">
<script src="@controllers.routes.Assets.at("javascripts/jquery-1.10.2.min.js")"></script>
<script src="@controllers.routes.Assets.at("javascripts/jquery-ui.min.js")"></script>
<script src="@controllers.routes.Assets.at("javascripts/bootstrap.min.js")"></script>
Expand All @@ -35,28 +35,26 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="@nwbib.routes.Application.index()"><span class="glyphicon glyphicon-home"></span> RPB</a>
<a class="navbar-brand" href="@nwbib.routes.Application.index()"><span class="glyphicon glyphicon-home"></span> BiblioVino</a>
</div>
<div class="navbar-collapse collapse" id="nwbib-nav">
<ul class="nav navbar-nav">
<li @if(title=="RPB - Ergebnisliste"){class="active"}>
<li @if(title=="BiblioVino - Ergebnisliste"){class="active"}>
<a href="@nwbib.routes.Application.search()">Suche</a>
</li>
<li @if(title=="RPB - Erweiterte Suche"){class="active"}>
<li @if(title=="BiblioVino - Erweiterte Suche"){class="active"}>
<a href="@nwbib.routes.Application.advanced()">Erweiterte Suche</a>
</li>
@*
<li @if(title=="RPB - Themensuche"){class="active"}>
<li @if(title=="BiblioVino - Themensuche"){class="active"}>
<a href="@nwbib.routes.Application.topics()">Themensuche</a>
</li>
*@
<li @if(title.contains("Raumsystematik")){class="active"}>
<a href="@nwbib.routes.Application.spatial()">Regionen</a>
</li>
<li @if(title.contains("Sachsystematik")){class="active"}>
<a href="@nwbib.routes.Application.subjects()">Sachgebiete</a>
</li>
@*
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Ergänzende Suche<b class="caret"></b></a>
<ul class="dropdown-menu">
Expand All @@ -73,18 +71,16 @@
*@
</ul>
<ul class="nav navbar-nav navbar-right">
<li @if(title=="RPB - Merkliste"){class="active"}><a href="@nwbib.routes.Application.showStars()"><span class="glyphicon glyphicon-star-empty"></span> Merkliste</a></li>
<li><a href="https://lbz.rlp.de/landeskunde-und-kulturgut/landeskunde/rheinland-pfaelzische-bibliographie-infotext" target="_blank">Über die RPB</a></li>
<li><a href="https://lbz.rlp.de/landeskunde-und-kulturgut/landeskunde/rheinland-pfaelzische-bibliographie-weitere-links-mit-landeskundlichem-bezug" target="_blank">Weitere Bibliographien</a></li>
<li @if(title=="BiblioVino - Merkliste"){class="active"}><a href="@nwbib.routes.Application.showStars()"><span class="glyphicon glyphicon-star-empty"></span> Merkliste</a></li>
<li class="divider"></li>
<li @if(title=="RPB: Kontakt"){class="active"} class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" title="Info"><span class="glyphicon glyphicon-info-sign"></span><b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-header">Feedback</li>
<li><a href="mailto:lobid-admin@@hbz-nrw.de?subject=Feedback%20zur%20RPB,%20aktuelle%20URL%[email protected]()">Feedback zur aktuellen Seite</a></li>
<li><a href="mailto:lobid-admin@@hbz-nrw.de?subject=Feedback%20zu%20BiblioVino,%20aktuelle%20URL%[email protected]()">Feedback zur aktuellen Seite</a></li>
<li class="divider"></li>
<li class="dropdown-header">Fachlicher Kontakt</li>
<li><a href="mailto:pl.rlb@@lbz-rlp.de?Subject=Anfrage%20Zentralredaktion%20RPB">Zentralredaktion (Tel.: 0261/91500-450)</a></li>
<li><a href="mailto:pl.rlb@@lbz-rlp.de?Subject=Anfrage%20Zentralredaktion%20BiblioVino">Zentralredaktion (Tel.: 0261/91500-450)</a></li>
<li class="divider"></li>
<li class="dropdown-header">Technischer Kontakt</li>
<li><a href="https://www.hbz-nrw.de/produkte/linked-open-data" target="_blank">Hochschulbibliothekszentrum NRW</a></li>
Expand All @@ -99,16 +95,16 @@
</div><!--/.container-fluid -->
</div>
<div class="page-header">
<img class="media-object nrw-logo pull-right" src="@controllers.routes.Assets.at("images/wappen.png")" alt="NRW">
<h1>Die Rheinland-Pfälzische Bibliographie<br/><small>Ein Entwicklungsprojekt von lbz &amp; hbz <span class="badge">beta</span></small></h1>
<img class="media-object nrw-logo pull-right" src="@controllers.routes.Assets.at("images/bibliovino.png")" alt="BiblioVino">
<h1>BiblioVino<br/><small>Bibliographie zur Geschichte und Kultur des Weines <span class="badge">beta</span></small></h1>
</div>
@content
<div class="panel panel-default nwbib-footer">
<div class="panel-body">
@defining(controllers.nwbib.Lobid.getTotalHits("").get(Lobid.API_TIMEOUT)){ hits =>
<img class="media-object pull-left nrw-wappen" src="@controllers.routes.Assets.at("images/wappen.png")" alt="RLP-Wappen">
<img class="media-object pull-right hbz-logo" src="@controllers.routes.Assets.at("images/hbz.png")" alt="hbz-Logo">
Die RPB enthält aktuell @hits Literaturnachweise | Ein Entwicklungsprojekt von <a href="https://lbz.rlp.de/">lbz</a> &amp; <a href="http://www.hbz-nrw.de/">hbz</a>
BiblioVino enthält aktuell @hits Literaturnachweise | Ein Entwicklungsprojekt von <a href="https://lbz.rlp.de/">lbz</a> &amp; <a href="http://www.hbz-nrw.de/">hbz</a>
}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/views/search.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
(json\"rpbId").asOpt[String].getOrElse((json\"id").asOpt[String].map(_.replaceAll("https?://lobid.org/resources/","").replaceAll("#!","")).getOrElse(""))
}

@main("RPB - Ergebnisliste") {
@main("BiblioVino - Ergebnisliste") {
@if(Seq(person, name, subject, id, publisher, issued, word, corporation).exists(!_.isEmpty)){
@tags.search_advanced("Suche aktualisieren", q, person, name, subject, rpbspatial, rpbsubject, id, publisher, issued, sortParam, word=word, corporation=corporation)
} else {
Expand Down
2 changes: 1 addition & 1 deletion app/views/stars.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
}
}

@main("RPB - Merkliste") {
@main("BiblioVino - Merkliste") {
@if(ids.isEmpty){
<div class="alert alert-info text-center">
Keine gemerkten Titel. Sie können Titel in der Trefferliste oder der Einzeltrefferanzeige durch Klicken des Sterns hinzufügen.
Expand Down
4 changes: 2 additions & 2 deletions app/views/tags/facets.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,12 @@
<div id="issued-div"> <a id="issued-link" style="display:none" href="@nwbib.routes.Application.search(q,person,name,subject,id,publisher,issued,medium,rpbspatial,rpbsubject,from,size,owner,t,sortParam,location=location,word=word,corporation=corporation,raw=raw)">Anwenden</a> </div>
</div>
<br/>
<div class="row facet"><div class="col-md-12">@facets("Regionen", Application.NWBIB_SPATIAL_FIELD, rpbspatial)</div></div>
<div class="row facet"><div class="col-md-12">@facets("Sachgebiete", Application.RPB_SUBJECT_FIELD, rpbsubject)</div></div>
<div class="row facet"><div class="col-md-12">@facets("Schlagwörter", Application.SUBJECT_FIELD, if(!urisOnly(subject).isEmpty) urisOnly(subject) else "", "dropup")</div></div>
<div class="row facet"><div class="col-md-12">@facets("Publikationstypen", Application.TYPE_FIELD, t, "dropup")</div></div>
<div class="row facet"><div class="col-md-12">@facets("Medientypen", Application.MEDIUM_FIELD, medium, "dropup")</div></div>
@*
<div class="row facet"><div class="col-md-12">@facets("Sachgebiete", Application.RPB_SUBJECT_FIELD, nwbibsubject)</div></div>
<div class="row facet"><div class="col-md-12">@facets("Regionen", Application.NWBIB_SPATIAL_FIELD, nwbibspatial)</div></div>
<p/>
<div id="coverage"><p class="h5">@facetToggle("coverage-map"){Raumbezug} @facetLabel(location, locationLabel(location.split("\\|")(0)))</p>
<div class="row facet" id="coverage-map"><div class="col-md-12">@coverage_map(q,person,name,subject,id,publisher,issued,medium,rpbspatial,rpbsubject,owner,t,sortParam,location,word,corporation,raw,from,size)</div></div>
Expand Down
Loading