Skip to content

Installation

Marta Nicholson edited this page Oct 12, 2020 · 43 revisions

Requirements

Roadmap is a Ruby on Rails application that requires the following:

  • Ruby >= 2.6.3
  • Rails >= 5.2
  • PostgreSQL >= 9.2 or MySQL >= 5.5
  • Yarn 1.22.4
  • Node.js 10.x for management of assets (DMPRoadmap is using the Rails asset pipeline with Webpacker)
  • ImageMagick used by the Dragonfly gem to manage logos

Further details on how to install Ruby on Rails applications are available from the Ruby on Rails site:

Further details on how to install the database server and create your first user and database. Be sure to follow the instructions for your particular environment.

You may also find the following resources useful:

Installation

  • Create your database

    • For MySQL: Select UTF-8 Unicode (utf8mb4) encoding.
  • Fork the repository and then clone it onto your server

    git clone https://github.com/[your organization]/roadmap.git
    
    cd roadmap
  • Make copies of the YAML configuration files and copy the gem initializer files

    bin/setup
  • To create environment variables one would need to generate credentials and that will be added to config/credentials.yml.enc. To do so, you should use the following command to create and open credentials.yml.enc:

    EDITOR=[my_fab_editor] rails credentials:edit

This command will open an editor of your choice. You will need to copy the text bellow with your correct info and save. The new file will appear under config/:

    # Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
     secret_key_base: "replace_with_your_secret_key"
    # used in config/initializers/devise.rb
     devise_pepper: "replace_with_your_pepper"
    #used in config/initializers/dragonfly.rb
     dragonfly_secret: "replace_with_your_dregaonfly_secret"
    # used in recaptcha.rb
    recaptcha:
     site_key: 'replace_this_with_your_public_key'
     secret_key: 'replace_this_with_your_private_key'
  • Run bundler and load the latest DB schema

    gem install bundler  # (if bundler is not yet installed)
    
    bundle install
    
    rake db:schema:load
    
    rake db:seed  # (Unless you are migrating data from an old DMPonline system)

    If you are migrating from a legacy DMPonline system follow this guide instead.

  • Install npm (node package manager) and Webpack and then bundle the assets (requires the installation of node.js). To install node dependencies, run the Webpacker rake task:

    rake yarn_install
  • Once webpack is running, open a second window/tab and start the application

    rails server
  • Verify that the site is running properly by going to http://localhost:3000 .

  • Login as the default administrator: 'super_admin@example.com' - 'password123'.

Post Installation

You should perform the following tasks prior to deploying the system on a server that is accessible to the web:

  • Delete the users included in the seeds.rb file (e.g. super_admin@example.com) or at least change their passwords.

  • Make sure you change Rails.application.routes.default_url_options[:host] = "example.org" (line 100) at `config/environments/production.rb

  • Make sure you have created credentials file for your config/credentials.yml.enc file (see instructions above).

  • Update the site's Branding.

  • Designate/create a default template. If a user creates a plan and specifies no research organization and no funder (or a combination that results in no published templates) then their plan is created using a default template. You must define your default template in the DB by setting templates.is_default equal to true.

Clone this wiki locally