When I load that into the RDP-to-Scenegraph template as a feed, it doesn’t work. But it does display when I use it with other templates form the Master-template zip on GIT.
Step 2: Components/Content/RootHandler.brs file. In lines 100 and 111 in this file, there’s a line “if item” which is followed by the numerous ContentTypes (movie, shortFormVideo etc). Replace these with your own custom Categories that you used in your Feed (comedy, sports, drama etc). Save it and re-zip it.
Are you using Vimeo as your video hosting site by chance? They generate the JSON feed as part of their “Showcase” feature. I’m not sure which level of service this is avialable for, but it may be worth a review.
Also of note, I have seen in some of the example channels available on the Roku GIT that they are submitting content via an RSS feed.. so that may be an alternative solution too. I know I’m pretty confused on the whole process, but the more I dig in and discuver, the more I feel confident tha tall of the puzzle pieces are there, we just need to put them together.
After further testing, I do see the custom categories for SINGLE VIDEOS does work, however, trying to label series with different categories seems to throw an error. In my JSON, I have a handful of “series” entries, and then a few entries as “Cornhole Series”. Then I list single videos, or movies with the different category names such as “Sports” Cooking" etc.
The categorized series are getting displayed, and the Series entries are displayed and working correctly. However, upon clicking one of the posters to see the specially named cornhole series, it brings up a single “play” button, not episodes, or seasons, and doesn’t actually play. Here is what I have in my RootHandler.brs file:
for each item in json
value = json[item]
if item = "series" or item = "Cornhole Series" or item = "Sports" or item = "News" or item = "Music" or item = "Cooking"
children = []
for each arrayItem in value
itemNode = CreateObject("roSGNode", "ContentNode")
Utils_ForceSetFields(itemNode, {
hdPosterUrl: arrayItem.thumbnail
Description: arrayItem.shortDescription
id: arrayItem.id
Categories: arrayItem["genres"][0]
title: arrayItem.title
})
if item = "Sports" or item = "News" or item = "Music" or item = "Cooking"
'if item = "movies" or item = "shortFormVideos" or item = "tvSpecials" or item = "liveFeeds"
' Add 4k option
'Never do like this, it' s better to check if all fields exist in json, but in sample we can skip this step
itemNode.Url = arrayItem.content.videos[0].url
end if
if item = "series" or item = "Cornhole Series"
seasonArray = []
if arrayItem.seasons <> invalid and arrayItem.seasons.Count() > 0
for each season in arrayItem.seasons
episodeArray = []
for each episode in season.episodes
episodeArray.Push(GetEpisodeNodeFromJSON(episode))
end for
seasonArray.Push(episodeArray)
end for
else
episodeArray = []
for each episode in arrayItem.episodes
episodeArray.Push(GetEpisodeNodeFromJSON(episode))
end for
seasonArray.Push(episodeArray)
end if
Utils_ForceSetFields(itemNode, { "seasons": seasonArray })
end if
children.Push(itemNode)
end for
I wouldn’t change ‘Series’ to a custom category, just leave that as is. I’d venture there’s some backend coding gone into the ‘Series’ element that gives it its unique features. If you changed it to something like ‘Shows’, you might lose all that.
I thought I would share a project I am working on. I have been pouring over the SceneGraph tutorial code to develop a tool to convert Direct Publisher channels to SceneGraph. I have successfully built a SceneGraph channel that uses categories from a JSON feed file to build rows within the channel. This includes Series with Seasons and Episodes and Series with Episodes only. These images were taken from my test channel:
As you can see, the channel was designed to mimic the DP UI. And, each row is identified by the defined categories in the JSON feed file.
I’ll be posting the ‘tool’ as a project on GitHub. More to follow…
Why is everyone going along with this and not mad? Direct publisher works like a charm, why are we going backwards on this tech? Now I have to learn how to convert all channels I have to SDK and need a physical device to do these modifications. This is not good at all and seems to me a way to cut a lot of people out of the Roku Network. This is a very cruel stance and I hope the company changes their minds on this sunset thing. Direct publisher is genius and should not be the thing that goes away. This really pisses me of that it is being talked about, without getting anyone’s opinions on how this will affect them.
There is no reason to discontinue Direct Publisher, what is it hurting being there? What is stopping Roku from moving forward with this?
There is no extra cost or anything, there is no support staff, what could possibly be the real reason why to do away with it?
Please for the love of god do not get rid of “Direct Publisher”!!
Hey @joshwho I can appreciate your enthusiasm, but i’m sue the true reasons for the EOL are much bigger than us not wanting to learn the programming. The system with DP has been problematic for 4+ years with their feed system, the errors, system outages in general, etc. Having been through the wringer with DP I am actually pleased to se them sunset it. Perhaps my understanding of programming makes the transition a bit easier than some, but it is still a wide open platform for us to develop and roll out content with.
but why not leave it for people that have no issues with it and continue on with the new thing without disabling it. It makes no sense to be to disable something that works for me just because it doesn’t work for you. That is bogus.
Again, the system may work for you currently, but as a whole it has been problematic for a vast majority of users over the last handful of years. I have a feelign the band-aids and duct-tape they had holding it together is starting to create larger failures that are non-repairable. If it trully worked entirely as expected, I am certain they wouldn’t sunset it. There HAS to be systemmic reasons for the closure.
We suppose to be moving to cloud everything, not going backwards to a SDK app store. This is wrong. The SDK is on its own thing has no interference with DP so to me it makes no sense to do away with it. I will have to recode everything with my platform just for this change now which really pisses me off, we just finally worked out all the feed errors and how to make it flawless and now they want to dump the project.