Release of open source web gallery phTagr 2.3

February 2nd, 2013 11 comments

phTagr 2.3

I’m happy to announce a new stable version 2.3 of the great open source web gallery phtagr to organize, browse and share your photos!

With phTagr you organize thousands of photos with embedded metadata (write support included). You can use advanced filters to enjoy a specific subset of your photo library. You control your files on your web server or install the gallery at home.

Download: (ca 5.5 MB)
Demo: Demo gallery

web gallery phTagr 2.3 phTagrs photo explorer phTagrs photo explorer

New features since 2.2.1

  • Fix support for PHP 5.4 und runs unter Windows (tested with WAMP)
  • Add drag’n’drop HTML5/Flash upload via plupload (see video)
  • Faster meta data processing via Exiftool (Damain Popescu)
  • Geo maps uses OpenLayer (Patrick Georgi)
  • Support of XMP sidecar file
  • Play icon watermark on video preview files (Jon Reynolds)
  • Add search term similar: to improve quick search
  • Search terms support are now optional, required, or excluded
  • Date search terms from: and to: support YYYY-MM and YYYY format
  • Some search terms support any or none value (See SearchParameter documentation)
  • Media selection in Explorer supports CTRL and SHIFT
  • Add different explorer views compact and mini
  • Add mobile version switch to default theme (see blog entry)


  • New Russian translation from Eugene Pazhitnov
  • New Hungarian translation from Ádám Majoros
  • Updated Polish translation by Piotr Skiba
  • Improved German translation by Patrick Georgi

Under the hood

  • Exiftool uses process pipes with -stayOpen option if available to speedup meta data read and write (Thanks to Damain Popescu)
  • Improve import speed for gps logging format GPX
  • Meta data is stored in one table fields instead of three tags, categories, and locations. This simplifies the meta data handling in query speed and complicity. Also, it allows to extent phTagr for new future field such people quick and easy.
  • Update HTTP_WebDAV_Server to 1.0.0RC7 from PEAR
  • Upgrade phpThumb library to 1.7.11 and fix phpThumb rotation parameter bug
  • Update GetID3 library to 1.9.4b1-20121005
  • Upgrade database migration plugin


  • Documentation website was polished
  • Fix image resizing for IE8
  • Fix MediaRSS to work with JustPictures! android app
  • phTagr’s slogan is now ‘Organize, Browse, and Share Your Photos’
  • Improve search term (breadcrumb) autocompletion
  • Simplify explorer’s top menu
  • Media ‘select all’ and ‘invert select’ moved to explorer top menu
  • Fix call-by-reference for php 5.4
  • Add SASS compiler workaround for PHP 5.4 (SASS compiler works only with 5.3)
  • Add rotation reset option
  • Boost query speed for exclusion by using NOT IN with subquery
  • Renamed RSS menu for groups to Links
  • Localize email views

Thanks for your support and your help!

Please consider HowToUpdate when you are upgrading. For installing please visit HowToInstall

Categories: announce, info Tags:

New Features: Meta data processing and geo map

January 20th, 2013 Comments off

I would like to announce some cool new features of web gallery phTagr.

First of all Damian Popescu improved the meta data processing with exiftool so that the reading and writing of meta data is faster than ever. Hi added also support of XMP sidecar files. Therefore, the meta data does not have to be written to the original files anymore and the common Adobe’s XMP meta data format can be used. I’m very excited about this great feature! It was a tricky job which he has done very well.

Further, I’m very happy to inform you, that Patrick Georgi improved the geo map for phtagr. phTagr uses now the OpenLayer.js, a javascript framework for different map providers. phTagr now uses Google Maps version 3 which does not requires an API key anymore. Other map providers might follow.

Jon Reynolds did watermarking video previews which shows a lighten play icon. Identifying videos is now more obvious than before.

Last but not least phTagr supports now the Hungarian language from Ádám Majoros and Eugene Pazhitnov contributed the Russian language.

Please update your code and drop a line if you discover some annoying behaviors. If you like to stay up to date please use git to update your phtagr code smoothly

Categories: info Tags:

Свободная веб-галерея phtagr теперь на русском

January 17th, 2013 Comments off

Wow! The second languages contribution this week! I’m thrilled! The open source web photo gallery got its Russian translation, thanks to Eugene Pazhitnov. Eugene enjoys phtagr and says:

Thanks a lot for a web gallery that perfectly fits all my needs! Just finished importing of all my collection from NAS and found it very convenient to set tags, categories and rotate the photos made by older camera.

@Eugene: Thanks and thank you for your contribution!

Homescreen in Russian

As always, please update your code to use the new language Russian. And if your language missing or incomplete please visit the How To Translate Wiki page for further information. There you will find how to create or update a language of the muti user webgallery phtagr.

