Access all Team Blog posts, via the Blogs link on the Main Menu
It was a very hot topic! The result was, that now, one of our genius developers, Dukus, has written a whole new Extensions Installer from scratch, incorporating the feedback which users and community developers provided. Dukus is already well known for his many excellent plugins like Youtube.fm, Radiotime, MTV MusicVideos and Yahoo MusicVideos (he likes music ). A lot of testing has already been done, as you can see in this forum post Extension Installer V2.
If you want to find out the new, easy way to install and auto update plugins and skins, read on! Yes, you heard me, I said 'auto update'. You can even choose only the plugins and skins that support your version of MediaPortal. Impressed? You should be!
Make sure you catch all Blogs and News posts. Sign up for RSS Feeds on the Home Page Menu under Syndicate. You can also keep track of all new downloads, both skins and plugins.
MPEI V2: The Easy Way to Install Skins and Plugins
1. What are the main problems which MPEI V2 addresses?
I got the idea to make an extension installer when I wanted to publish my first plugin. It was a bit complicated to explain to users how to unzip and copy the files separately to the correct destination folders. So, I have tried to develop a simple executable which theoretically does the same job. This system should help users to install extensions and also to uninstall them correctly and cleanly, which is very important.
The first installer, MPI, had a lot of design problems. The code was buggy. There was very limited possibility to customize it. Plus, the update system was almost unusable because it depended on the Joomla Repository. The extensions in the Joomla Repository are found by the extension name, which may change from one release to another. We have been searching almost two years for a web developer to create a personalized repository for us, but with no luck.
2. What do you mean by "Extension"?
"Extension" means any additional file which is used by MediaPortal and isn't part of the core release. This can be a plugin, skin, TV logos, etc.
3. What are the main features, additions or changes from MPI?
- customizable wizard screens
- dynamic setups - allow the installer setup to react to the user’s choices
- version tracking - so the user can go back to any known version of a extension
- automatic updates
- no link with main site Repository - only a list of URLs is stored in our server, the extension developer provides an online place for his extension and update file
- a simplified extension browser - so users can search and/or filter extensions by tag, name or description.
- a more structured and more polished interface for creating extensions
- a GUID (globally unique identifier), unique for each extension, skin or plugin, so it is not dependent on the name
- the possibility to create a collection or package of extensions, which can be managed separately after installation
- silent install with update via command line
- independence from MediaPortal code, so it can be used with MediaPortal 2 with minor modifications
- simplified C# script support
4. How does a developer provide an online place for his extension?
The developer needs to store their extension file online with a direct link access to the files. For example, Google Code or Sourceforge are perfect. They have their own file repository and even files from SVN can be accessed directly. So every version of a extension is uploaded to the online repository where the downloads are counted and the developer gets information about the popularity of his extension. The update information file is included with source code in SVN.
5. How will it be integrated into MP?
The shortcut for the Installer will be placed on the desktop and files ending with .mpe1 will be associated to the installer. A double click on an mpe1 file will run the installer process. Technically it is not possible, at present, to integrate the Installer into MP configuration. However, you can configure plugins or run a executable which configures a plugin directly from the Installer Browser. You do not need to run MP Configuration only to configure a plugin.
6. Can you also select a skin using the Installer Browser?
No, but when a skin is installed then it is possible to set it as default skin.
7. Does this replace the existing Extensions Plugin in MP?
Yes, the current Extensions Plugin will be removed from MP and replaced by a new, external Extensions plugin. This plugin can be installed via the installer on first run. Using this plugin the user can perform the same functions as MPEI: (un)install, change the version or update an extension.
8. Is this new plugin still called Extensions Plugin? How does the user run the plugin vs. the Installer?
I have not found a good name yet, so for now I just called it MPEI Plugin. It can be installed from the known extensions tab if you have an Internet connection.
9. Can users update all their skins and plugins using MPEI V2?
Yes, if the extension developer implements this.
10. What does the extension developer have to do to allow users to update using the Extensions Plugin?
The developer has to provide a link to the file stored online as well as to an update information file. However, the MPEMaker can generate the update information file and publish it to the MediaPortal main site for the developer. Once the update file has been published, the update information is then available to all users.
11. Does the installer check which versions of skins/plugins will work in a users current version of MP and if so, how?
Yes, the installer implements an option named ‘Dependency’. With this option it is possible to define the minimum and maximum version of MediaPortal supported, including TV-Server or even the installer itself.
12. Why did you not use an open source installer like NSIS?
NSIS is designed for software installation and not for extension installation. To install extensions you only need a small part from this installer and it is difficult to manage MediaPortal paths. Also, it does not allow auto updates. From the user’s point of view the interface of each NSIS installer may vary a lot, which can be confusing for new users. From the developer’s point of view the MPEI installer gives them more possibilities to customize the installer and the interface, without needing to know a specific scripting language.
13. Will there be a guide for skinners and plugin developers to learn how to use MPEI V2? Where?
There are tool tips in English built into the MPEMaker, and a Wiki is planned to provide the needed information and some guides. For skinners there is a wizard which guides them step by step how to make an extension. Some Wiki pages have already been started by another of our team members, Chefkoch. You can take a look at MPEInstaller. Chefkoch has also helped me a lot especially with the maker interface. So I really want to say a big THX to him.
14. With MPEI V2, will users even need to use the Downloads Repository?
Users will not need to use the Repository for any skin or plugin which uses MPEI V2. However it is still required for extensions which do not use MPEI, so we have no plans to remove it.
15. When will MPEI V2 be released?
The MPEI will be released with MP 1.1.0 RC. However, since it is a standalone application, separate releases with additional features are possible. We do not need to wait for a new MP Release.
16. Will there already be skins and plugins using MPEI when it is released?
I hope so, several developers have already approached me and want to use this new installer. My plugins will all use it.
17. How can skin and plugin developers prepare so they can release their extensions using the installer?
There is no need to do anything special, just use the MPEMaker. Any developer is welcome to just send me a private message and I will answer any questions and help as much as I can.
I am so excited, I may even have to break my rule and install a beta release just so I can try this out. You know what I think makes this such an important development? One of MP's strengths is its amazing flexibility and extendibility, which supports a vast array of top notch plugins and skins. So any tool that facilitates the process of installing and updating all those extensions gets my vote! Not many programs do that for you. Now I know why Infinityloop was so excited about it.
Three cheers for Dukus! And thank god we have a Project Coordinator with vision!