Seite 1 von 1

Rechte in Libreoffice base

Verfasst: Fr 8. Apr 2016, 14:18
von mcs_werner
Hallo,
ich benutze Libreoffice (base) als Front-End an einer mySQL-Datenbank die über den JDBC-Connector verbunden wird.
Nun habe ich folgendes "Problem" (ist nicht unbedingt ein Problem, aber manchmal schon...):
Immer nur der User der sich als erstes morgens "anmeldet" hat die Rechte die Formulare, Abfragen, Makros usw. zu ändern.
Da ich im "Normalfall" der erste in der Firma bin, ist dies nicht immer ein Problem.
Kann man Libreoffice irgendwie einstellen, das nur ein bestimmter User oder alle die gleichen Rechte haben?

Vielen Dank schon mal im Vorraus für eure Tips

Liebe Grüße
Werner

Re: Rechte in Libreoffice base

Verfasst: Fr 8. Apr 2016, 17:05
von RobertG
Hallo Werner,

wenn ich das richtig deute: Alle in der Firma greifen auf die gleiche Base-Datei zu. Der erste, der die Datei öffnet, erhält die Schreibrechte, alle anderen nur Leserechte. Das ist, soweit ich das weiß, nicht nur in Base, sondern bei allen Dateien von LO so (Writer, Calc ...)

Ich würde das Problem umgehen, indem ich zwei Base-Dateien anlege. Eine für die Entwicklung von weiteren Makros, die Änderung von Abfragen usw. Die andere Datei bleibt grundsätzlich bereits auf Betriebssystemebene schreibgeschützt. Auf die schreibgeschützte Datei greifen die Leute zu, die eben nicht ändernd eingreifen sollen. Die Datei für die Entwicklung nutzt Du. Läuft das Element, das Du entwickelst, zufriedenstellend, so ersetzt Du die Datei, die alle nutzen sollen, Durch Deine Entwicklerdatei.

Das Ganze funktioniert natürlich nur bei externen Datenbanken wie in Deinem Beispiel MySQL. Ansonsten würdest Du ja nicht nur die Bedienoberfläche ersetzen, sondern auch die Daten ...

Gruß

Robert

Re: Rechte in Libreoffice base

Verfasst: Fr 8. Apr 2016, 19:08
von gogo
Auch bei 2 Datenbanken wirst Du das Problem bekommen, dass vermutlich nur der erste Benutzer Filter setzen kann, die anderen dann nicht mehr. Zumindest hab' ich das auf einem SAMBA-Drive mit einer schreibgeschützten Datenbank als Frontend zu einer MySQL-DB erlebt. Schreibschutz wäre nämlich optimal um die Versionsgleichheit für alle Benutzer zu gewähren, aber ohne Filter isse nix. Auch Datenquelländerungen die's manchmal braucht (Stichwort "Report") fuktionieren nicht, da der Schreibschutz das effektiv verhindert.

Die Lösung derzeit ist etwas gekünstelt, funktioniert aber seit langem ohne Probleme:

1. Die EntwicklungsDB liegt bei Dir (lokal)
2. unter Netz/Original/DB.odb liegt die freigegbene Version Deiner Datenbank
3. jeder User arbeitet auf seiner eigenen Kopie. Das wird ermöglicht indem die Datenbank über ein Script bzw. über eine bat-Datei gestartet wird. Die Kopie liegt z.B. bei
a) Linux Usern am Netzlaufwerk (siehe Anhang) und bei
b) Win Usern lokal (siehe Anhang)

Die Scripte arbeiten "identisch":
Überprüft wird die Aktualität der User-Datei mit der Originaldatei über die Prüfsumme. Also unter Linux mit md5sum und unter Windows z.B. mit fciv.exe. Falls die Datei fehlt oder die Prüfsumme nicht stimmt, wird das Original kopiert, ansonsten gibt's einen normalen Start. Das Linux-Script logt auch was es tut, man sieht also wer des öfteren Probleme mit dem DB-Start hat...

Ein weiterer Vorteil dabei ist, dass Du Updates ganz einfach einspielen kannst: ersetz' einfach die Originaldatei mit der neuen Version! Dann wird jeder der neu startet auf die neue Version geupdated - ohne dass er irgendwas machen muss. Auch andere Dinge kann man über diese Scripte machen - z.B. die User über Neuerungen informieren etc.