Wiki Navigation
- Loading...
Overview
MP2 should have an additional windows service "MP2 Update Service". This service should be responsible to update files in ProgramFiles folder. The MP2-Client is not able to do it because of UAC.
See also the Extension Manager concept.
Details
Tasks
The UpdateService feature is responsible for the following tasks. It is not needed to have all of them available within the UpdateService, as for some other features needs to be implmented before. This is the reason, why it's design needs to be flexible enogh to easily extend additional tasks in the future.
Language file updates
Updating the language files of all plugins in MP2-Client's and MP2-Server's installation dir from Transifex.
This could be the initial task, since we are already using Transifex for translations.
Plugin management
Installing, updating, removing or rolling back of plugins.
For a proper plugin management, a plugin container is needed. This is not implemented in MP2, yet.
MP2 updates
Updating MP2 itself by running the installer or scheduling it for the next system boot.
The WiX-based MP2-Installer is being reworked currently. There might be changes in the future.
The file format, which contains the information about latest available stable version of MP2 needs to be defined. It should contain the following fields:
- Date of latest release
- Version of latest release
- Web location of the installer exe
- What's new / Changelog (optional)
- Definition if (for which versions?) automatic update is possible or not possible? might there be reasons to prevent an automatical one?
Components
The UpdateService is divided into several components.
MP2-UpdateService
The core component is a windows service.
Exact one instance is needed per machine, no matter if the machine is a SingleSeat, Client-only or Server-only installation.
UpdateService plugin
For communication between MP2-Client / MP2-Server and the MP2-UpdateService a plugin is needed.
A plugin needs to be available for MP2-Client and MP2-Server.
Sub-Tasks
Each of the following sub-tasks is needed for every main task.
Management
Responsible component: plugin
This means presenting configurable settings to the user and displaying messages in case of errors or user interaction is needed.
Possible setting:
- Auto-Update language files: off information full-automatic
- Auto-Update plugins: off information full-automatic
- Auto-Update MP2: off information
- Interval for update check: daily weekly
The client plugin also communicates with the server plugin to configure it or launch action. Imagine the following scenario: 2 PCs in the network, machine A with MP2-Server and machine B with MP2-Client. The user would like to update MP2-Server plugins on machine A from within the MP2-Client on machine B.
Web-Communication
Responsible component: plugin or UpdateService ???
This means checking for updates at the web and downloading the files. Possibilities to do it:
- Each UpdateService checks and downloads the files for it's machine.
- The UpdateService, where the server runs on, checks and downloads all files and distributes them to other client machines.
- The plugin within MP2-Server checks for updates and downloads the files and distributes them also to the client plugins.
- Each plugin checks and downloads for it's own machine. On SingleSeat machines the server plugin is responsible.
Execution
Responsible component: UpdateService
This sub-task means copying files to the installation folder, starting an MP2 update or scheduling it for next system boot.
See also
Here you can add all kind of related links to other web pages, blogs., other existing wiki documentation, MP2 classes, components...
Language updates
MP2 @ Transifex - MediaPortal 2's translation framework
Transifex API - The API, which can be used to retrieve information and language files from MediaPortal 2.
Translation Guide - Translation wiki page
Related
This page has no comments.