IPTC eines gesamten Albums neu einlesen. Schon machbar oder Zukunftsmusik? IPTC eines gesamten Albums neu einlesen. Schon machbar oder Zukunftsmusik?
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

IPTC eines gesamten Albums neu einlesen. Schon machbar oder Zukunftsmusik?

Started by sindbad5, March 28, 2014, 09:48:59 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

sindbad5

Für eine seriöse Arbeit mit Coppermine wäre eine Funktion zum neuen Einlesen der IPTC Informationen aller Bilder eines Albums wichtig.

Datenbank taugen nur etwas, wenn die Findmittel optimal genutzt werden. Jedes Bild muss eine eindeutige und zutreffende Beschriftung haben. Try and Error gilt auch hier. Wir lernen im Laufe der Zeit dazu und mit heutigen Mitteln sind die Dateiinformationen in großen Bildbeständen relativ schnell und leicht zu modifizieren.

Ein Beispiel. In der Objektbeschreibung / Caption stehen umfangreiche Informationen, die Auskunft geben, wann und wo ein Bild aufgenommen wurde und was darauf zu sehen ist. Für denjenigen, der das Bild eines Apfelbaums sucht ist die Information '19. 7. 2007. Mecklenburg-Vorpommern. Carwitz' in der Objektbeschreibung überflüssig und möglicherweise kann ein altes Datum zum Ausschluss eines Bildes führen. Für das Archiv können diese Daten wichtig sein.

Aus dem Grunde wird die 'Objektbeschreibung' in das Feld 'Objektbeschreibung lokal' kopiert, um in der Bilddatei erhalten zu bleiben. Anschließend kann man die Objektbeschreibung / Caption von Einträgen befreien, die für die Präsentation der Bilder im Rahmen einer Coppermine Installation kontraproduktiv erscheinen.

Tauscht man die entsprechend veränderten Bilddateien im Upload-Ordner aus, wäre anschließend alle Funktionen zum neuen Einlesen der IPTC-Einträge wichtig. Aktuell sehe ich nur den Weg, das Album zu leeren und die Bilder erneut hinein zu laden. Dabei dürften die ehemaligen Hardlinks der Bilder ins Leere führen, was das Zusammenspiel zwischen Suchmaschinen und der eigenen Bilddatenbank erschwert.

Falls möglich, sollte diese Funktion baldigst in Coppermine integriert werden. Dass es geht, kenne ich von Pixtacy.

Tom

Αndré

Wenn du Bilder direkt im "albums"-Ordner austauschst, wirst du vermutlich die Admin-Tools benutzen um die Vorschaubilder und Bilder in Zwischengröße zu aktualisieren, richtig? Wenn das so ist, könnte man an dieser Stelle den Code so modifizieren, dass auch die IPTC-Daten neu eingelesen werden und vorhandene Daten (Titel, Beschreibung, Schlagworte) in der Coppermine-Datenbank entsprechend ersetzt werden (oder wie auch immer du das handhaben möchtest). Ich habe nicht überprüft ob dies bereits passiert, aber ich denke nicht, sonst hättest du den Beitrag nicht erstellt, richtig?

sindbad5

Im Ordner Album habe ich diverse Verzeichnisse angelegt, in denen jeweils Bilder zu bestimmten Themen liegen. Den Updload mache ich per FTP und nutze das Batch-Einlesetool. Wenn ich die IPTC-Infos in den Orginalen  bearbeite und anschließend neue Kopien für Coppermine mache, haben sie dieselben Dateinamen wie die vorher. Mit TotalCommander kiopiere ich sie in den entsprechenden Ordner und überschreibe die bisherigen Versionen.  Daher lese ich sie mit Coppermine nicht neu ein, weil keine neuen Thumbnails erstellt werden müssen. So bleiben auch die Links zu den Bildern unverändert erhalten. Praktisch wäre es nun, die IPTC Infos neu einlesen zu können.     

sindbad5

So eine Funktion wäre tatsächlich bei den Admin-Werkzeugen richtig:  'IPTC aktualisieren'

