mynethome.de

15. August 2015

Digitales Fotoalbum reloaded: Von Gallery zu Piwigo

Das großartige Gallery Projekt, mit dem ich bisher meine Fotos im Netz gezeigt habe, wird wurde leider schlafen gelegt – und mit einem Aufwachen ist wohl eher nicht zu rechnen, wenn nicht gerade jemand darauf aus ist eine sehr große PHP Codebasis zu übernehmen. (Wobei ich sagen muss, das das, was ich über die Jahre den denen ich alle 3 Majorreleases der Gallery in verschiedensten Kontexten benutzt und angepasst habe, an Code innerhalb der Gallery gesehen habe, definitiv zum besseren PHP Code gehört, der mir so untergekommen ist! 😉 )

Wirklich schade, das das Kernteam sich entschlossen hat, nicht mehr weiter zu machen. Vielen Dank für die viele Arbeit und jahrelange Pflege dieser guten Software!

Also war es an der Zeit, nach einer Alternative zu schauen. Kurz nach der Ankündigung im letzten Sommer haben sich das auch andere gedacht und interessante Übersichtsartikel verfasst.

Piwigo geht dort als ein sehr vielversprechender Kandidat hervor, insbesondere da ein Migrationsskript für vorhandene Gallery-Installationen angeboten wird. (Wobei schon schade ist, dass Piwigo wiederrum auf PHP basiert und kein alternativer Softwarestack zum Einsatz kommt… 😉 ) Ein weiterer sehr detaillierter Beitrag über die Installation von Piwigo findet sich bei BenHup.

Was auf der Homepage noch nicht so deutlich zu sehen ist: in der Zwischenzeit ist Piwigo auch auf GitHub migriert und das Project unter https://github.com/Piwigo/Piwigo zu finden.

Nach soviel gutem Input habe ich meine Gallery zu Piwigo migriert, was im Großen und Ganzen wie erwartet von statten ging, einige Erfahrungen:

  • Leerzeichen in Verzeichnis oder Dateinamen sind in der Gallery erlaubt, in Piwigo in der Standardeinstellung nicht. Daher eine Konfigurationsänderung, die man in der Datei local/config/config.inc.php ablegt, nicht in include/config_default.inc.php :
    $conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.~\s\(\)\[\]]+$/';
    
  • EXIF auto rotate wird nicht übernommen, mit der imageRotate Erweiterung kann man das wieder anwenden – aber wie für alle Bilder? -> Das geht über die sehr ausgereifte Stapelverarbeitung in Piwigo, mit der man zunächst sehr Flexibel per Suche und Filter den Satz der zu bearbeitenden Bilder zusammenstellen kann und dann eine Änderung auf alle Bidler in diesem Satz anwenden kann. Diese Änderung kan auch die auto-rotate (basierend auf den EXIF Informationen des Bildes) der Erweiterung sein.
  • Berechtigungen werden nicht übernommen – ich habe zwar die Benutzerkonten übertragen können, jedoch müsst ihr einmal die „Passwort vergessen“ Funktion benutzen um ein neues Passwort zu erstellen. Wenn ihr bestimmt Alben sehen wollt, die jetzt verborgen sind, lasst es mich wissen 😉

    Falls es jemanden interessiert, die Benutzerkonten konnte ich in zwei Schritten einfach mit SQL übertragen:

    --Transfer users
    INSERT INTO piwigo.piwigo_users(username, password, mail_address)
    SELECT g_userName, g_hashedPassword, g_email
    FROM gallery.g2_User g2u
    WHERE g2u.g_userName NOT IN ('admin', 'guest', 'test')
    
    --create default settings
    INSERT INTO piwigo_user_infos (user_id, nb_image_page, status, language, expand, show_nb_comments, 	show_nb_hits, 	recent_period, 	theme,registration_date ,	enabled_high, 	level, 	activation_key ,	activation_key_expire ,	lastmodified)
    SELECT u.id, 30,  'normal', 'de_DE',false,false,false,	7, 'simpleng', now(),	true, 0, NULL, NULL,now()
    FROM piwigo_users u
    WHERE id NOT IN (1,2)
    
  • Bewertungen wurden nicht übernommen. Von daher musste ich ein wenig Hand anlegen (zum Glück sind die Benutzerkonten schon übertragen):
    INSERT INTO piwigo.piwigo_rate (user_id, element_id, anonymous_id, rate, date)
    SELECT pusers.id, pimages.id, CONCAT(LEFT(rm.g_remoteIdentifier, INSTR(rm.g_remoteIdentifier,':')),RAND()) ,rm.g_rating, now()
    FROM gallery.g2_RatingMap rm 
    , gallery.g2_User u
    , gallery.g2_Item i
    , gallery.g2_FileSystemEntity fse
    , piwigo.piwigo_users pusers
    , piwigo.piwigo_images pimages
    WHERE rm.g_itemId = i.g_id
    AND fse.g_id = i.g_id
    AND rm.g_userId = u.g_id
    AND pusers.username = u.g_UserName
    AND fse.g_pathComponent = pimages.file
    
  • Setzt man ein Album auf „private“, ohne Berechtigungen zu vergeben, wird es auch dem Admin nicht mehr angezeigt – sehr interessanter Effekt wenn man später durch seine Alben wandern muss um zumindest wieder Minimalberechtigungen zu vergeben…
  • Es scheint im Gegensatz zur Gallery keine Funktion zu geben, mit der man Alben verstecken und per direkt Link auch ohne Passwort aufrufen kann. In diesem Fall werde ich also in Zukunft mit einem einfachen Passwortschutz arbeiten oder man muss sich anmelden, um die/alle Bilder zu sehen.

Als finalen Akt des Umzug konnte ich dann noch die hier im Blog links eingebetteten Bilder direkt mit Hilfe des Piwigo WordPress Plugin durch die Piwigo Galerie speisen lassen.

Fazit
Ich bin sehr froh, auf Piwigo gestossen zu sein – auch wenn ich das ein oder andere Finetuning noch von Hand machen musste, der Umzug der Bilder war völlig unproblematisch und auch die Bewertungen konnte ich verhätnismäßig einfach übernehmen. Nur das die zum Teil sehr feingranular vergebenen Berechtigungen nicht mehr gesetzt sind, ist schade – auf der anderenSeite aber wahrscheinlich verkraftbar, da sie nicht sooo intensiv genutzt worden. Wie gesagt, wenn jemand etwas vermisst, bite melden :)

Und schliesslich habe ich damit endlich eine etwas modernere Fotogalerie, die über ein besonderes Feature verfügt, das mich sehr begeistert: Man kann Elemente frei miteinander Verknüpfen. D.h. das ich ein Bild aus einem Event-Album z.B. auch in den shots platzieren kann ohne es doppelt Hochladen zu müssen. Das macht das Erstellen von Themenalben deutlich einfacher.

Außerdem ist das Layout mit dem neuen Theme zusammen mit demals standard bereitgestellten Theme für mobile Endgeräte deutlich ansprechender, was die Betrachter der Bilder hoffentlich auch freut. :-)

15. August 2015

PostgreSQL upgrade 9.1 zu 9.3 – einfach & unkompliziert

Upgrading PostgreSQL ist einfach ein Traum, gerde zum x ten mal gemacht, diesmal mit Hilfe dieser kurzen Anleitung von 9.1 auf 9.3.

Praktisch ist es seit Postgres 7.x nie ein Problem oder aufwändiger als eben erwähnt gewesen.

Schön. :)

22. Juli 2015

Git Geschichte

Eine schöne Geschichte, geschrieben als Kōan zum Schmunzeln über git:

Git Kōans

Viel Spaß 😀

10. Juni 2015

Browser UI Testing with Geb: Select first element of <select> dropdown

Another short note regarding browser automation / web testing with geb:

If you want to select the first element of a dropdown element (aka <select>) but you don’t know the title nor the label as the element are fetched from the volatile test-env database, this might help:

        new Select($("select#ImportantEntity").firstElement()).selectByIndex(1)

It works by combining the geb selector with the native selenium webdriver API (see book of Geb), in this case the Select class from Selenium.

