Bilder veröffentlichen ohne fremde Dienste

Seit einer langen Zeit nutze ich Flickr. Das Bilderportal, das im Mitmachstil des Web 2.0 gefertigt ist, bietet einige Möglichkeiten für das Verwalten der eigenen Bilder und natürlich auch, um diese zu verbreiten und zu teilen. In der Mac-Szene, der ich einst angehörte – damals als Apple noch der David und Microsoft als Goliath ihre Rollen spielten – ist Flickr noch stärker verbreitet. Immerhin gehört das Teil nicht zum Google-Konzern, sondern zu Yahoo. Trotzdem stört mich, dass ich keine Kontrolle über den Verlauf und vor allem über die Speicherung der Bilder habe. Deswegen habe ich mir eine einfache, kleine Applikation geschaffen, die meine Bedürfnisse befriedigt. Mindestens einstweilen.

Noch immer betreibe ich ein virtuelles Serverli bei HostEurope, natürlich mit Ubuntu als Betriebssystem. Zwar noch Dapper, aber diese Version wird noch immer mit Updates versorgt. Dort baute ich mir mit MySQL und PHP die Sachen zusammen. Im Bereich PHP bin ich nicht so der Hirsch und so durfte ich bei der Erstellung der Technik einiges lernen. Im Web findet man ja zum Glück zu fast allen Herausforderungen mit PHP eine Lösung; manchmal sogar zu viele (verschiedene) Ansätze. Eigentlich hätte ich gerne mit CakePHP etwas gebaut, aber damit bin ich noch nicht so weit. Ich muss Roland nochmals dazu bringen, dass er erneut eine Session an einem Barcamp irgendwo im nördlichen Halbkreis anbietet.

Im Grossen Ganzen lade ich per PHP ein Bild hoch, vergebe einen Namen, erzeuge daraus ein Vorschaubild, übergebe den Namen als verstecktes Feld einem Formular, mit dem dann die Metadaten zum Bild erfasst werden. Danach wandert alles in eine Datenbank. Die Bilder liegen je in einem Album, welche wiederum in Sammlungen zusammengefasst werden; ganz wie bei Flickr. Dafür habe ich ein Backend erstellt, das multiuser-fähig ist.

Zurzeit suche ich noch nach einer besseren Lösung, um die Bilder automatisch zu verkleinern. Die Qualität passt mir nicht. Ich nutze ImageCreateFromJPEG und seine Artverwandten, dafür währe wohl imagemagick besser geeignet. Das habe ich aber noch nie benutzt; es wäre also höchste Zeit dafür.

Weiter stand ich zunächst bei der Verlinkung der Tags an. Ich schreibe alle Tags pro Bild in ein Feld, getrennt durch Kommas. Das ist wahrscheinlich nicht unbedingt die schönste Form der Normalisierung, aber es klappte dann doch noch mit der Funktion explode, mit der ich den String in ein Array wandeln und dann mit einer for-next-Schlaufe ausgeben kann. Ebenso fand ich bei Laut und Klar eine Anleitung, wie man mit PHP die Exif-Daten eines Digitalbildes auslesen kann. Funktioniert bestens! Daneben habe ich noch eine Kommentarfunktion, RSS-Feeds, Mitteilungen an identi.ca und Twitter, eine Suche, eine Lizenzform pro Bild und verschiedene Formen der Ansicht eingebaut.

Bis auf die Qualität der Vorschaubilder bin ich soweit zufrieden. Das eine oder andere kosmetische Element werde ich wohl noch einbauen und wahrscheinlich auch sonst noch etwas daran feilen. Aber mein Ziel habe ich erreicht: Ein selbstgehostetes Applikatiönli, mit dem ich spätestens an den Linux-Tagen zu Chemnitz einige Bilder präsentieren kann. Die sind ja schon bald; am 13. und 14. März 2010.

Ähnliche Artikel

Schlagwörter:, , , , , ,

