@clickview/ship-it 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/A2/A2 Testing Notes.csv +518 -0
  2. package/dist/A2/Batch.Api.md +37 -0
  3. package/dist/A2/ClickView.Curator.md +17 -0
  4. package/dist/A2/Clients.md +23 -0
  5. package/dist/A2/Discover.Api.md +14 -0
  6. package/dist/A2/FileGenerator.md +8 -0
  7. package/dist/A2/Krakend.md +25 -0
  8. package/dist/A2/Library.Api.md +13 -0
  9. package/dist/A2/Lite.md +27 -0
  10. package/dist/A2/Master.Auth.md +52 -0
  11. package/dist/A2/Objects.Api.md +8 -0
  12. package/dist/A2/Permissions.Api.md +12 -0
  13. package/dist/A2/Release Notes.md +479 -0
  14. package/dist/A2/Search.Api.md +12 -0
  15. package/dist/A2/Subjects.API.md +22 -0
  16. package/dist/A2/Users.Api.md +63 -0
  17. package/dist/A2/clickview.md +83 -0
  18. package/dist/A2/index.app.md +15 -0
  19. package/dist/Z2/Analytics Web.md +7 -0
  20. package/dist/Z2/Batch.Api.md +13 -0
  21. package/dist/Z2/ClickView Online.md +19 -0
  22. package/dist/Z2/ClickView.Cron.md +8 -0
  23. package/dist/Z2/ClickView.Curator.md +39 -0
  24. package/dist/Z2/Clients.md +31 -0
  25. package/dist/Z2/Discover.Api.md +12 -0
  26. package/dist/Z2/Domain.Api.md +31 -0
  27. package/dist/Z2/Image.Api.md +12 -0
  28. package/dist/Z2/Krakend.md +33 -0
  29. package/dist/Z2/LTI.md +8 -0
  30. package/dist/Z2/Launch.Web.md +9 -0
  31. package/dist/Z2/Library Editor.md +7 -0
  32. package/dist/Z2/Library.Api.md +13 -0
  33. package/dist/Z2/Lite.md +32 -0
  34. package/dist/Z2/Master.Auth.md +16 -0
  35. package/dist/Z2/Objects.Api.md +9 -0
  36. package/dist/Z2/Prospect.Api.md +17 -0
  37. package/dist/Z2/RealtimeSalesforceSync.md +19 -0
  38. package/dist/Z2/Release Notes.md +549 -0
  39. package/dist/Z2/Users.Api.md +13 -0
  40. package/dist/Z2/clickview.md +135 -0
  41. package/lib/src/constants/MonorepoPackageJsonFiles.js +2 -1
  42. package/lib/src/constants/ProjectNames.js +1 -0
  43. package/lib/src/constants/TeamCityBuildIDs.js +1 -0
  44. package/lib/src/tasks/InstallPackagesTask.js +3 -1
  45. package/lib/src/tasks/ValidateTask.js +3 -2
  46. package/package.json +1 -1
  47. package/dist/A3/ClickView Online.md +0 -28
  48. package/dist/A3/ClickView.Curator.md +0 -19
  49. package/dist/A3/Clients.md +0 -21
  50. package/dist/A3/Domain.Api.md +0 -15
  51. package/dist/A3/Krakend.md +0 -33
  52. package/dist/A3/Library Editor.md +0 -0
  53. package/dist/A3/Lite.md +0 -35
  54. package/dist/A3/Master.Api.md +0 -10
  55. package/dist/A3/Master.Auth.md +0 -51
  56. package/dist/A3/Release Notes.md +0 -683
  57. package/dist/A3/Subjects.API.md +0 -18
  58. package/dist/A3/Users.Api.md +0 -89
  59. package/dist/A3/clickview.md +0 -325
  60. package/dist/X3/X3 Testing Notes.csv +0 -1222
  61. package/dist/X3/X3 Testing Notes.xlsx +0 -0
  62. package/dist/Z1/Analytics Web.md +0 -0
  63. package/dist/Z1/ClickView Online.md +0 -24
  64. package/dist/Z1/ClickView.Cron.md +0 -8
  65. package/dist/Z1/ClickView.Curator.md +0 -28
  66. package/dist/Z1/ClickView.EmailService.md +0 -17
  67. package/dist/Z1/Clients.md +0 -29
  68. package/dist/Z1/Discover.Api.md +0 -20
  69. package/dist/Z1/Domain.Api.md +0 -34
  70. package/dist/Z1/FileGenerator.md +0 -13
  71. package/dist/Z1/Image.Api.md +0 -14
  72. package/dist/Z1/Krakend.md +0 -8
  73. package/dist/Z1/Library Editor.md +0 -0
  74. package/dist/Z1/Lite.md +0 -47
  75. package/dist/Z1/Master.Auth.md +0 -43
  76. package/dist/Z1/Objects.Api.md +0 -30
  77. package/dist/Z1/Permissions.Api.md +0 -10
  78. package/dist/Z1/Prospect.Api.md +0 -16
  79. package/dist/Z1/RealtimeSalesforceSync.md +0 -16
  80. package/dist/Z1/Release Notes.md +0 -855
  81. package/dist/Z1/Search.Api.md +0 -19
  82. package/dist/Z1/Share.Api.md +0 -12
  83. package/dist/Z1/Ship It.md +0 -23
  84. package/dist/Z1/Subjects.API.md +0 -16
  85. package/dist/Z1/Users.Api.md +0 -26
  86. package/dist/Z1/VideoProcessorService.md +0 -11
  87. package/dist/Z1/Z1 Testing Notes.csv +0 -1079
  88. package/dist/Z1/Z1 Testing Notes.xlsx +0 -0
  89. package/dist/Z1/clickview.md +0 -316
  90. /package/dist/{A3/Analytics Web.md → Z2/Permissions.Api.md} +0 -0
