Commit ae25e4a1 authored by Ubbo Veentjer's avatar Ubbo Veentjer
Browse files

Merge branch 'release/3.1.8' into main

parents 9ad17dd4 3c7234d1
Pipeline #170656 passed with stages
in 7 minutes and 7 seconds
......@@ -9,7 +9,7 @@ include:
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
DOCKER_IMAGE_TAGGED: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA
DOCKER_IMAGE_TAGGED: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:dev-$CI_COMMIT_SHA
DOCKER_IMAGE_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest
DOCKER_RELEASE_IMAGE_TAGGED: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
DOCKER_RELEASE_IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest
......
......@@ -10,7 +10,7 @@ apply plugin: 'jacoco'
apply plugin: 'war'
group = 'info.textgrid.rep'
version = '3.1.7'
version = '3.1.8'
sourceCompatibility = '1.8'
repositories {
......
# Die Dokumentation zur Annotate-Funktion im TextGridRepository befindet sich gerade im Aufbau
# Annotation Viewer
<!---Alternativ könnte es auch "Annotate", "Annotate in TextGrid" oder "Annotation Sandbox" (die aber superschlecht funktioniert) heißen.--->
<!--- # Annotation Viewer
Alternativ könnte es auch "Annotate" oder "Annotation Sandbox" (die aber superschlecht funktioniert) heißen
Der Annotation Viewer ist ein webbasiertes Annotationstool, das es den Nutzenden ermöglicht, Texte mit einfachen Annotationen auszuzeichnen.
Der Annotation Viewer ist ein webbasiertes Annotationstool, das es dem Nutzer ermöglicht, Texte mit einfachen Annotationen auszuzeichnen.
Die **Annotate-Funktion im TextGridRepository** (TextGridRep) bietet die Möglichkeit, Texte aus dem TextGridRep heraus in den Annotation Viewer zu laden, um dort direkt die Annotation durchzuführen.
Der Annotation Viewer ist eine Webapplikation; Downloads und Installationen sind folglich nicht nötig und der Nutzende greift auf externe Server zu, so dass Anwendende keine großen Rechenkapazitäten benötigen.
Die Beta-Version der **Annotate-Funktion im TextGridRepository** (TextGridRep) bietet die Möglichkeit, Texte aus dem TextGridRep heraus in den Annotation Viewer zu laden, um dort direkt die Annotation durchzuführen.
Der Annotation Viewer ist eine Webapplikation; Downloads und Installationen sind folglich nicht nötig und die Nutzenden greifen auf externe Server zu, so dass Anwendende keine großen Rechenkapazitäten benötigen.
Der Schritt, Texte aus dem TextGridRep herunterzuladen und dann wieder in den Annotation Viewer zu laden entfällt hiermit.
## Den Annotation Viewer starten
Um die Analyse zu starten, öffnen Sie einen Text und klicken Sie auf der linken Seite des Bildschirms auf _Annotate_ (klicken Sie das blaue 🛈, gelangen Sie zu dieser Doku):
[Bild von beliebigem Text mit Pfeil auf Annotate. Achtung! Das blaue i ist noch nicht vorhanden!]
![Link zu Annotate](images/Annotate_1_Textanzeige.png)
Sollten Sie noch nicht in der DARIAH-AAI eingeloggt sein, werden Sie zuerst zu folgender Login-Seite geleitet, auf der Sie sich entweder direkt mit Ihrem DARIAH-Login einloggen können oder sich durch Ihre Institution identifizieren, die an der DARIAH-AAI teilnimmt.
Sollten Sie bereits eingeloggt sein, entfällt dieser Schritt.
Der Login garantiert, dass Ihre Annotationen gespeichert werden und Gruppenannotationen möglich sind.
!!!Evtl. wird man hier zuerst zum Dariah-Login geleitet (der wichtig ist, um die eigenen Annotationen zu speichern, Gruppenannotationen zu machen usw.)
![Einwahl der Organisation](images/Annotate_2_Einwahl_Organisation.png)
Im Anschluss werden Sie zur Seite des Annotation Viewers weitergeleitet.
[Bild von Seite in Annotate, auf die man geleitet wird.]
![Startansicht Annotate](images/Annotate_3_Startseite_Annotate.png)
In der Mitte (Pfeil 1) sehen Sie nun die Metadaten des Textes, den Sie geladen haben, entsprechend der Eintragung im TextGridRep.
Darunter (Pfeil 2) befindet sich der Text selbst.
......@@ -27,7 +29,66 @@ Im oberen Bereich (Pfeil 3) sehen Sie in der grauen Leiste das Menü; dieses wir
Schließlich gibt es noch (Pfeil 4) einen "About"-Hinweis zur Art und Weise, wie die Annotation technisch durchgeführt wird.
Durch Klick auf das _x_ rechts in diesem Fenster können Sie den Hinweis schließen.
## Annotationen im Annotation Viewer erstellen
Der Annotation Viewer ermöglicht freies Annotieren einer Textpassage oder eines Wortes an einer beliebigen Stelle des Textes, um dort eine Annotation zu hinterlegen.
Markieren Sie dazu die gewünschte Passage im Text.
![Text markieren](images/Annotate_4_Text_markieren.png)
Sie sehen nun einerseits in der grauen Fußzeile den XPath der Stelle angezeigt, auf der Sie sich gerade mit Ihrer Maus befinden.
Andererseits sehen Sie nun direkt rechts neben Ihrem markierten Text eine Sprechblase mit einem Schreiben-Symbol.
Um die Annotation durchzuführen, klicken Sie bitte auf die Sprechblase.
Die Sprechblase vergrößert sich nun und der Eingabebereich erscheint:
![Annotation durchführen](images/Annotate_5_Annotation_durchfuehren.png)
Im oberen Bereich unter "Comments" können Sie Ihren Kommentar zu der Textpassage hinterlegen.
Im unteren Bereich können Sie Tags vergeben, die als Kategorien fungieren, mit denen Sie Ihre Annotationen gruppieren können.
Möchten Sie mehrere Tags vergeben, trennen Sie diese mit einem einfachen Leerzeichen.
Um die Annotation zu speichern, klicken Sie auf "Save".
Sie ist damit auch gespeichert, wenn Sie die betreffende Seite mit Ihrem Account wieder aufrufen.
Fahren Sie nun mit Ihrem Cursor über die markierte Textpassage, wird Ihnen Ihre Annotation angezeigt.
Dort befindet sich auch in der rechten oberen Ecke die Möglichkeit, die Annotation zu bearbeiten.
Textpassagen können auch überlappend (oder deckungsgleich) annotiert werden.
Markieren Sie in diesem Fall wie oben die gesamte Textpassage – unabhängig davon, ob sich in ihr bereits Annotationen befinden.
Fahren Sie nun mit der Maus über eine Passage, zu der mehrere Annotationen hinterlegt sind, werden Ihnen diese alle in der Reihenfolge der Eingabe angezeigt.
Annotationen sind übrigens auch in den Metadaten, Fußnoten oder Randbemerkungen möglich.
## Annotationen ansehen und exportieren
Um sich eine Liste der getätigten Annotationen anzusehen, klicken Sie im linken oberen Bereich auf "Annotation Manager".
![Tabelle der Annotationen](images/Annotate_6_Annotationstabelle.PNG)
Hier sehen Sie alle Annotationen, die Sie getätigt haben – auch von anderen Texten.
In der Tabelle steht die URL der Webseite, auf der die Annotationen durchgeführt wurden, gefolgt von Ihren Kommentaren und Tags.
"Quotes" entspricht dem Bereich, den Sie im Text für Ihre Annotation markiert haben.
Schließlich folgt der Zeitstempel von Erstellung und Modifikation der Annotation und die Gruppenzugehörigkeit.
Sämtliche Spalten sind alphabetisch sortierbar.
Im obigen Menü können Sie u.a. eine CSV-Tabelle all Ihrer Annotationen extrahieren oder die Anzahl der sichtbaren Spalten verändern.
Haben Sie eine oder mehrere Annotationen ausgewählt, können Sie diese zu Gruppen hinzufügen oder in Ihren eigenen Bereich im [TextGrid Laboratory](https://textgrid.de/download) exportieren.
## Gruppenannotationen
Das Gruppenfeature wurde eingeführt, um ein besseres Annotationsmanagement betreiben zu können, Annotationen zu koordinieren und miteinander zu teilen.
Um eine Gruppe zu erstellen, klicken Sie im oberen Bereich auf "Groups".
Im folgenden Fenster sehen Sie eine Übersicht über Ihre bisherigen Gruppenmitgliedschaften und welche Gruppen Sie als Admin führen:
![Gruppenübersicht](images/Annotate_7_Groups.PNG)
Klicken Sie hier auf "create a group", um eine neue Gruppe anzulegen:
![Gruppe erstellen](images/Annotate_8_Groupe_creation.PNG)
Hier können Sie in der ersten Zeile einen Gruppennamen festlegen; in der zweiten Zeile können Sie weitere DARIAH-Nutzende mittels deren Mailadresse zu Ihrer Gruppe hinzufügen.
Klicken Sie auf "Create", so ist Ihre Gruppe erstellt und wird Ihnen in der Liste Ihrer als Admin geführten Gruppen (wie im vorherigen Bild die Gruppe "Test Documentation") angezeigt.
Wenn Sie nun in Ihrem Annotation Manager Ihre Annotationen einer Gruppe zuweisen, so werden diese auch für alle anderen Gruppenangehörige sichtbar.
Dieses Feature ermöglicht folglich kollaborative Annotationsarbeit.
Dabei bietet es sich an, für schnelle Findbarkeit Ihre Texte im TextGridRep in Ihrem [Regal](https://textgridrep.org/docs/shelf) zu speichern.
## Kontakt
--->
Haben Sie weitere Fragen zur Annotate-Funktion im TextGridRep?
Dann nehmen Sie gerne [Kontakt](https://textgrid.de/de/kontakt/) zu uns auf!
# Unfortunately this document is available in German only. An English version will be available shortly.
\ No newline at end of file
# Annotation Viewer
The Annotation Viewer is a web-based annotation tool that allows users to mark up texts with annotations.
The beta version of **Annotate in the TextGridRepository** (TextGridRep) provides the possibility to load texts from the TextGridRep directly into the Annotation Viewer in order to perform the annotation there.
The Annotation Viewer is a web application; downloads and installations are thus not necessary and the user accesses external servers, so that users do not require large computing capacities.
The step of downloading texts from the TextGridRep and then loading them back into the Annotation Viewer is eliminated.
## Starting the Annotation Viewer
To start the analysis, open a text and click _Annotate_ on the left side of the screen (clicking the blue 🛈 will take you to this documentation):
![Link towards Annotation Viewer](images/Annotate_1_Textanzeige_en.png)
If you are not yet logged in to DARIAH-AAI, you will first be directed to the following login page, where you can either log in directly with your DARIAH login or identify yourself by your institution participating in DARIAH-AAI.
If you are already logged in, this step is not necessary.
The login guarantees that your annotations are saved and group annotations are possible.
![Login](images/Annotate_2_Einwahl_Organisation_en.png)
You will then be redirected to the Annotation Viewer page.
![Startscreen](images/Annotate_3_Startseite_Annotate_en.png)
In the middle of the page (arrow 1) you will now see the metadata of your loaded text, as entered in the TextGridRep.
Below that (arrow 2) you find the text itself.
In the upper area (arrow 3) you see the menu in the gray bar; this will be explained in more detail below.
Finally, there is (arrow 4) an "About" note on how the annotation is technically done.
By clicking on the _x_ on the right side of this window you can close this hint.
## Creating annotations in the Annotation Viewer
The Annotation Viewer allows you to freely annotate a text passage or a word at any point in the text in order to store an annotation there.
To do this, select the desired passage in the text.
![Marking text](images/Annotate_4_Text_markieren_en.png)
First, you will see the XPath of the position you are currently on with your mouse in the gray footer.
Secondly, you will now see a speech bubble with a writing icon directly to the right of your selected text.
To perform the annotation, please click on the speech bubble.
The speech bubble will now enlarge and the input area will appear.
![Annotating](images/Annotate_5_Annotation_durchfuehren_en.png)
In the upper area at " Comments" you can add your comment to the text passage.
In the lower area you can assign tags that act as categories which helps you to group your annotations.
If you want to assign multiple tags, separate them with a single space.
To save the annotation, click "Save".
The annotation will be saved when you return to the page logged in with your account.
If you now move your cursor over the highlighted text passage, your annotation will be displayed.
There you will also find the option to edit the annotation in the upper right corner.
Text passages can also be annotated overlapping (or congruent).
In this case, select the entire text passage as above – regardless of whether there are already annotations in it or not.
If you now move the mouse over a passage for which several annotations are stored, they will all be displayed according to the entered order.
By the way, annotations are also possible in the metadata, footnotes or marginal notes.
## Viewing and exporting annotations
To view a list of your annotations, click "Annotation Manager" in the upper left area.
![Table of annotations](images/Annotate_6_Annotationstabelle_en.PNG)
Here you can see all the annotations you have made – even from other texts.
The table shows the URL of the web page where the annotations were made, followed by your comments and tags.
"Quotes" corresponds to the area you marked in the text for your annotation.
Finally, the timestamp of creation and modification of the annotation and the group membership follows.
All columns can be sorted alphabetically.
In the menu above you can, among other things, extract a CSV table of all your annotations or change the number of visible columns.
Once you have selected one or more annotations, you can add them to groups or export them to your own area in the [TextGrid Laboratory](https://textgrid.de/en/download).
## Group annotations
The group feature was introduced to allow better annotation management, coordination and to share annotations with others.
To create a group, click on "Groups" in the upper area.
In the following window you can see an overview of your group memberships and which groups you manage as admin:
![Group overview](images/Annotate_7_Groups.PNG)
Click on "create a group" here to create a new group:
![Group creation](images/Annotate_8_Groupe_creation.PNG)
You can define a group name in the first line; in the second line you can add further DARIAH users to your group using their mail address.
By clicking on "Create", your group is created and will be displayed in the list of your groups managed as admin (similar to the group "Test Documentation" in the previous picture).
If you now assign your annotations to a group in your Annotation Manager, they will also be visible to all other members of this group.
This feature enables collaborative annotation work.
For fast findability, it is a good idea to save your texts in TextGridRep on your [shelf](https://textgridrep.org/docs/shelf?lang=en).
## Contact
Do you have further questions regarding the annotate function in TextGridRep?
Feel free to [contact](https://textgrid.de/en/kontakt/) us!
......@@ -66,4 +66,4 @@ An overview of all services and tools offered by the Switchboard can be found [h
Do you have further questions concerning the Switchboard in TextGrid?
Please [contact](https://textgrid.de/en/kontakt/) us!
If you have questions about individual tools provided in the Switchboard, please first consult their documentation and feel free to contact their respective developers.
\ No newline at end of file
If you have questions about individual tools provided in the Switchboard, please first consult their documentation and feel free to contact their respective developers.
......@@ -29,6 +29,7 @@ import info.textgrid.rep.i18n.I18N;
import info.textgrid.rep.i18n.I18NProvider;
import info.textgrid.rep.markdown.MarkdownRenderService;
import info.textgrid.rep.service.AggregatorClientService;
import info.textgrid.rep.service.ServiceConnectionException;
import info.textgrid.rep.service.TgcrudClientService;
import info.textgrid.rep.service.TgrepConfigurationService;
import info.textgrid.rep.service.TgsearchClientService;
......@@ -112,16 +113,23 @@ public class BrowseController {
* Deliver different browse pages based on content type of textgridobject:
* aggregation, xml or image
*/
if (format.contains("tg.aggregation") || format.contains("text/tg.work+xml")) {
handleAggregations(model, i18n, id, format, mode);
} else if (format.equals("text/xml")) {
handleXml(model, i18n, id, metadata, fragment);
} else if (format.contains("image")) {
handleImages(model, id);
} else if (format.equals("text/markdown")) {
handleMarkdown(model, id);
} else if (format.equals("text/plain")) {
handlePlaintext(model, id);
try {
if (format.contains("tg.aggregation") || format.contains("text/tg.work+xml")) {
handleAggregations(model, i18n, id, format, mode);
} else if (format.equals("text/xml")) {
handleXml(model, i18n, id, metadata, fragment);
} else if (format.contains("image")) {
handleImages(model, id);
} else if (format.equals("text/markdown")) {
handleMarkdown(model, id);
} else if (format.equals("text/plain")) {
handlePlaintext(model, id);
}
} catch(ServiceConnectionException e) {
// aggregator did not respond in time
model.addAttribute("isRenderingSlow", true);
model.addAttribute("renderingMessage", e.getMessage());
model.addAttribute("renderingTimeout", tgrepConfig.getAggregatorReadTimeout());
}
// add revisions info
listRevisions(model, id, metadata);
......@@ -137,8 +145,9 @@ public class BrowseController {
* @param id
* @param metadata
* @param fragment
* @throws ServiceConnectionException
*/
private void handleXml(Model model, I18N i18n, String id, ResultType metadata, String fragment) {
private void handleXml(Model model, I18N i18n, String id, ResultType metadata, String fragment) throws ServiceConnectionException {
List<ToolLink> tools = new ArrayList<ToolLink>();
......@@ -199,7 +208,10 @@ public class BrowseController {
.setHelpLink("/docs/voyant")
);
// Annotate
tools.add(new ToolLink("Annotate", tgrepConfig.getToolAnnotateHost() + "/data.html?uri=" + id, false, "annotation-button"));
tools.add(
new ToolLink("Annotate", tgrepConfig.getToolAnnotateHost() + "/data.html?uri=" + id, false, "annotation-button")
.setHelpLink("/docs/annotate")
);
// CLARIN Language Resource Switchboard (LRS)
try {
//String xml4switchboard = URLEncoder.encode(tgrepConfig.getTextgridHost() + "/1.0/tgcrud-public/rest/" + id + "/data", "UTF-8");
......@@ -222,8 +234,9 @@ public class BrowseController {
* @param id
* @param format
* @param mode
* @throws ServiceConnectionException
*/
private void handleAggregations(Model model, I18N i18n, String id, String format, String mode) {
private void handleAggregations(Model model, I18N i18n, String id, String format, String mode) throws ServiceConnectionException {
List<ToolLink> viewmodes = new ArrayList<ToolLink>();
viewmodes
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment