-
Notifications
You must be signed in to change notification settings - Fork 2
Contributing
So you want to contribute code to NYU's Hydra instance? Awesome! We encourage the following for getting enhancements/fixed incorporated into Hydra-NYU.
- Browse the source
- Report bugs on GitHub Issues
- Fork the repo and submit a pull request on GitHub, bonus points for increasing the testing coverage
We want our code to conform to a particular style so that developers can easily understand, review, and work with/on each other's code. We follow this Ruby Style Guide.
We
love
tests.
Seriously.
Please make sure you have tests to accompany your code changes.
A pull request with just a failing test is lovely.
A pull request with just code changes and no tests is whatever the opposite of lovely is.
Tests are in spec
and features
.
For testing frameworks, we use the RSpec and Cucumber.
For deterministic HTTP testing we use VCR.
Just a development environment currently. Not anywhere near production ready.
We use Jenkins and Capistrano to deploy our code, so once your pull request has been merged, the changes will be pushed automatically to the appropriate environment. For quick deployment we have a set of shared deployment scripts.
This being a rails application, UI components are in app/views
and app/assets
. At the NYU Division of Libraries we have a
shared set of layouts and assets that we leverage across applications so
you may want to start there.
Keep in mind we use Twitter's Bootstrap front-end framework to, well, bootstrap our UI.
We use Hydra which in turn uses Blacklight functionality for searching Solr. Blacklight allows for complete overrides of controllers and helper functions, so the best way to change or customize search functionality is by familiarizing yourself with the original Blacklight function and tweak from there.