Skip to content

Commit 19ecc46

Browse files
authored
Merge pull request #127 from DFEAGILEDEVOPS/chore/234350/release-sfb-deprecation
Release service deprecation message and journey to pre-prod
2 parents 5f657f0 + f06d522 commit 19ecc46

Some content is hidden

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

41 files changed

+24163
-5579
lines changed

README.md

+28-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# Schools Financial Benchmarking
22

3-
[![Build Status](https://agilefactory.visualstudio.com/Financial%20Benchmarking/_apis/build/status/Web%20App/Schools.Financial.Benchmarking)](https://agilefactory.visualstudio.com/Financial%20Benchmarking/_build?definitionId=471)
3+
> ⚠️ This service is no longer being actively maintained and will be superseded by [DFE-Digital/education-benchmarking-and-insights](https://github.com/DFE-Digital/education-benchmarking-and-insights) in due course.
4+
5+
[![Build Status](https://agilefactory.visualstudio.com/Financial%20Benchmarking/_apis/build/status/Web%20App/Schools.Financial.Benchmarking)](https://agilefactory.visualstudio.com/Financial%20Benchmarking/_build?definitionId=471)
46
[![GitHub release (latest by date)](https://agilefactory.vsrm.visualstudio.com/_apis/public/Release/badge/fc33e3f0-e73b-466d-837a-10cad68c664e/4/14)](https://agilefactory.visualstudio.com/Financial%20Benchmarking/_release?definitionId=4)
57

68
## Introduction
9+
710
This application is build using ASP.NET MVC with .Net Framework v4.7 referencing a CosmosDB database NoSQL management system hosted on Microsoft Azure.
811

912
## Database Dependencies
@@ -24,14 +27,16 @@ The following tools may be installed directly on Windows, or via Chocolatey. [Ch
2427
1. [Visual Studio 2019 Build Tools](https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads)
2528
1. [Python 3.7](https://www.python.org/downloads/release/python-379/)
2629

30+
Developers may also find it useful to [exclude certain paths from Windows Defender](https://gist.github.com/Braytiner/be2497d1a06f5a9d943dc7760693d460) in the case of local performance issues.
31+
2732
### Steps
2833

2934
1. Open web folder: `cd .\Web\SFB.Web.UI\`
30-
1. Install correct `node` version: `nvm install 16.20.2`
31-
1. Set `node` version: `nvm use 16.20.2`
35+
1. Install correct `node` version: `nvm install 18.12.0`
36+
1. Set `node` version: `nvm use 18.12.0`
3237
1. Install `grunt` globally: `npm i grunt -g`
3338
1. Install `node-gyp` globally: `npm i node-gyp -g`
34-
1. Install `node-sass` globally: `npm i node-sass -g`
39+
1. Install `sass` globally: `npm i sass -g`
3540
1. Install deps: `npm i`
3641
1. Build assets: `npm run build:newAndLegacyDev`
3742

@@ -104,7 +109,7 @@ The following `appSettings.config` file is needed in the root of `.\Web\SFB.Web.
104109
<add key="SelfAssessmentUrl" value="http://localhost:4200/self-assessment"/>
105110
<add key="cookieDomain" value="localhost"/>
106111
<add key="emCollection" value="20210318000000-EM-2021-2022"/>
107-
<add key="trustHistoryCollection" value="20210713-TrustHistory-2021-2022"/>
112+
<add key="trustHistoryCollection" value="TrustHistory-20230831"/>
108113
<add key="SfbApiUrl" value="localhost:44383"/>
109114
<add key="Feature-RevisedSchoolPage-enabled" value="True"/>
110115
<add key="UnderReviewSchools" value="138492"/>
@@ -114,3 +119,21 @@ The following `appSettings.config` file is needed in the root of `.\Web\SFB.Web.
114119
<add key="CosmosConnectionMode" value="Gateway" />
115120
</appSettings>
116121
```
122+
123+
### `DeprecationInformation` feature
124+
125+
Additional configuration may also be included in `appSettings.config` to manage the service deprecation content. These should also be set as required on deployed app services.
126+
127+
```xml
128+
<?xml version="1.0" encoding="UTF-8"?>
129+
<appSettings>
130+
<!-- ... -->
131+
<add key="DeprecationInformation:Enabled" value="true" />
132+
<add key="DeprecationInformation:Title" value="Schools financial benchmarking will no longer be updated with new data" />
133+
<add key="DeprecationInformation:Body" value="Find the latest data on the new [Financial Benchmarking and Insights Tool](https://financial-benchmarking-and-insights-tool.education.gov.uk/){.govuk-notification-banner__link}.\nThis will include 2023-24 data for maintained schools.\n\nThis service will include all previous financial data available too." />
134+
<add key="DeprecationInformation:NewServiceUrl" value="https://financial-benchmarking-and-insights-tool.education.gov.uk/" />
135+
<add key="DeprecationInformation:OldServiceLinkText" value="Continue to schools financial benchmarking (legacy service)" />
136+
</appSettings>
137+
```
138+
139+
> 💡 The `DeprecationInformation:Body` value is [CommonMark](https://spec.commonmark.org/) markdown with the addition of [GenericAttributes](https://github.com/xoofx/markdig/blob/master/src/Markdig.Tests/Specs/GenericAttributesSpecs.md) to help manage GDS styles.

Web/SFB.Web.UI.UnitTests/SFB.Web.UnitTests.csproj

+94-86
Large diffs are not rendered by default.

Web/SFB.Web.UI.UnitTests/SchoolSearchControllerUnitTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ public async Task SearchActionRunsAndReturnsTheOnlyLaSuggestionResultIfSearchByL
282282

283283

284284
[Test]
285-
public async Task SearchActionReturnsHomeViewIfNotValid()
285+
public async Task SearchActionReturnsHomeSearchViewIfNotValid()
286286
{
287287
var controller = new SchoolSearchController(_mockLaService.Object, _mockLaSearchService.Object, _mockLocationSearchService.Object,
288288
_mockFilterBuilder.Object, _valService, _mockContextDataService.Object, _mockSchoolSearchService.Object,
@@ -293,7 +293,7 @@ public async Task SearchActionReturnsHomeViewIfNotValid()
293293
var result = await controller.Search("" , SearchTypes.SEARCH_BY_NAME_ID, null, null, null, null, null, false, null, 0);
294294

295295
Assert.IsNotNull(result);
296-
Assert.AreEqual("../home/index", (result as ViewResult).ViewName);
296+
Assert.AreEqual("../home/search", (result as ViewResult).ViewName);
297297
}
298298

299299
[Test]

Web/SFB.Web.UI.UnitTests/app.config

+36-16
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
55
<dependentAssembly>
66
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
7-
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
7+
<bindingRedirect oldVersion="0.0.0.0-5.3.0.0" newVersion="5.3.0.0" />
88
</dependentAssembly>
99
<dependentAssembly>
1010
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -28,7 +28,7 @@
2828
</dependentAssembly>
2929
<dependentAssembly>
3030
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
31-
<bindingRedirect oldVersion="0.0.0.0-5.1.2.0" newVersion="5.1.2.0" />
31+
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0" />
3232
</dependentAssembly>
3333
<dependentAssembly>
3434
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -40,7 +40,7 @@
4040
</dependentAssembly>
4141
<dependentAssembly>
4242
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
43-
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
43+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
4444
</dependentAssembly>
4545
<dependentAssembly>
4646
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -87,23 +87,23 @@
8787
</dependentAssembly>
8888
<dependentAssembly>
8989
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
90-
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
90+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.3" newVersion="6.0.0.3" />
9191
</dependentAssembly>
9292
<dependentAssembly>
9393
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
94-
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
94+
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
9595
</dependentAssembly>
9696
<dependentAssembly>
9797
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
98-
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
98+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
9999
</dependentAssembly>
100100
<dependentAssembly>
101101
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
102-
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
102+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
103103
</dependentAssembly>
104104
<dependentAssembly>
105105
<assemblyIdentity name="Microsoft.Spatial" publicKeyToken="31bf3856ad364e35" culture="neutral" />
106-
<bindingRedirect oldVersion="0.0.0.0-7.6.4.0" newVersion="7.6.4.0" />
106+
<bindingRedirect oldVersion="0.0.0.0-7.21.4.0" newVersion="7.21.4.0" />
107107
</dependentAssembly>
108108
<dependentAssembly>
109109
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -115,7 +115,7 @@
115115
</dependentAssembly>
116116
<dependentAssembly>
117117
<assemblyIdentity name="Microsoft.AspNetCore.Http.Features" publicKeyToken="adb9793829ddae60" culture="neutral" />
118-
<bindingRedirect oldVersion="0.0.0.0-3.1.3.0" newVersion="3.1.3.0" />
118+
<bindingRedirect oldVersion="0.0.0.0-3.1.32.0" newVersion="3.1.32.0" />
119119
</dependentAssembly>
120120
<dependentAssembly>
121121
<assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
@@ -127,7 +127,7 @@
127127
</dependentAssembly>
128128
<dependentAssembly>
129129
<assemblyIdentity name="Microsoft.Extensions.ObjectPool" publicKeyToken="adb9793829ddae60" culture="neutral" />
130-
<bindingRedirect oldVersion="0.0.0.0-3.1.3.0" newVersion="3.1.3.0" />
130+
<bindingRedirect oldVersion="0.0.0.0-3.1.32.0" newVersion="3.1.32.0" />
131131
</dependentAssembly>
132132
<dependentAssembly>
133133
<assemblyIdentity name="Microsoft.AI.DependencyCollector" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -139,32 +139,52 @@
139139
</dependentAssembly>
140140
<dependentAssembly>
141141
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
142-
<bindingRedirect oldVersion="0.0.0.0-108.0.3.0" newVersion="108.0.3.0" />
142+
<bindingRedirect oldVersion="0.0.0.0-112.1.0.0" newVersion="112.1.0.0" />
143143
</dependentAssembly>
144144
<dependentAssembly>
145145
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
146-
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
146+
<bindingRedirect oldVersion="0.0.0.0-8.0.0.5" newVersion="8.0.0.5" />
147147
</dependentAssembly>
148148
<dependentAssembly>
149149
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
150-
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
150+
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
151151
</dependentAssembly>
152152
<dependentAssembly>
153153
<assemblyIdentity name="GovukNotify" publicKeyToken="null" culture="neutral" />
154-
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
154+
<bindingRedirect oldVersion="0.0.0.0-6.1.0.0" newVersion="6.1.0.0" />
155155
</dependentAssembly>
156156
<dependentAssembly>
157157
<assemblyIdentity name="Microsoft.Azure.Cosmos.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
158-
<bindingRedirect oldVersion="0.0.0.0-3.38.1.0" newVersion="3.38.1.0" />
158+
<bindingRedirect oldVersion="0.0.0.0-3.44.1.0" newVersion="3.44.1.0" />
159159
</dependentAssembly>
160160
<dependentAssembly>
161161
<assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" />
162-
<bindingRedirect oldVersion="0.0.0.0-1.19.0.0" newVersion="1.19.0.0" />
162+
<bindingRedirect oldVersion="0.0.0.0-1.44.1.0" newVersion="1.44.1.0" />
163163
</dependentAssembly>
164164
<dependentAssembly>
165165
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
166166
<bindingRedirect oldVersion="0.0.0.0-6.0.0.4" newVersion="6.0.0.4" />
167167
</dependentAssembly>
168+
<dependentAssembly>
169+
<assemblyIdentity name="Fare" publicKeyToken="ea68d375bf33a7c8" culture="neutral" />
170+
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
171+
</dependentAssembly>
172+
<dependentAssembly>
173+
<assemblyIdentity name="System.Memory.Data" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
174+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
175+
</dependentAssembly>
176+
<dependentAssembly>
177+
<assemblyIdentity name="System.ClientModel" publicKeyToken="92742159e12e44c8" culture="neutral" />
178+
<bindingRedirect oldVersion="0.0.0.0-1.2.1.0" newVersion="1.2.1.0" />
179+
</dependentAssembly>
180+
<dependentAssembly>
181+
<assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" culture="neutral" />
182+
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
183+
</dependentAssembly>
184+
<dependentAssembly>
185+
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
186+
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
187+
</dependentAssembly>
168188
</assemblyBinding>
169189
</runtime>
170190
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup></configuration>

0 commit comments

Comments
 (0)