README.md in curate-0.6.3 vs README.md in curate-0.6.4
- old
+ new
@@ -5,29 +5,26 @@
* [Starting a new Curate-based Rails application](#starting-a-new-curate-based-application)
* [or install by hand](#or-install-by-hand)
* [Developing and contributing for the Curate gem](#developing-and-contributing-for-the-curate-gem)
* [Prerequisites](#prerequisites)
- * [Clone the Curate repository](#clone-the-repo)
+ * [Clone the Curate repository](#clone-the-curate-repository)
* [Jetty](#jetty)
* [Running the specs](#running-the-specs)
* [All of them](#all-of-them)
* [Some of them](#some-of-them)
* [With Zeus](#with-zeus)
* [Contributing back](#contributing-back)
- * [Coding Guidelines](#coding-guidelines)
- * [Writing Your Code](#writing-your-code)
- * [Ruby File Structure](#ruby-file-structure)
- * [Source Control Guidelines](#source-control-guidelines)
* [Working on Curate while working on my Application](#working-on-curate-while-working-on-my-application)
+* [Integration with CAS, LDAP, Shibboleth](#integration-with-cas-ldap-shibboleth)
* [Standing up your Curate-based Rails application in Production](#standing-up-your-curate-based-rails-application-in-production)
# Starting a New Curate Based Application
When you generate your new Rails application, you can use Curate's application template:
```bash
-$ rails new my_curate_application -m https://raw.github.com/ndlib/curate/master/lib/generators/curate/application_template.rb
+$ rails new my_curate_application -m https://raw.github.com/projecthydra/curate/master/lib/generators/curate/application_template.rb
```
## Or Install By Hand
Add the following line to your application's Gemfile:
@@ -81,91 +78,47 @@
### All of Them
1. Make sure jetty is running (`rake jetty:start`); It will take a bit to spin up jetty.
1. Make sure you have a dummy app ‡
- 1. Run `rake regenerate` build the to get a clean app ./spec/dummy
+ 1. Run `rake regenerate` to build a clean app in ./spec/dummy
1. Then run `rake spec`; The tests will take quite a while ‡‡
‡ - A Rails engine requires a Rails application to run.
-The dummy app is an generated application inside Curate in the `./spec/internal` directory
+The dummy app is a generated application inside Curate in the `./spec/internal` directory
‡‡ - Slow tests are a big problem and we are working on speeding them up, but its complicated.
### Some of Them
In some cases you want to know the results of a single test. Here's how you do it.
1. Make sure jetty is running (`rake jetty:start`); It will take a bit to spin up jetty.
1. Make sure you have a dummy app ‡
- 1. Run `rake regenerate` build the to get a clean app ./spec/dummy
+ 1. Run `rake regenerate` to build a clean app in ./spec/dummy
1. Then run `BUNDLE_GEMFILE=spec/internal/Gemfile bundle exec rspec path/to/spec.rb:LINE` ‡
‡ - With Curate being an Engine we need to point to the Dummy Application's Gemfile.
In full Rails applications you can normally run the following `rspec path/to/spec.rb:LINE`
### With Zeus
-> [Zeus](https://github.com/burke/zeus) preloads your Rails app so that your normal development tasks such as console, server, generate, and specs/tests take less than one second. ‡
+> [Zeus](https://github.com/burke/zeus) pre-loads your Rails app so that your normal development tasks such as console, server, generate, and specs/tests take less than one second. ‡
1. In terminal window #1 run `zeus start`
1. In terminal window #2, once Zeus is started: run `zeus rake spec` for all tests; or `zeus test path/to/spec.rb:LINE` for one
‡ - Loading the environment to run your tests takes less than a second. So running an individual test will take less time.
## Contributing Back
-There is an existing [CONTRIBUTING.md](./CONTRIBUTING.md) document which is currently under review.
+If you are interested in helping us make Curate better, please take a look at our [Contributing resources and guidelines](./CONTRIBUTING.md).
-### Coding Guidelines
-
-The [Ruby Style Guide][1] is an excellent resource for how to craft your Ruby code, in particular the [Naming section][2].
-
-**Can I break these guidelines?** Yes. But you may need to convince the person merging your changes.
-
-#### Writing Your Code
-
-We are going to do our best to follow [Sandi Metz' Rules for Developers][3]
-
-> Here are the rules:
->
-> * Classes can be no longer than one hundred lines of code.
-> * Methods can be no longer than five lines of code.
-> * Pass no more than four parameters into a method. Hash options are parameters.
-> * Controllers can instantiate only one object. Therefore, views can only know about one instance variable and views should only send messages to that object (@object.collaborator.value is not allowed).
-
-#### Ruby File Structure
-
-* Use soft-tabs with a two space indent.
-* Never leave trailing whitespace (unless it is meaningful in the language)
-* End each file with a blank newline.
-* Please do your best to keep lines to 80 characters or fewer.
-
-### Source Control Guidelines
-
-*This is a placeholder for things to come*
-
-[Processing JIRA issues with commit messages](https://confluence.atlassian.com/display/BITBUCKET/Processing+JIRA+issues+with+commit+messages)
-
-```
-First line is 50 characters or less
-
-Description of work done; wrap at 72 characters.
-
-HYDRASIR-123 #close Any comment to post to JIRA
-```
-
-Make sure your JIRA email matches your Git config email (`~/.gitconfig`)
-
-[1]:https://github.com/bbatsov/ruby-style-guide "Ruby Style Guide"
-[2]:https://github.com/bbatsov/ruby-style-guide#naming "Ruby Style Guide - Naming"
-[3]:http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers "Sandi Metz' Rules for Developers"
-
# Working on Curate while working on my Application
Assuming you are wanting to work on your Curate-based application and make modifications to the Curate gem, follow these instructions.
-Replace the folliwing line in the Gemfile of your Curate-based application (see [Starting a New Curate Based Application](#starting-a-new-curate-based-application)):
+Replace the following line in the Gemfile of your Curate-based application (see [Starting a New Curate Based Application](#starting-a-new-curate-based-application)):
```ruby
gem 'curate' ...
```
@@ -178,9 +131,19 @@
[More information about Gemfile management at Bundler.io](http://bundler.io/v1.5/gemfile.html)
You can then do concurrent development on both your clone of the Curate gem and your Curate-based application.
**NOTE: Any changes you make in the Curate gem will likely require you to restart your web-server.**
+
+# Integration with CAS, LDAP, Shibboleth
+
+For integration with CAS, refer: https://github.com/nbudin/devise_cas_authenticatable
+
+For integration with LDAP, refer: https://github.com/cschiewek/devise_ldap_authenticatable
+
+For integration with Shibboleth, refer: https://github.com/jgeorge300/devise_shibboleth_authenticatable
+
+For integration with multiple authentication systems (and for twitter, facebook, etc.), consider using OmniAuth: https://github.com/intridea/omniauth
# Standing up your Curate-based Rails application in Production
We are working on this and have more to come.