MPE Tools with Version Check community development (5 Viewers)

Migue

Retired Team Member
  • Premium Supporter
  • January 27, 2006
    381
    305
    Florida
    Hi,
    as you all know, MediaPortal 1.2 will have a version checking mechanism for plugins (Version Compatibility - MediaPortal Wiki).

    We plan to have the MPE tools (MPEInstaller and MPEMaker) to take advantage of this mechanism to improve the user's experience in reliably offering compatible extensions to them.

    What has changed in the tools?

    • In MPEMaker:
      • A MediaPortal dependency is now required. Also, the version number for this dependency has changed. Instead of being based of "public" MP version, the version is based on the "internal API" version (this is the version used by the Version Check for plugins mechanism, currently 1.1.6.27644). If this dependency is missing from your project, it will be added automatically when saving it.
      • If your extension provides plugins (.dll files whose install location are in %Plugins%), the source .dlls will be scanned and appropriate versioning information will be placed on the .xmp2 and update.xml files when saving the project. (The same information that's in your AssemblyInfo.cs)
      • If your extension provides a skin (determined by checking if it provides a references.xml file), a Skin dependency is added with the version number taken from the references.xml file when saving the project.
    • In MPEInstaller:
      • MPEInstaller will refuse to install any extension that does not meet the dependencies stated above. This means that all existing extensions will show as incompatible in the new MPEInstaller.

    As a package creator, to make your extension compatible for MP 1.2 you should, in most cases, you just need to re-save your project using the new MPEMaker.
    The only exception is if you had already provided a MediaPortal dependency in the dependencies section. If that's the case, you need to modify the version info to be 1.1.6.27644 in the Minimum field. In max version field you should put the designedforVersion version (see wiki link above), which usually is the same as minimum version (for now).

    To test, after backing up your original files, replace them with the ones provided in the zip file.
    Please test that everything works as expected and provide feedback. Please provide feedback related to version checking and showstopper bugs only.

    NOTE: The provided binaries also include fixes for some DPI issues(large fonts issues) and for Mantis 0003547: Uninstalling extensions fails to remove the first added file - MediaPortal Bugtracker
     

    Attachments

    • MPETools v10.zip
      237.3 KB

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    Thanks everyone for posting their feedback about the MPE Tools!
    Keep those suggestions coming! :)

    Due to the very late point in development of MP 1.2.0, we can only make a few small changes for 1.2.0.
    The main goal of this thread here is to make sure that MPE is working with the compatibillity check of MP.

    For 1.3.0 we will make more changes to fulfill the needs of our community skinners and plugin developers.
     

    offbyone

    Development Group
  • Team MediaPortal
  • April 26, 2008
    3,989
    3,712
    Stuttgart
    Home Country
    Germany Germany
    Currently checking the new MPEMaker, here's my Bug/Wish-List:
    • The version (major,minor,build) textboxes on the Dependencies screen have an issue when you resize the window (make it larger and you won't see the numbers). It looks like they are empty and non-editable ;)
    • There's also a long standing issues with the Release date on the Extension Information screen. I can select today in the calendar dropdown or any date, but once I change the to another section and back, the new date is not sticking.
    • When you maximaize the window, the Groups & Files section has rendering issues as well.
    • The Icon set in Extension Information -> Additional Params always gets a new GUID in the XML when saved (even when not changed!). This is not very SVN friendly ;)
    • I'm in desperate need of a Template like %Base%, but for the Version of the plugin (entered in Extension Information screen). Something like %Version%. This way I can put the xml file needed for the MPEI GUI plugin in the correct path: %Config%\Installer\V2\<GuidOfMyPlugin>\<ThisVersion>\extension_settings.xml
     

    seco

    Retired Team Member
  • Premium Supporter
  • August 7, 2007
    1,575
    1,239
    Home Country
    Finland Finland
    If this is the case the I really hope that the following issue that I reported in MPEI thread has been fixed:

    "Dependencies section says "Current version: 1.1.27644.6" for Mediaportal which is very confusing since I think it should be "1.1.6.27644".

    Also, Min Version and Max Version settings expect this "wrong format"."
     

    Dadeo

    Docs Group Manager
  • Premium Supporter
  • November 26, 2006
    5,340
    3,321
    Himalayas, India
    Home Country
    Canada Canada
    Hi Migue, nice work! Looking at it from MPEI Browser/User perspective:
    1. Updated all online update info
    2. Select 'Show only compatible extensions
    3. Known extensions is now blank
    4. Installed extensions tab shows my 1.2.0b compatible extensions which all passed version compatibility check
    5. BUT they are all marked with a warning sign (see attached screenshot) and tooltip says some dependencies are not met :confused:
    6. Tooltip tells me to use the 'More' Button but I can't find one!
    Will there be a different icon for non 1.2.0 extensions vs those that just don't meet all dependencies? :p

    While you are at it, can you please change the text color for the "Ignore Updates" option (lower right of each extension box) the white on light blue is not really readable. (Oops guess that is beyond the showstopper issue criteria, but if you cannot see a function, it is kinda useless)

    Other than that, it was really easy and clear.

    One of my biggest issues USING MPEI is that quite often the Temp folder (e.g. C:\Users\Dadeo\AppData\Local\Temp) gets screwed up. This can happen easily anytime internet is not 100%, which is often in many parts of the world, like here! When that happen:
    1. MPE1 files will not install (says 'Wrong file format')
    2. Online Updates all Say 'File Exists' and freezes MPEI
    Ideally there could be some way to clean up the Temp folder but I am more concerned that you cannot install extensions, you do not get a valid error message and when you try to update online data, the app freezes. So at least the behaviour when an error occurs could be improved.

    I realize that is not an issue with version compatibility, but it is pretty critical.

    EDIT: I just realized that of course all extensions currently show a warning, because the packages have not been updated using the new MPEMaker! DUH! The good news is that the package Guzzi created for MyFilms 5.0 works perfectly.
     

    Attachments

    • MPEI.jpg
      MPEI.jpg
      70.8 KB

    fforde

    Community Plugin Dev
    June 7, 2007
    2,667
    1,702
    43
    Texas
    Home Country
    United States of America United States of America
    I think a required dependency check makes sense and should hopefully make a user's life a bit less of a headache. My biggest concern though is about the fact that plugin releases without MediaPortal dependencies defined will not install. This is a fine idea long term but short term it could cause a slew of 1.2 compatible plugins to suddenly stop working. For example Pandora MusicBox does not have a dependency check in it's MediaPortal 1.2 release (mainly because the MPE Maker was not detecting version numbers correctly). So long as these changes are rolled out in a major release (like 1.2 RC) it should be easy to coordinate, just please attempt to let the plugin community know about timing as you get closer to releasing these breaking changes out.

    It also would be nice to have a published list of version numbers, especially since the actual version number of MediaPortal does not match the public version number. Right now the only way I know to check the version number of a particular release is by examining the DLL, which is not a problem if I care about the latest SVN version number but a bit of a pain otherwise. A simple wiki page with real version number to public version number mapping would be extremely useful.

    And finally, this is unrelated to the version check functionality but while we are talking about MPEI, my number one concern is presentation. Installers created with MPEI have (among a few other usability issues) grammatical errors and some bad layout decisions. It would be nice if MPEI installers could have the same level of polish as the proper MediaPortal installer. This is the number one reason Moving Pictures does not use MPEI at this point.
     

    infinite.loop

    Retired Team Member
  • Premium Supporter
  • December 26, 2004
    16,163
    4,133
    127.0.0.1
    Home Country
    Austria Austria
    And finally, this is unrelated to the version check functionality but while we are talking about MPEI, my number one concern is presentation. Installers created with MPEI have (among a few other usability issues) grammatical errors and some bad layout decisions. It would be nice if MPEI installers could have the same level of polish as the proper MediaPortal installer. This is the number one reason Moving Pictures does not use MPEI at this point.
    I agree completely (and I could add many more points to that list. :( ). The hard thing for me was to find an developer who will take care about the MPE Tools. Did not had any luck until Migue showed up.

    Thanks again Migue, you are doing great work on an very important part of MP. Can not repeat that often enought! :)
    :D
     

    Migue

    Retired Team Member
  • Premium Supporter
  • January 27, 2006
    381
    305
    Florida
    Updated first post with a new version with offbyone's reported issues fixed. (Except 4th one, convince me it's a bug ;)).
    Please test that everything works as expected. I'm unsure if the fix for the regenerating GUID has adverse effects elsewhere.
     

    offbyone

    Development Group
  • Team MediaPortal
  • April 26, 2008
    3,989
    3,712
    Stuttgart
    Home Country
    Germany Germany
    All my posted issues are confirmed fixed, thx!

    I can live without the %Version% template for now :) and manually enter the path.

    One more minor thing: When I enter text in the "This version description" textbox, I can do linebreaks (ENTER). But after saving and re-opening my xmp2, those won't be displayed anymore. (But they are in the xml).

    Now on the installer site:
    I have MP1.2 beta installed, replaced with the files from your sencond zip. I build my installer with it (depency is automatically set to 1.1.6.27644, min and max), and then tried to install, but it says some of the dependencies are not met? (A little more info would also be nice in that dialog I guess).
     

    Users who are viewing this thread

    Top Bottom