Derivate bei Import mit falscher Bezeichnung

  • Ich habe beim Import die "Bezeichnung" eines Bildes auf den Dateinamen voreingestellt.


    Datenbank > Administration > Importeinstellungen > Bilder > Dateiname als Bezeichnung übernehmen.


    Nun möchte ich ein Bild aus der Datenbank mit Photoshop bearbeiten und das so entstehende Derivat sofort nach Imabas einlesen:


    Bild markieren > Rechtsklick > Externe Programme > Bearbeiten und Derivat erzeugen.


    Dort gibt man nun Zielfilm, -Verzeichnis und den neuen Dateinamen für das Derivat ein, wählt Photoshop, macht die Bildbearbeitung, speichert das Bild von Photoshop aus im Zielverzeichnis ab und klickt dann in Imabas auf Fertig. Das funktioniert alles, aaaber:


    Die Bezeichnung des Derivates entspricht nicht ihrem Dateinamen, sondern dem Dateinamen des Originals! :-? Ich kann nun per Hand die Bezeichnung des Bildes (F2 > Allgemein > Bezeichnung) ändern, was sicherlich nicht im Sinne des Erfinders ist.


    Der Programmierer müsste also auch beim Einlesen von Derivaten die Importeinstellungen abfragen und so ggf. die Bezeichnung des neuen Derivates auf den Dateinamen desselben setzen.


    Oder habe ich was übersehen?
    -Mino

  • Habe das Problem vermutlich identifiziert.


    Imabas übernimmt offenbar, wenn das IPTC-Feld "headline" belegt ist, dieses für sein Feld "Bezeichnung". Und das auch fehlerhaft dann, wenn man in den Importeinstellungen eingestellt hat: "Dateiname als Bezeichnung übernehmen".


    Das ganze ist leider noch schlimmer als gedacht. Wenn man mit einem üblichen Programm wie Photomechanic die IPTC-Felder füllt, wird auch schon bei einem normalen Import immer als Bezeichnung die "headline" übernommen, die ja nun nicht dem Dateinamen entsprechen muss auch wenn man die "headline" natürlich mit dem Dateinamen füllen kann. Was aber nicht Sinn des "headline"-Felds ist.


    Daraus ergeben sich 2 Fragen/Bitten:


    • Kann Kai nicht Imabas so ändern, dass es auch bei belegtem IPTC-headline den korrekten Dateinamen einliest (sowohl beim "normalen" als auch beim Derivat-Import)?
    • Wie kann man in einem Rutsch die Imabas-Bezeichnung aller (oder selektierter) Bilder auf den Dateinamen setzen?


    -Mino


    Imabas 11.0, Photomechanic 5, MySQL 5.5

  • Hallo Mino
    Ich denke, das ist kein Bug sondern eine Missverständnis was die Funktion "Dateiname als Bezeichnung übernehmen" betrifft.
    Damit wird nur dann der Dateiname übernommen, wenn die Bilddatei im IPTC-Feld "Headline" nichts enthält. Nach dem Motto "lieber noch den Dateinamen als gar nichts".


    Damit du im Bezeichner den Dateinamen erhältst, kannst du mit dem Query-Browser ein SQL-Kommando absetzen, welches den Inhalt von "filename" übernimmt. Allerdings enthält "filename" auch das Suffix - z.B. ".jpg" oder ".cr2" - das willst du in der Bezeichnung wahrscheinlich nicht stehen haben. Wenn das Suffix deiner Bilddateien inkl. Punkt immer 4-stellig ist, wirkt folgendes SQL-Kommando:


    Code
    1. update bilder set caption = LEFT(filename, char_length(filename)-4)
    2. where caption NOT LIKE LEFT(filename, char_length(filename)-4);

    ACHTUNG! Dieses Kommando greift alle Bildeinträge deiner Datenbank an, deren Bezeichnung ungleich dem Dateinamen ist! Wenn du mehrere 10-tausende Bilder hast, solltest du dir Gedanken machen, die Wirkung des Kommandos einzuschränken.
    Nicht ohne vorheriger Datenbanksicherung ausführen!


    Hab's bei mir mit einer MySQL-Datenbank (rund 43000 Bilder, ca. 6300 davon verändert) ausprobiert - hat geklappt.


    Grüße, Ernst

  • Hallo Ernst,


    Danke für Deine klärenden Gedanken. Bei mir hat Deine Update-Query leider nicht geholfen. Vielleicht auch, weil meine Caption Zeilenumbrüche hatte oder die Filenamen teils länger als die erlaubte Caption (50 Zeichen) sind.
    Auch eine Beschränkung auf 50 Zeichen ergab keine Änderung, obwohl 100000e Zeilen betroffen waren:


    Code
    1. update bilder set caption = LEFT( filename, LEAST( char_length( filename ) - 4, 50 ) )
    2. where caption NOT LIKE LEFT( filename, LEAST( char_length( filename ) - 4, 50 ) );

    Ich habe daher pragmatisch bei der Feldauswahl im Imabas-Browser die Bezeichnung hinaus- und den Dateinamen hereingenommen. Das reicht für meine Belange erst mal.


    -Mino