Datei schreibgeschützt öffnen: Geändertes Handling

Hallo,
bin von der Version 6.3.4.2 auf 6.4.7.2 umgestiegen.

xlsx-Dateien liegen in einem Netzwerkshare.
Anwender A öffnet diese zum Bearbeiten.
Anwender B öffnet diese schreibgeschützt (und hat auch nur NTFS-Leserechte).

Bislang gab es kein Problem. Seit dem Versionswechsel bekommt Anwender A immer den Hinweis, die Datei sei bereits von einer anderen Person in Bearbeitung, sobald er eine Datei speichern will, die Anwender B schreibgeschützt geöffnet hat.

Auch neuere Versionen von LibreOffice, inkl. der 7.0.3 verhalten sich so.

Weiß da jemand etwas zu?

Wenn Anwender B nur NTFS-Leserechte hat, kann er das für eine solche “Datei ist bereits von einer anderen Person in Bearbeitung”-Meldung notwendige Lock-File .~lock<dateiname># ja gar nicht erzeugen. Insofern stellen sich mir schon noch ein paar Fragen:

  • Ist das wirklich eine (die) LibreOffice Funktion die diese Meldung erzeugt oder kommt die vom Betriebssystem?
  • Erzeugt der Benutzer B trotz vermeintlicher “Nur-Lese-Rechte” ein Lock-File?
  • Erzeugt der Benutzer A das Lock-File?
  • Was steht für ein Benutzername und welcher Rechner steht in dem Lock-File?
  • Passen die Einträge im Lock-File auf Benutzer A und dessen Rechner oder Benutzer B und dessen Rechner?
  • Oder liegen da alte, nicht gelöschte, Lock-Files auf dem NTFS Share herum?
  • Und zu guter Letzt: Haben sowohl Benutzer A als auch Benutzer B Einträge in Extras -> Optionen -> LibreOffice -> Benutzerdaten -> Felder: Vor-/Name/Kürzel (Eintrag hier notwendig zur Identifizierung, wer das Lock-File erzeugt hat)?

Zur “Antwort” von unten:

Wenn Anwender A Excel benutzt (eine Information die einige Fragen aus dem Kommentar oben natürlich obsolet macht) und Anwender B die Datei ohne Schreibrechte und ohne Erzeugung eines Lockfiles mit LibreOffice öffnet, kann sich das meines Erachtens nicht auf der LibreOffice Ebene abspielen, sondern nur auf der Ebene des CIFS/SMB Sharing protocols. Falls LibreOffice als Anwendung beim Filesystem ein Lock anfordert, wäre das ein redundanter, zusätzlicher und mir unbekannter Locking-Mechanismus.

Das hatte ich auch im Verdacht, aber ich kann das Verhalten reproduzieren.
Am Share bzw. den NTFS-Rechten wird aber nichts verändert, ebenso am Betriebssystem von Anwender B.

Mittlerweile habe ich den gleichen Ablauf mit LibreOffice 6.3.4.2, MS Office und Softmaker Office (Testversion) wiederholt. Sie alle lassen Anwender A problemlos eine Datei schreiben.
Nur LibreOffice Calc ab der 6.4.7.2 verhält sich anders.

Hmm - komisch. Ich habe gerade mal mit LibreOffice Version 7.0.3 unter Windows 10 auf einen SAMBA Server unter Linux (openSUSE 15.2) zugegriffen (denn da kann ich sehen, ob da ein SMB Lock erstellt wird) und das tut es in meinen Fall nicht sobald ich die Datei mit “Read-Only” im Dateiauswahl-Dialog öffne. Ich gehe davon aus, dass das die Read-Only-Öffnen-Methode ist; oder ist die Datei intern auf Read-Only gesetzt und die öffnende Anwendung - also LibreOffice - muss das “honorieren” und die Datei entsprechend der Datei-Einstellung Read-Only öffnen. Wenn es das die Methode ist, dann glaube ich mich an einen Bug-Report in dieser Richtung zu erinnern. Müsste ich aber suchen gehen, was ich aber erst machen wollen würde, wenn Du mir das bestätigst - Aber auch dann verstünde ich das nicht, denn ein Lock-File kann ja nicht erstellt werden.

