Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README #2087

Merged
merged 1 commit into from
Feb 24, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 32 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,37 +17,6 @@ or cherokee rose is the <a href="https://georgia.gov/georgia-facts-and-symbols">
</td></tr>
</table>

## Environment variables in development

See the [dotenv sample file](dotenv.sample) for environment variables you may need to set in your development environment.

## Cron jobs in production

There are certain cron jobs that are expected to run in production. These include graduation job,
fixity audit, embargo expiration, and others. We use the `whenever` gem to manage these.
If you need to make changes to the scheduled jobs, please update `config/schedule.rb` and the new crontab should be installed via capistrano when the code is deployed.

Please note that in order to run as expected, the PATH must be defined: run `crontab -e` as the `deploy` user and
ensure these lines are at the top of your cron file:
```
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
```

**Please ensure that any scheduled jobs write to the rails log file so we can track whether they are
running as expected.**

## Suppressing email for bouncing addresses

If an email address is bouncing, or if someone prefers not to receive email notifications,
add the email address to the list in `config/emory/do_not_send.yml`

## Copying embargo notification emails to a staff member

To send a copy of all notification expiration emails to a staff member, add that
person's uid to an environment variable called EMBARGO_NOTIFICATION_CC in the
.env.production file on the production server (other servers are configured not to
send email).

## Developer Setup

Expand All @@ -74,7 +43,7 @@ person's uid to an environment variable called EMBARGO_NOTIFICATION_CC in the
*note:* use ` &` to start in the background, or run redis in a new terminal session
1. Setup environment variables for your development environment:
`cp dotenv.sample .env.development`,
see the [Environment variables in development](#environment-variables-in-development) section for more details
see the [dotenv sample file](dotenv.sample) for environment variables you may need to set in your development environment.
1. Read the section on 'Database Authentication' below and decide if you want to set up your environment for database authentication.
1. Start the demo server in its own terminal session
`bundle exec rake hydra:server`
Expand All @@ -90,7 +59,7 @@ person's uid to an environment variable called EMBARGO_NOTIFICATION_CC in the

## Database Authentication

In production, we use Shibboleth exclusively for user authentication. However, authenticating to Shibboleth from your local development environment might not be feasible. Instead, you'll want to set up local database authentication.
In production, we use Shibboleth exclusively for user authentication. However, authenticating to Shibboleth from your local development environment is not feasible. Instead, you'll want to set up local database authentication.

To set your dev environment for database authentication, you need to set this environment variable:

Expand All @@ -111,3 +80,33 @@ Note: Do *not* run `bin/setup` except the very first time you setup the applicat
1. Update `.github_changelog_generator` file with the version number you're about to release
2. Generate release notes by running: `github_changelog_generator --token $YOUR_GITHUB_TOKEN --max-issues 1`
3. Commit these changes to the repo, and copy-and-paste the release notes from the CHANGELOG.md file.

## Cron jobs in production

There are certain cron jobs that are expected to run in production. These include graduation job,
fixity audit, embargo expiration, and others. We use the `whenever` gem to manage these.
If you need to make changes to the scheduled jobs, please update `config/schedule.rb` and the new crontab should be installed via capistrano when the code is deployed.

Please note that in order to run as expected, the PATH must be defined: run `crontab -e` as the `deploy` user and
ensure these lines are at the top of your cron file:
```
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
```

**Please ensure that any scheduled jobs write to the rails log file so we can track whether they are
running as expected.**

## Suppressing email for bouncing addresses

If an email address is bouncing, or if someone prefers not to receive email notifications,
add the email address to the list in `config/emory/do_not_send.yml`

## Copying embargo notification emails to a staff member

To send a copy of all notification expiration emails to a staff member, add that
person's uid to an environment variable called EMBARGO_NOTIFICATION_CC in the
.env.production file on the production server (other servers are configured not to
send email).