15 Kommentare to “Bilder veröffentlichen ohne fremde Dienste”

  1. UteNo Gravatar schrieb:

    Cool, habe ich doch gestern gleich richtig vermutet, dass du Flickr den Rücken kehren willst, sieht gut aus deine kleine Applikation!

    Sag kannst du automatisch zu identi.ca posten oder machste das manuell?

  2. Roman HanhartNo Gravatar schrieb:

    Danke, Ute! ;-) Ich löse es manuell aus, könnte es aber automatisieren. Ich will aber immer zuerst lugen, ob alles passt, bevor ich dente ;-)

  3. ChristophNo Gravatar schrieb:

    Hab das auch schon bei mir entdeckt und mich (kurz) gewundert. Sieht hübsch aus :)

  4. BerndNo Gravatar schrieb:

    Warum nicht einfach Gallery oder Gallery2?

  5. Roman HanhartNo Gravatar schrieb:

    @Bernd: Weil das Teil nicht alles hat, was ich will und vor allem nicht so, wie ich es will ;-)

  6. BenniNo Gravatar schrieb:

    Hallo Roman!

    Sag mal, steht dieser Service allen zur Verfügung, oder nur einem bestimmten Kreis? Das habe ich irgendwie nicht herauslesen können ;)

    Gibt es diese von dir programmierte Software als open source Projekt? Habe mich mit einem ähnlichen Problem auch auseinandersetzen wollen, hatte leider noch keine Zeit. :)

    Viele Grüße, Benni

  7. Thomas Klein-HitpaßNo Gravatar schrieb:

    Super Sache, wirklich.
    Ich stehe vor dem gleichen Problem, kann allerdings nicht programmieren, daher schlage ich mich derzeit mit diversen Plugins für drupal herum.
    Das Ganze ist aber etwas overkill für mich, Deine Aplikation scheint mir da eleganter.
    Kann ich irgendwie benachrichtigt werden, wenn das Ding oss wird?
    Ich danke vielmals,
    Thomas

  8. Roman HanhartNo Gravatar schrieb:

    Uups… Jetzt muss ich aber wirklich ran an das Teil. Ich habe es ja bloss für mich geschrieben und hoffte, dass ich mit diesem Beitrag den einen oder andern Tipp bekäme. Stattdessen soll ich nun OSS erzeugen ;-)

    Wenn ich bloss etwas besser und vor allem sauberer programmieren könnte, wäre es mir noch so lieb, das Teil freizugeben.

    Daher schlage ich folgendes Vorgehen vor:

    1. Ich muss alle “hardlinks” durch Variablen ersetzen. Da ich das Teil ja bloss für mich und allenfalls meine Frau gemacht habe, sind da noch einige Dinge nicht bereit, um sie auf diversen Servern laufen zu lassen. Viele Verweise sind hart verdrahtet, statt variabel in einer Konf-Datei notiert.

    2. Den Code möchte ich gerne noch mit einem Kollegen anschauen und allfällige, grobe Schnitzer rausmachen.

    3. Allenfalls will ich noch besser zwischen Funktionen und Kosmetik trennen.

    Ja, und den Rest können wir dann in der Gemeinschaft verbessern.

    Das ist dann aber nicht schon morgen fertig, gäll ;-)

  9. LianeNo Gravatar schrieb:

    Schick, wenn man sowas selbst programmieren kann! Aber warum hast du nicht einfach eine fertige Lösung wie Coppermine installiert? Das wär doch sicher einfacher gewesen. Oder ist das nicht das, was du an Funktionsumfang brauchst?

  10. Roman HanhartNo Gravatar schrieb:

    @Liane: Ja, ich hatte eine zielmlich genaue Vorstellung vom Funktionsumfang und diesen habe ich bei keinem bestehenden Projekt gefunden. Sowas ist ja relativ schnell gemacht. Nach etwa 25 Stunden war ich soweit, inklusive dem FrontEnd und allem. (Mit CakePHP ginge das noch wesentlich schneller, aber das kann ich noch immer nicht nutzen, weil ich zuwenig darüber weiss.)

  11. LianeNo Gravatar schrieb:

    @Roman: Nicht schlecht. Leider kann ich sowas (noch) nicht…

  12. seraphynNo Gravatar schrieb:

    Finde ich sehr Gut und freue mich, wenn es FOSS ist.
    Vor allem verstehe ich Deine Aussage mit Gallery;)
    Grüsse und weiter so
    Chris

  13. RolandNo Gravatar schrieb:

    Hi Roman,
    wenn du schon schreibst, dass ich wieder mal eine CakePHP Session machen soll, schlage ich was Anderes vor.
    Meine Piratenkollegen wollen bald mal eine “richtige” Schulung bei der wir ein schönes CakePHP Programm schreiben.
    Ich biete an, dass wir in den nächsten Samstagen mal hier bei uns eine Session machen bei der ich das CakePHP Framework ein wenig tiefer erkläre.
    Für Ute habe ich einen Mailservice gebastelt mit dem man Bilder in eine Galerie laden kann und die notwendigen Tags usw. gleich mit reinfummeln kann.
    Dieses Ding könnten wir als Schulungsobjekt nehmen.
    Dann kannst du diese Galerie mitnehmen und bei dir einbinden.
    Wäre das was?
    Falls ja, lass mich wissen an welchem Samstag du kannst.
    (Am 20. März kann ich nicht, da muss ich gegen das Konzerthaus auf Klein Venedig demonstrieren ;) )

    Grüsse

    Roland

  14. Roman HanhartNo Gravatar schrieb:

    Hey, danke Roland! Das ist ja supergeil! Entschuldigung für das Wort, aber das musste jetzt sein;-)

    Ich lasse Die eine Mail zukommen mit den Daten, die mir passen.

    Danke!

  15. Cake PHP Schulung heute bei miradlo ::: Galerie ohne fremde Dienste. miradlo bloggt   schrieb:

    [...] Roman hatte gefragt und Roland entschloss sich dann die Schulung anzubieten, Artikel dazu auf Guggat emol und im Piratenwiki.  Roman hatte ähnlich wie ich vor kurzem die Idee einen Bilderservice mit Galerie zu nutzen der Flickr, pikchur, twitpic und ähnliches ersetzen kann. [...]

Hinterlasse einen Kommentar

blogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.de