-
Notifications
You must be signed in to change notification settings - Fork 1
Messaging.de
Gramps Connect hat eine eingebaute Möglichkeit, den Stammbaum mit den anderen Personen zu besprechen, die daran mitarbeiten, ohne die App zu verlassen oder einen Klebezettel an einen Ausdruck zu heften. Alles ist eine Diskussion: ein Themenstrang mit einem Titel, in dem jeder posten kann, und der optional mit beliebig vielen Datensätzen verknüpft werden kann — ein Forschungsziel, das die Personen, Quellen, Fundstellen und Aufbewahrungsorte sammelt, auf denen es aufbaut, oder einfach ein beiläufiges Gespräch über einen Datensatz, oder über gar nichts Bestimmtes.
Eine Diskussion öffnet sich als kleines schwebendes Fenster — ein Chat-Kopf, unten rechts am Bildschirmrand verankert, im Messenger-Stil — keine Seite, die übernimmt, was man gerade betrachtet hat. Eine zu öffnen, navigiert nie vom gerade betrachteten Datensatz oder der Liste weg: das Fenster schwebt obenauf, man kann darunter weiterdurchsuchen und weiterbearbeiten, und es bleibt offen, egal was man als Nächstes anklickt. Die Kopfleiste minimiert es zu einem schmalen Titelstreifen (Klick zum erneuten Ausklappen) oder schließt es ganz; mehrere Diskussionen können gleichzeitig offen sein, jede ihr eigenes Fenster, bis zu 5 — eine sechste zu öffnen schließt die älteste, um Platz zu machen. Wird ihr Fenster so geschlossen (oder auf jede andere Art), geht an der Diskussion selbst nichts verloren; sie jederzeit über den eigenen Diskutieren-Knopf oder den Diskussionsabschnitt ihres Datensatzes wieder öffnen.
Innen ist es ein Nachrichtenstrang — alles, was jemand gesagt hat, älteste zuerst, jede Sprechblase zeigt, wer sie geschrieben hat und wann, die eigenen Nachrichten rechtsbündig — sowie eine einklappbare Liste Verknüpfte Objekte. Eine Antwort eintippen und senden, sie wird sofort dem Strang hinzugefügt; jeder andere Tab bekommt sie auf dem üblichen Live-Sync-Weg mit, und ein bereits offenes Fenster aktualisiert sich ebenfalls live.
Wer Bearbeitungsrechte hat, kann einen Tippfehler in jeder Nachricht korrigieren (ein Stiftsymbol an der Sprechblase tauscht sie an Ort und Stelle gegen ein kleines Textfeld) oder eine ganz löschen — nicht nur die eigenen, dieselbe Jeder-mit-Berechtigung-Regel, der jede andere Bearbeitung/Löschung in Gramps Connect folgt, statt einer strengeren „nur die eigenen Nachrichten“-Regel. So oder so spiegelt jedes offene Fenster, das diese Diskussion zeigt, das sofort wider, auch das einer anderen Person, live.
Die meisten Datensatztypen — Personen, Familien, Ereignisse, Orte, Aufbewahrungsorte, Quellen, Fundstellen — haben in ihrem Detailbereich einen Diskutieren-Knopf. Ist noch keine Diskussion mit dem Datensatz verknüpft, führt er direkt zu einem kleinen Formular: ein Titel (vorausgefüllt aus dem Datensatz, bearbeitbar), eine Beschreibung und wen einladen. Sobald mindestens eine Diskussion bereits mit dem Datensatz verknüpft ist, bietet Diskutieren stattdessen eine Wahl — einer davon aus einer Liste beitreten, oder eine neue daneben beginnen, für einen Datensatz, zu dem plausibel mehr als ein laufendes Gespräch gehört (eine allgemeine und eine engere Forschungsfrage, etwa). So oder so öffnet sich ein schwebendes Fenster; der eigene Abschnitt Diskussionen des Datensatzes (neben seinen Notizen und Geschichten) listet ebenfalls jede mit ihm verknüpfte Diskussion, sodass man leicht zu jeder davon zurückfindet, ohne sich merken zu müssen, auf Diskutieren zu klicken.
Jemanden direkt anzuschreiben funktioniert genauso: auf den Avatar in der Liste der aktiven Benutzer klicken, um eine private Diskussion nur zwischen den beiden zu öffnen (oder zu beginnen), als schwebendes Fenster. Sie erscheint mit keinem Datensatz verknüpft und wird auch nicht auf der Diskussionen-Seite aufgeführt, bleibt also außerhalb der allgemeinen Liste, sofern man nicht gezielt danach sucht.
Eingeladene Teilnehmer werden bei der Diskussion angezeigt (in ihrem schwebenden Fenster und auf ihrer Verwaltungsseite), sodass alle sehen können, für wen sie gedacht ist, aber das ist eine Beschriftung, kein Schloss — wer den Stammbaum bereits sehen kann, kann trotzdem mitmachen, auch ohne auf der ursprünglichen Liste gestanden zu haben. Eingeladene später von der Verwaltungsseite der Diskussion aus hinzufügen oder entfernen.
Ein Konto mit der Rolle Gast kann nicht als eingeladener Teilnehmer ausgewählt werden — da Diskussionen für Gäste ohnehin vollständig verborgen sind (siehe unten), würde eine Einladung nur einen Namen hinzufügen, auf den nie jemand reagieren könnte.
Genannt zu werden, löst eine eigene Benachrichtigung aus — „Du wurdest zu einer Diskussion eingeladen“, getrennt vom gewöhnlichen Aktivitätshinweis —, egal ob man beim ersten Anlegen genannt oder später zur Einladungsliste hinzugefügt wurde. Sie feuert nur einmal pro Diskussion, beim ersten Auftauchen auf der Liste, kündigt sich also nicht jedes Mal erneut an, wenn jemand anderes dieselbe Diskussion danach bearbeitet.
Die Ansicht Diskussionen in der Seitenleiste ist eine stammbaumweite Liste jeder Diskussion, ob mit etwas verknüpft oder nicht — eine auszuwählen öffnet ihre eigene Verwaltungsseite (nicht das schwebende Fenster) mit Titel, Beschreibung und einem Knopf Diskussion öffnen. Die Liste ist nach ihrer Spalte Zuletzt geändert neueste zuerst sortiert, und eine neue Nachricht zu posten schiebt die eigene Diskussion ebenfalls wieder nach oben in dieser Liste, nicht nur eine tatsächliche Umbenennung oder Beschreibungsänderung — die Liste dient also gleichzeitig als Überblick, welche Gespräche gerade aktiv sind. Den Knopf Diskussion beginnen der Liste verwenden, um eine von Grund auf zu beginnen — ihr einen Titel und optional eine Beschreibung geben, worum es geht — und ihre eigene Steuerung Objekt verknüpfen, um die konkreten Personen, Quellen, Fundstellen, Aufbewahrungsorte, Ereignisse, Orte, Medien oder Notizen einzubinden, um die es einer Forschungsfrage tatsächlich geht, eins nach dem anderen, aus jedem Typ. So baut man eine echte Forschungsdiskussion auf: hier beginnen, dann das schwebende Fenster offen halten, während man nach und nach die Quellen und Fundstellen hinzufügt, die sich als nötig erweisen. Jeder kann einen Datensatz später wieder von einer Diskussion lösen, ohne dabei die Diskussion oder den Datensatz selbst zu löschen.
Wer Bearbeitungsrechte hat, kann eine Diskussion umbenennen, ihre Beschreibung oder Einladungsliste ändern, oder sie ganz löschen, alles von ihrer Verwaltungsseite aus — das schwebende Fenster ist zum Chatten da, nicht zum Bearbeiten. Das Löschen einer Diskussion löscht auch jede Nachricht darin, nicht nur Titel/Beschreibung, sodass nichts zurückbleibt, und schließt ihr eigenes schwebendes Fenster, falls es offen war — es gibt kein Rückgängig, daher wird vorher um Bestätigung gebeten.
Eine Nachricht zeigt den echten Namen der absendenden Person, nicht deren Login-Benutzernamen, wann immer dieser Name verfügbar ist — aufgelöst über eine Hintergrundabfrage ähnlich einem Benutzerverzeichnis. Der eigene Name löst sich immer auf (keine besondere Berechtigung nötig, um zu wissen, wer man selbst ist); die echten Namen aller anderen zu sehen, hängt davon ab, ob die eigene Rolle Einblick in die Benutzerliste hat. Ein Benutzername ohne auflösbaren Namen wird einfach unverändert angezeigt.
Eine Diskussion ist eine gewöhnliche Gramps-Note, markiert mit einem
eigenen Notiztyp („topic“ — der Name in den zugrunde liegenden Daten,
von bevor „Diskussion“ zum in der App angezeigten Namen wurde), damit sie
sich von einer gewöhnlichen Notiz oder einer automatisch erzeugten
Lebensgeschichte unterscheiden lässt —
derselbe Trick, mit dem sich diese beiden gegenseitig aus dem Weg
gehen. Titel und Beschreibung stehen im eigenen Text der Notiz als
kleines JSON-Objekt statt als Freitext, genau wie der Text einer
erzeugten Geschichte seine eigene strukturierte Spezifikation enthält.
Jede Nachricht ist ihre eigene separate Note, vom Typ
„topic-message“ und ihrer Diskussion zugeordnet, indem das eigene
Handle der Diskussion in die erste Zeile ihres Texts geschrieben wird
(Benutzername der absendenden Person und Nachricht folgen im Rest, dasselbe
„Benutzername: die Nachricht selbst“-Falten, das eine Nachrichten-Notiz
schon immer verwendet, da Note kein eigenes Autorenfeld hat) — Posten
einer Nachricht muss also nie die eigene Notiz der Diskussion ändern, und
ändert auch nie die verknüpften Datensätze. Der Kompromiss liegt beim
Löschen: eine Nachricht wird über dieses eingebettete Handle adressiert,
nicht über Gramps' eigenen note_list-Referenzmechanismus, sodass Gramps'
übliches Aufräumen beim Löschen (das nur note_list-Rückverweisen folgt)
keine Möglichkeit hat, die Nachrichten einer Diskussion zu finden, wenn
die Diskussion selbst gelöscht wird. Gramps Connect löscht sie deshalb
selbst zuerst, als Teil derselben Aktion, damit eine gelöschte Diskussion
nicht stillschweigend ihre Nachrichten zurücklässt.
Eine Diskussion mit einem Datensatz zu verknüpfen nutzt Gramps' eigenen
note_list-Mechanismus — das eigene Notiz-Handle der Diskussion wird zur
Notizliste dieses Datensatzes hinzugefügt, derselben Liste, in der seine
gewöhnlichen Notizen leben — es steckt also nichts Proprietäres hinter
den Verknüpfungen einer Diskussion; eine Diskussion (und das, womit sie
verknüpft ist) ist genau so portabel wie der Rest des Stammbaums, wenn
er in Gramps Desktop oder gramps-web geöffnet wird, dort einfach als
gewöhnliche Notiz mit einem JSON-artigen Inhalt und einem titelartigen
Tag, falls man dort danach sucht.
Jede Diskussions- und Nachrichten-Notiz ist als private markiert,
damit sie vor Konten mit der Rolle Gast verborgen bleibt, dasselbe
Kennzeichen, das eine gewöhnliche sensible Notiz verwenden würde.
Deswegen erscheint das Symbol Diskussionen in der Seitenleiste für
ein Gast-Konto überhaupt nicht — dahinter stünde ohnehin nur eine immer
leere Liste. Das ist die einzige Zugriffskontrolle, die es gibt: nicht
wirklich privat in einem stärkeren Sinne, da jeder mit gewöhnlicher
Notiz-Ansichtsberechtigung (jede Nicht-Gast-Rolle) eine trotzdem über
die API lesen kann, wenn gezielt danach gesucht wird — eine
Eins-zu-eins-Diskussion ist einfach eine gewöhnliche Diskussion mit
einem privat wirkenden Namen, keine kryptografische Garantie, und ebenso
wenig eine Liste eingeladener Teilnehmer. Eine Nachricht zu posten
erfordert immer nur die Berechtigung, neue Objekte zum Stammbaum
hinzuzufügen; eine Diskussion mit einem bestehenden Datensatz zu
verknüpfen (oder über dessen eigenen Diskutieren-Knopf eine neue
Diskussion darüber zu beginnen) braucht ebenfalls Bearbeitungsrechte,
genau wie das Anhängen jeder anderen Referenz an einen Datensatz — was
auch der Grund ist, warum Diskutieren immer das Beitreten zu einer
bestehenden Diskussion anbietet (keine zusätzliche Berechtigung nötig),
selbst für jemanden, der keine neue beginnen kann.
Gramps Connect is part of the family of Gramps-based software.
Using the app
- Overview
- Installing
- Deploying
- Messaging
- GOQL (advanced search)
- Gramplets & Add-on Store
- Data Model & Editing
- FAQ
Building & contributing