Skip to content

Hotfixes release for sprint ending 2021-04-26#3115

Merged
bjester merged 76 commits intolearningequality:hotfixesfrom
bjester:sprint-release-2021-04-26
Apr 26, 2021
Merged

Hotfixes release for sprint ending 2021-04-26#3115
bjester merged 76 commits intolearningequality:hotfixesfrom
bjester:sprint-release-2021-04-26

Conversation

@bjester
Copy link
Member

@bjester bjester commented Apr 26, 2021

Summary

  • Ongoing integration of Kolibri Design System components
  • Channel edit permission fixes
  • Other misc fixes and addressed tech debt
PR Issue Category QA Focus
#2789 #2725 Cosmetic Sign-in page
#3063 kds#157 Enhancement Save a search
#3085 #3080 Enhancement View content library FAQ
#3004 kds#158 Enhancement Deploy a channel 1
View staged channel summary 1
#2997 kds#158 Enhancement Publish a channel
#2984 kds#158 Enhancement Copy channel token from channel list
Copy channel token from channel edit page
#2968 kds#156 Enhancement Publish a channel
Sync channel
#2980 kds#156 Enhancement View related resources infographic
#2999 #2806 Bug fix Chef a resource with invalid title 1
#3099 #3049 Bug fix Add a channel editor
#3108 #3079 Bug fix View-only channel doesn't show publishing modal
#3107 #3105, #3106, #3089 Bug fix / tech debt Publish a channel 2
#3100 #3071 Bug fix / tech debt Use view-only channel
Publish channel as admin
Open private channel without any permission
#2958 N/A Dev enhancement N/A
#3002 N/A Tech debt N/A
#2957 N/A Tech debt N/A
#2939 #2028 Tech debt N/A
#3110 N/A Security update N/A

Footnotes:

  1. Requires a sushi chef or cheffed channel
  2. We have temporarily removed the channel metadata (loading spinner and resource size content)

QA Scenarios

Sign-in page

  1. Be signed out of studio
  2. Open the Studio sign-in page
  3. Verify it renders acceptably
  4. Sign in
  5. Verify you're signed in successfully

Save a search

  1. Sign into studio
  2. Open an editable channel
  3. Click "ADD" dropdown button and select "Import from channels"
  4. Type a string into the search input and click the "SEARCH" button
  5. Click "Save search"
  6. Click "View saved searches"
  7. Verify saved searches are shown properly

View content library FAQ

  1. Sign into studio
  2. Navigate to "Content Library"
  3. Click "Frequently asked questions"
  4. Review FAQ copy

View staged channel summary 1

  1. Update a channel from a sushi chef
  2. Sign into studio
  3. View staged channel
  4. Click "View Summary"
  5. Verify summary is displayed correctly

View related resources infographic

  1. Sign into studio
  2. Open an editable channel with resources
  3. Edit a resource
  4. Click "Related" tab
  5. Click "Show me"
  6. Verify modal appears showing related resources in Kolibri

Add a channel editor

  1. Sign into studio
  2. From "My Channels", open the channel menu from the kebab menu and "Edit channel details"
  3. Click "Sharing" tab
  4. Invite another email address as a collaborator who can edit
  5. Verify you cannot invite the same email twice

View-only channel doesn't show publishing modal

  1. Sign into studio
  2. As channel editor, add a collaborator to an editable channel with view only ability
  3. In separate browser, or private browsing, sign in as the collaborator
  4. As view-only collaborator, accept the invitation and open the channel
  5. As channel editor, publish the channel
  6. As view-only collaborator, refresh the channel and verify publishing modal does not show

Publish channel as admin

  1. Sign into studio as an admin
  2. Open a private channel not shared with your user
  3. Verify you can publish the channel

Open private channel without any permission

  1. Sign into studio
  2. Open an editable channel
  3. Copy the URL
  4. Sign out
  5. Sign into studio as a different user that doesn't have any permission to view or edit the channel
  6. Paste and open the copied URL
  7. Verify you cannot view nor edit the channel

sairina and others added 30 commits January 13, 2021 20:32
Adding dots between languages on sign-in page
- Removes PrimaryDialog from ChannelItem.vue as the modal
  handling the deletion pop-up.
