Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
jnicholas
Level 7

Replacing existing Channel with new one

Is it possible to replace an existing channel with a new one? The scenario I'm interested in is intead of having separate channels combining them into a unified channel. So basically if I had 3 channels like "My Tennis Videos", "My Golf Videos" and "My Softball Videos" replacing them all with a new "My Sports Videos". The ideal would be anyone who had any of the old ones now has the new channel and the old ones are gone.

Otherwise I assume the easiest approach would be to publish the new unified channel and then after some time replace the old channels with a simple channel that just tells people to download the new channel. If that is the case can I link straight to it in the channel store?
0 Kudos
10 Replies
coskel
Level 7

Re: Replacing existing Channel with new one

It makes more sense to me to build a new portal channel and launch that, then drive users from old channels to new?
Channel: Go Live Sports Cast
"All I've had today is, like, six gummy bears and some scotch."
0 Kudos
jnicholas
Level 7

Re: Replacing existing Channel with new one

"coskel" wrote:
It makes more sense to me to build a new portal channel and launch that, then drive users from old channels to new?


That's what I would like to do, I just want to make it as smooth as possible for users. I was hoping to see some tips for linking between channels or other ideas.
0 Kudos
RokuMarkn
Level 7

Re: Replacing existing Channel with new one

You could re-release your channels as placeholders with the new channel as their Upgrade Channel. The placeholder channels would just inform the user of the change and then do an In-Channel Upgrade to the new channel.

--Mark
0 Kudos
EnTerr
Level 8

Re: Replacing existing Channel with new one

"RokuMarkn" wrote:
You could re-release your channels as placeholders with the new channel as their Upgrade Channel. The placeholder channels would just inform the user of the change and then do an In-Channel Upgrade to the new channel.

What does "In-Channel Upgrade" do? I have seen only mention in-passing but can't find an explanation!
Does using it end up un-installing current channel A and install new channel C?
What happens to registry entries?
What if there were two channels A and B installed, that both are to be upgraded to channel C?
0 Kudos
renojim
Level 8

Re: Replacing existing Channel with new one

"EnTerr" wrote:
What happens to registry entries?

Registry entries are based on developer ID, so if the new channel was signed with the same key, the registry entries will still be there. I'd guess there might be a problem if there were two channels A & B that used different keys and the goal was to migrate them to a new channel C.

-JT
0 Kudos
EnTerr
Level 8

Re: Replacing existing Channel with new one

"renojim" wrote:
Registry entries are based on developer ID, so if the new channel was signed with the same key, the registry entries will still be there. I'd guess there might be a problem if there were two channels A & B that used different keys and the goal was to migrate them to a new channel C.

Makes sense - but i still have no idea what "In-Channel Upgrade" is.
0 Kudos
RokuMarkn
Level 7

Re: Replacing existing Channel with new one

I think In-Channel Upgrade is fully described in the roChannelStore page, with additional information in ifChannelStore and elsewhere. There is even sample code in the roChannelStore page. I just searched for "upgrade" in the docs. Please let me know if you have ideas for making this information more accessible.

--Mark
0 Kudos
EnTerr
Level 8

Re: Replacing existing Channel with new one

"RokuMarkn" wrote:
I think In-Channel Upgrade is fully described in the roChannelStore page, with additional information in ifChannelStore and elsewhere. There is even sample code in the roChannelStore page. I just searched for "upgrade" in the docs. Please let me know if you have ideas for making this information more accessible.

Well it's written in your terse, "sapienti sat"* language 8-). But i would hate to admit i am not "sapienti" enough for the "sat" - and also doing due diligence reading is a common courtesy. So i drilled down for "upgrade" as suggested. What i find is mostly about mechanics of a channel-upgrade - and only a little about semantics. Yet there is some - and if i assemble snippets like a puzzle, i see light:
  • Each channel may have one "In-Channel Upgrade" channel associated with it. (src ifChannelStore)

  • When any channel is created, it can be associated with another channel, its "In-Channel Upgrade" channel. (src roChannelStore)

  • Purchasing an In-Channel Upgrade causes the currently running Channel to be replaced with another, "upgrade" channel, specified by the Channel developer. (src Channel Packaging And Publishing)

  • If the purchase was completed successfully [..] then the new channel has already been downloaded and installed on the unit, and the currently running channel will be automatically deleted when the user exits it. (src ifChannelStore)

Somebody please correct me if i am getting this wrong:
So, each channel may be assigned another, "upgrade" channel in a N:1 relationship (though roList returned by getUpgrade() hints that may change in the future and allow M:N). Thus it would seem different channels X, Y, Z installed should be able to upgrade to the same channel U. The benefit of following doUpgrade() path (vs link through Channel Store to the new channel) is the opportunity of doing that "upgrade" transactionally - that is, old channel X make sure new channel U was installed, do some cleanup, maybe "pass the torch" to U - then have faith that on X exit, X will be deleted. Neat!

Would it be fair to assume that "purchase" mentioned above might be of value $0, i.e. free upgrade?
And also that if X has done upgrade to U, then Y can do upgrade to U faithfully (existing U registry won't be lost, Y will be uninstalled)?

(*) "enough has been said for the wise" (Latin, dictum sapienti sat est)
0 Kudos
Roku Employee
Roku Employee

Re: Replacing existing Channel with new one

Would it be fair to assume that "purchase" mentioned above might be of value $0, i.e. free upgrade?
And also that if X has done upgrade to U, then Y can do upgrade to U faithfully (existing U registry won't be lost, Y will be uninstalled)?


fair to assume, but since nobody has ever tested a free->free upgrade, we can't really tell you if it actually works or not.

- Joel
0 Kudos