An das Marketmaker Team,
beim Objektimport habe ich einen Fehler in der Verwaltung/Anzeige der selbst angelegten Bibliotheken festgestellt.
Es lassen sich in Marketmaker mehrere Bibliotheken mit gleichem Namen anlegen, bzw. wird beim Import nicht überprüft, ob eine Bibliothek mit diesem Namen schon existiert, und der Benutzer wird auch nicht darauf hingewiesen.
Ich habe ein älteres Objekt von einem Bekannten in Marketmaker Version 4.31 importiert.
Wollen Sie nun im Formeleditor im Funktionsassitenten auf die importierten Makros zugreifen, so finden Sie zwar eine Bibliothek mit dem Namen (z.B. Regression), aber in dieser Bibliothek nicht die soeben importierten Makros.
Da in dem importierten Objekt auch Handelssysteme enthalten waren, habe ich das entsprechende Handelssystem geöffnet, und siehe da, in dem Handelssystem waren die importierten Makros vorhanden, liesen sich auch öffnen, verändern und wieder speichern, aber das Makro war nicht in der angezeigten Bibliothek "Regression" zu finden.
Daraufhin habe ich das Objekt ein zweites Mal importiert. Dabei erschien dann ein Hinweis, dass eine Bibliothek mit dem Namen Regression bereits existiert.
Ich habe in dem Meldungsfenster überschreiben gewählt. Als der Import beendet war, jedoch das gleiche Verhalten, die Makros waren nicht zu finden.
Ich habe mir dann im Formeleditor, Reiter Bibliotheken die Eigenschaften der Bibliothek "Regression" ansehen wollen. Dabei fiel mir auf, dass ganz am Ende der Liste "Verfügbare Bibliotheken" eine Bibliothek "Regression" ein 2. Mal aufgeführt war. Nach dem Vergleich der Eigenschaften der beiden gleichnamigen Bibliotheken war dann das oben beschriebene Verhalten klar.
Zur eindeutigen Kennzeichnung der definierten Bibliotheken verwenden Sie einen Globally Unique Identifier (GUID).
Anlegen und Import:Beim
Anlegen einer neuen Bibliothek wird vom System eine neue eindeutige GUID generiert. Der vom Benutzer eingegebene Bibliotheksname wird nicht geprüft, ob er schon vergeben ist, Doppelvergabe ist möglich.
Beim
Importieren eines Objektes prüfen Sie, ob die in der Datei "Regression.mme" enthaltene GUID schon in der Tabelle für die Bibliotheken enthalten ist. Auf den Namen der Bibliothek, der in dieser Datei auch enthalten ist, prüfen Sie nicht, Doppelvergabe ist möglich. Die in der mme-Datei enthaltene GUID war beim ersten Import nicht in der Tabelle enthalten, deshalb folgte der Import ohne Warnmeldung. Beim 2. Import war die GUID in der Datenbanktabelle, deshalb der obige Warnhinweis.
Anzeigen BibliotheksnamenIm
Formeleditor, Reiter Bibliotheken erfolgt die Abfrage der Bibliotheken ohne Unterdrückung doppelter Elemente in der Spalte Namen und ohne Sortiertung.
Im
Funktionsassitenten erfolgt die Abfrage der Bibliotheken mit Unterdrückung doppelter Elemente (Unique) in der Spalte Namen und mit Sortiertung (Order By). Somit sieht man dort nur die Bibliotheken, die zeitlich zuerst in die Tabelle der Bibliotheken eingetragen wurden.
Es ist sicherlich sinnvoll gleiche Namen auf der selben Ebene nicht zuzulassen. Nur dann müssen Sie dies beim Anlegen und Importieren auch abprüfen.
Beim Importieren von Objekten, die von einem anderen Anwender zur Verfügung gestellt werden, kann es möglich sein, dass dieser, so wie bei mir geschehen, einen Bibliotheksnamen vergeben hat, der beim Importierenden System schon vorhanden ist. Dann sollte der Benutzer darauf hingewiesen werden, dass ein doppelter Bibliotheksname vorliegt. Er sollte dann die Möglichkeit haben den Namen der importierten Bibliothek umzubenennen.
Sollten Sie dem Benutzer bei einem Namenskonflikt auch die Möglichkeit bieten, die Makros des importierten Objektes in der schon vorhandenen Bibliothek abzulegen, so prüfen Sie bitte, ob dann in der Bibliothek auf Ebene Makroname keine Doppelvergabe vorkommt.
Nicht dass dann ein mühsam selbsterstelltes Makro mit einem gleichen Names aus dem importieten Objekt überschrieben wird.
Ich bitte den oben beschriebenen Fehler schnellstens zu beheben.
Mit freundlichen Grüßen