That might be useful in the context of angular.js 1.4 as there have been breaking changes in how option elements are generated and a simple select.value("1") stops working.

Happy testing :-)

3. Juni 2015

Engineering culture at Spotify

Es wurde kürzlich angemerkt, das ich zu wenig blogge. Stimmt.

Also hier ein kleiner Artikel mit zwei Videos, die Spotify veröffentlicht hat:

https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/

https://labs.spotify.com/2014/09/20/spotify-engineering-culture-part-2/

Sehr sehenswert. Auch wenn man schnell sagen kann, das einige der vorgestellten Punkte speziell sind für Spotify und eine Firma die sich auf ein Produkt das als Plattform übers Internet bereitgestellt wird konzentriert, werden einige interessante sowie wichtige Aspekte vorgestellt (oder zumindest wiederholt dargestellt), die man mindestens als Anregung in betracht ziehen kann. Zum Beispiel die Fokussierung auf eine Kultur, die so stark ist, das feste Regeln nicht aufgestellt werden müssen.

Kurzgesagt: 20 Minuten, die gut ‚investiert‘ sind 😉

14. April 2015

AsciiDoctor & Gradle: Documentation brought to life

The slides from my talk at GreachConf:

Find examples at Github: https://github.com/madmas/AsciidoctorGradle-Doc2Life

MrHaki has written a nice wrap up of the Greach conference.

24. März 2015

GitLab hangs on check for ability to automerge

GitLab is a very nice plattform software that provides you a application to host and manage git repositries similar to GitHub, yet it is free and open source and you can install it for your own usage whereever you want.

Recently, we faced a strange error after the machine gitlab runs on had an outage: the previously perfectly working UI to process merge requests on the web ui hung while checking if the merge can be done without further user interaction.

So, in case your gitlab’s merge view hangs on „Checking for ability to automatically merge“ and the hints from the trouble shooting guide do not help:

Check your gitlab-satellite’s working copy if it is inconsistent – in our case, such state blocked the check in the merge view to be completed and rendered the automerge feature of gitlab unusable. If it isn’t, delete it (maybe you also need to remove the tmp/repo_satellites directory) and recreate it with

sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production

After that, gitlab was back to normal in our case :)

26. Februar 2015

Fotografie im öffentlichen Raum

Mario Sixtus hat einen sehr interessanten Blogeintrag über fotografie im öffentlichen Raum und warum die verquere Rechtssprechung hier zum ernsthaften (kulturellen) Problem zu werden droht.

Über Fotografie, Kommunikation, dämliches Grinsen und den öffentlichen Raum

Wirklich lesenswert für alle die gerne knipsen oder fotografieren oder auch nur gerne Fotos ansehen :-)

18. Februar 2015

Ubuntu 14.10: Switch from 32bit to 64bit

I just had the need to switch a 32bit Ubuntu system to 64bit – without reinstalling the whole thing.
Luckily I found this step-by-step howto that worked pretty well:

Migrate/Upgrade Ubuntu 14.04 LTS (Trusty Tahr) GNU/Linux from 32 bit to 64 bit HowTo

Basically, what you need to do is switching the kernel and (at least) all base libraries to the x64 architecutre. Effectively you would try to migrate all packages for which it is possible and just fall back to 32bit compatibility where it is not.

I needed to boot with a live cd on reboot as the system wouldn’t come up. Howtos like this are very handy in that case 😉

Afterwards, the system is working nicely on x64 :-)

9. Januar 2015

Nachtmagazin: Interview mit Chefredaktuer der Titanic

Tim Wolff, der Chefredaktuer der Titanic hat im Interview mit dem Nachmagazin/ARD wirklich grandiose Antworten gegeben:

auf tagesschau.de

Hoffen wir, das sich viele eine gute Scheibe von der Besonnenheit und seiner Haltung abschneiden – und das Nachrichtensprecher wie Sven Lorig sich vielleicht nochmal gedanken über ihre Art und Weise machen, Fragen zu stellen….

mynethome.de wird erstellt mit WordPress
Beiträge (RSS) und Kommentare (RSS)

(c) 2005 - 2009 Markus Schlichting