Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: ADRs for modeling containers capability #251
base: main
Are you sure you want to change the base?
docs: ADRs for modeling containers capability #251
Changes from 37 commits
2906792
b1b1a88
413b66c
0deab25
22eb1ae
db61fda
b5f05d8
9d2c62d
8648f16
80cf370
b98c02c
ccada60
778ce2b
e738778
3a28fa5
bbce789
af7dce4
506d9cd
466b450
46999f8
0c426d2
46dfa9e
d37a414
64e4db9
46e5a09
822d9a0
8646225
1f1c962
f260756
86141e5
aff8b9b
76e89d5
6ecde96
f7cc446
dc5a0a2
d0f1fc8
83f8d04
8fa418e
6fd6864
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to be more specific about the unit, is the unit in a content library o within the context of a course?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this interact with the library workflows?
You have a unit in a library with one component. You publish everything and use it in a course. You edit that component in the library. The unit does not show as changed and can't be published. The component does show as changed, and can be published. When you publish it, you'll see a notification in the course that a newer version of the component is available, and you'll update it directly, not via updating the unit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I imagine that's what it would happen if we set the unit component to point to the latest version. We wouldn't need to update the unit itself because nothing really changed. Does that make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think I understand this now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does a "soft deletion" get published? Is it always applied immediately? Based on the ADR as written, it seems it is impossible to soft delete a child, preview that in the LMS "preview" mode before students see it, then later publish the deletion so that students see it.
Edit: never mind, I guess it makes sense. The
Draft
is deleted -> soft deleted on draft only. We need some way to indicate this in the UI and show a "publish" button for the deleted component, since the parent container will NOT show as changed. Then, when that deletion is published, thePublished
entry is deleted as well, publishing the deletion.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a component is soft-deleted today, that means its
draft_version
is set to None. Itspublished_version
remains whatever it was before until that soft-delete is published. So you should still be able to look at the draft version of a Unit and see the soft-delete reflected before the publishing of the component happens.That being said, I think the normal flow of things when we're working in the Studio view of a Unit is that when we delete a component from a Unit, we actually want to create a new version of the Unit to reflect that deletion. Soft-deletion not automatically triggering cascading creations of new containers was a way to try to deal with things that may up in many, many container-like things (e.g. variants of a randomized pool).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also have this vague recollection that it helped to simplify some revert scenarios, but i'm just now getting back into this doc and trying to page all this stuff back into my brain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree. I think this item refers to what happens when soft-deleting the component itself, but I think that makes describing the workflow a bit more confusing. If that's the case, it also makes sense that a new version is also created when the deletion is published which is not exactly what I said here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's a lot of ambiguity here, so I'd like to clarify it as three different scenarios:
PublishLog
that affects both the unit and the deleted component.Does that make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I put test cases for those three scenarios here: e07a741
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question:
What I'm still missing here is the behavior of publishing containers when they're being reused somewhere and modified in some way. I understand we discussed this in our last meeting, but it's still not clear to me what our approach should be from the modeling point of view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if this requires its own ADR, but it helps illustrate the decisions using a more familiar concept like units.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should these decisions be part of this ADR as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note to self: This needs to be updated according the latest changes in the container ADR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm currently working on this section. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the first version of selectors based on the information that's available. I haven't considered these comments yet, but I'll make sure to include reference them since that might impact their design. Also, for the container history.