MetaExtract EXIF & IPTC

Wer mit Fotos oder andere anderen Multimediaelementen in Verbindung mit DAM arbeitet, kommt an der Extension cc_metaexif nicht vorbei. Diese sorgt dafür, daß Metadaten aus den Exif-Informationen von Bildern in die Beschlagwortung von DAM übernommen werden.

Das Problem

So praktisch cc_metaexif ist, so störte mich doch, dass speziell Informationen wie Beschreibung, Copyright, Fotograf, usw nicht aus den EXIF-Informationen übernommen wurden, sondern beim Indexing angegeben oder nachbearbeitet werden müssen.

Änderungen zum Original

Da bei cc_metaexif die Indizierung durch drei verschiedene Dateien erfolgen kann, war die erste Aufgabe, die richtige Datei zu finden. Diese Aufgabe war relativ einfach zu lösen. Es handelt sich um die Datei class.tx_ccmetaexif_sv2.php

Die Funktionsweise dieser Datei ist ebenfalls leicht überschaubar, da es in dieser Datei nur eine Klasse mit zwei Funktionen gibt. Die größere der beiden enthält wiederum eine switch Anweisung welche die eientliche Aufbereitung der Exif-Daten für DAM erledigt. Die notwendigen Änderungen waren daher mit zusätzlichen case Zweigen zu lösen.

Änderungen im Detail

Nachfolgend der gesamte Code der switch Anweisung, einschließlich der originalen case Zweige.

Code

    // add to DAM table
switch ($name) {
    case 'CameraModel':
    case 'Model':
         $this->out['fields']['file_creator'] = $value;
    break;
    case 'ImageCreated':
    case 'DateTimeOriginal':
        $this->out['fields']['date_cr'] = $this->parseDate($value);
    break;
    case 'HorizontalResolution':
        $this->out['fields']['hres'] = intval($value);
    break;
    case 'VerticalResolution':
        $this->out['fields']['vres'] = intval($value);
    break;
    case 'ColorSpace':
    case 'ColorSpaceInformation':
        $this->out['fields']['color_space'] = ($value==1)?'sRGB':$value;
    break;
    case 'Title':
        $this->out['fields']['title'] = $value;
    break;
    case 'ImageDescription':
        $this->out['fields']['description'] = $value;
    break;
    case 'Copyright':
        $this->out['fields']['copyright'] = $value;
    break;
    case 'Artist':
        $this->out['fields']['creator'] = $value;
    break;
}

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen