Nutzung mit mehreren Personen

zum Handbuch-Inhaltsverzeichnis
zur Startseite

Das Konzept

Mehrere Personen können gleichzeitig mit der gleichen Datenbank arbeiten. Damit das möglich ist, gibt es einen einfachen Schreibschutz, der verhindert, daß ein Nutzer die Änderungen eines anderen überschreibt. Dieser Schreibschutz ist sehr einfach gehalten. Wenn Dutzende von Nutzern permanent auf die gleiche Datenbank zugreifen wollen, ist das Konzept technisch nicht gut genug, aber für kleine Autorengruppen, die an einem gemeinsamen Papier schreiben, sollte es reichen.

Die Regel ist: Der Nutzer, der die Datenbank als erster öffnet, sperrt sie für Schreibzugriffe anderer Nutzer. Parallele Lesezugriffe auf den bisherigen Bestand sind weiterhin möglich. Sobald der schreibende Nutzer die Datenbank schließt, ist die Datenbank wieder für Schreibzugriffe anderer Nutzer freigegeben.

Eine Person, mehrere Rechner

Dropbox, Owncloud usw. sind nützlich, weil die Arbeit an verschiedenen Orten mit verschiedenen Rechnern einfacher wird. Das kann aber dazu führen, daß der „andere“ Nutzer, der die Datenbank blockiert, Sie selbst sind. Wenn Sie im Büro einfach den Stecker gezogen haben und die Software die Datenbank nicht mehr freigeben konnte, bekommen Sie an Ihrem Notebook zu Hause das „Besetztzeichen“.

Hinweis auf eine gesperrte Datenbank

Wenn die Datenbank gesperrt ist, erhalten Sie eine Meldung, wer die Datenbank gerade bearbeitet. Im Menü Datei können Sie in der Rubrik Name des Rechners Ihrem Rechner einen Namen geben.

Dieser Name wird dem anderen Nutzer dann angezeigt. Sie können nun entscheiden, ob Sie das Programm beenden wollen, mit Lesezugriff weiterarbeiten wollen oder den Schreibzugriff erzwingen. Dann nehmen Sie dem bisherigen Rechteinhaber sein Recht weg. Das sollten Sie natürlich vorher klären, falls Sie nicht selbst diese andere Person sind (siehe oben).

Dieser Zugriffsschutz wird in der Datei sessionid.lock im Bibliographix-Verzeichnis organisiert. Dort wird der Name des derzeit schreibberechtigten Rechners und eine zufällig generierte Session-ID abgespeichert. Die dort abgespeicherten Informationen sind für die folgenden Fälle relevant:

  1. Sie wollen auf eine Datenbank schreibend zugreifen, die bereits für einen anderen Rechner reserviert ist. Das kann natürlich nur passieren, wenn Sie Ihre Datenbank über einen Cloud-Synchronisierdienst wie Dropbox oder OwnCloud entsprechend eingerichtet haben. Wer der andere Nutzer ist und wo der Rechner steht, spielt hier keine Rolle. Das können Sie auch selbst sein. Wenn Sie die Software auf Ihrem Desktop-Rechner laufen haben und dann Ihren Laptop starten und das Programm auch dort starten, kann die Software nur erkennen, dass von zwei Seiten aus auf die gleichen Daten zugegriffen werden soll und fragt, wer den Schreibzugriff haben soll. Soll der Desktop ihn behalten oder der Laptop ihn bekommen.
  2. Eine andere Möglichkeit ist, dass Ihr Recher oder die Software abgestürzt ist. Änderungen am Datenbestand werden automatisch zeitnah gespeichert. Diese Änderungen sind vermutlich erhalten geblieben. Bei einem Absturz kann die Software die oben erwähnte sessionid.lock aber nicht mehr freigeben. Beim nächsten Start trifft die Software auf diese Datei, in der festgehalten ist, dass der Rechner selbst das Zugriffsrecht hat. In diesem Fall wollen Sie dieses alte Zugriffsrecht aufheben und neu anlegen.
  3. Eine dritte Möglichkeit ist, dass Sie das Programm auf dem gleichen Rechner (versehentlich) ein zweites Mal aufrufen. Das ist insofern problematisch, als dass Sie dann mit Instanz A Änderungen am Bestand machen und abspeichern könnten, während in Instand B noch mit der alte Fassung der Daten gearbeitet wird. Wenn Sie dann Änderungen in dieser Instanz machen und speichern, werden die Änderungen in A automatisch überschrieben, weil die Instanzen A und B nichts voneinander wissen und nicht miteinander reden. Kurz gesagt: Da droht Datenchaos. Damit das nicht passiert, gibt die Software eine Meldung aus.

Die Meldung bei 2. und 3. ist die gleiche, weil die Software eben nicht wissen kann, ob Bibliographix bereits läuft oder die sessionid.lock ein Rest eines Absturzes ist. Die Software kann aber erkennen, dass der konkurrende Zugriff vom gleichen Rechner kommt, also von Ihnen selbst. Jetzt können Sie entscheiden, was der Fall ist.

Standby

Um die Häufigkeit blockierter Datenbanken zu reduzieren, schaltet Bibliographix nach ein paar Minuten „Leerlauf“ in einen Standby-Modus. Diesen Zeitraum können Sie einstellen. Die Software gibt die Datenbank für andere Nutzer frei. Wenn es gar keine anderen Nutzer gibt, merken Sie nie etwas von dieser Funktion, weil Bibliographix beim „Aufwecken“ aus dem Standby einfach wieder auf die immer noch freie Datenbank zugreift. Wenn aber in der Zwischenzeit ein anderer Nutzer mit den Daten arbeitet, bekommen Sie das „Besetztzeichen“. Das klingt erst einmal lästig, aber diese Funktion ist eine Art automatisierter Höflichkeit, die darin besteht, die Datenbank nicht zu blockieren, wenn man sie gerade nicht benutzt.

Speicherort

Um mit mehreren Personen auf die gleiche Datenbank zurückgreifen zu können, müssen natürlich alle Zugriff auf das Verzeichnis haben. Weil Bibliographix portable Software ist, können Sie die Software einfach in ein Verzeichnis verschieben, das Sie mit anderen Nutzern teilen. Das kann ein lokales Netzwerklaufwerk sein oder ein geteilter Dropbox/Owncloud/… Ordner. Bedenken Sie aber, daß die Synchronisierung mit Cloud-Diensten immer ein paar Sekunden Zeitverzögerung hat.