Categories: info Tags:

phTagr Magyarul Válaszol

January 14th, 2013 Comments off

I’m very glad to announce that Ádám Majoros has added the Hungarian translation to phTagr. Hi did a great work! Please update your code to get the Hungarian language.

Homescreen in Hungerian

Is your language missing or incomplete? Please visit the How To Translate Wiki page for further information. There you will find how to create or update a language of the php gallery phtagr.

Categories: info Tags:

Install phTagr on Windows using WAMP

December 15th, 2012 Comments off

This post describes how to install webserver Apache, database mySQL and PHP on Windows using WAMP. WAMP is a great webserver toolset to get the free multi user web gallery phTagr running under windows with an ease. See also HowToInstallWamp for updates and changes.

Download WAMP

Download WAMP from their website. In time of writing, this was version wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-x64 (64 bit version)

Install WAMP

Execute the WAMP installation file and follow the setup dialog. In the 7th step you are asked to enter your default browser. I’ve chosen Chrome.

After successful installation you can launch WAMP and you will see a green W in your tray icon bar.

Configure WAMP

To run phTagr we need to configure Apache. To have nice URLs we need the rewrite module. To enable it, click left on the green W icon in the tray icon and select the rewrite module under Apache / Apache modules.

Further we need PHP extension php_exif and php_zip under PHP / PHP extensions.

After enabling/disabling a module/extension in WAMP, WAMP restarts. The W icon becomes orange shortly. Further, the modules/extension list requires one or two restart/reloads to show the correct module/extension list. Do don’t be bothered by WAMP if it does not show the correct list immediately.

Create Database

phTagr uses a mysql database for fast media selection queries. Therefore, we need to create a database before installing phtagr. Start phpMyAdmin via W tray icon.

Create a phtagr user with a database via menu Users / Add user. Please select Create database with same name and grant all privileges on user creation.

Download phTagr

Please install latest version of open source gallery phtagr via website

Extract the ZIP file to C:\wamp\www directory.

Now open your browser with at localhost/phtagr and follow the installation instructions.

New Explorer View: Compact and Small

November 24th, 2012 Comments off

Recently phTagr’s Explorer added two new view styles: Compact and Small. Both views can by set in the filter input with view:compact and view:small or by selecting the appropriate view in the View Filter menu.

The small view gives a great overview and is helpful for tagging and organize fresh imported images. The compact view hides the meta information of the images.

Enjoy the amazing web photo gallery phtagr!

Small Media View without media view

Compact View without meta data

Categories: Nicht kategorisiert Tags: , ,

Query support for media without tags, categories or geo tags

November 9th, 2012 Comments off

No Tags

Recently the query was improved to support media queries which have not tag, category, location or geo tag assigned. A special filter value was introduced: none. Use the query filter in the explorer and enter tag:none to query all untagged photos. The none value works with search terms tag, category, sublocation, city, state, country, location, and geo. Further you can query media with geo information via geo:any

To see the demo visit the demo photo gallery with explorer/view/tag:none.

Further examples are:

Simple Filter with any:

Explorers filter input was also improved. In the older version the user had to wait for autocompletion of search term to activate the search filter. For example, if you searched for food you had to wait until phTagr suggested the search term tag:food. Inpatient situations (or inpatient users) where just hitting enter after entering the word food. The single word was not accepted as filter term and was rejected.

Now phTagr detects such inputs and uses the filter term any: In the previous example phTagr adds the search term any:food and returns hits in tags, categories, or locations. I’m starting to love this function and quick filter interaction!

Try explorer/view/any:debug at the demo photo gallery.

Quick Search with similar:

The third change was applied to the quick search bar in the top right corner. The quick search opens the same search view as other filtered views. Further phTagr searches similar words to the given input with the new search term similar: So if you input flower, phTagr will search similar meta data by similar:flower and will also return media with power tags. Isn’t it great!?

Just play around with explorer/view/similar:leche at the demo photo gallery.

Ah. And one more thing: The rotation has now an reset action. Wrong rotated media can be easily reset to standard orientation.

Happy tagging and searching!

Faster and Better Search Support

November 3rd, 2012 Comments off

Just a short update! The free image gallery phtagr got some awesome changes regarding the media searches. The most exciting feature is the support of inclusion, optional and exclusion search terms.

As usual for the search /tag:flower/tag:tree/category:nature/location:-germany the terms flower, tree, and nature are required (AND operation). The location must not have germany.