- Wraps the <VCard> with a <div> so that KModal can live outside
  of the hierarchy of the <VCard>, which wraps internals in an <a>
  tag resulting in clicking the action buttons in KModal following
  that <a> tag.
Fix a linter issue (RouterNames -> RouteNames)
…v-dependencies

Add flower to dev dependencies
To make migration to KModal simpler

- Remove props that are not used from anywhere
- Remove logic related to copying or moving as `ProgressModal`
  is not used for these operations anymore
- Remove `showProgressModal` data that is used only in v-model
  of `ProgressModal`. `ProgressModal` doesn't use it at all
  to decide if it should be displayed and calculates these
  criteria internally instead.
Also required moving ChannelTokenModal usage in ChannelItem
such that it is rendered outside of the active wrapping DOM element
so that clicking the Close button on KModal doesn't click behind it too
…edresourcestab

Replace VDialog with KModal in "Related resources tab"
# Conflicts:
#	contentcuration/contentcuration/frontend/channelEdit/views/progress/ProgressModal.vue
#	contentcuration/contentcuration/frontend/channelEdit/views/progress/__tests__/progressModal.spec.js
radinamatic and others added 18 commits April 11, 2021 17:09
Make ContentNode filter_edit_queryset consistent with other methods.
…date

Clean up and consolidate permissions.
Reinstate synchronous channel size calculation with lower threshold, and resolve misc task related issues
…log-faq

