Mit der PHP-funktion dropValue() lässt sich ein einzelner Antwort-Datenwert aus dem Datensatz löschen ( vgl. SoSci-Handbuchseite , dort findet sich der gut erklärende sinnvolle Einsatzbereich in der Anwendungsbeschreibung ).
Bei (m)einer Befragung können die Teilnehmer zuerst fünf Bilddateien hochladen ( bzw. fünf WebCam-Aufnahmen selbst machen [ per SoSci-Fragetype ,,Datei-Inhalte übertragen'' ].
Im nächten Schritt werden den Befragten die fünf Bilder untereinander angezeigt
( vergleichbar einer Auswahlfrage mit Bilder als Auswahl-Optionen ) jedoch eben mit den individuellen hochgeladenen Bildern, also von mir einfach nachgebaut und realisiert mittels PHP-Block in dem fünfmal das Konstrukt
upload://{value('Variable_hochgeladenes_Bilddateiname_N')}
verwendet und eingesetzt wird.
Das schließlich eine ausgewählte Bild als hochgeladene Datei ist das für die weitere Befragung einzig relevante und verbleibt.
Die vier restlichen hochgeladnene Bilder werden nun per PHP-Code als Dateinamen aus dem Datensatz gelöscht per PHP-Funktion dropValue() .
Obwohl der Datensatz dieses Befragten nun keine Information über die vier Dateinamen beinhaltet , so sind doch die beim Hochladen vollautomatisch zu "Fragebezeichner.CaseNummer.jpg' umgenannten Bilddateien weiterhin im Projekt bei > Erhobene Daten dort unter > Hochgeladene Dateien da noch immer vorhanden.
Die indiviuelle Löschung der vier Bilddateien dort bei Erhobene Daten ist nicht selektiv vorgesehen selbst für einen Projektadmin nicht möglich.
Vielleicht wäre der dropValue() Befehl dahingehend erweiterbar, beim Inhalt eines Objektes Dateinamens-Variable den beinhalteten Namen zu tilgen +UND+ eben auch noch die zugehörige Datei selbst zu löschen.
Frage:
Gibt es derzeit eine Möglichkeit diese überzähligen und nicht mehr relevanten vier Bilddateien direkt per PHP-Anweisung gleich wieder zu entsorgen ?
Appendum
Es gibt noch die andere , im weitesten Sinne jedoch nur ,,ähnliche'' PHP-Funktion names dropCase() .
Damit merkt man einen kompletten Datensatz zur asynchronen Löschung vor.
Überprüft habe ich das Löschverhalten und festgestellt: der Datensatz wird zwar korrekt entfernt , jedoch die jetzt nicht mehr referenzierten und daher verwaisten Dateien aus dem Hochladen verbleiben weiterhin dort;
dies obwohl jene nur in diesem Case hochgeladen wurden und auch einzig für diesen Case relevant gewesen waren und daher ebenso auch entfernt werden müssen damit einhergehend um in sich konstistent zu sein hinsichtlich der im Befragungsprojekt vorhandnen erfassten Datenwerte und Datendateien.
Der löbliche Nebeneffekt ist natürlich , wenn dropValue() und dropCase() diese Bereinigungsarbeiten gleich mit erledigen würden, die Entlastung des Servers dieweil der verwaiste Dateibestand eben schlicht nur Plattenplatz verschwendender Datenmüll ist.
In (m)einer oben erwähnten Befragung sind das dann effektiv 20% genutzte Dateien versus 80% ungenutzer Datenmüll.