If you change the term category:nature to category:+nature the search becomes different. For /tag:flower/tag:tree/category:+nature/location:-germany the terms flower and tree become optional and do not need to match. The category nature is now required and the location must not have germany. Therefore, the plus sign changes the search term from optional to required. The result is ordered by the hit count of the search terms. Media with tag flower and tree are higher ranked as media with only a flower tag. Media without tags flower and tree are shown at least.

To get an optional search you can use /tag:flower/tag:tree/category:nature/location:-germany/operand:OR and at least one of the terms flower, tree, and nature must exist while germany is excluded.

With this change you can query your media set faster and easy to the desired sub set.

The second great change is a database schema change. Previously, phtagr used for tags, categories and locations two tables each (e.g. one table to hold the tag name and one to store the tag assignment to images). The sql query building was complex and slow to support inclusion and exclusion of search terms. Now these 6 tables are unified to two tables and simplifies the query building and reduced the execution time.

If you upgrade, open phtagr/setup in your browser to trigger the automatic database upgrade (and it does not hurt to keep a database backup before upgrading). Further, depending on your size of phtagr installation, this database migration might consume some time and memory. Some limit adaptions need to be done to php.ini if the upgrade does not work in the first run. I needed to increase my memory limit from 128M to 256M (memory_limit = 256M) in my /etc/php5/apache2/php.ini to migrate 2643 fields with 90203 media assignment of 20725 photos.

[update 2012-11-09]The query speed for search term exclusion was recently optimized to handle exclusions in seconds for 20k media instead of several seconds. The exclusion is done via a NOT IN () in WHERE condition block with a subquery.[/update]

The newest tarball could be downloaded from sourceforge as usual. Or try the demo gallery with location:+italy/category:vacation/location:lecce/category:-screenshots!

Categories: info Tags:

Debug phtagr with Netbeans 7.2

September 17th, 2012 Comments off

Following instructions gives you a small HowTo for debugging phTagr code with Netbeans 7.2 and Xdebug on Ubuntu 12.04.

If you like to contribute some code to the phtagr project it is recommended to use a IDE with debugging support. Netbeans IDE is a great and free IDE with a good PHP language support. Combined with the PHP debugger and profiler Xdebug you can execute your code line by line and inspect variables which makes changes and errors easy to handle.

Requirements – Assumptions

  • You have some (php) programming skills
  • You installed and configured phtagr on your local web server like apache
  • You use phtagr source from  phtagr’s git repository

Install Netbeans and Xdebug

  • Download Netbeans 7.2 for PHP from

    $ chmod 755
    $ ./

    and follow the installation wizard (windows like). For detailed installation instruction visit netbeans.

  • Install xdebug via sudo apt-get install php5-xdebug. By default xdebug has a configuration file at /etc/php5/conf.d/xdebug.ini.

Create project

  • Start netbeans (e.g. run /home/sebastian/netbeans-7.2/bin/netbeans if you installed netbeans in /home/sebastian/netbeans-7.2).
  • Create a new project via menu File -> New Project
  • Select PHP Application with existing Source. Confirm by clicking Next
  • Enter your php git repository (e.g. /var/www/tests/phtagr), the project name. Confirm by clicking Next
  • Enter the Project URL. At my machine /var/www is Apache’s web root so http://localhost/tests/phtagr is the correct Project URL. At Index File enter webroot/index.php. Netbeans requires a real file and the main index file of phtagr is in webroot/index.php. Confirm by clicking Next
  • Ensure at Menu Tools -> Options -> PHP -> Debugging that Stop at First line is disabled.

Debug phtagr

  • Run Debug Project (shortcut Ctrl+F5). At the first page phtagr will report an error. But this is necessary to set the correct debug cookie for xdebug. Now you can use your phtagr installation and enter Project URL http://localhost/tests/phtagr.
  • Use breakpoints to intercept the execution of php script. E.g. set a break point at Controller/AppController.php to function beforeFilter function but clicking on a line number. If you reload the page in your browser by hitting F5, netbeans will stop at your breakpoint line.


  • Ctrl+F5 – Start debugger
  • F8 – Step Over
  • F7 – Step Into
  • Ctrl+F7 – Step Out
  • F5 – Continue
Categories: source Tags: , ,

New Upload Function with Drag’n’Drop

July 27th, 2012 Comments off

I updated the upload functionality in phtagr by using plupload has a nice and simple interface for different upload backends like HTML5, flash, or Silverlight.

The cool think: With plupload files are uploaded in chunks which  a) removes the upload limit of the http server. Each chunk has a size about 1MB. b) it has nice progress events which are now shown including estimated end. c) for decent browsers you have drag’n’drop support.

It feels just smooth and make fun uploading huge HD movies to the photo web gallery. Please, do not hesitate to upgrade your gallery and test the new upload. If there are some nasty bugs, please dont be shy …

Categories: announce Tags: ,