studio icon indicating copy to clipboard operation
studio copied to clipboard

Allow publishing of a staged channel as `next`

Open rtibbles opened this issue 1 year ago • 5 comments

Desired behavior

When a channel is staged for deployment by the ricecooker library, the only way to test the channel in a veridical environment is to publish the channel and import it to Kolibri. This involves deploying the channel and then publishing, which somewhat defeats the point of having a staged channel for quality assurance purposes. This is particularly problematic if the channel is already being widely used, and a potentially flawed update might be published.

While there are existing workarounds for this, such as staging the channel to an alternative channel, this adds additional burden to the content integration and quality assurance processes.

Instead, it would be desirable for a staged channel to be 'published' as the next version of the channel.

Requirements

  • [x] Prerequisite task: https://github.com/learningequality/studio/issues/4470
  • [x] https://github.com/learningequality/studio/issues/4977
  • [x] Create a new change type for creating a 'next' publish
  • [ ] Add a button on the staging tree frontend view that reads "Publish draft" - it can be in a similar location to the usual publish button - which will initiate the task using the same change event mechanism that publishing and deployment already use.
  • [ ] Track the task progress in a parallel way to the publishing task.

Value add

Allow easier testing of staged channels

Possible tradeoffs

This adds a small amount of additional complexity, and will also require some tweaks to Kolibri to make this completely usable.

rtibbles avatar Mar 07 '24 21:03 rtibbles

Hi @Advaitgaur004 - the task list in the issue should provide the guidance needed here - do you have any questions about any of the specific tasks?

rtibbles avatar Jan 23 '25 19:01 rtibbles

@rtibbles Can I work on the second task "Update the channel publishing logic to allow the staging tree to be used as the base for publishing - write tests to cover these scenarios"? So I can get more context for the community list feature for GSoC?

taoerman avatar Mar 27 '25 06:03 taoerman

Hi @rtibbles ! I have read the code about change event. Let me know if I can work on the third task?

taoerman avatar Apr 09 '25 16:04 taoerman

Hi @taoerman - apologies for the delay here - several urgent things have delayed my response.

I have slightly updated the incomplete steps of this issue and I will assign you. Please feel free to reach out on Slack or here for clarification at any point.

rtibbles avatar Apr 14 '25 14:04 rtibbles

Automatically unassigning @taoerman due to no comments here, or updates on the associated pull request for 1 month. @taoerman, if you're still interested in this issue or already have work in progress, please message us here, and we'll assign you again. Thank you!

With the finalization of #5115 this overall issue is complete as well! Thank you @taoerman for implementing this!

rtibbles avatar Jul 10 '25 19:07 rtibbles