Noch eine recht absurde klingende Idee: Kannst Du mal versuchen auf LibreOffice die “Zuletzte verwendete Dateien” Liste zu löschen und neu zu testen?

Das Öffnen der Datei geschieht per Doppelklick. Es kommt dann die Meldung:

a) Wenn Anwender A die Datei nicht geöffnet hat:
“Die Dokumentdatei ‘test.xlsx’ ist zum Bearbeiten gesperrt durch ‘Unbekannter Anwender’. Öffnen Sie das Dokument schreibgeschützt oder erstellen Sie eine Arbeitskopie.”
Dort steht dann “Schreibgeschützt öffnen” zur Auswahl sowie “Arbeitskopie öffnen”.

b) Wenn Anwender A die Datei bereits geöffnet hat:
“Die Dokumentdatei ‘test.xlsx’ ist zum Bearbeiten gesperrt durch ‘Anwender A’. Öffnen Sie das Dokument schreibgeschützt oder erstellen Sie eine Arbeitskopie.”
Dort steht dann “Schreibgeschützt öffnen” zur Auswahl sowie “Arbeitskopie öffnen”.

Übrigens:
Die Arbeitskopie ist zwar ein Workaround, aber leider heißt die dann “Unbenannt.xlsx”, was bei mehr als einer geöffneten Arbeitskopie verwirrend ist.

Das Öffnen über den Open-Dialog von Calc inkl. des Hakens “Nur lesen” verhält sich offenbar identisch.
Das Löschen der zuletzt verwendeten Dokumente verändert nichts.

Letzte Frage(n):
Was ist das für ein System, dass den Share bereitstellt. Ein Windows Server, Windows 10 …?
Sitzt einer der Anwender lokal am den Share bereitstellenden System oder greifen beide Anwender via Netzwerk auf den Share zu?

Es handelt sich um ein Windows-basiertes NAS, unabhängig von den Computern von A und B.
Beide Anwender greifen via Netzwerk zu. Deren Computer kommen aus dem gleichen Subnetz und sind vom Betriebssystem und Patchlevel identisch.

Hallo,
soll / kann ich den Vorgang als Bug melden? Und wenn ja, wo am Besten?

Du kannst das natürlich hier melden.

  • Anwender A nutzt Excel und bekommt beim Versuch zu speichern folgende Meldung, wenn Anwender B die Datei
    test.xlsx mit einem Calc schreibgeschützt geöffnet hat:
    “Y:\test.xlxsx wird momentan von einer anderen Person bearbeitet. Versuchen Sie es später noch einmal.”

  • Anwender B erzeugt kein Lockfile. Er kann im Share auch keine Datei anlegen, hat also definitiv keine Schreibrechte.

  • Anwender A erzeugt eine “~$test.xlsx”. Darin steht sein Benutzername und dies gibt Calc auch sauber wieder, wenn Anwender B die gleiche Datei nach Anwender A öffnet

  • Alte Lockfiles existieren defitiv nicht

Sobald Anwender B die Datei geöffnet hat, kann Anwender A nicht mehr speichern. Auch wenn Anwender A die Datei als erstes öffnet.
Dieses Verhalten tritt nicht auf, wenn Anwender B Excel, Softmaker Planmaker oder Calc (<6.4) verwendet.

Das ist leider keine Antwort auf die Frage (in diesem Falle Deine eigene). Diese Seite hier ist gedacht als Frage & Antwort Werkzeug und daher sollten Antworten auch nur dann gepostet werden, wenn sie die ursprüngliche Frage auch beantworten (wollen). Alles andere bitte über die kommentieren Funktion abhandeln (oder, falls der Fragesteller Zusatzinformationen geben will, über die Bearbeiten Funktion). Hier kann man weitere Details nachlesen.

OK, danke, Mein Fehler, die Kommentierfunktion zu übersehen.