Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ideen : SoftDelete nachträglich in ein großes Projekt einbauen (https://www.delphipraxis.net/177762-ideen-softdelete-nachtraeglich-ein-grosses-projekt-einbauen.html)

rapante 2. Dez 2013 14:49

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen
 
Ein Dialog "Sind sie sicher das sie den Datensatz unwiderruflich löschen wollen?" mit Ja/Nein, wobei "Nein" als default ausgewählt ist sollte reichen.
Somit wird verhindert das EIN Tastendruck einen Datensatz löscht!

Menschen die nicht in der Lage sind eine Maus zu bedienen (weil ihnen z.B. die feinmotorischen Fähigkeiten fehlen oder Blinde) haben dann schlechte Karten (Stichwort Barrierefreiheit)

Anstatt also Zeit und Energie darauf zu verschwenden wie man sein Programm verkrüppelt und möglichst schwer bedienbar macht, könnte man die Zeit sinnvoll Nutzen und eine "Undo" Funktion implemntieren ;)

Perlsau 2. Dez 2013 16:11

AW: Ideen : SoftDelete nachträglich in ein großes Projekt einbauen
 
Bei meinen kleinen Individual-Projekten, die auf Datenbanken zugreifen, findet immer automatisch eine Sicherung bei Programmstart statt (oder zumindest steht diese Option bereit, die ich dann auch immer empfehle). Natürlich kann man keinen Anwender nachhaltig davon abhalten, nur das zu löschen, was er wirklich löschen will, denn schließlich ist er ja der einzige, der darüber entscheidet. Gäbe es einen Button für Format C: in Windows, würde sicher auch so mancher Dau dau draufdraucken ... Kürzlich hat mich ein Kunde angerufen, weil die Darstellung seiner Bilder im Explorer nicht mehr wir früher war. Der Mann hat schon seit über 10 Jahren einen Computer mit Windows, klickt aber immer ständig irgendwo rum (Mausgefummel ist dafür genau der richtige Ausdruck) und merkt das oft nicht mal.

Ich finde, Chefs und auch alle anderen, die ständig versehentlich Datensätze löschen, die sie noch benötigen, sollten erst mal den Computerführerschein machen, bevor sie ihre Untertanen oder Mitmenschen sinnlos durch die Gegend hetzen :evil:

Bei diesem speziellen Chef würde ich ein Meldungsfenster aufpoppen lassen, das ihn jedesmal, wenn er einen Datensatz löschen will, daran erinnert: "Nicht doch, Cheffe, du weißt doch, daß du nicht selber löschen darfst, sondern immer mich zum Löschen holen sollst. Dein untertänigster Programmierer."

Die Idee mit der zusätzlichen Boolean-Spalte zum Als-Gelöscht-Markieren finde ich die beste Lösung. Man kann dann bei Programmende oder auf Anforderung eine Tabelle mit den markierten Dateien anzeigen lassen und alle auf einmal löschen und sicherheitshalber vorher exportieren.

p80286 2. Dez 2013 16:38

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

Zitat von sx2008 (Beitrag 1237470)
Ich würde das SoftDelete aber nicht generell vorsehen sondern nur bei den Tabellen bei denen es sinnvoll ist.

Einspruch Euer Ehren, was ist denn sinnvoll?
Wenn gefragt wird wer hat denn da was wann gemacht, so beziehen sich (nach meiner Erfahrung) 50% der Nachfragen auf "sinnlose" Daten.

Ansonsten ist eigentlich schon alles wesentliches gesagt:
a) Constraints und Trigger nutzen
b) Ein Statusfeld/Statustabelle nutzen (ggf. mit Änderungsdatum)
c) Ein Journal führen

Dazu ein paar Anmerkungen:
Ein Journal ist "die" Möglichkeit um nachzuvollziehen was "ich hab garnichts gemacht" in Wirklichkeit war.
Wer die Möglichkeiten die a) bietet im Client nachbaut, ist selber schuld. Zum einen ist es auf dem Client wesentlich aufwendiger alle Nebeneffekte verschiedener Aktionen zu beherrschen, zum anderen gehört "Datenbankfunktionalität" auch zur Datenbank. Den Client hat nicht zu interessieren auf welche Art und Weise die DB funktioniert, Er bekommt und versendet Daten. nicht mehr und nicht weniger.
Übrigens können auch Textbausteine für Rechnungen durchaus wichtig sein, wenn z.B. eine Änderung der Firma anstand und nachzuvollziehen ist ob die entsprechende Änderung auch zum richtigen Zeitpunkt eingerichtet war.

Gruß
K-H

@Perlsau
Zitat:

Bei diesem speziellen Chef würde ich ein Meldungsfenster aufpoppen lassen, das ihn jedesmal, wenn er einen Datensatz löschen will, daran erinnert: "Nicht doch, Cheffe, du weißt doch, daß du nicht selber löschen darfst, sondern immer mich zum Löschen holen sollst. Dein untertänigster Programmierer."
Leider nicht praxistauglich, da viele Chefs a) immer recht haben b) dies einmal nicht der Fall sein sollte automatisch a) in Kraft tritt.

Perlsau 2. Dez 2013 17:38

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

Zitat von p80286 (Beitrag 1238207)
Leider nicht praxistauglich, da viele Chefs a) immer recht haben b) dies einmal nicht der Fall sein sollte automatisch a) in Kraft tritt.

Wenn Vorgesetzte Fehler machen und dies weder erkennen noch einsehen können wollen, gibt es für dieses Problem keine Lösung – da kann der Untertan sich noch so anstrengen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz