AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ideen : SoftDelete nachträglich in ein großes Projekt einbauen
Thema durchsuchen
Ansicht
Themen-Optionen

Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

Ein Thema von baumina · begonnen am 26. Nov 2013 · letzter Beitrag vom 2. Dez 2013
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 26. Nov 2013, 17:23
@Uwe
So etwas wollte ich auch erst vorschlagen. Also eine Serialisierung von gelöschten Daten sozusagen.

Beim späteren "wiederimportieren" müssten dann aber auch die diversen Abhängigkeiten zwischen den Tabellen berücksichtigt werden.

Insofern würde ich wohl auch eher ein Gelöscht-Flag andenken.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 27. Nov 2013, 08:45
Hätte ich denn serverseitig auch Möglichkeiten, da irgendetwas umzustellen, dass man im Allgemeinen Aktionen rückgängig machen könnte? So eine Art undo-last-Transaction. Denn meist fällt der Fehler ja gleich auf.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#13

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 27. Nov 2013, 09:08
Okay. So wie ich das sehe, gehst Du das falsche Problem an.

Das Problem ist nämlich meiner Meinung nach NICHT die fehlende Möglichkeit, gelöschtes wiederherzustellen.

Das Problem ist vermutlich eher die Benutzerführung, die es dem User (Deinem Chef) zu schwer macht, das richtige Element (die Position im Auftrag) zu löschen und ihm immer das falsche Element (den Auftrag selber) anbietet.

Mein Erster Vorschlag wäre hier z.b., wenn man auf der Maske (ich weiss ja nicht wie die aussieht) dann beim Drücken von 'Löschen' erstmal einen Dialog anzeigt, auf dem nichts vorselektiert ist. Hier muss er erstmal aktiv die gewünschten Positionen selektieren und kann diese dann direkt löschen. Um den kompletten Auftrag zu löschen muss man hier auf dem Dialog dann eine spezielle Schaltfläche 'Kompletten Auftrag löschen' anwählen, um den Auftrag wirklich zu löschen.

So ist das löschen einzelner Positionen einfacher (Del, Selektieren, Enter, gut ist) als das des Auftrags (Del, extra auf kleinen, separaten Button navigieren, auswählen, nochmal bestätigen, weg isser).

Das bekommst auch vermutlich schneller (=Billiger) hin, ohne gleich die Datenbank anzufassen. Zumindest vorschlagen würde ich das mal.

Das Soft-Delete kannst Du danach - wenn es denn dann wirklich noch notwendig sein sollte - später immer noch einbauen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 27. Nov 2013, 09:24
Ja, wie ich schon zuvor geschrieben habe, hat die Umstellung der Benutzerabfrage auch nichts gebracht. 1. Abfrage "Auftrag wirklich löschen", 2. Abfrage siehe Bild.
Miniaturansicht angehängter Grafiken
achtung.jpg  
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.640 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 27. Nov 2013, 10:34
Auch wenn man sicher benutzerseitig etwas machen kann, bei den Adressen ist es doch ganz interessant.

Wie haben bei wichtigen/relativ statischen Tabellen (Adressen als markantes Bespiel) ein Journal nebenher laufen, was jede Änderung an einem Datensatz nochmal in dieses Journal schreibt - fortlaufend. Wird der Datensatz gelöscht - gibts auch nochmal einen Eintrag. So hat man eine Historie über den gesamten Lebenslauf des Datensatzes, kann schauen wer wann was dran gemacht hat oder gelöscht hat und kann auch zu früheren Versionen zurückspringen. Hat schon mehrmals geholfen, den Angestellten zu entlasten
Sven Harazim
--
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
589 Beiträge
 
Delphi XE6 Enterprise
 
