TextEdit - ungefragtes und ungewolltes Speichern(?)

osh

osh

Aktives Mitglied
Thread Starter
Dabei seit
28.10.2013
Beiträge
734
Reaktionspunkte
160
Moin,

ich nutze normalerweise nie TextEdit.App. Für vieles habe ich meine IDE und auserdem kommt noch TextWrangler regelmässig für kleine Sachen zum Einsatz.
Heute habe ich mehr oder weniger zufällig eine Textdatei mit TextEdit geöffnet. Ich habe testweise ein paar Änderungen gemacht und dann das Fenster von TextEdit einfach wieder geschlossen.
Zu meiner grossen Verwunderung sehe ich dann im Vorschaufenster vom Finder, dass dort nun die geänderte Version angezeigt wird. Nochmals staunend geöffnet und tatsächlich: TextEdit hat
einfach so meine Änderung in das file gespeichert. Wäre das was Wichtiges gewesen, wäre mein Blutdruck gestiegen.
Ist das ein bug oder ein feature? Ich habe auf die Schnelle in den Einstellungen nichts gefunden, wo man das (in meinen Augen gefährliche) Verhalten abschalten könnte.
Oder versioniert TextEdit automatisch irgendwie irgendwo und ich hätte noch Zugriff auf die vorherige Version?
 
Systemeinstellungen - Allgemein - "Ask to keep changes when closing documents" (sorry, hab hier die englische Version) aktiviert?
Das ist glaube ich mit Mountain Lion eingeführt worden und ist ein Feature des Betriebssystems.
 
textedit versioniert, kannst über "ablage/zurücksetzen auf" die älteren versionen nehmen…
 
Tatsächlich, dort findet sich eine so lautende Einstellung.
Geändert.
Danke.
Nun frage ich mich: Hat die Einstellung nur Auswirkungen auf TextEdit?
 
Wahrscheinlich, ist ja als neues Feature von Mountain Lion (oder wars schon bei Lion?) gepriesen worden. Ich find das auch blöd, entspricht halt nicht meiner Arbeitsweise, vor allem weil ich auch noch an älteren Systemen arbeite. Naja, bei mir ist Mavericks eh nur auf meinem Test-/Fernsehrechner (moviePark) druf, auf den Arbeitstieren (mobileStation, retroFit und rechenKnecht) ist und bleibt vorerst Snow Leopard drauf.
 
Wahrscheinlich, ist ja als neues Feature von Mountain Lion (oder wars schon bei Lion?) gepriesen worden. Ich find das auch blöd, entspricht halt nicht meiner Arbeitsweise, vor allem weil ich auch noch an älteren Systemen arbeite.

Das ist die Arbeitsweise von Datenbanken. Apple hat diese Funktionsweise jetzt auch andere Programmtypen übernommen - das dient der Datenintegrität, weil dann die Daten auch nach einem Absturz des Programms intakt sind. Erstmal ist das zugegebener massen sehr ungewohnt, aber da die entsprechenden Programm die älteren Versionen ja automatisch auch speichern, kann nichts verloren gehen. Am besten: dran gewöhnen!
 
Es ist bei mir schon ein paar Tage her, dass ich mit Datenbanken direkt Kontakt hatte aber damals haben die Datenbanken nicht so gearbeitet.
 
Es ist bei mir schon ein paar Tage her, dass ich mit Datenbanken direkt Kontakt hatte aber damals haben die Datenbanken nicht so gearbeitet.

ich weiß nicht mit welchen Datenbanken du damals gearbeitet hast, aber es ist eigentlich schon immer so: Wenn man eine Änderung gemacht hat, war die sofort in der Datenbank gesichert; die meisten Datenbanken haben nicht mal einen "Sichern"-Menüpunkt, weil er schlichtweg unnötig ist. Es gilt: Datenintegrität ist alles - eine Datenbank kann sich deswegen nicht darauf verlassen, daß der Benutzer schon dran denken wird, auf "save" zu drücken.
 
