This API clearly shows its age, having never been fully implemented
and simply returning 100 ways (or 2000 relations) at random matching
the provided tags.
It is, as far as I'm aware, completely unused. While it provides a
good amount of humour to anyone who reads the code, the time as come
for it to be retired.
This turns the value of the 'wikimedia_commons' tag into a link to the
respective page on commons.wikimedia.org (if it is a 'File:' or 'Category:'
item) by enhancing the browse tags helper. See [1] for the tag description.
[1] http://wiki.openstreetmap.org/wiki/Key:wikimedia_commons
The installation of `libxml-ruby` was broken because it was picking up the system version of the libxml2 library. By setting a `bundler` config item, it's possible to point it to the right place.
Also updated the instructions for `phantomjs`, which Homebrew has moved to a cask (and is now not officially supported), and added some of the extra command line tools that are used (`pngcrush`, `optipng`, etc...)
Refs https://trac.openstreetmap.org/ticket/5307
There's still an unfortunate double use of "comment" to mean both the
ChangesetComment and also the changeset's `comment` tag, but I can't see a
simple way to fix that.
This repo contains code for three functions to be loaded into PostgreSQL as a shared library:
1. `maptile_for_point`, which is used only by the `/changes` API call. This API call is little-used and IMHO should be deprecated and removed. However, even now it's hardly on the hot path for most development activities.
2. `tile_for_point`, which is used only in migrations. At this point, it seems unlikely that anyone will be doing a migration on existing data which would call this function (most developers will be running migrations on an empty database, to set it up).
3. `xid_to_int4`, which is only used for replication using Osmosis and isn't used in the Rails code at all. Hopefully this will be replaced Real Soon Now, but until then it's a quite advanced feature that most developers won't need.
Therefore, this patch proposes to replace the above three shared library functions with SQL implementations of the first two. These are _much_ slower - by a factor of about 30x, however this makes no difference when they're run on a completely empty database. In return, we're able to drop a dependency on the PostgreSQL server development package, and clean a few lines out of the installation instructions.
It's still possible to make and install the shared library functions, and I've included instructions about how to do that - although it shouldn't be necessary for the vast majority of `openstreetmap-website` developers.