Nirvana: a script to migrate from Gallery3 to ZenPhoto 1.4.x

Hi everyone,

I wrote a crude but potentially useful Python script to assist people (okay, mostly me) in migrating from Menalto Gallery 3.0.x to ZenPhoto 1.4.x:

http://derek.trideja.com/nirvana/

You'll need a little Unix know-how and elbow grease but I hope someone out there manages to get some use from it.

I got sick and tired of waiting for Menalto Gallery to become simple and fun again like it was in 2002, hence the birth of this script. :-) Thanks for ZenPhoto!

Cheers,
Derek

Comments

  • Yea I dump Gallery 2 and 3 for Zenphoto years ago ... welcome aboard ...
  • acrylian Administrator, Developer
    Thanks for "migrating"..;-) I will put an entry for the script on our extensions section soon.
  • I tried the script and sqlalchemy wasn't installed at 1and1. I guess this means I'd have to install python and sqlalchemy, etc, which since I have never done this (installed a remote language) and don't use python, that would be a real exercise.

    Can't find the zenphoto.cfg file. Has it been renamed and where is it? Changing the file is mentioned on GitHub.

    Any chance of making this an extension? Or any other suggestions for a non programmer?
  • acrylian Administrator, Developer
    Sorry, this is a third party script we didn't even try. The `zenphoto.cfg.php` file is in `zp-data`. The contents of the package are explained here:
    http://www.zenphoto.org/news/installation-and-upgrading#content-of-the-zenphoto-package

    Migrating the albums and images itself is quite easy. You basically just have to move the `var/albums` folder contents to Zenphoto's `albums` folder. Zenphoto is file system based and will recognize them as albums.

    However this of course does not migrate the database contents unless you have embedded title, descriptions of your images within the metadata. All we know about is listed on our site's extensions section.
  • I was looking at this, since I have to move 26,867 photos in 512 galleries I will just try the moving the albums instead.

    Not looking forward to having to update the caption or MOD_REWRITE for that many files.
  • acrylian Administrator, Developer
    Sorry, there was not enough demand to justify to work on a proper migration tool from our side.

    Copying the albums will work of course except the data. If you have the chance to export your data into separate xmp files that could work using the xmpMetaData plugin.

    And maybe this tutorial by a user might be of help:
    http://blog.markheadrick.com/2014/08/15/galleries-moved-from-gallery-to-zenphoto-platform/
  • Only for nirvana, I installed python and sqlalchemy on my Debian server.

    > nirvana.py migrate
    didn't work at all.

    > python nirvana.py migrate
    worked, but caused many errors, and in the last line it wrote
    "sqlalchemy.exc.NoSuchTableError: `zp_tags`"

    I don't know what the problem might be. Perhaps German umlauts in the album names?
  • acrylian Administrator, Developer
    Umlauts may be as the developer of this script perhaps didn't care for them. The script may also just be outdated. Sorry, can't really help with it. Maybe this helps?
    http://blog.markheadrick.com/2014/08/15/galleries-moved-from-gallery-to-zenphoto-platform/
  • I think, I found my own way. I made a dump from the Gallery3 data base and wrote a VBA program which puts the content of the dump into an Excel sheet. Then I simply moved the Gallery3 album folder into the Zenphoto album folder.

    Now I have to use the Excel sheet to generate a mysql script which changes the dates and titles of the Zenphoto albums according to the Excel sheet.

    I only wonder why the title columns contains so many cells containing "a:1:{s:5:"de_DE";s:14:" and whether I can simply use this in every row.
  • acrylian Administrator, Developer
    Yes, the albums itself is pretty simple by moving. If you have your contents embedded via EXIF meta data for example Zenphoto would read those automatically.

    `"a:1:{s:5:"de_DE";s:14:"`
    That's how strings of fields are stored (serialized) that support being multilingual:
    http://www.zenphoto.org/news/multi-lingual-sites

    If you only use one language you can add them as plain text without serialization. Best you set the backend to the default English as that has priority if you only use ony language anyway. Later switch back to German if you use that. The next time you save something manually you will get this serialized string automatically.

    Maybe you VBA script will be of use to others so if you can it would probably usefull if you could publish it somehwere (GitHub or the like).
Sign In or Register to comment.