PROPOSAL - Simplifying skin file installation for plugins (1 Viewer)

elliottmc

Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Hi,

    As part of an internal discussion of updating skins, it seems we have a number of issues.

    1. The different versions of a plugin may require different skin files, so that only having the latest and greatest version of a skin available might not work for everyone.

    2. If we install skins which provide support for many plugins, we have loads of skin files installed that we simply don't need.

    In order to get around these problems, I propose a repository with files for the individual plugins/skins.

    For example, we might have

    Titan_MPTVSeries_x.y.z.zip

    and then MP would check if it has installed skin files for the plugin, and if not it will download them based on the installed version of the plugin. It will probably do this at startup.

    There are a number of problems with this approach, and these would need to be resolved. The main one is who can actually code this! Volunteers?

    Problems I can see right now:

    1. How to deal with this for a HTPC that is not online - need to provide a mechanism for offline updates (provide a list of urls to download?

    2. How to check for all possible installed plugins, retrieve their version numbers and check against a new database for installed skins?

    3. What if the user does something stupid, such as deleting a file? When we install the files, do we need to keep the database up to date with installed files, so that if the user deletes a file, it can be fixed on the fly?

    4. If the user has the plugin skin files installed, but the skinner puts out a new version, how will MP know that there is a new version available?

    First of all though, do skinners think this is a good approach, and how would you envisage this working for you?
     

    Vasilich

    Portal Pro
    August 30, 2009
    3,394
    1,170
    Germany, Mayence
    Home Country
    Russian Federation Russian Federation
    3. What if the user does something stupid, such as deleting a file? When we install the files, do we need to keep the database up to date with installed files, so that if the user deletes a file, it can be fixed on the fly?
    we can make an option "reinstall current version of skin"

    Should this skin handling be integrated (or at least use same mechanism) into MPEI ? so it can know plugin version and search for appropriate skin version? this will enable us to search for updates for plugins and skins also
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    3. What if the user does something stupid, such as deleting a file? When we install the files, do we need to keep the database up to date with installed files, so that if the user deletes a file, it can be fixed on the fly?
    we can make an option "reinstall current version of skin"

    Should this skin handling be integrated (or at least use same mechanism) into MPEI ? so it can know plugin version and search for appropriate skin version? this will enable us to search for updates for plugins and skins also

    Using MPEI would definitely be an option. Perhaps we already have the mechanisms in place to do this, although the dependencies are more complex.

    For example, we can have a skin require a plugin, or a plugin require another plugin, but now we have a requirement that if a skin is installed and in use, and a plugin is installed, then an additional requirement is present (the skin files for the plugin).
     

    Edalex

    Community Plugin Dev
  • Premium Supporter
  • January 3, 2008
    2,955
    1,264
    Saratov
    Home Country
    Russian Federation Russian Federation
    Volunteer here!
    Since it is a logical continuation of our Logomanager and my SkinUpdater tool https://forum.team-mediaportal.com/threads/skinupdater-plugin-mockup.119393/
    Also I proposed this myself but too lazy to find exact text ;) Maybe it is somewhere in MPEM thread where I blamed it for it for not working skins solution/
    The only method I know where mp is checking skin is GUIWindowManager.Load
    I thought of checking if file exists or not. If not -> download from repo. IF not available - take from DefaultWide or other installed skin
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Volunteer here!
    Since it is a logical continuation of our Logomanager and my SkinUpdater tool https://forum.team-mediaportal.com/threads/skinupdater-plugin-mockup.119393/
    Also I proposed this myself but too lazy to find exact text ;) Maybe it is somewhere in MPEM thread where I blamed it for it for not working skins solution/
    The only method I know where mp is checking skin is GUIWindowManager.Load
    I thought of checking if file exists or not. If not -> download from repo. IF not available - take from DefaultWide or other installed skin

    Thanks for volunteering. This would be a massive help.

    I guess the question is whether to do this in MPEI or have a separate skin repository. To be honest, if it works and you're prepared to do it, I don't really care. As long as we can set up a url for skin files, such as

    https://www.team-mediaportal.com/skins/

    where we can store the plugin skin files

    maybe have the skin name as a folder rather than being part of the filename (as I originally proposed)

    @high - is this easy ?

    Let's get this done for 1.6.0 !!!!
     

    wizard123

    Retired Team Member
  • Premium Supporter
  • January 24, 2012
    2,569
    2,680
    Home Country
    United Kingdom United Kingdom
    Can you lay this out in simple terms (the plan) so us lonely skinners can see what impact (if any) it has on us?
     

    Edalex

    Community Plugin Dev
  • Premium Supporter
  • January 3, 2008
    2,955
    1,264
    Saratov
    Home Country
    Russian Federation Russian Federation
    I guess the question is whether to do this in MPEI or have a separate skin repository. To be honest, if it works and you're prepared to do it, I don't really care. As long as we can set up a url for skin files, such as
    https://www.team-mediaportal.com/skins/
    where we can store the plugin skin files
    maybe have the skin name as a folder rather than being part of the filename (as I originally proposed)
    @high - is this easy ?
    Let's get this done for 1.6.0 !!!!
    I think MPEI and your future MPEM were not designed for skins and logos since in both cases you don't need the whole pack and also they are not compilable dlls so their files could be accessible directly.
    Also need to decide how to code it. Maybe we can catch what skin filename plugin's Init is loading by external tool using System.Reflection or Mono.Reflection. This will be better for me then changing mp core since I can't be with you on 1.6.0.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Okay, here's a dumb question: why do we need another "thing" to solve this problem?
    If the MPEM or MPEI mechanism aren't suitable at present, fine... but MPEM is a work in progress. I don't understand why we would not co-operate with @sa_ddam213 to extend/modify the MPEM design as necessary, rather than working separately.
    I ask this because I don't understand what the point of MPEM is if it is not to manage all the complications related to skins, plugins and logos. As a user, I don't want separate applications for managing skins, plugins and logos; I want a "one-stop-shop".
     
    Last edited:

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Okay, here's a dumb question: why do we need another "thing" to solve this problem?
    If the MPEM or MPEI mechanism aren't suitable at present, fine... but MPEM is a work in progress. I don't understand why we would not co-operate with @sa_ddam213 to extend/modify the MPEM design as necessary, rather than working separately.
    I ask this because I don't understand what the point of MPEM is if it is not to manage all the complications related to skins, plugins and logos. As a user, I don't want separate applications for managing skins, plugins and logos; I want a "one-stop-shop".

    Fair comment. I haven't been following MPEM, so I have no idea what is going on. I am simply proposing what we need, and then we find the best way to make it happen.

    Edit: Had a look at the MPEM thread, and while it looks great, there hasn't been any activity for over a month.

    I agree that we don't need to be reinventing the wheel.
     
    Last edited:

    Users who are viewing this thread

    Top Bottom