Updating Flickr2Piwigo

I’ve decided to try to bring the Flickr2Piwigo plugin up to date in order to support OAuth (Flickr’s old system of authentication was turned off in the middle of last year). I’ve been tinkering with getting the PhpFlickr library working properly lately (which is what Flickr2Piwigo uses to talk to Flickr), and although there’s lots more to do to it I’ve at least got the OAuth parts working (thanks to the lusitanian/oauth package). So now I’m going to add this to the Flickr2Piwigo.

There’s no support for Composer in Piwigo, so I’m not really sure how this is going to work. Probably some custom distribution-generation process; I’ll worry about that later. Hopefully we’ll not resort to committing vendor/.

Once this is working, I’ll go back to PhpFlickr and write some better documentation (probably Read The Docs) and fix up the caching system (it’s a bespoke oddity at the moment, that I think should be replaced with simple PSR-6 support).

Manually upgrading Piwigo

There’s a new version of Piwigo out, and so I must upgrade. However, I’ve got things installed so that the web server doesn’t have write-access to the application files (as a security measure), and so I can’t use the built-in automatic upgrader.

I decided to switch to using Git to update the files, to make future upgrades much easier and without having to make anything writable by the server (even for some short amount of time).

First lock the site, via Tools > Maintenance -> Lock gallery, then get the new code:

$ git clone https://github.com/Piwigo/Piwigo.git photos.samwilson.id.au
$ cd photos.samwilson.id.au
$ git checkout 2.8.3

Copy the following files:

/upload and /galleries (these are symlinks on my system)

The following directories must be writable by the web server: /_data and /upload (including /upload/buffer; I was getting an “error during buffer directory creation” error).

Then browse to /upgrade.php to run any required database changes.

I’ve installed these plugins using Git as well: Piwigo-BatchDownloader, Flickr2Piwigo, and piwigo-openstreetmap. The OSM plugin also requires /osmmap.php to be created with the following (the plugin would have created it if it was allowed):

define( 'PHPWG_ROOT_PATH', './' );
include_once( PHPWG_ROOT_PATH . 'plugins/piwigo-openstreetmap/osmmap.php' );

That’s about. Maybe these notes will help me remember next time.