#16

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 2. Dez 2013, 12:27
Ja, wie ich schon zuvor geschrieben habe, hat die Umstellung der Benutzerabfrage auch nichts gebracht. 1. Abfrage "Auftrag wirklich löschen", 2. Abfrage siehe Bild.
Das bringt gar nichts, solange man den "Ja" Knopf mit "j" oder Enter auslösen kann. Das muss ausschließlich mit der Maus gehen. Eine Taste ist viel zu schnell getippt, da braucht man nicht mal auf den Schirm schauen... weitere Tipps: ein Kennwort eingeben lassen fürs Löschen, oder auch das Wort "löschen" oder "ja" (man sieht, ich hatte das Problem auch ).
Wichtig ist, dass es "gefährliche Löschvorgänge" jeweils eigene Buttons gibt, die nicht direkt neben den Buttons für "einfaches Löschen" stehen. Dann ist die Wahrscheinlichkeit für Fehlbedienung gleich viel geringer.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#17

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 2. Dez 2013, 12:52
2. Abfrage siehe Bild.
Also ich finde in der Meldung sollte auch die Auftragsnummer und als weitere Hilfestellung vielleicht noch der Kunde stehen.
"Soll der KOMPLETTE QM-Auftrag 47110815 (Fa. Böhringer, Hamburg-Altona) gelöscht werden?"

Wenn das nicht drinsteht, dann gewöhnt sich der User an die Meldung und drückt auf "Ja".
Vielleicht hat der Benutzer in seiner Dusseligkeit den Auftrag 47110816 angewählt.
Und wenn die Meldung hochpopt dann kann der angewählte QM-Auftrag im Hintergrund überdeckt werden.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 2. Dez 2013, 13:54
Das muss ausschließlich mit der Maus gehen.
Früher, als ich noch Schulungen gab, habe ich festgestellt, dass die Leute, die immer nur mit der Maus gefummelt haben, irgendwie zu keinen brauchbaren Ergebnissen kamen, mich hat diese Fummelei teilweise echt aggressiv gemacht, weil entweder gar nichts oder das falsche getroffen wurde. Viele üben bis heute noch den Doppelklick.

Deswegen war bei mir Übung 1 : legt mal alle eure Mäuse hinter den Bildschirm, wir arbeiten nur mit der Tastatur und siehe da, es ging alles viel schneller und einfacher. Bis heute kenne ich noch sehr viele Tastenkürzel von Windows und den Office-Produkten. Du wirst staunen wie schnell sich Excel bedienen lässt, wenn man nur Tasten statt der Maus benutzt.

Bis heute bin ich der Meinung, dass jedes Programm mit der Tastatur bedienbar sein sollte.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#19

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 2. Dez 2013, 14:20
Bei uns gab' es einmal die Idee, als Löschbestätigung eine kleine Rechenaufgabe lösen zu lassen um die geistige Anwesenheit des Benutzers sicher zustellen

Man kann so viele Bestätigungen, Warnmeldungen, Fettgedruckte Rote Buttons etc. einbauen wie man möchte - all das wird nicht verhindern, dass Datensätze "versehentlich" gelöscht werden. Solche Maßnahmen greifen vielleicht am Anfang - solange bis sich der Benutzer an die neue Klick- und Bestätigungsarie gewöhnt hat.
Der Mensch macht nun mal Fehler, auch wenn er vorher 20 mal bestätigen muss, das er wirklich sicher ist die Aktion durchführen zu wollen.

In den meisten Fällen haben wir in den Tabellen einfach ein Löschflag hinzugefügt. Nur an den wirklich wichtigen Stellen gibt es eine komplette Historie mit allen Änderungen.

Das muss ausschließlich mit der Maus gehen.
Bis heute bin ich der Meinung, dass jedes Programm mit der Tastatur bedienbar sein sollte.
Da kann ich baumina nur zustimmen. Allerding gibt es tatsächlich Benutzer die jahrelang am PC arbeiten und nicht mal CTRL+C/CTRL+V kennen. Insofern muss die Bedienung
sowohl per Maus als auch per Tastatur uneingeschränkt möglich sein. Dann kann der Benutzer selbst entscheiden.
Micha
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#20

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen

  Alt 2. Dez 2013, 14:21
Aber genau darum ging es ja: ein falscher Tastendruck, und schon geht das Dilemma los. Deshalb der Vorschlag, nur Mausbedienung zuzulassen, dadurch wird eine Fehlbedienung erschwert, zumindest ist das der Plan
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz