Zoph 0.9 released

23 Jun 2012 by jeroen

Zoph 0.9 has been released. It can be downloaded from Sourceforge.

The only difference compared to the pre-release, Zoph 0.9pre2, that was released in February, is the Italian translation, which has been updated by Francesco Ciattaglia.

Compared to the previous stable release, Zoph 0.8.0.5, a lot has changed:

New features

The way debugging is done has changed, instead of the "old" DEBUG setting, there are now 3 settings that can be used to give very granular control over which debugging messages are shown. You can read more about that in the documentation.

The way Zoph handles character sets has been changed. The solution Zoph used prior to this version was to specify a character set per language, for example, Italian used iso-8859-1 and Turkish used iso-8859-9. This caused a lot of troubles for people using "special" characters in for example album names or locations. As of Zoph 0.8.1, all languages use UTF-8.

In order to make this change you need to convert your database to UTF-8. You can read in this document how to do that.



The import system has been completely rewritten. Both the web interface and the CLI interface have been redesigned and almost completely rewritten from scratch. The web import system has been the number one cause for problems for many Zoph users. Many users had issues with PHP timers running out and Zoph did not give proper feedback when things went wrong. Also, usability and user-friendliness were outdated. The new web import looks much more up to date than the old one and is based on templates instead of hard coded HTML. You can now upload multiple photos simultaneously and while they are uploading, upload progress is shown.

Zoph no longer tries to resize all photos at the same time, which caused PHP time-outs for a lot of people. Zoph now resizes photos 1 by 1.

Upload and import have been separated, you can now upload multiple photos and then import them separately, so you can set albums and categories different, for example. The old web import allowed only one album and category, now multiple albums and categories during import. For some reason it was never possible to add people to photos from the import screen, this has been corrected.  Preview images of what you have uploaded are shown before your import them.

You can now add albums, categories, persons and places from the commandline, manually with the --new CLI option or automatically with --autoadd.

Zoph now supports recursive import: instead of giving a long list of files, you can import a whole directory. With --dirpattern you can even have Zoph organize photos based on the input directory name.

Zoph now reads lat/lon data from EXIF and can automatically rotate images based on EXIF tags.

The CLI (command line) import utility (zophImport.pl) worked ok for most people, but had one big problem: it was written in Perl and not in PHP, like the rest of Zoph. This caused a lot of development effort every time something needed to be changed in the import system: everything needed to be written twice. A new CLI utility, simply called 'zoph' is introduced in this version. This has been written in PHP, just like the rest of Zoph.

Geotagging allows you to use a GPS-tracker to create a track of where you were, because these devices do not only register where you were, but also when you were there. Since your digital camera also registers when a photo was taken, you can now determine exactly where a photo was taken. Of course you will need a program that can make the match for you and now Zoph is one of those programs.

Once your photo database starts to grow, and you have many photos on which you have set a location, you may want to search for these locations as well. This version adds a new search option to the search page; you can now point on the map and search for photos taking within a certain distance from that point.

Even if you do not have GPS tracker, you may want to record where your photos were taken. This has been possible since the first version of Zoph, adding a map in v0.7.3. However, when adding a new location, it was often a lot of work to find that specific location on the map. Zoph can now use the Geonames project to find a location by name. Even if the specific location can not be found, it can often zoom in to the city or region, saving you a lot of mouseclicks.

Another timesaver is a small change to Zoph's behaviour, if you have set the lat/lon on a place and then add a 'child' to that place, it will already zoom in to the parent's location, often saving you many mouseclicks. It does the same when editing a photo that has no lat/lon set, but does have a location assigned with lat/lon information.

A popup has been added to the thumbnail view of albums, categories, places and people that will show you some information about what is in that album.

A 'share this photo' feature has been added, that will allow you to (selectively) share photo's with other users without logging in to Zoph.

The 'edit photo' and 'bulk edit photo' now automatically add a new dropdown menu whenever you add an album, category or person. The 'people slots' feature that implemented a part of this functionality for people only, but was less flexible, has been removed.

Performance

The bulk edit page allows you to make changes to many photos at the same time. With many photos, this page now loads over 20 times faster.

The SQL queries that  Zoph used for the 'show tracks' page were slow and not cachable. The first time this page is opened, it loads about 10x faster than previously, each consequitive time, it's even 50 to 100 times faster, thanks to database caching.

Refactoring

As you may know, Zoph has been around for over 10 years. This means that the first lines of code were written in the era of PHP3. I have started to update Zoph's code to be in line with current best practices of PHP programming. This is a process that will continue over the next releases.

Stable

This release is the result of two and a half year of development. In this time several feature releases and prereleases have been published. Since many people have used these releases and reported bugs back, this release should be free of problems. It's recommended for everybody to upgrade to this release. Details on how to upgrade can be found in Upgrading. If you are creating a new Zoph installation, you should read Installation. Full details about all the changes can be found in the Changelog.