Welcome to our forums! Please take a few moments to read through our Community Guidelines (also conveniently linked in the header at the top of each page). There, you'll find guidelines on conduct, tips on getting the help you may be searching for, and more!

ObjectContainer.no_history and replace_parent do nothing

pannipanni Posts: 840 Plex Pass
edited November 2015 in Channel Development

I've been trying to implement those in the Sub-Zero plugin's ObjectContainers.

As far as I've experienced none of those two attributes change anything in the history behaviour of PlexWeb or Plex4Samsung. Those options simply do nothing.

Can anyone confirm? What's the official take on this?

Best Answer

Answers

  • pannipanni Posts: 840 Plex Pass

    Edit: moved to the correct forum

  • coryo123coryo123 Posts: 158 Plex Pass

    Many clients don't make use of those properties.

    You can't rely on them because they're something every client needs to implement, and channel related things seem to be very low priority for the client devs.

  • pannipanni Posts: 840 Plex Pass
    edited November 2015

    Yeah I was aware of the fact that the clients don't support it.

    I was very confused, though, when I noticed that even their own Plex Web client doesn't support those options (anymore?). They're very needed imho.

    Can I report this somewhere? Is there a dedicated "development-issues" E-Mail, issue-tracker, or something?

    I'd love an official comment on this issue.

  • dane22dane22 Posts: 9,759 Plex Ninja

    State the user case, as detailed as possible, and I'll raise the issue

    /T

  • pannipanni Posts: 840 Plex Pass
    edited November 2015

    Well, the current official documentation, PlexPlug-inFramework.pdf, details the usage of no_history and replace_parent on ObjectContainer instances:

    no_history
    A boolean specifying whether the container should be added to the client’s history
    stack. For example, if Container B in the sequence A => B => C had no_cache
    set to True, navigating back from C would take the user directly to A.
    
    replace_parent
    A boolean specifying whether the container should replace the previous container
    in the client’s history stack. For example, if Container C in the sequence A => B
    => C had replace_parent set to True, navigating back from C would take the user
    directly to A.
    

    Those attributes are very useful in theory, for example when launching a menu item which returns the main/root menu instance again, to emulate a "redirect" to the root menu.
    (The framework doesn't seem to allow us to modify or make HTTPRequests like a HTTPResponseRedirect inside the sandboxed URL handling of the plugin ourselves, which is a separate issue.)

    In PlexWeb neither of those attributes seem to have any effect.

    This results in a user-confusing browser history state, where he presses the back button and triggers any action which was done before, including the root-root menu transition.

    In the Sub-Zero plugin, for example, there is a generic library browser built in, with the option to refresh or force-refresh a single item. After the user presses the refresh button, the plugin redirects to the root menu and displays a status message. In this case a no_history handling on the last ObjectContainer with said button to skip adding the action itself to the browser history, would be very useful.

  • pannipanni Posts: 840 Plex Pass

    Thank you very much!

  • dein0sdein0s Posts: 8 ✭✭

    Well, it's already 2017.
    Any news on this issue? As this attributes are still listed in class ObjectContainer(Framework.modelling.objects.ModelInterfaceObjectContainer) with some other, but seems to have no effect (alteast I couldn't find them anywhere else in framework).

  • dane22dane22 Posts: 9,759 Plex Ninja

    Sadly no :-(

Sign In or Register to comment.