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 3 von 3     123   
Benutzerbild von rapante
rapante

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

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

  Alt 2. Dez 2013, 14:49
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
Micha

Geändert von rapante ( 2. Dez 2013 um 14:54 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#22

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

  Alt 2. Dez 2013, 16:11
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

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.

Geändert von Perlsau ( 2. Dez 2013 um 16:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#23

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

  Alt 2. Dez 2013, 16:38
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.
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 ( 2. Dez 2013 um 16:40 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#24

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

  Alt 2. Dez 2013, 17:38
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.

Geändert von Perlsau ( 3. Dez 2013 um 04:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 17:01 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