@clickview/ship-it 0.0.33 → 0.0.34

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 (175) hide show
  1. package/Dockerfile +33 -33
  2. package/README.md +48 -48
  3. package/config.json +19 -19
  4. package/dist/F1/Analytics Web.md +8 -0
  5. package/dist/F1/AutoCaptions.md +30 -0
  6. package/dist/F1/Classroom.Api.md +23 -0
  7. package/dist/F1/ClickView Online.md +17 -0
  8. package/dist/F1/ClickView.Curator.md +100 -0
  9. package/dist/F1/ClickView.EmailService.md +53 -0
  10. package/dist/F1/ClickView.OnlineApi.md +13 -0
  11. package/dist/F1/Clients.md +19 -0
  12. package/dist/F1/Domain.Api.md +23 -0
  13. package/dist/F1/Exchange.Web.md +8 -0
  14. package/dist/F1/Image.Api.md +8 -0
  15. package/dist/F1/Integrations.Api.md +23 -0
  16. package/dist/F1/Krakend.md +8 -0
  17. package/dist/F1/Library Editor.md +0 -0
  18. package/dist/F1/Lite.md +60 -0
  19. package/dist/F1/Master.Api.md +58 -0
  20. package/dist/F1/Master.Auth.md +22 -0
  21. package/dist/F1/Objects.Api.md +12 -0
  22. package/dist/F1/Permissions.Api.md +12 -0
  23. package/dist/F1/RealtimeSalesforceSync.md +14 -0
  24. package/dist/F1/Release Notes.md +990 -0
  25. package/dist/F1/Search.Api.md +12 -0
  26. package/dist/F1/StreamableLearning.Web.md +35 -0
  27. package/dist/F1/Users.Api.md +13 -0
  28. package/dist/F1/VideoProcessorService.md +23 -0
  29. package/dist/F1/clickview.md +321 -0
  30. package/dist/F2/Analytics Web.md +7 -0
  31. package/dist/F2/Batch.Api.md +27 -0
  32. package/dist/F2/ClickView Online.md +12 -0
  33. package/dist/F2/ClickView.Curator.md +166 -0
  34. package/dist/F2/Clients.md +14 -0
  35. package/dist/F2/CurriculumIngestion.Api.md +13 -0
  36. package/dist/F2/Discover.Api.md +64 -0
  37. package/dist/F2/Domain.Api.md +16 -0
  38. package/dist/F2/Exchange.Web.md +7 -0
  39. package/dist/F2/Krakend.md +12 -0
  40. package/dist/F2/Library Editor.md +11 -0
  41. package/dist/F2/Lite.md +30 -0
  42. package/dist/F2/Objects.Api.md +12 -0
  43. package/dist/F2/Release Notes.md +759 -0
  44. package/dist/F2/Search.Api.md +30 -0
  45. package/dist/F2/Share.Api.md +12 -0
  46. package/dist/F2/StreamableLearning.Web.md +14 -0
  47. package/dist/F2/Subjects.API.md +12 -0
  48. package/dist/F2/Tv.Web.md +8 -0
  49. package/dist/F2/Users.Api.md +21 -0
  50. package/dist/F2/clickview.md +200 -0
  51. package/dist/F2/shortcode-api.md +8 -0
  52. package/dist/F3.1/Analytics Web.md +8 -0
  53. package/dist/F3.1/ClickView.Curator.md +14 -0
  54. package/dist/F3.1/Discover.Api.md +14 -0
  55. package/dist/F3.1/Domain.Api.md +7 -0
  56. package/dist/F3.1/Exchange.Web.md +8 -0
  57. package/dist/F3.1/Library Editor.md +8 -0
  58. package/dist/F3.1/Lite.md +8 -0
  59. package/dist/F3.1/Objects.Api.md +7 -0
  60. package/dist/F3.1/Release Notes.md +207 -0
  61. package/dist/F3.1/Search.Api.md +14 -0
  62. package/dist/F3.1/Share.Api.md +10 -0
  63. package/dist/F3.1/Subjects.API.md +35 -0
  64. package/dist/F3.1/VideoViews.Api.md +7 -0
  65. package/dist/F3.1/clickview.md +28 -0
  66. package/lib/config.json +20 -20
  67. package/lib/src/api-clients/git-lab/GitLabApiClient.js +439 -439
  68. package/lib/src/api-clients/git-lab/GitLabMapper.js +82 -82
  69. package/lib/src/api-clients/index.js +20 -20
  70. package/lib/src/api-clients/slack/SlackApiClient.js +206 -206
  71. package/lib/src/api-clients/team-city/TeamCityApiClient.js +100 -100
  72. package/lib/src/api-clients/trello/TrelloApiClient.js +145 -145
  73. package/lib/src/commands/BumpPackagesCommand.js +84 -84
  74. package/lib/src/commands/CreateBranchCommand.js +100 -100
  75. package/lib/src/commands/CreateMergeRequestCommand.js +107 -107
  76. package/lib/src/commands/CreateNotesAuditCommand.js +84 -84
  77. package/lib/src/commands/CreateReleaseNotesCommand.js +95 -95
  78. package/lib/src/commands/CreateTestingNotesCommand.js +84 -0
  79. package/lib/src/commands/CreateTrelloCardsCommand.js +77 -77
  80. package/lib/src/commands/InstallPackagesCommand.js +76 -76
  81. package/lib/src/commands/ListProjectsCommand.js +76 -76
  82. package/lib/src/commands/ReleaseCommand.js +129 -129
  83. package/lib/src/commands/StartConsumingProjectBuildsCommand.js +76 -0
  84. package/lib/src/commands/StartProjectBuildsCommand.js +76 -76
  85. package/lib/src/commands/StatusCommand.js +88 -88
  86. package/lib/src/commands/TagMasterCommand.js +76 -76
  87. package/lib/src/commands/ValidateMergeRequestCommand.js +76 -76
  88. package/lib/src/commands/VersionCommand.js +76 -76
  89. package/lib/src/commands/index.js +30 -30
  90. package/lib/src/constants/CommandTypeMapping.js +20 -20
  91. package/lib/src/constants/GitLabMemberIds.js +6 -6
  92. package/lib/src/constants/MonorepoPackageJsonFiles.js +17 -17
  93. package/lib/src/constants/MonorepoProjectNames.js +16 -16
  94. package/lib/src/constants/ProjectNames.js +68 -68
  95. package/lib/src/constants/SlackUserEmailList.js +13 -13
  96. package/lib/src/constants/TeamCityBuildIDs.js +45 -45
  97. package/lib/src/constants/index.js +19 -19
  98. package/lib/src/errors/ShipItError.js +32 -32
  99. package/lib/src/errors/index.js +17 -17
  100. package/lib/src/index.js +18 -18
  101. package/lib/src/interfaces/Config.js +2 -2
  102. package/lib/src/interfaces/MergeRequestState.js +2 -2
  103. package/lib/src/interfaces/ProjectNames.js +2 -2
  104. package/lib/src/interfaces/ShipItCommand.js +2 -2
  105. package/lib/src/interfaces/ShipItTask.js +2 -2
  106. package/lib/src/interfaces/VersionType.js +2 -2
  107. package/lib/src/interfaces/command-cli-options/MilestoneCommandCliOptions.js +2 -2
  108. package/lib/src/interfaces/command-cli-options/ReleaseCommandCliOptions.js +2 -2
  109. package/lib/src/interfaces/command-cli-options/StatusCommandCliOptions.js +2 -2
  110. package/lib/src/interfaces/command-cli-options/index.js +19 -19
  111. package/lib/src/interfaces/command-options/BaseCommandOptions.js +2 -2
  112. package/lib/src/interfaces/command-options/BumpPackagesCommandOptions.js +2 -2
  113. package/lib/src/interfaces/command-options/DockerMilestoneCommandOptions.js +2 -2
  114. package/lib/src/interfaces/command-options/MilestoneCommandOptions.js +2 -2
  115. package/lib/src/interfaces/command-options/ReleaseCommandOptions.js +2 -2
  116. package/lib/src/interfaces/command-options/StatusCommandOptions.js +2 -2
  117. package/lib/src/interfaces/command-options/ValidateMRCommandOptions.js +2 -2
  118. package/lib/src/interfaces/command-options/index.js +22 -22
  119. package/lib/src/interfaces/index.js +26 -26
  120. package/lib/src/interfaces/models/Branch.js +2 -2
  121. package/lib/src/interfaces/models/Commit.js +2 -2
  122. package/lib/src/interfaces/models/CommitFile.js +2 -2
  123. package/lib/src/interfaces/models/File.js +2 -2
  124. package/lib/src/interfaces/models/Label.js +2 -2
  125. package/lib/src/interfaces/models/MergeRequest.js +2 -2
  126. package/lib/src/interfaces/models/Milestone.js +2 -2
  127. package/lib/src/interfaces/models/Project.js +2 -2
  128. package/lib/src/interfaces/models/ProjectConfig.js +9 -9
  129. package/lib/src/interfaces/models/Release.js +2 -2
  130. package/lib/src/interfaces/models/Tag.js +2 -2
  131. package/lib/src/interfaces/models/index.js +26 -26
  132. package/lib/src/interfaces/view-models/MilestoneProject.js +2 -2
  133. package/lib/src/interfaces/view-models/index.js +17 -17
  134. package/lib/src/inversify.config.js +75 -75
  135. package/lib/src/services/GitLabService.js +508 -508
  136. package/lib/src/services/SlackService.js +142 -142
  137. package/lib/src/services/TeamCityService.js +37 -37
  138. package/lib/src/services/TrelloService.js +84 -84
  139. package/lib/src/services/index.js +20 -20
  140. package/lib/src/startup/AddMilestoneCommand.js +96 -96
  141. package/lib/src/startup/GetAction.js +68 -68
  142. package/lib/src/startup/SetupCommands.js +168 -168
  143. package/lib/src/tasks/BumpPackagesTask.js +229 -229
  144. package/lib/src/tasks/BumpVersionTxtTask.js +110 -110
  145. package/lib/src/tasks/CommitPackageVersionsTask.js +116 -116
  146. package/lib/src/tasks/CreateBranchTask.js +104 -104
  147. package/lib/src/tasks/CreateMergeRequestTask.js +118 -118
  148. package/lib/src/tasks/CreateNotesAuditTask.js +140 -140
  149. package/lib/src/tasks/CreateReleaseNotesTask.js +144 -144
  150. package/lib/src/tasks/CreateTestingNotesTask.js +135 -0
  151. package/lib/src/tasks/InstallPackagesTask.js +407 -407
  152. package/lib/src/tasks/ListProjectsTask.js +87 -87
  153. package/lib/src/tasks/MergeMasterToDevTask.js +147 -0
  154. package/lib/src/tasks/PopulateTrelloBoardTask.js +140 -140
  155. package/lib/src/tasks/StartConsumingProjectBuildsTask.js +149 -0
  156. package/lib/src/tasks/StartMonorepoBuildTask.js +109 -109
  157. package/lib/src/tasks/StartProjectBuildsTask.js +170 -170
  158. package/lib/src/tasks/TagMasterTask.js +186 -186
  159. package/lib/src/tasks/ValidateCommitsTask.js +143 -143
  160. package/lib/src/tasks/ValidateDescriptionsTask.js +178 -178
  161. package/lib/src/tasks/ValidateMergeRequestTask.js +115 -115
  162. package/lib/src/tasks/ValidateTask.js +419 -419
  163. package/lib/src/tasks/VersionTask.js +98 -98
  164. package/lib/src/tasks/index.js +34 -34
  165. package/lib/src/types.js +57 -57
  166. package/lib/src/utils/BranchNames.js +11 -11
  167. package/lib/src/utils/Commits.js +55 -55
  168. package/lib/src/utils/Csv.js +54 -54
  169. package/lib/src/utils/Descriptions.js +274 -274
  170. package/lib/src/utils/GroupIds.js +6 -6
  171. package/lib/src/utils/Logger.js +62 -62
  172. package/lib/src/utils/ProjectIds.js +47 -47
  173. package/lib/src/utils/Versions.js +20 -20
  174. package/lib/src/utils/index.js +22 -22
  175. package/package.json +50 -50
