The future of MPI - we need your opinion! (1 Viewer)

ltfearme

Community Plugin Dev
  • Premium Supporter
  • June 10, 2007
    6,751
    7,196
    Sydney
    Home Country
    Australia Australia
    *It would be a good idea to introduce the notion of 'Shared' and a 'Permanent' Feature/Component when setting up a project.

    Lets take an example of two plugins sharing the same file(s), it would be desirable to ensure that the component is set to 'Shared' and increment a reference counter each time the file is installed and decremented when its uninstalled. When the Counter is set to 1 before the uninstall then its safe to remove.

    For 'Permanent' I think files such as 'System Fonts' should be marked as 'Permanent and/or the ability to customize which you think should be.

    * Ability to launch Pre/Post Build scripts (Even better would be a built in scripting engine). A Repository could be created which contain useful functions, these could then be imported into the script for use.

    * Ability to create Simple Custom Dialogs, you could allow just a handful of controls (textbox, listbox, combobox, radiooption and button). These could map to Features/Components or properties that can be used in post build scripts e.g.

    Two radio buttons could map to: TVGuide (8 Rows) & TVGuide (12 Rows)

    * Store Path Variables for the project, these would hold the location of the source files mapping to your components. e.g.

    %SKINFILES% = D:\Development\MediaPortal\Skins\StreamedMP
    %PLUGINS% = D:\Development\MediaPortal\Plugins

    When adding files to the project, if the files exist in one of your Path Variables then it will use this path to define its location:

    %SKINFILES%\*.xml
    %PLUGINS%\trunk\MP-TVSeries\Bin\Release\MP-TVSeries.dll
    %PLUGINS%\trunk\MovingPictures\Bin\Release\MovingPictures.dll

    The advantage of this is that any developer can open your MPI project, setup their Path Variables and do a build.

    * Ability to create Shortcuts on the Desktop/MediaPortal programs menu e.g. a Help File or link to online location of Help. This would save the user hunting for it at a later date if required.

    * Suggested way of adding content to the MPI package:

    First have a list of Pre-Defined Folders that can be used e.g.

    SkinFolder
    PluginsFolder
    FontsFolder

    Then the developer adds components and or additional sub-folders under each Folder:

    SkinFolder
    |-----xmlSkinFiles
    |-----images
    PluginsFolder
    |-----\Windows\tvSeries
    |-----\Windows\movingPics
    |-----\Process\rss
    FontsFolder
    |-----fonts

    Each component defined e.g. xmlSkinFiles would have options to add a File, Dynamic List of Files or an Exclusion List

    This should be repeatable such that for each component you can add several single files plus a bunch of files of a particular file type.

    You could use an Exclusion List to filter out files that you may want to separate into multiple components for feature selection e.g. multiple tvguides

    The next thing that the developer would do is map all the components to a particular feature, this is so the end user can control what is going to be installed

    Main (*Required/Invisible*)
    |----xmlSkinFiles
    |----Images
    |----fonts
    |----TVGUIDE8ROWS\tvguide8Rows
    |----TVGUIDE12ROWS\tvguide12Rows
    Plugins
    |----Moving Pictures\movingPics
    |----TVSeries\tvSeries

    etc

    All the end user would need to see is a Tree View of the Feature Names (the components would not be visible e.g. xmlSkinFiles, fonts).

    The Features should have the ability to be marked as 'Required' such that it can't be removed during User Feature selection in the Install Sequence. Or you can mark as Invisible such that it cant even be seen for selection.

    Features/Components are a great way to control what will get installed. I know this is a big one and probably asking too much :)
     

    Dadeo

    Docs Group Manager
  • Premium Supporter
  • November 26, 2006
    5,340
    3,321
    Himalayas, India
    Home Country
    Canada Canada
    I will try to get some free time to rework the manual of it in the wiki, and update with features we will add.

    I don't see this in the wishlist and it seems to be one of the concerns of developers!

    In fact, the current documentation only seems to cover plugins, not skins. Perhaps there could be a simple guide for creating a skin extension without going through all the instructions for creating a plugin extension (and vice versa.)

    I don't see anywhere in Create Extensions for developers to load documentation, or enter a Wiki URL :)

    Does the MPI check that certain required fields (i.e. those we want to sort by) have been entered?
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    I will try to get some free time to rework the manual of it in the wiki, and update with features we will add.
    I have allready started to re-work the documentation. :p
    But i stopped for now because depending on the changes we plan, i might spend a lot of time for nothing.

    In fact, the current documentation only seems to cover plugins, not skins. Perhaps there could be a simple guide for creating a skin extension without going through all the instructions for creating a plugin extension (and vice versa.)
    again. the current documentaion is far from complete. we know that. ;)

    I don't see anywhere in Create Extensions for developers to load documentation, or enter a Wiki URL :)
    Because this feature does not exists?
    Read wishlist in 2nd post.
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    Read wishlist in 2nd post.

    Of course I read the Wishlist, a dozen times! I can't see any reference to documentation (am I blind?) which is why I posted.

    "allow to add a post-installation message which will be displayed once the installation is finished" <<-- this means that the developer can add a link to the wiki or any other documentation, which will be displayed post (after) installation.
    this is what you request. no? ;)
     

    Dadeo

    Docs Group Manager
  • Premium Supporter
  • November 26, 2006
    5,340
    3,321
    Himalayas, India
    Home Country
    Canada Canada
    this is what you request. no? ;)

    NOT unless it REQUIRES developers to provide documentation or a link to the WIKI!

    Right now documentation for extensions is often a) unavailable b) incomplete c) out of date. I don't feel a post install message addresses the problem adequately but not being a developer, perhpas I don't grasp it, in which case I apologize.
     

    Bleazle

    Portal Pro
    July 14, 2007
    1,122
    257
    Pukekohe
    Home Country
    New Zealand New Zealand
    I'm having enough problems trying to find the time to keep the Bleazle skin up to date with the MediaPortal rollouts, and now I have to learn how to make it into an MPI thingy? :( Maybe it's easy, I don't know because I haven't had time to read this thread yet - I hope it is :rolleyes: ....

    Dave

    (I will read this thread or the Wiki or whatever when I get a chance)
     

    Shukuyen

    Community Plugin Dev
  • Premium Supporter
  • May 8, 2008
    557
    300
    Lake of Constance
    Home Country
    Germany Germany
    Hi,

    one thing I don't think is listed yet are dependencies.
    Some plugins depend on others which you have to install before installing the other.
    The MPI application could automatically install those dependencies (if the user agrees, of course).
     

    Dadeo

    Docs Group Manager
  • Premium Supporter
  • November 26, 2006
    5,340
    3,321
    Himalayas, India
    Home Country
    Canada Canada
    Aaahhhh, you want to force the devs to provide a link to a wiki-page?

    Well, I was trying not to be THAT obvious :) but yes, link to WIKI page or provide equivalent documentation. Although I would prefer the Wiki as it can be kept updated (rather than static documentation like a readme) It also ensures a common location and format for users to access ALL documentation. No doubt that was the original intent, it is just not being used.

    I'm having enough problems trying to find the time to keep the Bleazle skin up to date with the MediaPortal rollouts, and now I have to learn how to make it into an MPI thingy? :( Maybe it's easy, I don't know because I haven't had time to read this thread yet - I hope it is :rolleyes: ....

    Dave

    The ideal is that it should be relatively easy, especially compared to developing and maintaining a skin! And that is why I keep harassing infinityloop about making a simple guide (or separate template) for skin developers so they don't have to go through the more complicated stuff for making an mpi for a plugin.

    Making things easy for users is always hard on developers!
     

    Users who are viewing this thread

    Top Bottom