Skip to content

Commit 8f6d650

Browse files
authored
Merge pull request #374 from MCLD/release/4.1.0
Release v4.1.0
2 parents 3dac6a6 + 46c36b3 commit 8f6d650

File tree

6,173 files changed

+241888
-10252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,173 files changed

+241888
-10252
lines changed

.travis.yml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,14 @@
11
# Great Reading Adventure Travis CI Docker build file
22

33
os: linux
4-
dist: trusty
5-
sudo: required
4+
dist: xenial
65

76
language: bash
87

98
git:
10-
depth: 3
9+
depth: 1
1110

1211
services:
1312
- docker
1413

15-
script: bash docker-build.sh
16-
17-
after_success:
18-
- |
19-
if [[ "$DOCKER_USERNAME" != "" ]] && [[ "$DOCKER_PASSWORD" != "" ]]; then
20-
if [[ $TRAVIS_BRANCH == "master" ]]; then
21-
echo "Pushing docker image mcld/gra:latest to Docker Hub"
22-
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
23-
docker push mcld/gra:latest
24-
docker logout
25-
elif [[ $TRAVIS_BRANCH == "develop" || $TRAVIS_BRANCH =~ (v[0-9]+\.[0-9]+\.[0-9]+.*) ]]; then
26-
echo "Pushing docker image mcld/gra:$TRAVIS_BRANCH to Docker Hub"
27-
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
28-
docker push mcld/gra:$TRAVIS_BRANCH
29-
docker logout
30-
fi
31-
fi
14+
script: bash docker-build.bash

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/).
55

