Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

So, you want to help develop the technologies used in the Hydra-in-a-Box project? Great! If you haven't done so before, you may have some questions about how to get started. This FAQ collections questions commonly asked by developers new to the Hydra-in-a-Box project or new to Hydra Samvera community work cycles.

Prerequisites

...

  • Appropriate GitHub repositories (see below)
  • Planning documentation on the Hydra Samvera wiki and Google Docs
  • Hydra Samvera Slack

If you don't yet have accounts for Google Docs, the DuraSpace wiki, or GitHub, you'll want to sign up for each.

...

Hyku (the Hydra-in-a-Box repository application) is built on Hydra Samvera community components. Most of the work that we do in our sprints are on Hyku and Hyrax, though we also touch a number of other Hydra Samvera components when necessary. Hyku is a Rails application based on Hyrax.

Development Tools and Practices

Since Hyku is based on Hyrax, development of Hyku tends to follow the same practices and use the same tools as Hyrax. A good starting point would be to review the Sufia Hyrax Development Guide (will be moved to Hyrax wiki in the coming weeks) and the Hyrax README. These will give you an idea of what tools and dependencies you'll need installed and help you get started running the test suite. Note that there are differences between working with a Rails engine like Hyrax and working with an application like Hyku.

There is also an in-progress Hydra Samvera Technical On-Boarding document, which provides details about how the Hydra Samvera community communicates, how we track issues, code guidelines, and the code review process.

...

  1. Hyku is a Hyrax-based application, so you'll need to start out by ensuring you have all the necessary Hyrax pre-requisites installed. Generally speaking, you should also review the Hyrax installation/
  2. Install the Hyku codebase itself (e.g. by cloning https://github.com/projecthydrasamvera-labs/hyku)
  3. Install all gem dependencies: bundle install
  4. Create your database (should be PostgreSQL as noted above): rake db:create
  5. Run all database migrations: rake db:migrate
  6. Start servers (which starts Solr, Fedora, and Rails together): rake hydra:server
    1. Alternatively, if you are doing a lot of development, you may find it easier to start/stop each of these individually by running each of the following in different terminals:
      1. solr_wrapper  (Starts Solr on port 8983)
      2. fcrepo_wrapper (Starts Fedora on port 8984)
      3. rails server (Starts Hyku on Hydra on port 3000)
  7. Ensure you have loaded the Hyrax Workflows and created the default Hyrax Administrative Set. Currently, these are not run automatically, and the default AdminSet is required before you can add Works.
    1. rake hyrax:workflow:load
    2. rake hyrax:default_admin_set:create
  8. Access Hyku by visiting http://localhost:3000/ in a web-browser.
    1. To create an initial administrator account, simply register with a new login/password.

...

  1. First, start up Solr and Fedora per the Sufia Hyrax Development Guide (soon to be moved to Hyrax wiki). Keep in mind they both should be running on different ports than you normally use for development:
    1. Start Solr on port 8985 for testing, for example: solr_wrapper -v -d solr/config/ -n hydra-test -p 8985
    2. Start Fedora on port 8986 for testing, for example: fcrepo_wrapper -v -p 8986 --no-jms
  2. Then you should be able to run the test suite.
    1. For example, to run all tests use: rake spec

...

Generally speaking, we follow the guidelines / recommendations in Hydra samvera Technical On-Boarding regarding both Code Guidelines and Code Reviews.

...

https://wiki.duraspace.org/display/hydrasamvera/Hydra-in-a-Box+Project+Team

...