Αndré

Öffne util.php, finde
<input type="radio" name="updatetype" id="updatetype6" value="5" class="nobg" /><label for="updatetype6" class="clickable_option">'.$lang_util_php['update_full_normal_thumb'].'</label><hr />
und ersetze es durch
                <input type="radio" name="updatetype" id="updatetype6" value="5" class="nobg" /><label for="updatetype6" class="clickable_option">'.$lang_util_php['update_full_normal_thumb'].'</label><br />
                <input type="radio" name="updatetype" id="updatetype7" value="6" class="nobg" /><label for="updatetype7" class="clickable_option">IPTC</label><hr />


suche
$query_up = "UPDATE {$CONFIG['TABLE_PICTURES']} SET pwidth = '{$imagesize[0]}', pheight = '{$imagesize[1]}' WHERE pid = {$row['pid']}";
und ersetze es durch
            if ($updatetype == 6 && $CONFIG['read_iptc_data']) {
                echo '<tr><td class="'.$tablestyle.'">' . $icon_array['ok'] . '<tt>' . $image .'</tt> '. $lang_util_php['updated_successfully'] . '!</td></tr>';
                include_once("include/iptc.inc.php");
                $iptc = get_IPTC($image);
                $title = (isset($iptc['Headline'])) ? $iptc['Headline'] : '';
                $caption = (isset($iptc['Caption'])) ? $iptc['Caption'] : '';
                $keywords = (isset($iptc['Keywords'])) ? implode($CONFIG['keyword_separator'], $iptc['Keywords']) : '';
                $query_up = "UPDATE {$CONFIG['TABLE_PICTURES']} SET title = '{$title}', caption = '{$caption}', keywords = '{$keywords}' WHERE pid = {$row['pid']}";
            } else {
                $query_up = "UPDATE {$CONFIG['TABLE_PICTURES']} SET pwidth = '{$imagesize[0]}', pheight = '{$imagesize[1]}' WHERE pid = {$row['pid']}";
            }



Achtung! Die Ausführung der neuen Option in den Admin-Werkzeugen überschreibt jegliche bereits vorhandenen Titel/Beschreibungen/Schlagworte mit den IPTC-Daten. Weiterhin habe ich den Code nicht ausführlich testen können, da mir dafür Bilddateien mit IPTC-Daten fehlen. Du solltest also in jedem Fall vorher ein Backup (vor allem der MySQL-Datenbank) machen und den Code idealerweise erstmal an einem einzigen Album testen, bevor du ihn über die gesamte Galerie laufen lässt.

sindbad5

Danke André. Ich probiere das in den nächsten Tagen und melde das Ergebnis. Derzeit habe ich berufsbedingt gerade keine Zeit dafür.

Tom

sindbad5

So, jetzt habe ich das endlich mal ausprobiert. Der Code wurde verändert, doch wo steht die Möglichkeit des Neu-Einlesens der IPTC-Infos? Weder in den Album-Eigenschaften, noch unter den Admin Tools habe ich die Funktion gefunden.

Tom   

Αndré

Es ist ein Unterpunkt unter der ersten Option in den Admin-Tools.

sindbad5


sindbad5

Hallo, ich muss diesen Thread nochmal aufgreifen. Nach dem Einlesen vieler Bilder in eine neue  Installation habe ich anschließend die IPTC Infos wie vorangestellt eingelesen. Das ging fast immer gut. Doch bei manchen Fotos nicht. Vielleicht sind die Meta Daten anders codiert?

Ein Bild links eine Bilddarstellung in ThumbsPlus, einem Fotomanger. Man sieht, dass die Bilder eine Beschriftung haben. Auf der rechten Seite sieht man ein Foto aus der Serie in Coppermine ohne Caption. Auch bei wiederholtem Einlesen werden die IPTC Infos von immer denselben Bildern nicht ausgelesen.

Kann man das lösen?

Tom




sindbad5

Ich sehe gerade, dass das erste Bild im vorigen Post nicht mitgegangen ist. Also nochmal ...