@@ -0,0 +1,27 @@
1
+
2
+ # Dependencies
3
+ - Requires https://gitlab.cvinternal.net/clickview/back-end/clickview.subjects.api/-/merge_requests/193
4
+ - Required by https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3129
5
+
6
+
7
+ # Code changes
8
+ - Re-instate use of `requestUrlPrefix` for passing the region prefix until A3.
9
+
10
+ - Added `PresentationSlugRouteRouteConstraint` to restrict valid requests to a valid subset of values:
11
+ - `"primary", "secondary", "tertiary", "elementary", "middle", "high"`
12
+ - Added `GetRegionCodeByContentRegion` to `PublicService`
13
+ - This is a bit of a :wastebasket: solution, but will allow us to avoid mapping `ContentRegion` to presentation in `Subjects.API`
14
+ - Added new `GetPresentationBySlug` endpoint (`GET presentations/{presentationSlug:presentationSlug}`) to retrieve a presentation by slug
15
+ - Opened up core routes to support a `presentationSlug` prefix
16
+
17
+
18
+ # Testing
19
+ - In NP:
20
+ - Both public and authenticated routes should continue to load as expected (regression test)
21
+
22
+ - In NP:
23
+ - As a public user:
24
+ - All existing page routes should continue be accessible via page-load/bookmarks
25
+ - As an authenticated user:
26
+ - All existing page routes should continue be accessible via page-load/bookmarks
27
+
@@ -0,0 +1,52 @@
1
+
2
+ # Before release
3
+ - Bump user api client to 2.14.0
4
+
5
+
6
+ # Dependencies
7
+ - UserApi A2 release (https://gitlab.cvinternal.net/clickview/back-end/users.api/-/merge_requests/175)
8
+
9
+
10
+ # Customer changes
11
+ * Non educational email will banned for signing up with ClickView
12
+
13
+
14
+ # Code changes
15
+ - All frontend assets have been deleted as they have been moved to monorepo in https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3138
16
+ - Setup package.json to run node scripts to either link assets or copy them into the appropriate folders.
17
+
18
+ - Fix a typo in the list of job titles when signing up in the UK. Fixes INBOX-4776.
19
+
20
+ - Include region info into the js app
21
+
22
+ - General cleanup of view controllers
23
+ - Cleanup `BaseController.CurrentUserId`
24
+ - Remove `AuthConfiguration` from DI and replace with specific option classes
25
+
26
+ - Replace `BaseController.App()` with `BaseController.AppAsync()`
27
+ - Replace `BaseController.AppError()` with `BaseController.AppErrorAsync()`
28
+ - `BaseController.GetAppViewModelAsync` is now async
29
+
30
+ - Updated the logic of `ContinueSignInAsync`
31
+ - Instead of requiring to select the customer if none exists on the partial login, do the usual sign in logic to try and select a customer if one exists
32
+ - This is so we can continue after creating a trial (when the user has no customers and is associated to one during the signup)
33
+
34
+ - Added `/ajax/trails/new` endpoint to create a new trial for the current partial login user
35
+
36
+ * Validate the external user's email and check against the blacklist in prospect api to prevent non educational email to sign up with ClickView
37
+
38
+
39
+ # Testing
40
+ - Running Auth as a monorepo consumer should work as expected.
41
+
42
+
43
+
44
+ - Change change customer from Lite
45
+ - Visiting `/launch` will redirect the user to `launch.clickview.net` (or `the staging version in staging)
46
+
47
+
48
+ - Login with a user that has many customers. They should be able to select one and login with that selected customer
49
+
50
+
51
+ * Go to lite and login and choose `Sign in with Google` (provided `emulateUSA=true` is set in the query string and `features.social-signup` is set to `true` in cookie) and sign in with a gmail account, an error message `It looks like the email you tried does not work for signing in to ClickView. You can try signing in with your school account.` should be shown.
52
+
@@ -0,0 +1,8 @@
1
+
2
+ # Code changes
3
+ * The VA timeout was reverted because of the memory issues that the Objects API was having. Since we have found the cause of the memory issue (new relic agent), we can deploy this change. Fixes INBOX-4187
4
+
5
+
6
+ # Testing
7
+ * VA that use timeout feature (e.g. `_videoProgress`) should timeout if it takes more than one and half seconds
8
+
@@ -0,0 +1,12 @@
1
+
2
+ # Before release
3
+ - Make sure the After Release notes are done!
4
+ - After release: Set `AllowSignup` to be `true` for the `trial_14_v1` and `freemium_v1` access policies
5
+
6
+
7
+ # Code changes
8
+ - Add `AllowSignup` property to access policy metadata, so that we can prevent users signing up to a BDM driven trial. Partially implements INBOX-4744.
9
+
10
+
11
+ # Testing
12
+
@@ -0,0 +1,479 @@
1
+
2
+ # Lite
3
+
4
+ ## Dependencies
5
+ - Requires https://gitlab.cvinternal.net/clickview/back-end/clickview.subjects.api/-/merge_requests/193
6
+ - Required by https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3129
7
+
8
+
9
+ ## Code changes
10
+ - Re-instate use of `requestUrlPrefix` for passing the region prefix until A3.
11
+
12
+ - Added `PresentationSlugRouteRouteConstraint` to restrict valid requests to a valid subset of values:
13
+ - `"primary", "secondary", "tertiary", "elementary", "middle", "high"`
14
+ - Added `GetRegionCodeByContentRegion` to `PublicService`
15
+ - This is a bit of a :wastebasket: solution, but will allow us to avoid mapping `ContentRegion` to presentation in `Subjects.API`
16
+ - Added new `GetPresentationBySlug` endpoint (`GET presentations/{presentationSlug:presentationSlug}`) to retrieve a presentation by slug
17
+ - Opened up core routes to support a `presentationSlug` prefix
18
+
19
+
20
+ ## Testing
21
+ - In NP:
22
+ - Both public and authenticated routes should continue to load as expected (regression test)
23
+
24
+ - In NP:
25
+ - As a public user:
26
+ - All existing page routes should continue be accessible via page-load/bookmarks
27
+ - As an authenticated user:
28
+ - All existing page routes should continue be accessible via page-load/bookmarks
29
+
30
+
31
+
32
+ # clickview
33
+
34
+ ## Dependencies
35
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3142
36
+ - https://gitlab.cvinternal.net/clickview/back-end/krakend/-/merge_requests/108
37
+ - https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1100
38
+ * https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3099
39
+ * https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3066
40
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3099
41
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3052
42
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3099
43
+
44
+ ## Auth
45
+
46
+ ### Code changes
47
+ - Migrating some errors added to `AppErrors.ts` after the frontend was migrated to monorepo. https://gitlab.cvinternal.net/clickview/back-end/Master.Auth/-/merge_requests/401
48
+ - Migrate Job title changes to monorepo/auth project.
49
+ - Setup the `package.json` for `@clickview/auth` to be it's own package.
50
+ - Setup scripts in the root `package.json`
51
+ - Setup `webpack.config`
52
+ - Migrated all of the frontend from the Auth project into monorepo. Along with their file histories.
53
+
54
+ ## Common
55
+
56
+ ### Code changes
57
+ - Added `PageMetadataContextProvider`
58
+ - Introduced new package `react-helmet-async`
59
+
60
+ ## Curator
61
+
62
+ ### Code changes
63
+ - .NET Core fixes
64
+ - Added `BadgeHelper`
65
+ - Removed local `CurationStatus` and use `libs/shared`
66
+ - Replaced usage of getStatusBadgeClass
67
+ - Added `MasterObjectRequests`
68
+ - Add `UpdateObjectStatusView` to new video page actions
69
+ - Removed the season bulk action as we've decided not to have that one anymore
70
+ - Updated the rest of the bulk action icons
71
+
72
+ ### Customer changes
73
+ - Added ability to change video status from the new edit video page
74
+ - Partially implements INBOX-3664
75
+ * (dev only) Added a bulk action for series to curation studio. Implements CC-501 and completely implements CC-497
76
+ * (dev only) Added a bulk action for backbone audiences to curation studio. Implements CC-499
77
+ * (dev only) Added a bulk action for adding to libraries. Implements CC-500
78
+
79
+ ## Lite
80
+
81
+ ### Customer changes
82
+ - Fix a typo in the list of job titles when signing up in the UK. Fixes INBOX-4776.
83
+ - Update description text lines on different screen sizes in SubjectThumbnailWidget
84
+ - Update the description to take up 55% of the whole card.
85
+
86
+ ## Shared
87
+
88
+ ### Code changes
89
+ - Added `useSetPageMetadata` component and `PageMetadataHelper`
90
+ - Added new type checks to helpers:
91
+ - `isSeries` to `SeriesHelper`
92
+ - `isPlaylist` to `PlalyistHelper`
93
+ - `isCuratedDashboard` to `CuratedDashboardHelper`
94
+ - `isTopicClassification` to `TopicHelper`
95
+ - Added `description` to `ParentVideoProps`
96
+ - Sign up has been updated so that all the urls it uses in fetch requests are injected into it.
97
+ - Sign up have been updated so that the braze urls, product name and product version are injected.
98
+ - Remove I18n from the sign up app.
99
+ - Made a start on removing helpers that reference underscore.
100
+ - The entire sign up app has been moved from lite into shared.
101
+ - The sign up app now takes an object that defines all the image urls.
102
+
103
+ ## Testing
104
+ - Create an invite using a customer on trial, the invite link should take you to a UI where the user can enter their job title
105
+ - Create an invite using a customer that is not on trial, the invite link should take you to where the user cannot enter their job title
106
+ - N/A
107
+ - Sign up needs a regression test, as the urls it fetches from have been refactored.
108
+ - Sign up app needs a regression test, paying attention to copy, making sure none is missing or incorrect.
109
+ - Sign up app still works in NP.
110
+ - The way auth's javascript is pulled together has been re-worked. Auth needs a general regression test looking for any abnormalities.
111
+ - In Curator:
112
+ - When viewing the newer Edit Video page, it should be possible to modify the status of a video from the video actions dropdown
113
+ * In Curation Studio (assembly line) there should be an action for bulk adding videos to a series.
114
+ - In Curation Studio (assembly line) there should be an action for bulk adding videos to backbone audiences.
115
+ * In assembly line, there should be a bulk action for adding videos to libraries.
116
+
117
+
118
+ # Clients
119
+
120
+ ## Dependencies
121
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/library.api/-/merge_requests/103
122
+
123
+ ## ClickView.Clients.Library
124
+
125
+ ### Code changes
126
+ - Added `AddMasterObjectsToLibraryAsync` to Library Api client. Implements CORE-1122
127
+
128
+ ## ClickView.Clients.Permission
129
+
130
+ ### Code changes
131
+ - Add `GetCustomerProductsAsync` method
132
+ - Add `SetCustomerProductsAsync` method
133
+ - Add `SetCustomersAccessPolicyAsync` method
134
+ - Set `AllowSignup` to be `true` for the `trial_14_v1` and `freemium_v1` access policies
135
+
136
+ ## ClickView.Clients.User
137
+
138
+ ### Code changes
139
+ - Add `CreateTrialAsync` to create trials for existing users
140
+
141
+ ## Testing
142
+
143
+
144
+ # Search.Api
145
+
146
+ ## Customer changes
147
+ - When there are series on search results, their videos should be ordered by the most recently released to the oldest.
148
+
149
+
150
+ ## Code changes
151
+ - Added required ordering for series in `SearchService`. Fixes INBOX-4768
152
+
153
+
154
+ ## Testing
155
+ - Searching for series, videos should be displayed ordered from the most recently released to the oldest.
156
+
157
+
158
+
159
+ # index.app
160
+
161
+ ## Code changes
162
+ * Added a handler to listen to series video updates. Fixes INBOX-4773
163
+
164
+
165
+ ## Testing
166
+ * Updating the status of the video should update series video index. You can test this on product by:
167
+ 1. Create a new series
168
+ 2. Upload a new video and set it to draft
169
+ 3. Add the video to the series
170
+ 4. If you search for the series now, it should not show up because there aren't any accessible videos in the series
171
+ 5. Update the status of the video to published
172
+ 6. Search for the series again, and it should show up
173
+
174
+
175
+
176
+
177
+ # Users.Api
178
+
179
+ ## Before release
180
+ * [ ] Update packages to release version
181
+ * [ ] Run `next.sql`
182
+ * [ ] Rename `next.sql`
183
+ * [ ] Configure `queue:*` in Octopus Deploy
184
+ * [ ] Configure queue
185
+ * [ ] Create `api_user`
186
+ * [ ] Configure `api_user` permissions
187
+ * [ ] Create `ex_user_notifications`
188
+ * [ ] Bind `ex_user_notifications` to `q_email_notifications` and `q_push_notifications`
189
+
190
+ * [ ] Update packages to release version
191
+ * [ ] Run `next.sql`
192
+ * [ ] Rename `next.sql`
193
+
194
+
195
+ ## Customer changes
196
+ * `AccessPolicy` is no longer required when creating trial
197
+
198
+
199
+ ## Code changes
200
+ * Add `POST v2/users` to create users in batch and get user invited to the school if the provided email already exists
201
+
202
+ * Add new endpoint `POST v2/users/validate` to verify users and no `EmailAlreadyExisted` error is returned if the email has already existed in ClickView
203
+
204
+ * Add a new endpoint `POST v1/users/remove` to allow admin to remove users from the customer
205
+
206
+ * Remove `AccessPolicy` property from `CreateTrialRequest`
207
+ * Update the logic of getting access policy by country code, which has 14-day trial applied to `AU` only and falls back to `Freemium` for all other countries
208
+
209
+ * Remove obsoleted `v1/users/sso/sync` endpoint since Auth has replaced it with `v1/sso/users` to create or update user
210
+
211
+ - Update `POST v1/{userId}/trials` endpoint
212
+ - Add `customerId` to response
213
+
214
+ - Create endpoints
215
+ - `GET v1/customers/{id}/join-requests` for getting join requests by customer
216
+ - `POST v1/customers/{id}/join-requests` for creating a join request
217
+ - `GET v1/users/{id}/join-requests` for getting join requests by user
218
+ - `PUT v1/join-requests/{id}` for updating the status of a join request
219
+
220
+ - Create endpoints
221
+ - `GET v1/approved-domains?domain=` for getting approved domains by domain
222
+ - `POST v1/approved-domains` for creating an approved domain
223
+ - `PUT v1/approved-domains/{id}` for updating an approved domain
224
+ - `DELETE v1/approved-domains/{id}` for deleting an approved domain
225
+ - `GET v1/customers/{id}/approved-domains` for getting approved domains by customer
226
+
227
+
228
+ ## Testing
229
+ * Hitting the endpoint `POST v2/users` with an existing user's email, an invitation will be sent to user's email and the user should be able to join the school once the invitation link in the email is clicked
230
+
231
+ * Hitting the endpoint `POST v2/users/validate` with an existing user's email, no error code should be returned
232
+
233
+ * Hitting `POST v1/users/remove` endpoint with customer id and a list of user ids, the users should be removed from the customer
234
+
235
+ * A trial should be created successfully without passing in the `AccessPolicy`
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+ # Batch.Api
244
+
245
+ ## Before release
246
+ - Release `Library.Api` and `Clients`
247
+ - Update `ClickView.Clients.Library` with the latest package version
248
+ - Add scope `internal.libraries.manage` to `Batch API` in `Curator > Developer > Applications`
249
+ - Add `urls:libraryApi` to octo
250
+
251
+
252
+ ## Dependencies
253
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/batch.api/-/merge_requests/68
254
+
255
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/batch.api/-/merge_requests/66
256
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/library.api/-/merge_requests/103
257
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/clients/-/merge_requests/90
258
+
259
+
260
+ ## Customer changes
261
+ - New batch feature to add videos to libraries
262
+
263
+
264
+ ## Code changes
265
+ - Added `BaseAddMasterObjectResponse` with the shared properties among the new metadata response classes and inherited it
266
+ - Added `BaseMasterObjectResultMetadata` with the shared properties among the new metadata result classes and inherited it
267
+ - Removed all duplicated code
268
+
269
+ - Added `LibraryApi Client`
270
+ - Added `LibraryService`
271
+ - Added new job type `AddVideosLibrary`
272
+ - Added a job handler for `AddVideosLibrariesHandler`. Implements CORE-1101
273
+
274
+
275
+ ## Testing
276
+
277
+ - Use the bulk action to add videos to libraries
278
+ - Property `LibraryIds`: Libraries to be processed
279
+ - Property `ObjectIds`: Master video objects to be added to the libraries
280
+
281
+
282
+
283
+ # Master.Auth
284
+
285
+ ## Before release
286
+ - Bump user api client to 2.14.0
287
+
288
+
289
+ ## Dependencies
290
+ - UserApi A2 release (https://gitlab.cvinternal.net/clickview/back-end/users.api/-/merge_requests/175)
291
+
292
+
293
+ ## Customer changes
294
+ * Non educational email will banned for signing up with ClickView
295
+
296
+
297
+ ## Code changes
298
+ - All frontend assets have been deleted as they have been moved to monorepo in https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3138
299
+ - Setup package.json to run node scripts to either link assets or copy them into the appropriate folders.
300
+
301
+ - Fix a typo in the list of job titles when signing up in the UK. Fixes INBOX-4776.
302
+
303
+ - Include region info into the js app
304
+
305
+ - General cleanup of view controllers
306
+ - Cleanup `BaseController.CurrentUserId`
307
+ - Remove `AuthConfiguration` from DI and replace with specific option classes
308
+
309
+ - Replace `BaseController.App()` with `BaseController.AppAsync()`
310
+ - Replace `BaseController.AppError()` with `BaseController.AppErrorAsync()`
311
+ - `BaseController.GetAppViewModelAsync` is now async
312
+
313
+ - Updated the logic of `ContinueSignInAsync`
314
+ - Instead of requiring to select the customer if none exists on the partial login, do the usual sign in logic to try and select a customer if one exists
315
+ - This is so we can continue after creating a trial (when the user has no customers and is associated to one during the signup)
316
+
317
+ - Added `/ajax/trails/new` endpoint to create a new trial for the current partial login user
318
+
319
+ * Validate the external user's email and check against the blacklist in prospect api to prevent non educational email to sign up with ClickView
320
+
321
+
322
+ ## Testing
323
+ - Running Auth as a monorepo consumer should work as expected.
324
+
325
+
326
+
327
+ - Change change customer from Lite
328
+ - Visiting `/launch` will redirect the user to `launch.clickview.net` (or `the staging version in staging)
329
+
330
+
331
+ - Login with a user that has many customers. They should be able to select one and login with that selected customer
332
+
333
+
334
+ * Go to lite and login and choose `Sign in with Google` (provided `emulateUSA=true` is set in the query string and `features.social-signup` is set to `true` in cookie) and sign in with a gmail account, an error message `It looks like the email you tried does not work for signing in to ClickView. You can try signing in with your school account.` should be shown.
335
+
336
+
337
+
338
+ # ClickView.Curator
339
+
340
+ ## Customer changes
341
+ - Added link to new edit video page from ultra legacy edit page
342
+ - Correctly show error modal when attempting to delete a video that's `Published`
343
+ - Partially implements INBOX-3664
344
+
345
+
346
+ ## Code changes
347
+ - Update template for `GenericActions`
348
+
349
+
350
+ ## Testing
351
+ - In curator:
352
+ - It should only be possible to delete videos once they've been archived
353
+ - Previously workspace videos could not be deleted, this should now be possible only if the video has fist been archived
354
+ - The use case for this is where Steve needs to replace a tracking code for an errored video, but then can't clean up the video
355
+
356
+
357
+
358
+ # Permissions.Api
359
+
360
+ ## Before release
361
+ - Make sure the After Release notes are done!
362
+ - After release: Set `AllowSignup` to be `true` for the `trial_14_v1` and `freemium_v1` access policies
363
+
364
+
365
+ ## Code changes
366
+ - Add `AllowSignup` property to access policy metadata, so that we can prevent users signing up to a BDM driven trial. Partially implements INBOX-4744.
367
+
368
+
369
+ ## Testing
370
+
371
+
372
+
373
+ # FileGenerator
374
+
375
+ ## Code changes
376
+ - Add `Has Video at a Glance` column to the content report. Implements INBOX-4765.
377
+
378
+
379
+ ## Testing
380
+ - [Generate a content report](https://staging.clickviewcurator.com/hostedlibraries) and ensure that there is correctly populated `Has Video at a Glance` column
381
+
382
+
383
+
384
+ # Discover.Api
385
+
386
+ ## Before release
387
+ - [ ] Run `next.sql`
388
+
389
+
390
+ ## Code changes
391
+ - Added `WithMembers` optional parameter used in `curated_series` providing an option to return with members or not
392
+ - Adjust `series` ogqls to return associated videos if `WithMembers = true`
393
+ - Add new templates `Featured series`(`featured_poster_thumbnail_list`).
394
+ Implements CORE-1123
395
+
396
+
397
+ ## Testing
398
+
399
+
400
+
401
+ # Subjects.API
402
+
403
+ ## Before release
404
+ - [ ] All presentations need to be assigned a unique `Slug`.
405
+ - The basic composition for presentations of type `Subject` is: `{regionCode}-{schoolLevel}`
406
+ - Examples: `au-primary`, `au-secondary`, `au-tertiary`, `us-elementary`, `us-middle`, `us-high`.
407
+ - @michael.mcdonnell Will provide the appropriate mappings based on `presentationId`.
408
+
409
+
410
+ ## Dependencies
411
+ - Required by https://gitlab.cvinternal.net/clickview/front-end/lite/-/merge_requests/368
412
+
413
+
414
+ ## Code changes
415
+ - Added new `GetBySlugAsync` endpoint (`GET v2/presentations/{slug}`) to `PresentationsV2Controller`
416
+ - Added `VanitySlug` property to `Presentation` Model
417
+ - `VanitySlug` is a computed value based up on `Slug`, which will only return the final segment of the slug based upon the presence of a hyphen.
418
+ - `gb-sct-primary` -> `primary` (with `gb-sct` discarded)
419
+
420
+
421
+ ## Testing
422
+ - Presentations should continue to load as expect within Online, NP and Curator with the existence of the `vanitySlug` on the model
423
+
424
+
425
+
426
+ # Library.Api
427
+
428
+ ## Dependencies
429
+ - Merge after https://gitlab.cvinternal.net/clickview/back-end/Master.Auth/-/merge_requests/398
430
+
431
+
432
+ ## Code changes
433
+ - Added method `AddMasterObjectsToLibraryRequestAsync` to `LibraryService` to add objects to a hosted library and a valid category if available.
434
+ - Added endpoint `PUT` `/v1/libraries/{id}/objects`
435
+ Implements CORE-1118
436
+
437
+
438
+ ## Testing
439
+
440
+
441
+
442
+ # Krakend
443
+
444
+ ## Before release
445
+ - Enable `internal.prospect.read` and `internal.prospect.write` scopes
446
+
447
+
448
+ ## Code changes
449
+ - Support endpoint rate limiting. See [here](https://www.krakend.io/docs/endpoints/rate-limit/)
450
+ - Rate limit trial endpoints:
451
+ - `POST v1/trials`
452
+ - `POST v1/prospects`
453
+
454
+ - Add trial endpoints. Implements LTE-1888.
455
+ - `POST v1/trials` for creating trials
456
+ - `GET v1/search/prospects` for searching prospects
457
+ - `POST v1/prospects` for creating prospects
458
+ - `GET v1/prospects/{prospectId}/trial-status` for getting a prospect's trial status
459
+ - `GET v1/users/trial-status` for getting a user's trial status
460
+
461
+
462
+ ## Testing
463
+ - Ensure that these Gateway endpoints can only be hit once every 5 seconds per IP address:
464
+ - `POST v1/trials`
465
+ - `POST v1/prospects`
466
+
467
+
468
+
469
+
470
+ # Objects.Api
471
+
472
+ ## Code changes
473
+ * The VA timeout was reverted because of the memory issues that the Objects API was having. Since we have found the cause of the memory issue (new relic agent), we can deploy this change. Fixes INBOX-4187
474
+
475
+
476
+ ## Testing
477
+ * VA that use timeout feature (e.g. `_videoProgress`) should timeout if it takes more than one and half seconds
478
+
479
+
@@ -0,0 +1,12 @@
1
+
2
+ # Customer changes
3
+ - When there are series on search results, their videos should be ordered by the most recently released to the oldest.
4
+
5
+
6
+ # Code changes
7
+ - Added required ordering for series in `SearchService`. Fixes INBOX-4768
8
+
9
+
10
+ # Testing
11
+ - Searching for series, videos should be displayed ordered from the most recently released to the oldest.
12
+
@@ -0,0 +1,22 @@
1
+
2
+ # Before release
3
+ - [ ] All presentations need to be assigned a unique `Slug`.
4
+ - The basic composition for presentations of type `Subject` is: `{regionCode}-{schoolLevel}`
5
+ - Examples: `au-primary`, `au-secondary`, `au-tertiary`, `us-elementary`, `us-middle`, `us-high`.
6
+ - @michael.mcdonnell Will provide the appropriate mappings based on `presentationId`.
7
+
8
+
9
+ # Dependencies
10
+ - Required by https://gitlab.cvinternal.net/clickview/front-end/lite/-/merge_requests/368
11
+
12
+
13
+ # Code changes
14
+ - Added new `GetBySlugAsync` endpoint (`GET v2/presentations/{slug}`) to `PresentationsV2Controller`
15
+ - Added `VanitySlug` property to `Presentation` Model
16
+ - `VanitySlug` is a computed value based up on `Slug`, which will only return the final segment of the slug based upon the presence of a hyphen.
17
+ - `gb-sct-primary` -> `primary` (with `gb-sct` discarded)
18
+
19
+
20
+ # Testing
21
+ - Presentations should continue to load as expect within Online, NP and Curator with the existence of the `vanitySlug` on the model
22
+
@@ -0,0 +1,63 @@
1
+
2
+ # Before release
3
+ * [ ] Update packages to release version
4
+ * [ ] Run `next.sql`
5
+ * [ ] Rename `next.sql`
6
+ * [ ] Configure `queue:*` in Octopus Deploy
7
+ * [ ] Configure queue
8
+ * [ ] Create `api_user`
9
+ * [ ] Configure `api_user` permissions
10
+ * [ ] Create `ex_user_notifications`
11
+ * [ ] Bind `ex_user_notifications` to `q_email_notifications` and `q_push_notifications`
12
+
13
+ * [ ] Update packages to release version
14
+ * [ ] Run `next.sql`
15
+ * [ ] Rename `next.sql`
16
+
17
+
18
+ # Customer changes
19
+ * `AccessPolicy` is no longer required when creating trial
20
+
21
+
22
+ # Code changes
23
+ * Add `POST v2/users` to create users in batch and get user invited to the school if the provided email already exists
24
+
25
+ * Add new endpoint `POST v2/users/validate` to verify users and no `EmailAlreadyExisted` error is returned if the email has already existed in ClickView
26
+
27
+ * Add a new endpoint `POST v1/users/remove` to allow admin to remove users from the customer
28
+
29
+ * Remove `AccessPolicy` property from `CreateTrialRequest`
30
+ * Update the logic of getting access policy by country code, which has 14-day trial applied to `AU` only and falls back to `Freemium` for all other countries
31
+
32
+ * Remove obsoleted `v1/users/sso/sync` endpoint since Auth has replaced it with `v1/sso/users` to create or update user
33
+
34
+ - Update `POST v1/{userId}/trials` endpoint
35
+ - Add `customerId` to response
36
+
37
+ - Create endpoints
38
+ - `GET v1/customers/{id}/join-requests` for getting join requests by customer
39
+ - `POST v1/customers/{id}/join-requests` for creating a join request
40
+ - `GET v1/users/{id}/join-requests` for getting join requests by user
41
+ - `PUT v1/join-requests/{id}` for updating the status of a join request
42
+
43
+ - Create endpoints
44
+ - `GET v1/approved-domains?domain=` for getting approved domains by domain
45
+ - `POST v1/approved-domains` for creating an approved domain
46
+ - `PUT v1/approved-domains/{id}` for updating an approved domain
47
+ - `DELETE v1/approved-domains/{id}` for deleting an approved domain
48
+ - `GET v1/customers/{id}/approved-domains` for getting approved domains by customer
49
+
50
+
51
+ # Testing
52
+ * Hitting the endpoint `POST v2/users` with an existing user's email, an invitation will be sent to user's email and the user should be able to join the school once the invitation link in the email is clicked
53
+
54
+ * Hitting the endpoint `POST v2/users/validate` with an existing user's email, no error code should be returned
55
+
56
+ * Hitting `POST v1/users/remove` endpoint with customer id and a list of user ids, the users should be removed from the customer
57
+
58
+ * A trial should be created successfully without passing in the `AccessPolicy`
59
+
60
+
61
+
62
+
63
+