6+
## [4.1.0] - 2018-11-30
7+
### Added
8+
- Logging prior to spin-up of Web server (Fix #241)
9+
- Logging when site managers authenticate and when test emails are sent
10+
- Ability for Serilog to output to a SQL Server table
11+
- Application setting to support SQL Server 2008
12+
- Database context pooling
13+
- Request trace identifier to logging
14+
- Reverse proxy address configuration option
15+
- Robots noindex and nofollow to Mission Control pages (to prevent search engine crawling)
16+
17+
### Changed
18+
- Upgrade from ASP.NET Core v1.1 to v2.1
19+
- Upgrade Font Awesome from v4.7.0 to v5.5.0
20+
21+
### Fixed
22+
- Docker builds with Travis CI
23+
- Allow maximum allowable activity to be configured without requiring code changes
24+
25+
### Removed
26+
- Hack to get around Antiforgery issue (Fix #357)
27+
- Structure for having a "no avatars" release build
28+
629
## [4.0.0] - 2018-10-09
730
### Added
831
- Mission Control location list shows a count of related events/community experiences (#322)
@@ -86,6 +109,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
86109
### Added
87110
- Everything! First release of 4.0.
88111

112+
[4.1.0]: https://github.com/mcld/greatreadingadventure/tree/v4.1.0
89113
[4.0.0]: https://github.com/mcld/greatreadingadventure/tree/v4.0.0
90114
[4.0.0-beta2]: https://github.com/mcld/greatreadingadventure/tree/v4.0.0-beta2
91115
[4.0.0-beta1]: https://github.com/mcld/greatreadingadventure/tree/v4.0.0-beta1

CREDITS.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ The Great Reading Adventure is open source software developed with the help of [
2222
- [Caris O'Malley](https://www.linkedin.com/in/caris-o-malley-28b5a547) ☆
2323
- Brianna King
2424
- Danette Barton
25-
- [Daniel Messer](http://cyberpunklibrarian.com/)
25+
- [Daniel Messer](https://cyberpunklibrarian.com/)
2626
- [Erin MacFarlane](https://www.linkedin.com/in/erin-macfarlane-407646118)
2727
- [Heather Hershey](https://www.linkedin.com/in/heatherhershey)
2828
- [Holly Brennan](https://www.linkedin.com/in/holly-brennan-76450270)
2929
- [Lindsey Powers](https://www.linkedin.com/in/lindsey-powers-a3422730)
3030
- [Lucas Gonzalez](http://diffracted.com/)
31+
- [Paula Wilson](https://www.linkedin.com/in/apaulawilson)
32+
- [Tammy Gross](https://www.tamdoll.com/)
3133
- [Tara Carpenter](http://www.taracarpenter.com/)
3234
- [Tony Apodaca](https://antonioramonapodaca.wordpress.com/)
3335

@@ -37,7 +39,7 @@ The Great Reading Adventure is open source software developed with the help of [
3739
- [AppVeyor](http://www.appveyor.com/) - continuous integration, ensuring code check-ins don't break Windows builds
3840
- [Codacy](https://www.codacy.com/) - automated code reviews and code analytics
3941
- [Discourse](https://www.discourse.org/) - powers [forum.greatreadingadventure.com](http://forums.greatreadingadventure.com)
40-
- [Docker](https://www.docker.com/) - containerized deployment
42+
- [Docker](https://www.docker.com/) - containerized builds and deployment
4143
- [Eleven Giants](http://www.elevengiants.com/) - helped with extraction of avatars from the Glitch public domain game art
4244
- [Favicon Generator. For real.](https://realfavicongenerator.net/) - generate icons for many platforms
4345
- [GitHub](https://github.com/) - hosts the source code, issue tracker, Wiki, [www.greatreadingadventure.com](http://www.greatreadingadventure.com/) and more
@@ -78,6 +80,10 @@ The Great Reading Adventure uses open source components. You can find informatio
7880
- JQuery multiselect plugin based on Twitter Bootstrap [Bootstrap-Multiselect](http://davidstutz.github.io/bootstrap-multiselect/)
7981
- Source on GitHub: [davidstutz/bootstrap-multiselect](https://github.com/davidstutz/bootstrap-multiselect) - [Apache License, Version 2.0 & BSD-3-Clause](https://github.com/davidstutz/bootstrap-multiselect/blob/master/LICENSE.md)
8082

83+
### CommandLineUtils
84+
- Command line parsing and utilities for .NET Core and .NET Framework
85+
- Source on GitHub: [natemcmaster/CommandLineUtils](https://github.com/natemcmaster/CommandLineUtils) - [Apache License, Version 2.0](https://github.com/natemcmaster/CommandLineUtils/blob/master/LICENSE.txt)
86+
8187
### CommonMark.js
8288
- [CommonMark](http://commonmark.org/) parser and renderer in JavaScript
8389
- Source on GitHub: [jgm/commonmark.js](https://github.com/jgm/commonmark.js) - [MIT License](https://github.com/jgm/commonmark.js/blob/master/LICENSE)

Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
# Get build image
2-
FROM microsoft/aspnetcore-build:1.1 AS dotnet-sdk
2+
FROM microsoft/dotnet:2.1-sdk AS dotnet-sdk
33
WORKDIR /app
44

55
# Copy source
66
COPY . ./
77

8-
# Restore
9-
RUN dotnet restore
10-
118
# Publish
129
RUN dotnet publish -c Release -o "/app/publish/"
1310

1411
# Get runtime image
15-
FROM microsoft/aspnetcore:1.1
12+
FROM microsoft/dotnet:2.1-aspnetcore-runtime
1613
WORKDIR /app
1714

1815
# Bring in metadata

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# The Great Reading Adventure
22
The Great Reading Adventure is a robust, open source software designed to manage library reading programs. The GRA is free to use, modify, and share. Check out [www.greatreadingadventure.com](http://www.greatreadingadventure.com/) for an overview of its functionality and capabilities.
33

4-
You can view the latest [release notes](https://github.com/MCLD/greatreadingadventure/releases/latest) or **[download the latest version (4.0.0)](https://github.com/MCLD/greatreadingadventure/releases/download/v4.0.0/GreatReadingAdventure-4.0.0.zip)**.
4+
You can view the latest [release notes](https://github.com/MCLD/greatreadingadventure/releases/latest) or **[download the latest version (4.1.0)](https://github.com/MCLD/greatreadingadventure/releases/download/v4.1.0/GreatReadingAdventure-4.1.0.zip)**.
55

6-
**Version 4 of The Great Reading Adventure has been rewritten using the [Microsoft .NET Core v1.1 framework](https://en.wikipedia.org/wiki/.NET_Framework#.NET_Core).** This version of the GRA is cross-platform (working in Linux, macOS, and Windows). In order to run the current version your server must have the appropriate [.NET Core 1.1.x Runtime](https://www.microsoft.com/net/download/all) installed. If you do not wish to use install the .NET Core runtime, you can use our prior release: [The Great Reading Adventure v3.1.0](https://github.com/MCLD/greatreadingadventure/releases/tag/v3.1.0).
6+
**Version 4 of The Great Reading Adventure has been rewritten using the [Microsoft .NET Core framework](https://en.wikipedia.org/wiki/.NET_Framework#.NET_Core).** This version of the GRA is cross-platform (working in Linux, macOS, and Windows). For information on installing this version please review the [System requirements](http://manual.greatreadingadventure.com/en/latest/installation/system-requirements/) in the manual. If you do not wish to use the .NET Core runtime, you can use a prior release: [The Great Reading Adventure v3.1.0](https://github.com/MCLD/greatreadingadventure/releases/tag/v3.1.0).
77

88
## Stuck? Need help?
99
You can visit the [Great Reading Adventure Forum](http://forum.greatreadingadventure.com/) for the following:
@@ -14,14 +14,12 @@ You can visit the [Great Reading Adventure Forum](http://forum.greatreadingadven
1414
* [Suggesting new features](http://forum.greatreadingadventure.com/c/feature-requests)
1515

1616
## Development
17-
The [`master`](https://github.com/mcld/greatreadingadventure/tree/master) branch contains the latest release, active development occurs on the [`develop`](https://github.com/mcld/greatreadingadventure/tree/develop) branch.
17+
The [`master`](https://github.com/mcld/greatreadingadventure/tree/master) branch contains the latest release, active development occurs on the [`develop`](https://github.com/mcld/greatreadingadventure/tree/develop) branch. Developer documentation can be found [in the project](dev/); developers can be reached [on the forums](http://forum.greatreadingadventure.com/).
1818

1919
| Windows build | Linux build | Codacy | Documentation |
2020
| --- | --- | --- | --- |
2121
| [![Build Status: AppVeyor](https://ci.appveyor.com/api/projects/status/635iqqcivuq5uvx0/branch/develop?svg=true)](https://ci.appveyor.com/project/haraldnagel/greatreadingadventure) | [![Build Status: Travis CI](https://travis-ci.org/MCLD/greatreadingadventure.svg?branch=develop)](https://travis-ci.org/MCLD/greatreadingadventure) | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6a908113838c4b7f880ae2bebc16cf3e)](https://www.codacy.com/app/mcld/greatreadingadventure?utm_source=github.com&utm_medium=referral&utm_content=MCLD/greatreadingadventure&utm_campaign=Badge_Grade) | [![Documentation status](https://readthedocs.org/projects/great-reading-adventure/badge/?version=latest)](https://readthedocs.org/projects/great-reading-adventure/) |
2222

23-
Want to help us develop The Great Reading Adventure software? Some developer documentation can be found [in the project](dev/) and the development team can always be reached [on the forums](http://forum.greatreadingadventure.com/).
24-
2523
## License
2624
The Great Reading Adventure source code is distributed under [The MIT License](http://opensource.org/licenses/MIT). For other included packages, please see the [CREDITS.md](CREDITS.md) file.
2725

appveyor.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
os: Visual Studio 2017
2-
before_build:
3-
- ps: dotnet --info
4-
- ps: dotnet restore
5-
build_script:
6-
- ps: dotnet build
7-
1+
image: ubuntu
2+
stack: docker
83
test: off
9-
version: 4.0.0-beta2.{build}
4+
version: 4.1.0-{build}
5+
6+
build_script:
7+
- bash docker-build.bash

contributing.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@
1919
"subject_must_be_in_tense": "imperative",
2020
"subject_must_not_end_with_dot": true,
2121

22-
"body_cannot_be_empty": true,
22+
"body_cannot_be_empty": true
2323
},
2424
"issue": {
2525
"subject_cannot_be_empty": true,
2626
"subject_must_be_longer_than": 4,
2727
"subject_must_be_shorter_than": 101,
2828
"subject_must_not_end_with_dot": true,
29-
30-
"body_cannot_be_empty": true,
29+
"body_cannot_be_empty": true
3130
}
3231
}

dev/Dockerfile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
# Get build image
2-
FROM microsoft/aspnetcore-build:1.1 AS dotnet-sdk
2+
FROM microsoft/dotnet:2.1-sdk AS dotnet-sdk
33
WORKDIR /app
44

55
# Copy source
66
COPY . ./
77

8-
# Restore
9-
RUN dotnet restore
10-
118
# Add database migrations
129
WORKDIR /app/src/GRA.Data.SqlServer
1310
RUN dotnet ef migrations add develop
@@ -20,7 +17,7 @@ WORKDIR /app
2017
RUN dotnet publish -c Release -o "/app/publish/"
2118

2219
# Get runtime image
23-
FROM microsoft/aspnetcore:1.1
20+
FROM microsoft/dotnet:2.1-aspnetcore-runtime
2421
WORKDIR /app
2522

2623
# Bring in metadata

dev/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
GRA code should successfully compile using the free [Visual Studio Community](https://www.visualstudio.com/vs/community/) edition. External dependencies are managed with NuGet and should be automatically downloaded upon the first build.
66

7+
Version 4.0.0 (the last major release) was developed with the ASP.NET Core v1.1 runtime; version 4.1.0 is under development with the ASP.NET Core 2.1 runtime.
8+
79
By default, GRA is configured to use LocalDB as a database for development and testing. While not packaged with Visual Studio Community, it can easily be added by selecting the notification flag in the title bar of Visual Studio and choosing to install the "MS SQL Server Update for database tooling". Alternately, the [SQL Server Data Tools (SSDT)](https://msdn.microsoft.com/en-us/library/hh272686.aspx) package can be installed manually by downloading it from Microsoft.
810

911
If you have any trouble getting the package to build, please submit an [issue](https://github.com/MCLD/greatreadingadventure/issues/new) with details.
@@ -22,7 +24,7 @@ The `master` branch represents the latest release and the `develop` branch conta
2224
- Follow the [initial developer setup](initial-developer-setup.md) guidance.
2325
- Examine guidance for [adding an entity](adding-an-entity.md) if necessary.
2426
- We try to adhere to [domain-driven design](https://en.wikipedia.org/wiki/Domain-driven_design) with varying levels of success.
25-
-
27+
2628
## Design/Architecture
2729

2830
### Back-end software

dev/initial-developer-setup.md

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
- Linux, macOS, Windows: [Visual Studio Code](https://code.visualstudio.com/)
77
- Ensure you [install the C# extension](https://code.visualstudio.com/docs/runtimes/dotnet)
88

9-
*The project has been migrated to use Visual Studio 2017 `.csproj` files and no longer uses the `project.json` project files as in Visual Studio 2015.*
10-
119
## Initial developer setup
1210

1311
#### *Due to changes in the data model during development, the project only ships with database migrations in place for releases. You will need to run the command below if there have been any database changes in the `develop` branch since the last release.*
@@ -16,28 +14,50 @@ The project ships with the Microsoft SQL Server data provider configured. If you
1614

1715
### Database migration
1816

19-
Initial database setup and configuration can be done utilizing the [`dotnet ef`](https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet) command line tool or the [Package Manager Console](https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell). Here are steps for using `dotnet ef`:
17+
Initial database setup and configuration can be done utilizing the [`dotnet ef`](https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet) command line tool or the [Package Manager Console](https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell).
18+
19+
Connection strings for creating migrations are located in the `GRA.Development` namespace and mirror the definitions in the default `appsettings.json` file.
20+
21+
Here are steps for using `dotnet ef`:
2022

2123
1. Navigate to the appropriate project directory for your database provider (e.g. `src/GRA.Data.SqlServer` or `src/GRA.Data.SQLite`).
22-
2. Check if a database migration exists:
24+
2. See a list of existing migrations:
2325

2426
dotnet ef -s ../GRA.Web migrations list
2527

26-
3. If no migrations exist, create one:
28+
3. Add a new migration for development:
2729

2830
dotnet ef -s ../GRA.Web migrations add develop
2931

3032
4. Create or update the database to the migration (necessary for SQLite, possibly not for SQL Server but won't hurt):
3133

3234
dotnet ef -s ../GRA.Web database update
3335

36+
Here are steps for using the Package Manager Console:
37+
38+
1. Choose the appropriate project from the "Default project" drop-down (e.g. `src/GRA.Data.SqlServer` or `src/GRA.Data.SQLite`).
39+
2. Check if a database migration exists by looking for a folder named "Migrations" in the appropriate GRA.Data project.
40+
3. Add a new migration for development:
41+
42+
Add-Migration develop
43+
44+
4. Create or update the database to the migration (necessary for SQLite, possibly not for SQL Server but won't hurt):
45+
46+
Update-Database
47+
48+
Please remove any non-release migrations when contributing code back to the project.
49+
3450
### Configuration
3551

36-
The `GRA.Web` project has the [Secret Manager](https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets#secret-manager) enabled. You may want to issue a command such as:
52+
During development, User Secrets are the easiest way to customize the configuration without the risk of committing sensitive data to a source control repository. One key setting you may want to configure is `GraEmailOverride`. You can do that by right-clicking on the "GRA.Web" project and choosing "Manage User Secrets." Configure the `secrets.json` like this:
3753

38-
dotnet user-secrets set GraEmailOverride your@email.address
54+
```json
55+
{
56+
"GraEmailOverride": "your@email.address"
57+
}
58+
```
3959

40-
To ensure that no errant emails are sent out during development. There are other settings you may want to configure through this manner such as `GraDefaultOutgoingMailHost` and `GraDefaultOutgoingMailPort`. Review `Startup.cs` for more configuration settings.
60+
This will ensure that no errant emails are sent out during development. There are other settings you may want to configure through this manner such as `GraDefaultOutgoingMailHost` and `GraDefaultOutgoingMailPort`. Review [the documentation](http://manual.greatreadingadventure.com/en/latest/technical/appsettings/) for more configuration settings.
4161

4262
### Run the application!
4363

0 commit comments

Comments
 (0)