X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/4abd9cfcf19701bf43322374c5df6dd586449e54..e80d74ae7369fc1293e5195f29c4f6e8a9dcb87b:/CONFIGURE.md?ds=sidebyside diff --git a/CONFIGURE.md b/CONFIGURE.md index 96aac9f96..fdaea0e83 100644 --- a/CONFIGURE.md +++ b/CONFIGURE.md @@ -28,11 +28,9 @@ If you create a user by signing up to your local website, you need to confirm th ``` $ bundle exec rails console ->> user = User.find_by_display_name("My New User Name") +>> user = User.find_by(:display_name => "My New User Name") => #[ ... ] ->> user.status = "active" -=> "active" ->> user.save! +>> user.activate! => true >> quit ``` @@ -43,7 +41,7 @@ To give administrator or moderator permissions: ``` $ bundle exec rails console ->> user = User.find_by_display_name("My New User Name") +>> user = User.find_by(:display_name => "My New User Name") => #[ ... ] >> user.roles.create(:role => "administrator", :granter_id => user.id) => #[ ... ] @@ -56,26 +54,26 @@ $ bundle exec rails console ## OAuth Consumer Keys -Three of the built-in applications communicate via the API, and therefore need OAuth consumer keys configured. These are: +There are two built-in applications which communicate via the API, and therefore need to be registered as OAuth 2 applications. These are: * iD * The website itself (for the Notes functionality) -For example, to use the iD editor you need to register it as an OAuth application. - -Do the following: -* Log into your Rails Port instance - e.g. http://localhost:3000 -* Click on your user name to go to your user page -* Click on "my settings" on the user page -* Click on "oauth settings" on the My settings page -* Click on 'Register your application'. -* Unless you have set up alternatives, use Name: "Local iD" and URL: "http://localhost:3000" -* Check the 'modify the map' box. -* Everything else can be left with the default blank values. -* Click the "Register" button -* On the next page, copy the "consumer key" +For iD, do the following: + +* Go to "[OAuth 2 applications](http://localhost:3000/oauth2/applications)" on the My settings page. +* Click on "Register new application". +* Unless you have set up alternatives, use Name: "Local iD" and Main Application URL: "http://localhost:3000" +* Check boxes for the following Permissions + * 'Read user preferences' + * 'Modify user preferences' + * 'Modify the map' + * 'Read private GPS traces' + * 'Upload GPS traces' + * 'Modify notes' +* On the next page, copy the "Client ID" * Edit config/settings.local.yml in your rails tree -* Add the "id_key" configuration key and the consumer key as the value +* Add the "id_application" configuration with the "Client ID" as the value * Restart your rails server An example excerpt from settings.local.yml: @@ -83,11 +81,32 @@ An example excerpt from settings.local.yml: ``` # Default editor default_editor: "id" -# OAuth consumer key for iD -id_key: "8lFmZPsagHV4l3rkAHq0hWY5vV3Ctl3oEFY1aXth" +# OAuth 2 Client ID for iD +id_application: "Snv…OA0" ``` -Follow the same process for registering and configuring the website/Notes (`oauth_key`), or to save time, simply reuse the same consumer key for each. +To allow [Notes](https://wiki.openstreetmap.org/wiki/Notes) and changeset discussions to work, follow a similar process, this time registering an OAuth 2 application for the web site: + +* Go to "[OAuth 2 applications](http://localhost:3000/oauth2/applications)" on the My settings page. +* Click on "Register new application". +* Use Name: "OpenStreetMap Web Site" and Redirect URIs: "http://localhost:3000" +* Check boxes for the following Permissions + * 'Modify the map' + * 'Modify notes' +* On the next page, copy the "Client Secret" and "Client ID" +* Edit config/settings.local.yml in your rails tree +* Add the "oauth_application" configuration with the "Client ID" as the value +* Add the "oauth_key" configuration with the "Client Secret" as the value +* Restart your rails server + +An example excerpt from settings.local.yml: + +``` +# OAuth 2 Client ID for the web site +oauth_application: "SGm8QJ6tmoPXEaUPIZzLUmm1iujltYZVWCp9hvGsqXg" +# OAuth 2 Client Secret for the web site +oauth_key: "eRHPm4GtEnw9ovB1Iw7EcCLGtUb66bXbAAspv3aJxlI" +``` ## Troubleshooting @@ -129,5 +148,4 @@ If you want to deploy The Rails Port for production use, you'll need to make a f * The included version of the map call is quite slow and eats a lot of memory. You should consider using [CGIMap](https://github.com/zerebubuth/openstreetmap-cgimap) instead. * Make sure you generate the i18n files and precompile the production assets: `RAILS_ENV=production rake i18n:js:export assets:precompile` * Make sure the web server user as well as the rails user can read, write and create directories in `tmp/`. -* If you want to use diff replication then you might want to consider installing the shared library special SQL functions for the `xid_to_int4` function. A pure SQL version is available, but may become a performance issue on large databases with a high rate of changes. Note that you will need a version of PostgreSQL < 9.6 (yes, _less than_) to use `xid` indexing, whether pure SQL or shared library. * If you expect to serve a lot of `/changes` API calls, then you might also want to install the shared library versions of the SQL functions.