Skip to content
B Alter edited this page Oct 31, 2013 · 2 revisions

So you want to contribute code to FindingAids? Awesome! We encourage the following for getting enhancements/fixed incorporated into FindingAids.

  1. Browse the source
  2. Report bugs on GitHub Issues
  3. Fork the repo and submit a pull request on GitHub, bonus points for increasing the testing coverage

Testing

[We]((https://coveralls.io/r/NYULibraries/findingaids) 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 test. For testing framework, we use the default Rails mechanisms. For deterministic HTTP testing we use VCR.

Environments

Just a development environment currently.

Deploy

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.

Components

There are many different parts to FindingAids, which means plenty of opportunities to contribute to improving the application. The main components are detailed below.

UI

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.

Searching

We use Blacklight functionality for searching WebSolr. 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.

Login

We use a custom extension of Authlogic for PDS at NYU.

Clone this wiki locally