Ich hab damals mit SQL-Datenbanken gearbeitet. Und wenn ich die Daten vom Frontend nicht zur Datenbank zurück geschickt habe wurde da schon mal gar nichts gesichert. Und dass die unterschiedlichen Versionen gesichert wurden ist mir auch neu.

Ist ja hier im Forum ein gutes Beispiel. Glaubst du denn wirklich, wenn ich bei einem Post von mir den Bearbeiten-Button drücke übernimmt er meine Änderung ohne dass ich dann auf speichern drücke? Eine Datenbank, so wie ich sie kenne, speichert nichts wenn man ihr nicht sagt, dass sie etwas speichern soll. Das heißt nicht, dass der User das immer mit bekommt was die Datenbank so macht. Vieles passiert da zwischen Frontend und Datenbank ohne dass der User es überhaupt merkt. Nur der Programmierer, der die Verbindung zwischen Frontend und Datenbank hergestellt hat, vermag zu sagen wann etwas gespeichert wird. Zum Beispiel wenn man ein update-Befehl schickt ;)
 
Ich hab damals mit SQL-Datenbanken gearbeitet. Und wenn ich die Daten vom Frontend nicht zur Datenbank zurück geschickt habe wurde da schon mal gar nichts gesichert.

schlechtes Frontend :crack:

Und dass die unterschiedlichen Versionen gesichert wurden ist mir auch neu.

nein, das Versionieren ist neu, das hat mit Datenbank-Verhalten nichts zu tun (hatte ich auch nicht behauptet).

Ist ja hier im Forum ein gutes Beispiel. Glaubst du denn wirklich, wenn ich bei einem Post von mir den Bearbeiten-Button drücke übernimmt er meine Änderung ohne dass ich dann auf speichern drücke?

schlechtestmögliches Beispiel :)

Eine Datenbank, so wie ich sie kenne, speichert nichts wenn man ihr nicht sagt, dass sie etwas speichern soll.

was soll ich dazu sagen? Mir ist ja egal von welchen Datenbanken bzw. Frontends du deine Infos hast - und da mag es ja auch stimmen. Was ich sagte war: das automatische Speichern ist das Verhalten von Datenbanken. Vielleicht nicht von allen Datenbanken. Aber zumindest von vielen guten.

Das heißt nicht, dass der User das immer mit bekommt was die Datenbank so macht. Vieles passiert da zwischen Frontend und Datenbank ohne dass der User es überhaupt merkt. Nur der Programmierer, der die Verbindung zwischen Frontend und Datenbank hergestellt hat, vermag zu sagen wann etwas gespeichert wird. Zum Beispiel wenn man ein update-Befehl schickt ;)

eben.
 

nein, das Versionieren ist neu, das hat mit Datenbank-Verhalten nichts zu tun (hatte ich auch nicht behauptet).
Das ist ja u.a. die Folge des automatischen Speicherns unter Mavericks. However, deinen Beitrag aus #8 hatte ich so verstanden ;)

schlechtestmögliches Beispiel :)
Jedes, auch nur halbwegs vernüftige, Forum ist nichts anderes als eine Datenbank ;)

was soll ich dazu sagen? Mir ist ja egal von welchen Datenbanken bzw. Frontends du deine Infos hast - und da mag es ja auch stimmen. Was ich sagte war: das automatische Speichern ist das Verhalten von Datenbanken. Vielleicht nicht von allen Datenbanken. Aber zumindest von vielen guten.
Ich kenne keine die automatisch speichert. Aber ich glaube wir haben da auch unterschiedliche Auffassungen von dem Begriff "automatisch Speichern"
Das ist aber keine automatisches Speichern, ich hab ja, mehr oder weniger, bewusst einen Befehl zum Speichern ausgelöst. Wenn ich ein Programm beende oder es abstürzt bevor ich eine Speicherung ausgelöst habe gehe ich schon davon aus, dass die Änderungen nicht gespeichert wurden. Das ist aber bei Mavericks standardmäßig eben nicht der Fall. Da scheint ja schon ein Tastenanschlag ein Speichern auszulösen. Eine Datenbank macht das nicht. Zumindest ist mir kein Frontend bekannt, dass bei jedem Tastenanschlag direkt ein Update-Befehl oder ähnliches los tritt. ;)
 