Update 'customContentAnswer' for catalog FAQ
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](npm/ssri@v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
…abot/npm_and_yarn/ssri-6.0.2

Bump ssri from 6.0.1 to 6.0.2
…publishing-channel-modal

Add editing permissions condition to view/display Publish Modal
…nsivedialog-savedsearchesmodal

KDS to Studio: Replace ResponsiveDialog by KModal in SavedSearchesModal
…nel_editors

Catch duplicate editor assignment for newly created channels.
@codecov
Copy link

codecov bot commented Apr 26, 2021

Codecov Report

Merging #3115 (27e7791) into hotfixes (28587f8) will increase coverage by 5.31%.
The diff coverage is 93.05%.

Impacted file tree graph

@@             Coverage Diff              @@
##           hotfixes    #3115      +/-   ##
============================================
+ Coverage     80.80%   86.12%   +5.31%     
============================================
  Files           281      305      +24     
  Lines         12659    16459    +3800     
============================================
+ Hits          10229    14175    +3946     
+ Misses         2430     2284     -146     
Impacted Files Coverage Δ
contentcuration/contentcuration/decorators.py 56.60% <50.00%> (-37.60%) ⬇️
...ntentcuration/contentcuration/db/models/manager.py 91.05% <90.83%> (-8.95%) ⬇️
contentcuration/contentcuration/db/models/query.py 94.23% <93.75%> (-5.77%) ⬇️
contentcuration/contentcuration/forms.py 82.35% <94.04%> (+33.89%) ⬆️
contentcuration/contentcuration/api.py 92.06% <100.00%> (+1.43%) ⬆️
contentcuration/contentcuration/apps.py 100.00% <100.00%> (+11.11%) ⬆️
contentcuration/contentcuration/celery.py 90.00% <100.00%> (-1.67%) ⬇️
...tentcuration/contentcuration/context_processors.py 100.00% <100.00%> (ø)
...ontentcuration/contentcuration/db/advisory_lock.py 100.00% <100.00%> (ø)
...tcuration/contentcuration/db/models/expressions.py 95.23% <100.00%> (-4.77%) ⬇️
... and 191 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 016aa65...27e7791. Read the comment docs.

@bjester bjester marked this pull request as ready for review April 26, 2021 23:16
@bjester bjester merged commit c3f7bf8 into learningequality:hotfixes Apr 26, 2021
@radinamatic
Copy link
Member

radinamatic commented Apr 29, 2021

Today status on the hotfixes branch:

PR Issue Category QA Focus Status
#2789 #2725 Cosmetic Sign-in page ✔️
#3063 kds#157 Enhancement Save a search ✔️ Modal
❌ Saved search (issues #3117 & #3118)
#3085 #3080 Enhancement View content library FAQ ✔️
#3004 kds#158 Enhancement Deploy a channel 1
View staged channel summary 1
➖ (not tested)
#2997 kds#158 Enhancement Publish a channel ✔️
#2984 kds#158 Enhancement Copy channel token from channel list
Copy channel token from channel edit page
✔️
#2968 kds#156 Enhancement Publish a channel
Sync channel
✔️
#2980 kds#156 Enhancement View related resources infographic ✔️
#2999 #2806 Bug fix Chef a resource with invalid title 1 ➖ (not tested)
#3099 #3049 Bug fix Add a channel editor ✔️
#3108 #3079 Bug fix View-only channel doesn't show publishing modal ❓ (unclear, see comment1 & comment2)
#3107 #3105, #3106, #3089 Bug fix / tech debt Publish a channel 2 ✔️
#3100 #3071 Bug fix / tech debt Use view-only channel
Publish channel as admin
Open private channel without any permission
QA Focus is unclear: #3071 talks about deploying a ricecooker channel, but all three scenarios listed to test assume private manually created channels... Was that intentional?
Non-admin Studio users have the expected View-only channel experience, and cannot open private channels without any permissions. Studio admin users can open and publish any non-API-generated channel irregardless of the permissions they have, and they don't see View-only labels (see my comments in #3108 & #3079).

cc @bjester @rtibbles

@bjester
Copy link
Member Author

bjester commented Apr 29, 2021

@radinamatic The scope of the changes for #3100 is larger than just fixing #3071. Yes it was intentional that all scenarios are for non-ricecooker channels as the changes in the PR affect permission handling, which isn't linearly connected with any single feature. So the QA scenarios were focused on ensuring regressions against potential permission related bugs

@radinamatic
Copy link
Member

radinamatic commented Apr 29, 2021

Fair enough, @bjester, it would be good to add this sort of reasoning in the QA Focus in the future 🙏🏽
The default step for testers when trying to confirm a fix is to refer to the originating issue and the steps described there. If the instructions or details in the QA Focus differ from what can be inferred by reading the original issue, we testers start to doubt ourselves... 🙂

@bjester
Copy link
Member Author

bjester commented Apr 29, 2021

@radinamatic Yes it was your own feedback that led us to start adding QA Focus since the issue may not wholly describe the changes that were made, or make it clear how to verify against regressions of the change. So I would say the reasoning for any QA Focus is to regression test features that may be affected by the PR's changes.

@radinamatic
Copy link
Member

radinamatic commented May 4, 2021

Let's recap:

PR Issue Category QA Focus Status
#2789 #2725 Cosmetic Sign-in page ✔️
#3063 kds#157 Enhancement Save a search ✔️ Modal
❌ Saved search issues: #3117 might not be a blocker and we can address it in the next sprint, but #3118 is confusing to the user)
#3085 #3080 Enhancement View content library FAQ ✔️
#3004 kds#158 Enhancement Deploy a channel 1
View staged channel summary 1
✔️ (tested by @bjester)
#2997 kds#158 Enhancement Publish a channel ✔️
#2984 kds#158 Enhancement Copy channel token from channel list
Copy channel token from channel edit page
✔️
#2968 kds#156 Enhancement Publish a channel
Sync channel
✔️
#2980 kds#156 Enhancement View related resources infographic ✔️
#2999 #2806 Bug fix Chef a resource with invalid title 1 ➖ (not tested)
#3099 #3049 Bug fix Add a channel editor ✔️
#3108 #3079 Bug fix View-only channel doesn't show publishing modal ✔️ Modal
Gherkin scenario update pending
#3107 #3105, #3106, #3089 Bug fix / tech debt Publish a channel 2 ✔️
#3100 #3071 Bug fix / tech debt Use view-only channel
Publish channel as admin
Open private channel without any permission
✔️ Non-admin Studio users have the expected View-only channel experience, and cannot open private channels without any permissions.
✔️ Studio admin users can open and publish any non-API-generated channel irregardless of the permissions they have, and they don't see View-only labels.

cc @bjester @rtibbles

@radinamatic
Copy link
Member

#3117 & #3118 issues around saved searches are extant on production, and therefore not regressions.

This looks good to approve to me @bjester! 👍🏽
Who should test the fixes related to deploying a sushi chef channel, which are the only ones that remain pending?

@bjester
Copy link
Member Author

bjester commented May 5, 2021

I was able to stage a channel through a sushi chef and then deploy it. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants