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. |
||
---|---|---|
app | ||
bin | ||
config | ||
db | ||
lib | ||
public | ||
script | ||
storage | ||
test | ||
vendor/assets | ||
.coveralls.yml | ||
.erb-lint.yml | ||
.gitignore | ||
.mailmap | ||
.rubocop.yml | ||
.rubocop_todo.yml | ||
.travis.yml | ||
config.ru | ||
CONFIGURE.md | ||
CONTRIBUTING.md | ||
FAQ.md | ||
Gemfile | ||
Gemfile.lock | ||
INSTALL.md | ||
LICENSE | ||
package.json | ||
Rakefile | ||
README.md | ||
VAGRANT.md | ||
Vagrantfile | ||
Vendorfile | ||
yarn.lock |
"The Rails Port"
This is The Rails Port, the Ruby on Rails application that powers the OpenStreetMap website and API. The software is also known as "openstreetmap-website".
This repository consists of:
- The web site, including user accounts, diary entries, user-to-user messaging
- The XML-based editing API
- The integrated versions of the Potlatch, Potlatch 2 and iD editors
- The Browse pages - a web front-end to the OpenStreetMap data
- The GPX uploads, browsing and API.
A fully-functional Rails Port installation depends on other services, including map tile servers and geocoding services, that are provided by other software. The default installation uses publicly-available services to help with development and testing.
License
This software is licensed under the GNU General Public License 2.0, a copy of which can be found in the LICENSE file.
Installation
The Rails Port is a Ruby on Rails application that uses PostgreSQL as its database, and has a large number of dependencies for installation. For full details please see INSTALL.md
Development
We're always keen to have more developers! Pull requests are very welcome.
- Bugs are recorded in the issue tracker.
- Some bug reports are also found on the OpenStreetMap trac system, in the "website" and "api" components
- Translation is managed by Translatewiki
- There is a rails-dev@openstreetmap.org mailing list for development discussion.
- IRC - there is the #osm-dev channel on irc.oftc.net.
More details on contributing to the code are in the CONTRIBUTING.md file.
Maintainers
- Tom Hughes @tomhughes
- Andy Allan @gravitystorm