Eine Datenbank besteht aus einer Engine (deren Aufgabe vereinfacht gesagt das Lesen und Schreiben von Daten ist) und den eigentlichen Daten.
Keine mir bekannte DB-Engine (und ich kenne einige) speichert irgend etwas "automatisch".
Es erfolgt immer per UPDATE resp. INSERT Anweisung. Meistens, aber nicht immer mittels SQL.
Diese Speicher-Anweisungen an die Engine werden aber immer entweder durch eine Applikation (dazu zähle ich auch ein DB-WebFrontend ala PhpMyAdmin) oder
via dem User direkt (z.B. per Shell) an die Engine abgesendet. Niemals nicht auf gar keinen Fall speichert eine DB irgend etwas mal eben aus eigenem Ermessen
automatisch.

Somit hinkt auch für mich der Vergleich mit einer DB sehr deutlich.

Um nochmals eine Brücke zu meinem ursprünglichen Anliegen zu schlagen: Es müsste bei einer DB quasi so sein, dass ich ein SQL-statement vorbereite (PREPARE)
und dann die Verbindung zur DB beende ( = ich schliesse TextEdit ohne manuell zu speichern) und die DB entscheidet sich dazu, meine PREPAREd SQL-Anweisung
trotzdem auszuführen. Macht ja nix, weil wenn der User das dann doch nicht wollte, kann er ja ein rollback machen ...
So etwas macht ganz sicher keine DB.

Das ist die Arbeitsweise von Datenbanken.
Dem kann ich somit nicht zustimmen, oder zumindest nicht folgen.
 
Eine Datenbank besteht aus einer Engine (deren Aufgabe vereinfacht gesagt das Lesen und Schreiben von Daten ist) und den eigentlichen Daten.
Keine mir bekannte DB-Engine (und ich kenne einige) speichert irgend etwas "automatisch".
Es erfolgt immer per UPDATE resp. INSERT Anweisung. Meistens, aber nicht immer mittels SQL.
Diese Speicher-Anweisungen an die Engine werden aber immer entweder durch eine Applikation (dazu zähle ich auch ein DB-WebFrontend ala PhpMyAdmin) oder
via dem User direkt (z.B. per Shell) an die Engine abgesendet. Niemals nicht auf gar keinen Fall speichert eine DB irgend etwas mal eben aus eigenem Ermessen
automatisch.

Probier's mal in Filemaker :) oder einem beliebigen anderen Datenbank-Programm, nicht mit einer SQL-Datenbank, die über ein vollkommen getrenntes Frontend bedient wird.

Somit hinkt auch für mich der Vergleich mit einer DB sehr deutlich.

Um nochmals eine Brücke zu meinem ursprünglichen Anliegen zu schlagen: Es müsste bei einer DB quasi so sein, dass ich ein SQL-statement vorbereite (PREPARE)
und dann die Verbindung zur DB beende ( = ich schliesse TextEdit ohne manuell zu speichern) und die DB entscheidet sich dazu, meine PREPAREd SQL-Anweisung
trotzdem auszuführen. Macht ja nix, weil wenn der User das dann doch nicht wollte, kann er ja ein rollback machen ...
So etwas macht ganz sicher keine DB.

Dein Vergleich hinkt auf allen Beinen. :crack: Aber sei's drum.
Vergleiche vielleicht, wenn dir der Datenbank-Vergleich nicht passt, mit dem Verhalten von System Preferences-Einstellungen beim Mac (versus solchen bei Windows). Die werden sofort übernommen, ohne daß man ein "Speichern" klicken muß. Mach ne Änderung, und mach dann das Fenster einfach zu und wieder auf. Sind deine neuen Einstellungen zu sehen, oder deine alten? So, hat Apple festgelegt, soll es in Zukunft auch bei Programmen sein. Das muß einem nicht passen, ist aber so.
 