@@ -0,0 +1,759 @@
1
+
2
+ # clickview
3
+
4
+ ## Before release
5
+
6
+ ### other
7
+ - Add cloud editor urls to octo
8
+
9
+ ## Dependencies
10
+ - https://gitlab.cvinternal.net/clickview/back-end/batch.api/-/merge_requests/121
11
+ * https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1331
12
+ * https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1340
13
+ - clickview/front-end/clickview!3971
14
+ - clickview/front-end/ClickView.Curator!1339
15
+ https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3981
16
+ https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3973
17
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3970
18
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3969
19
+ - https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1334
20
+ * https://gitlab.cvinternal.net/clickview/front-end/lite/-/merge_requests/571
21
+ - clickview/front-end/lite!570
22
+ - !3942
23
+ - clickview/front-end/streamablelearning.web!5
24
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3939
25
+
26
+ ## Analytics
27
+
28
+ ### Code changes
29
+ * Log google analytics custom event `cv_form_submission` with `event_category` and `event_label` params during sign up. Implements INBOX-5758.
30
+
31
+ ## Common
32
+
33
+ ### Code changes
34
+ - Our routing now supports trailing slashes on urls. Fixes INBOX-6078
35
+ * Bump jQuery package version to 3.7.1
36
+ * Bump moment package version to 2.30.1
37
+ - `Project.Dockerfile` will only push all projects when the release command is run by looking for a specific parameter value passed.
38
+
39
+ ## Curator
40
+
41
+ ### Customer changes
42
+ - Priority field is now editable by any user in any stage. Fixes CC-880
43
+ - Interactives can no longer be published if the parent clip or parent video is not published. Fixes CC-874
44
+ - Fixed a bug where if a content pipeline entity is in a published stage, but is invalid for a previous stage, they can now move that entity back.
45
+ * Now `Assigned To` column is added to all stages except the `Unused Video`, `Review` and `Published` stage in the content pipeline.
46
+ * Now in the content pipeline, you can sort the table by
47
+ * Priority (highest to lowest only)
48
+ * Alphabetical (name, A-Z only)
49
+ * Newest (date created)
50
+ * Oldest (date created
51
+ * Series (only for video)
52
+ - Add Calendar events management to Streamable Learning
53
+ * Now in the content pipeline, when filtering curation tags by “empty”, you won't get “N/A” results
54
+ * Now you can filter clips by its parent video ID in the content pipeline.
55
+ * Now in the content pipeline, resources stage, you can reset the 'This video doesn't require resources' and save.
56
+ - Added support for managing companies in Streamable. Implements CC-852
57
+ - Added a "Streamable Learning" tab
58
+ - Added management for discover, topics, audiences, and the video library.
59
+ * Now in video slider widgets you can control if the heading is required or not.
60
+ * Now video in the content pipeline has a region column.
61
+ * Now 'Does not require resources' toggle in the content pipeline resources form will not clean the resources until you save and close.
62
+ * Now in the content pipeline review stage, you can filter by dashboard status.
63
+ * Now you can toggle the value for if a video has a curated thumbnail or not.
64
+ - Form modal titles will now use video/topic names. Partially implements CC-843
65
+
66
+ ### Code changes
67
+ * Fix the issue when you hit 'Next' the data is still for the first page in user manager.
68
+
69
+ ## Library Editor
70
+
71
+ ### Customer changes
72
+ - Fix video suggest edit link
73
+
74
+ ## Lite
75
+
76
+ ### Customer changes
77
+ - Fixed a bug where you couldn't share anything that had previously been shared to an account that no longer resides in your school. Fixes TEST-113
78
+ - Fixed an issue where if an existing user had selected subject preferences in the past, then they entered onboarding and selected a KDM role, they would see the subjects summary screen.
79
+ - When bulk adding existing users to your school, the users will now have their first and last names overwritten by what was in the uploaded spreadsheet. Fixes INBOX-6153
80
+ - Fix two minor typos found in the new exchange search functionality. Fixes INBOX-6121.
81
+ - Topic names can now wrap to 3 lines instead of 2. Fixes INBOX-6110
82
+ - Retain search value on navigating back
83
+ - Update search placeholder
84
+ - Update discover subjects edit button to text
85
+ - On discover, movies + tv, and company pages, widgets will now have 24px of spacing between them instead of variations of 20px and 15px.
86
+ - All widgets will now have reduced spacing between their headers and the main content
87
+ - All widget headers will now have reduced spacing between the heading and description text.
88
+ - Fixed an issue where teachers could not be assigned as an owner of a classroom. Fixes INBOX-5957
89
+ - Fixed a bug where the presentation selector in the left nav would always be showing. Fixes INBOX-6067
90
+ - Fixed some alerts that weren't escaping user inputs:
91
+ - Saving a video from the video details page with an unsanitised name
92
+ - Moving a video to a folder with an unsanitised name
93
+ - Adding a video to a playlist with an unsanitised name.
94
+ - Remove required from season and episode number in contribute to exchange
95
+ - Fix channel not showing in contribute to exchange
96
+ - Show download action on video with _canDownload assoc
97
+ - Add edit video action to my videos
98
+ - The play page no longer displays a resources badge. Implements LTE-2338
99
+ - Links to our `Privacy Policy`, `Terms and Conditions` + `Contact Us` pages are now displayed in the footer product-wide.
100
+ - Implements INBOX-5685
101
+
102
+ ### Code changes
103
+ - Added a `pathway` to all analytics events
104
+ * Update EditableSubjectWidgetItem to wrap and truncate text.
105
+ * Fix the issue when you hit 'Next' the data is still for the first page in user manager.
106
+ - Remove a custom `product_page_view` event that was being fired by sign up from before we introduced the page view service. Fixes INBOX-6092.
107
+ * Fix the import path for `GoogleAnalyticsClient` in `startup/RegisterAnalytics`
108
+ * Display different calendar empty state images based on country code of the current user.
109
+ - No longer using the `show_exchange_search_results_customer` domain option, instead relying only on if the `exchange_tv` product is enabled. Implements INBOX-5981.
110
+ - Remove old my videos view
111
+ - Updated lite footer to build localised links to `Privacy Policy`, `Terms and Conditions` + `Contact Us` pages
112
+ - Added `Footer` LocationContext
113
+
114
+ ## Online
115
+
116
+ ### Code changes
117
+ * Fix the issue when you hit 'Next' the data is still for the first page in user manager.
118
+
119
+ ## Player
120
+
121
+ ### Code changes
122
+ - When a `parentVideo` is passed into an interactive component, the publish action will be disabled if the parent is not published.
123
+ Updated the payloads of the following events (and bumped event versions):
124
+ - Selecting a device for casting
125
+ - Selecting a video resolution
126
+ - Selecting a playback speed
127
+ - Selecting a subtitle
128
+
129
+ ### Customer changes
130
+ - Updated the error message displayed when a physically chaptered video is encountered. Partially addresses INBOX-5677.
131
+
132
+ ## Shared
133
+
134
+ ### Code changes
135
+ - `SeriesLink` has been replaced with `SubTextLink`. This means all shared component that render videos now must pass the series applink in as a sub text app link. The sub text type will default to `series` but can also now be changed to `productionCompany`.
136
+ - `VideoThumbnail` will now show the videos' production companies' logo in the top left, if a `companyLogoFallbackUrl` is drilled down into the videos.
137
+
138
+ ## Streamable Learning
139
+
140
+ ### Code changes
141
+ - Cutting back the play page to be only what is absolutely essential.
142
+ - Simplifying and polishing the Dashboard View, Company Dashboard View and Subject Dashboard View to be only the very minimum feature set that we need.
143
+ - Cut down the code to remove all the data we do not need, since we have a very simple set of filters.
144
+ - Scoping our search to only the Streamable Learning Library and Presentation
145
+ - Move calendar from lite to shared
146
+ - Remove global player consumer
147
+ - Addressed comments from last MR
148
+
149
+ ### Customer changes
150
+ - Search will now only show subject and grade filters.
151
+ - Add settings page with profile details and email/password
152
+ - Minor layout improvements, including pulling in the actual logo, and using the actual colours.
153
+ - Add calender to streamable learning
154
+ - Adding support for company dashboards.
155
+
156
+ ## Styles
157
+
158
+ ### Customer changes
159
+ - Update base font family to Inter
160
+
161
+ ## Testing
162
+ - Fixes INBOX-6197
163
+ - Fixes TEST-113
164
+ - Fixes INBOX-6178
165
+ - Fixes CC-880
166
+ - Fixes CC-874
167
+ - Implements PLAY-228
168
+ * Fixes INBOX-6104
169
+ * Fixes INBOX-5997
170
+ - Fixes INBOX-6110
171
+ - Fixes INBOX-6078
172
+ - Implements INBOX-6109
173
+ - Implements INBOX-6103
174
+ - Implements INBOX-6099
175
+ * Implements INBOX-6076
176
+ - Implements INBOX-6102
177
+ - Fixes INBOX-5957
178
+ - Fixes INBOX-6067
179
+ - Fixes INBOX-6077
180
+ * Implements CC-830
181
+ * Implements CC-836
182
+ - N/A
183
+ * Implements CC-834
184
+ * Implements CC-829
185
+ * Implements CC-837
186
+ - Implements CC-851
187
+ - Implements CC-850
188
+ * Implements INBOX-5758.
189
+ - Implements LTE-2240
190
+ * Implements INBOX-6003
191
+ - Fixes INBOX-5983
192
+ - Fixes INBOX-6022
193
+ - Implements INBOX-5978
194
+ - Implements INBOX-5977
195
+ * Implements INBOX-5942
196
+ * Implements CC-794
197
+ * Implements CC-855
198
+ * Implement CC-835
199
+ * Implements CC-833
200
+ - Partially implements CC-843
201
+ - Implements LTE-2338
202
+ - https://clickview.atlassian.net/browse/INBOX-5685
203
+
204
+
205
+ # ClickView.Curator
206
+
207
+ ## Before release
208
+ * [ ] Add scope `domainapi.internal` for the curator auth client id `5bdc762c703942578329` in curator prod
209
+
210
+ * Update Elastic mapping schema to include new properties: `seriesSort`, `nameSort`
211
+ ```plaintext
212
+ [PUT] curation_studio_videos/_mapping
213
+ {
214
+ "properties": {
215
+ "seriesSort": {
216
+ "type": "keyword"
217
+ }
218
+ }
219
+ }
220
+ [PUT] curation_studio_videos/_mapping
221
+ {
222
+ "properties": {
223
+ "nameSort": {
224
+ "type": "keyword"
225
+ }
226
+ }
227
+ }
228
+ [PUT] curation_studio_dashboards/_mapping
229
+ {
230
+ "properties": {
231
+ "nameSort": {
232
+ "type": "keyword"
233
+ }
234
+ }
235
+ }
236
+ [PUT] curation_studio_topics/_mapping
237
+ {
238
+ "properties": {
239
+ "nameSort": {
240
+ "type": "keyword"
241
+ }
242
+ }
243
+ }
244
+ ```
245
+ * Hit re-sync endpoints to re-index videos, then topics then dashboards sequentially after pushing the release to production. Better to do this after 6:00 PM.
246
+
247
+ * Update Elastic Search mapping file in production to add `hasCurationTags`
248
+ ```plaintext
249
+ [PUT] curation_studio_videos/_mapping
250
+ {
251
+ "properties": {
252
+ "hasCurationTags": {
253
+ "type": "boolean"
254
+ }
255
+ }
256
+ }
257
+ ```
258
+ * Hit re-sync endpoints to re-index videos after pushing the release to production. Better to do this after 6:00 PM.
259
+
260
+ * Update Elastic Search production mapping schema to add `assignees`
261
+ ```plaintext
262
+ [PUT] curation_studio_videos/_mapping
263
+ {
264
+ "properties": {
265
+ "assignees": {
266
+ "type": "nested",
267
+ "properties": {
268
+ "id": { "type": "double" },
269
+ "stage": { "type": "keyword" }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ [PUT] curation_studio_dashboards/_mapping
275
+ {
276
+ "properties": {
277
+ "assignees": {
278
+ "type": "nested",
279
+ "properties": {
280
+ "id": { "type": "double" },
281
+ "stage": { "type": "keyword" }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ [PUT] curation_studio_topics/_mapping
287
+ {
288
+ "properties": {
289
+ "assignees": {
290
+ "type": "nested",
291
+ "properties": {
292
+ "id": { "type": "double" },
293
+ "stage": { "type": "keyword" }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ ```
299
+ * Hit re-sync endpoints to re-index videos, then topics, then dashboards sequentially after pushing the release to production. Better to do this after 6:00 PM.
300
+ * Run the tool to update existing dashboard's `assignedTo` data to the new `assignees` in produciton mongo db. Tool MR is here: https://gitlab.cvinternal.net/kevin.well/clickview.tools/-/merge_requests/38
301
+
302
+
303
+ ## Dependencies
304
+ - https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3969
305
+
306
+
307
+ ## Customer changes
308
+ - Add calendar to streamable learning nav
309
+
310
+ - Added a streamable tab and subnav
311
+
312
+
313
+ ## Code changes
314
+ * Append sort by entity id
315
+
316
+ * Support removing stage assignee
317
+
318
+ * Use `v1/internal/videos/{id}/copy` to add the video to requester's workspace
319
+
320
+ * Content Pipeline only updates rightsline status when publishing a video if the rightsline status is not already active
321
+
322
+ * Making sure regions is serialised correctly
323
+
324
+ * Use domain api `POST v2/videos/{id}/copy` endpoint to copy fulfilled video to a requesting user's workspace when fulfilling ad-free request, pay tv request and TV guide video
325
+ * Remove `PushFromMaster()` from domain api client as it is no longer in use
326
+
327
+ - Updating jquery to latest 3.x.x version. Partially implements INBOX-6076
328
+
329
+ - The content & curation teams will not be able to see the Streamable Learning tab as it's still in development
330
+
331
+ * Updated action log so it can generate weekly report
332
+
333
+ * Content Pipelien supports sort by video name and series name alphabetically
334
+ * Content Pipelien supports sort by date created from the newest to the oldest
335
+
336
+ * Index `hasCurationTags`
337
+ * Add `hasCurationTags` boolean filter
338
+
339
+ * Populate date released on content that aren't TV content during publish. Implements INBOX-5986
340
+
341
+ - Add Google font Inter to layout head
342
+
343
+ * Add on `AssignedTo` for videos, dashboard and topcis at each stage
344
+
345
+ * Get accurate count from elasticsearch. Fixes CC-858
346
+
347
+
348
+ ## Testing
349
+ * n/a
350
+
351
+
352
+ * INBOX-4482
353
+
354
+
355
+
356
+ * INBOX-4482
357
+
358
+
359
+
360
+
361
+
362
+ - N/A
363
+
364
+
365
+
366
+ * Implements INBOX-5986
367
+
368
+
369
+
370
+ * Fixes CC-858
371
+
372
+
373
+
374
+ # Batch.Api
375
+
376
+ ## Before release
377
+ - [ ] Update `ClickView.Clients.User` to latest version
378
+
379
+
380
+ ## Dependencies
381
+ - https://gitlab.cvinternal.net/clickview/back-end/clients/-/merge_requests/157
382
+
383
+
384
+ ## Customer changes
385
+ - Support powerschool in rostering
386
+
387
+
388
+ ## Code changes
389
+ - Added support to update `First Name` and `Surname` on bulk user invitation. FIXES INBOX-6153
390
+
391
+ - Add powerschool mappings to rostering
392
+
393
+ - Review `GetSyncLockContext` in job handlers that are not strongly related to customer. Fixes INBOX-5608
394
+
395
+
396
+ ## Testing
397
+ INBOX-6153
398
+
399
+
400
+ INBOX-5608
401
+
402
+
403
+
404
+ # Clients
405
+
406
+ ## ClickView.Clients.Braze
407
+
408
+ ### Code changes
409
+ - Add `RenameExternalIdAsync` and `RemoveExternalIdAsync` methods
410
+
411
+ ## ClickView.Clients.User
412
+
413
+ ### Code changes
414
+ * Add `FirstName` and `Surname` to `BulkInviteUsersResponse` and `InviteUser` used in `BulkInviteExistingUsersAsync` as part of the change in https://gitlab.cvinternal.net/clickview/back-end/users.api/-/merge_requests/261. FIXES INBOX-6153
415
+ * Add `NotFound` check in `GetUsersByIdsAsync()` to avoid the null reference exception if all requested users are deleted
416
+ * Add `NotFound` check in `GetUsersAsync()` to avoid the null reference exception if a customer does not exist
417
+
418
+ ## Testing
419
+
420
+
421
+ # Users.Api
422
+
423
+ ## Code changes
424
+ - Added `FirstName` and `Surname` to `InviteUser` used in `PUT` `customers/{customerId}/users/invitation` to be updated on user invitation. FIXES INBOX-6153
425
+
426
+ * Reorder the exceptions in `ExceptionFilter.cs` based on http status code
427
+ * Throw `UserValidationException` instead of `CustomerNotFoundException` when fetching user(s) by id(s) in both `UsersController` and `CuratorController`
428
+ * Throw `UnknownCustomerInstanceRegionException` instead of `CustomerNotFoundException` as it is unlikely to happen. But if it does happen, it is definitely something wrong with our system
429
+
430
+ - Update client packages to latest
431
+ - Update other misc packages to latest
432
+
433
+
434
+ ## Testing
435
+ FIXES INBOX-6153
436
+
437
+ * Hitting `GET v1/users/{id}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
438
+ * Hitting `GET v1/users?id={id1}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
439
+ * Hitting `GET v1/curator/users/{id}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
440
+ * Hitting `GET v1/curator/users?id={id1}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
441
+
442
+
443
+
444
+
445
+ # ClickView Online
446
+
447
+ ## Customer changes
448
+ - Old video links should now redirect to their equivalent url in the new product, if the signed in user only has access to the new product. Implements INBOX-5980.
449
+ - Updated the Exchange redirect to redirect to the new ClickView rather than the Exchange Archive.
450
+
451
+ - Filter out exchange content from the latest releases widget. Fixes INBOX-6068.
452
+
453
+
454
+ ## Testing
455
+ - Implements INBOX-5980.
456
+
457
+
458
+
459
+
460
+ # Search.Api
461
+
462
+ ## Before release
463
+ - [ ] Add `urls.domainApi` in Octo
464
+
465
+
466
+ ## Code changes
467
+ - Updated `ClickView.Models` to the latest version
468
+ - Updated `ClickView.Extensions.RestClient` to the latest version
469
+ - Added `ClickView.Clients.Domain`
470
+ - Added `AllowedCustomLibraryIds` and `HasCustomLibrariesAccess` to `UserContext`
471
+ - Changed `PresentationFilter` to search custom libraries for learners only if customer's Domain option `lite_student_custom_libraries` is enabled.
472
+ Implements CORE-1405
473
+
474
+ - Added index classification to presentation filter's `SupportedIndices`. Implements CORE-1390
475
+
476
+ * Added productionCompanies to video ogql query.
477
+ Implements CORE-1383
478
+
479
+ - Add new `ExcludeLibraryExclusive` filter. Implements CORE-1377
480
+
481
+
482
+ ## Testing
483
+ CORE-1405
484
+
485
+ CORE-1390
486
+
487
+ CORE-1383
488
+
489
+ CORE-1377
490
+
491
+
492
+
493
+ # Objects.Api
494
+
495
+ ## Code changes
496
+ * Fix the issue that curator cannot create new interactive/clip from draft videos
497
+
498
+ * Ignoring `public` permission value when checking video permissions. Public permissions are used for userchannel contents but the NP doesn't have concept of user channels. Fixes INBOX-5971
499
+
500
+
501
+ ## Testing
502
+ * Implements [CC-877](https://clickview.atlassian.net/browse/CC-877)
503
+
504
+ * Fixes INBOX-5971
505
+
506
+
507
+
508
+ # Tv.Web
509
+
510
+ ## Code changes
511
+ * Replace `PushFromMaster()` with `CopyVideoToLibraryAsync()` that is calling `POST v2/videos/{id}/copy` endpoint in domain api to add an already-fulfilled tv video to a user's workspace when a user attempts to add an ad-free video
512
+
513
+
514
+ ## Testing
515
+ * INBOX-4482
516
+
517
+
518
+
519
+ # Library Editor
520
+
521
+ ## Code changes
522
+ * Bump jquery version
523
+
524
+ - Add Google font Inter to layout head
525
+
526
+
527
+ ## Testing
528
+ * Implements INBOX-6076
529
+
530
+
531
+
532
+
533
+ # Lite
534
+
535
+ ## Before release
536
+ - Add cloud editor values to octo. @mathew.ly to flesh out.
537
+
538
+
539
+ ## Customer changes
540
+ - Fixed a bug where if 2 topics with similar IDs (the only difference being casing) were fetched by an anon user, the second request would return the same result as the first request. Fixes INBOX-5984
541
+
542
+
543
+ ## Code changes
544
+ * Update jquery vendor version.
545
+
546
+ - Add Google font Inter to layout head
547
+
548
+ * Add regional calendar empty state images.
549
+
550
+ - Add cloud editor urls to config
551
+
552
+ - Updated the output cache to use case sensitive paths.
553
+
554
+
555
+ ## Testing
556
+ * Implements INBOX-6076
557
+
558
+
559
+ * n/a
560
+
561
+
562
+ - Fixes INBOX-5984
563
+
564
+
565
+
566
+ # Share.Api
567
+
568
+ ## Customer changes
569
+ * When users create share link on private videos (uploaded by them), the default privacy is set to `just my school`
570
+
571
+
572
+ ## Code changes
573
+ * Setting default privacy of deferred privacy to `just_my_school`. Implements INBOX-6059
574
+
575
+
576
+ ## Testing
577
+ * Implements INBOX-6059
578
+
579
+
580
+
581
+ # StreamableLearning.Web
582
+
583
+ ## Code changes
584
+ - Add error images
585
+
586
+ - Add Google font Inter to layout head
587
+
588
+ - Add scopes to auth config for update user settings
589
+ - Add image for account settings
590
+
591
+
592
+ ## Testing
593
+
594
+
595
+
596
+
597
+
598
+ # Krakend
599
+
600
+ ## Dependencies
601
+ - [x] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/178
602
+
603
+
604
+ ## Code changes
605
+ - Added new webinars (discover.api) endpoints. Implements CORE-1395
606
+
607
+
608
+ ## Testing
609
+ CORE-1395
610
+
611
+
612
+
613
+ # Discover.Api
614
+
615
+ ## Before release
616
+ - [ ] Execute SQL script `next.sql`
617
+
618
+ - [ ] Execute SQL script `next.sql`
619
+
620
+
621
+ ## Dependencies
622
+ - [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/179
623
+
624
+ - [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/178
625
+
626
+ - [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/177
627
+
628
+
629
+ ## Code changes
630
+ - When getting special event policy data, also hydrate mapping objects as the frontend will need some objects data. Implements CORE-1394
631
+
632
+ - Added support to Webinar objects in special event calendar objects mapping. Implements CORE-1393
633
+
634
+ - Added webinar CRUD:
635
+ - `GET` `v1/webinars`: Get webinars
636
+ - `GET` `v1/webinars/{id}`: Get webinar by ID
637
+ - `POST` `v1/webinars`: Create webinar
638
+ - `PUT` `v1/webinars/{id}`: Update webinar
639
+ - `DELETE` `v1/webinars/{id}`: Delete webinar
640
+ - `POST` `v1/webinars/{id}/audiences`: Add audiences to webinar
641
+ - `DELETE` `v1/webinars/{id}/audiences`: Remove audiences to webinar.
642
+ Implements CORE-1392
643
+
644
+ - Added SQL tables:
645
+ - webinars
646
+ - webinar_audiences.
647
+ Implements CORE-1387
648
+
649
+ - Added substring search for special event names. Implements CORE-1391
650
+
651
+ - Added support to filter by `objecType` when fetching special events data
652
+ - Reviewed special events mapping objects to the internal type `MappingObjectType` instead of using `MasterType` to allow creating special events for Streamable Learning events and anything different from a master type. Implements CORE-1389
653
+
654
+ - Added new special event type, `Webinar = 8`. Implements CORE-1388
655
+
656
+ - Added productionCompanies to video ogql query
657
+ - Added productionCompanies in the global cacheable properties.
658
+ Implements CORE-1382
659
+
660
+
661
+ ## Testing
662
+ CORE-1394
663
+
664
+ CORE-1393
665
+
666
+ CORE-1392
667
+
668
+ Implements CORE-1387
669
+
670
+ CORE-1391
671
+
672
+ CORE-1389
673
+
674
+ CORE-1388
675
+
676
+ CORE-1382
677
+
678
+
679
+
680
+ # CurriculumIngestion.Api
681
+
682
+ ## Code changes
683
+ - Update `EdGateImporter` to use a single EdGate data file with a complete snapshot of the curriculums rather than incremental changes
684
+
685
+ - Instead of fetching all the versions of a node/correlation and then selecting the highest version in the C#, only fetch the newest version from the database
686
+
687
+ - Update older versions of nodes/correlations in the repository to centralise the logic.
688
+
689
+
690
+ ## Testing
691
+
692
+
693
+
694
+
695
+
696
+ # Exchange.Web
697
+
698
+ ## Code changes
699
+ - Add Google font Inter to layout head
700
+
701
+
702
+ ## Testing
703
+
704
+
705
+
706
+ # Analytics Web
707
+
708
+ ## Code changes
709
+ - Add Google font Inter to layout head
710
+
711
+
712
+ ## Testing
713
+
714
+
715
+
716
+ # Domain.Api
717
+
718
+ ## Before release
719
+ - [ ] Update `ClickView.Subjects.Common` with the latest changes
720
+
721
+
722
+ ## Dependencies
723
+ - [ ] https://gitlab.cvinternal.net/clickview/back-end/clickview.subjects.api/-/merge_requests/218
724
+
725
+
726
+ ## Code changes
727
+ - Update `ClickView.Subjects.Common` with the new presentation type `StreamableLearning`. Implements CORE-1376
728
+
729
+
730
+ ## Testing
731
+ CORE-1376
732
+
733
+
734
+
735
+ # Subjects.API
736
+
737
+ ## Before release
738
+ - [ ] Publish new version of `ClickView.Subjects.Common`
739
+
740
+
741
+ ## Code changes
742
+ - Added new presentation type `StreamableLearning`. Implements CORE-1375
743
+
744
+
745
+ ## Testing
746
+ CORE-1375
747
+
748
+
749
+
750
+ # shortcode-api
751
+
752
+ ## Code changes
753
+ - Cleanup expired link redirect logic by using `RedirectToRoute`
754
+ - Cleanup QueryString append logic with newer .NET utilities
755
+
756
+
757
+ ## Testing
758
+
759
+