Publish: Fehler beim erneuten Publishen
Nach dem Auftreten des Fehlers in #88 (closed) sollte Publish erneut ausgeführt werden, diesmal jedoch mit den Pfaden als Character Array statt als String. Hier bricht Publish mit einem Error ab, der zwar gewollt erscheint, in meinen Augen jedoch etwas ungünstig ist. Deshalb besteht an dieser Stelle in meinen Augen Diskussionsbedarf.
Denn: Was ist der Nutzen eines harten Errors aus Sicht von PlotID? Vermutlich, dass keine Duplikate entstehen. Aber: Was ist die Erwartung des Nutzers? Und könnte dieser ein Interesse haben, ggf. einen erstellten Plot nochmals zu publishen? In meinen Augen schon, bspw. fällt mir auf, dass ich die ID verschieben wollte, Achsenbeschriftungen oder sonstiges an der Figure ändern wollte. Nach der Definition sollte Publish eigentlich erst ausgeführt werden, sobald der Plot wirklich final steht, aber dieser Fall wird denke ich des Öfteren auftreten. Und diesbezüglich sollte die Entscheidung getroffen werden, was mehr Aufwand ist: Dem User zuzumuten, alles nochmal bis dahin durchlaufen zu lassen, ggf. wieder am neuen Plot die Änderungen ein zweites Mal durchführen zu müssen, nur um bei der nächsten "Kleinigkeit" wieder alles von vorn machen zu müssen? Damit ist denke ich PlotID nicht geholfen, da die Daten dann auch drei Mal abgelegt werden, nur eben unter unterschiedlichen IDs (oder ggf. unter Verwendung der Verlinkungen entsprechend nur ein Mal). Oder bspw. eine Abfrage zu implementieren, ob die Dateien überschrieben werden sollen? Das ließe sich später auch beim Ablegen auf einem Server über ein Zeitfenster ganz gut handhaben. In jedem Fall sollte dies in den Entscheidungsbaum des PAP mit aufgenommen werden.
Meine Meinung ist: Hier sollte PlotID abgeändert werden. Letztlich verkauft ihr es als Tacker und nicht als Versiegelungswerkzeug, sodass der User in diesem Fall keinen Siegelbruch begeht, sondern mit einem Enthefter seinen Stapel nochmals bearbeiten/neu stapeln und neu tackern kann.
Verwendeter Befehl:
PlotID.Publish('E:\Documents\Git\hector-sil-simulink\simulation_output\diagnosis_samplerun.mat', 'E:\Documents\Git\hector-sil-simulink\diagnosis\HECTOR_calc_adaptive_threshold.m', b);
Fehlermeldung im Command Window:
Error using PlotID.userDLG/error (line 59)
Folder .S481-619CC271 exists - Plot was already published
Error in PlotID.Publish (line 116)
dlgObj.error(['Folder ',folderName, ' exists - Plot was already published ']);