Vergleiche vielleicht, wenn dir der Datenbank-Vergleich nicht passt, mit dem Verhalten von System Preferences-Einstellungen beim Mac (versus solchen bei Windows). Die werden sofort übernommen, ohne daß man ein "Speichern" klicken muß. Mach ne Änderung, und mach dann das Fenster einfach zu und wieder auf. Sind deine neuen Einstellungen zu sehen, oder deine alten? So, hat Apple festgelegt, soll es in Zukunft auch bei Programmen sein. Das muß einem nicht passen, ist aber so.

Dein Vergleich hinkt aber auch gewalting. 1. kommt es auf die Einstellungen an (änder mal z.B. die Netzwerkeinstellungen ohne sie anzuwenden und schließe das Fenster. Zumindest in 10.4-10.6 fragt dich das OS ob die neuen Einstellungen angewendet werden sollen) und 2. sind Einstellungen doch noch etwas anderes als Dokumente.
 
Vergleiche vielleicht, wenn dir der Datenbank-Vergleich nicht passt, mit dem Verhalten von System Preferences-Einstellungen beim Mac (versus solchen bei Windows). Die werden sofort übernommen, ohne daß man ein "Speichern" klicken muß. Mach ne Änderung, und mach dann das Fenster einfach zu und wieder auf. Sind deine neuen Einstellungen zu sehen, oder deine alten? So, hat Apple festgelegt, soll es in Zukunft auch bei Programmen sein. Das muß einem nicht passen, ist aber so.

Es gibt einen entscheidenden Unterschied: die System-Preferences haben im Menü keinen Punkt "Speichern".
Somit ist klar - das Ding speichert eine Änderung sofort.
TextEdit hat aber den Punkt Speichern. Und den habe ich nicht genutzt. Daher gehe ich davon aus, es wird auch nix gespeichert.
Es wäre ja okay aus meiner Sicht, wenn TextEdit meine Änderungen in eine reine Versionierung der Datei reingenommen hätte. Sprich, das Original-file belibt so lange bestehen, bis ich explizit speichere.
Raucht mir mein Mac ab (gibt's so was? :D) während ich schreibe, kann ich ja auf die vorsorglich abgespeicherte pre-version zurückgreifen. Also eine automatische Sicherheitskopie, so wie das
unzählige Programme schon seit vielen Jahren machen, wenn man es so einstellt.
Ich bleibe dabei: das ist in meinen Augen völliger Käse für einen Texteditor. Aber da ich TextEdit eh so gut wie nutze, ist mir das eigentlich sowieso latte. :Pah:
 
Es gibt einen entscheidenden Unterschied: die System-Preferences haben im Menü keinen Punkt "Speichern".
Somit ist klar - das Ding speichert eine Änderung sofort.
TextEdit hat aber den Punkt Speichern. Und den habe ich nicht genutzt. Daher gehe ich davon aus, es wird auch nix gespeichert.

Du hattest im Eingangstext IDEs erwähnt. Das beschriebene Verhalten ist bei IDEs eigentlich mittlerweile Standard. Die IDE speichert automatisch jede Änderung, aber es gibt trotzdem noch eine Speicherfunktion für manuelles Speichern. Um Änderungen rückgängig zu machen, gibt es die Historie. Nach einer kurzen Umstellung möchte ich das Verhalten, gerade bei IDEs, eigentlich nicht mehr missen. Auch bei neueren Microsoft-Programmen, wie OneNote setzt man konsequent auf dieses Verhalten.

Ich verstehe dass man das bei einer Textverarbeitung anders sehen kann, insbesondere wenn man "Speichern unter..." oder eben "Nicht Speichern" als eine Art Vorlagenersatz verwendet hat. Da ist etwas Umgewöhnung gefragt, bzw. es verkompliziert gewohnte Arbeitsabläufe.
 
  • Gefällt mir
Reaktionen: Madcat
Zurück
Oben Unten