Mediendatenbank: Autoupdate nach FTP Upload
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Mediendatenbank: Autoupdate nach FTP Upload
Wenn man per FTP Bilder in das Uploadverzeichnis schickt, so werden sie in der Mediendatenbank auch gleich angezeigt. Hier zieht ein automatischer Abgleich an, der neue Bilder in die DB einpflegt.
Das funktioniert aber nur mit Bildern, Filme und andere Dateien werden offenbar so nicht behandelt. An welcher Schraube muss ich wo drehen, damit das funktioniert?
Das funktioniert aber nur mit Bildern, Filme und andere Dateien werden offenbar so nicht behandelt. An welcher Schraube muss ich wo drehen, damit das funktioniert?
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Mediendatenbank: Autoupdate nach FTP Upload
Hi!
include/functions_images.inc.php, suche nach ## SYNCH START ##
Rein grundsätzlich hätte das eigentlich funktionieren sollen, müsste da den Code auch erst nochmal wälzen
Grüße,
Garvin
include/functions_images.inc.php, suche nach ## SYNCH START ##
Rein grundsätzlich hätte das eigentlich funktionieren sollen, müsste da den Code auch erst nochmal wälzen
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Das kommt drauf an, wie "komplex" der Bug ist. Wenn Du's rausgefunden hast können wir das ja diskutieren?
Viele Grüße,
Garvin
Das kommt drauf an, wie "komplex" der Bug ist. Wenn Du's rausgefunden hast können wir das ja diskutieren?
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Wenn ich "Vorschau erneuern" manuell aufrufe, dann erscheinen die Filme übrigens in der Mediendatenbank, aber eben nicht -wie Bilder- automatisch beim öffnen des Verzeichnisses. Kann das an irgendeiner Einstellung liegen? Ich habe die Erinnerung, dass man da ein Recht für den Benutzer konfigurieren kann.
Außerdem ist mir dabei ein weiteres Problem aufgefallen. Wenn ich einen Film per FTP umbenenne, dann kann ich den alten Eintrag nicht über die Mediendatenbank löschen. Wahrscheinlich versucht die MDB die Datei zu löschen ohne zu prüfen, ob sie noch vorhanden ist und bekommt dann einen ungefangenen Error.
Außerdem ist mir dabei ein weiteres Problem aufgefallen. Wenn ich einen Film per FTP umbenenne, dann kann ich den alten Eintrag nicht über die Mediendatenbank löschen. Wahrscheinlich versucht die MDB die Datei zu löschen ohne zu prüfen, ob sie noch vorhanden ist und bekommt dann einen ungefangenen Error.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Was heißt denn "Öffnen des Verzeichnisses"?
Grüße,
Garvin
Was heißt denn "Öffnen des Verzeichnisses"?
Wenn du die automatische synchronisation aktiviert hast, dann müsste s9y eigentlich den neuen film finden, den aufnehmen und dann den alten, nicht mehr existierenden, aus der datenbank entfernen?Außerdem ist mir dabei ein weiteres Problem aufgefallen. Wenn ich einen Film per FTP umbenenne, dann kann ich den alten Eintrag nicht über die Mediendatenbank löschen. Wahrscheinlich versucht die MDB die Datei zu löschen ohne zu prüfen, ob sie noch vorhanden ist und bekommt dann einen ungefangenen Error.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Dass das nur für Bilder und nicht für Videos (und alles anderen Dateitypen) funktioniert, liegt daran, dass im Autoupdate überprüft wird, ob es ein Image ist (anhand Mime-Type image/*). Man müsste hier also offenbar "anbauen" mit einer serendipity_isMedia Methode. Dabei würde ich eigentlich schon gerne einbauen, dass getid3 benutzt wird, wenn es unter den bundled-libs erkannt wurde. Aber vorher kann man noch eine einfach Methode einbauen, die einfach Endungen zu Mime-Types setzt, was ja teilweise schon implementiert ist.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Hm, es kann sein dass das damals auf 'image' gefixt wurde, weil sonst MB-große .ZIP Dateien analysiert würden? Ich meine das hatte damit was zu tun.
Wir können in den Core-Code leider keine GetID3-API-Methoden einbauen, da dass aus lizenzgründen nicht geht!
Grüße,
Garvin
Hm, es kann sein dass das damals auf 'image' gefixt wurde, weil sonst MB-große .ZIP Dateien analysiert würden? Ich meine das hatte damit was zu tun.
Wir können in den Core-Code leider keine GetID3-API-Methoden einbauen, da dass aus lizenzgründen nicht geht!
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Also ich habe nun folgenden Code
durch folgendes ersetzt:
Mit einer passenden isMedia Methode natürlich, die auf MimeType image, audio und video checkt. Damit sind ZIP files auf jeden Fall draußen. Das scheint schon ganz gut zu klappen bei Dateiendungen, die von s9y bereits erkannt werden. Meine 3gp Testdatei wurde nun automatisch hinzugefügt. Der Patch dazu ist ziemlich minimal, ich packe ihn mal in's SVN und Du kannst mal schauen, ob der auch in die 1.2 soll, wofür ich plädieren würde.
Was noch nicht klappt ist, dass Filme, die noch in der DB stehen aber nicht mehr auf der Platte vorhanden sind, automatisch gelöscht werden. Das muss an einer anderen Stelle im Code passieren, ich schaue mal, ob ich es finde.
Zur getid3 Einbindung: Dann muss ich das wohl so bauen, dass ein Event aufgerufen wird, der den Filenamen und das File Array übergibt und externe Plugins können dann geeignet das Array füllen. Gibt es so einen Event schon? Es würde sich dann natürlich das getid3 Plugin anbieten, diesen Event abzufangen und die Daten entsprechend aufzubereiten.
Code: Select all
// MTG: 21/01/06: put files which have just 'turned up' into the database
$aImageData = serendipity_getImageData($sFile);
if (serendipity_isImage($aImageData)) {
Code: Select all
// MTG: 21/01/06: put files which have just 'turned up' into the database
$aImageData = serendipity_getImageData($sFile);
if (serendipity_isMedia($aImageData)) {
Was noch nicht klappt ist, dass Filme, die noch in der DB stehen aber nicht mehr auf der Platte vorhanden sind, automatisch gelöscht werden. Das muss an einer anderen Stelle im Code passieren, ich schaue mal, ob ich es finde.
Zur getid3 Einbindung: Dann muss ich das wohl so bauen, dass ein Event aufgerufen wird, der den Filenamen und das File Array übergibt und externe Plugins können dann geeignet das Array füllen. Gibt es so einen Event schon? Es würde sich dann natürlich das getid3 Plugin anbieten, diesen Event abzufangen und die Daten entsprechend aufzubereiten.
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Für den Patch würde ich eher eine Modification vorschlagen:
statt serendipity_isImage($file, $strict = false) ein
serendipity_isImage($file, $strict = false, $allowed='image/');
und darunter dannein preg_match('@'^' . $allowed . '@i', $file['displaymime).
Dann kann man ohne neue funktion beliebige mimetypes matchen.
Grüße,
Garvin
Für den Patch würde ich eher eine Modification vorschlagen:
statt serendipity_isImage($file, $strict = false) ein
serendipity_isImage($file, $strict = false, $allowed='image/');
und darunter dannein preg_match('@'^' . $allowed . '@i', $file['displaymime).
Dann kann man ohne neue funktion beliebige mimetypes matchen.
Das Problem ist, dass die 'guessMime' Funktion halt doch recht performanceintensiv sein kann, und getid3 immer die dateien binär einliest. ich würde ungerne das (relativ 'teure') plugin API system in diese funktion übernehmen, solange es nicht einen ganz wichtigen grund gibt die getid3-bibliothek für mime-erkennuing zu nutzen?Zur getid3 Einbindung: Dann muss ich das wohl so bauen, dass ein Event aufgerufen wird, der den Filenamen und das File Array übergibt und externe Plugins können dann geeignet das Array füllen. Gibt es so einen Event schon? Es würde sich dann natürlich das getid3 Plugin anbieten, diesen Event abzufangen und die Daten entsprechend aufzubereiten.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Habe ich entsprechend eingebaut.
Für getid3 spricht, dass man die mime-type Erkennung nicht hard codiert über Zuweisung (Endung -> mime-type) machen muss. Wenn Endungen fehlen oder Dateien die falsche Endungen haben, könnte es eben Probleme geben. Was passiert, wenn ich eine Textdatei in das Upload Verzeichnis lege und dort eine gif Extension gebe? Hmm: Bei einem Test schmiert die DB immerhin nicht ab, was schon mal gut ist.
edit:
Oh Mann! Ich weiß jetzt, warum auf Platte nicht mehr vorhanden Dateien bei mir nicht in der DB gelöscht wurden: Der Benutzer hatte schlicht nicht das Recht, dies zu tun!
Somit scheint das nun gut zu funktionieren, ich plädiere für einen Merge nach 1.2
Für getid3 spricht, dass man die mime-type Erkennung nicht hard codiert über Zuweisung (Endung -> mime-type) machen muss. Wenn Endungen fehlen oder Dateien die falsche Endungen haben, könnte es eben Probleme geben. Was passiert, wenn ich eine Textdatei in das Upload Verzeichnis lege und dort eine gif Extension gebe? Hmm: Bei einem Test schmiert die DB immerhin nicht ab, was schon mal gut ist.
edit:
Oh Mann! Ich weiß jetzt, warum auf Platte nicht mehr vorhanden Dateien bei mir nicht in der DB gelöscht wurden: Der Benutzer hatte schlicht nicht das Recht, dies zu tun!
Somit scheint das nun gut zu funktionieren, ich plädiere für einen Merge nach 1.2
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Grüße,
Garvin
Aber Mime-Erkennung kann doch auch PHPs http://de3.php.net/manual/de/function.getimagesize.php schon, oder?Für getid3 spricht, dass man die mime-type Erkennung nicht hard codiert über Zuweisung (Endung -> mime-type) machen muss. Wenn Endungen fehlen oder Dateien die falsche Endungen haben, könnte es eben Probleme geben. Was passiert, wenn ich eine Textdatei in das Upload Verzeichnis lege und dort eine gif Extension gebe? Hmm: Bei einem Test schmiert die DB immerhin nicht ab, was schon mal gut ist.![]()
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Hm, also die getimagesize() Mimeerkennung funktioniert bei mir eigentlich schon relativ gut. Hast Du konkrete Dateien zur Hand, bei denen es nicht geht?
Icons in der Mediendatenbank sind ja eher recht selten. Videos sind anhand der Dateiendung aber ja meist recht einfach zu erkennnen...?
Grüße,
Garvin
Hm, also die getimagesize() Mimeerkennung funktioniert bei mir eigentlich schon relativ gut. Hast Du konkrete Dateien zur Hand, bei denen es nicht geht?
Icons in der Mediendatenbank sind ja eher recht selten. Videos sind anhand der Dateiendung aber ja meist recht einfach zu erkennnen...?
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
-
blog.brockha.us
- Regular
- Posts: 695
- Joined: Tue Jul 03, 2007 3:34 am
- Location: Berlin, Germany
- Contact:
Du hast recht: Bei mir geht es bisher auch gut ohne die getid3 Lib. Somit benötigt man die hier offenbar nicht. Man bekommt nur Probleme, wenn man Filme mit Erweiterungen ablegt, die der auto_guess Methode noch nicht bekannt sind. Dann muss man immer selbige patchen. Ist bei mir aber bisher noch nicht vorgekommen, nachdem ich dort auch mp4 (für die 1.3) eingebunden habe.