- Joined
- Mar 23, 2008
- Messages
- 1,076
- Reaction score
- 893
- Points
- 128
- Website
- francisdrakex.deviantart.com
How to manage addons depending on other addons?
They are difficult to handle. If an addon-package is installed, some dll's or textures may be overwritten with older ones, or you may be required to download several packages to get one addon running. And sometimes addon developers add sceneries (like launchpads) to rocket addons, which may lead to trouble if an different launchpad is already installed.
Here is a pic to fight off the boredom of this lengthy post
This is a proposed outline of an advanced addon-manger for Orbiter:
Each addon gets an additional info file (could be a .txt or .xml file) with a structured list of other files required to run this specific addon. This info file has always the same name, to make it easy for the addon-manager to find it (e.g. "requirements.xml").
Example: If an addon requires Orbitersound to be present, the contents of the "requirements.xml" file contains this path and filename.
<Orbiter>
<Modules>
<Plugin>
OrbiterSound.dll
</Plugin>
</Modules>
</Orbiter>
A precondition is to point the addon-manager to the 'Orbiter' root directory, but this is required only once.
If the file is found, no action is required.
If the file is missing, the addon-manager acesses a database, which is preferrably online at Orbithangar (but could be offline local as well). This database contains information, which files belong to what addons and where they can be downloaded.
If it finds the required file, it automatically downloads it to a local folder (like \Downloads\Orbiter) and automatically extracts (or installs) this addon to the Orbiter main directory.
This requires some discipline from the addon-makers:
If you upgrade a dll, but keep the same functionality, you can keep the dll name.
But if the new version behaves differently, it must have a different file name. This can be done by adding a trailing version number to the filename.
And it requires establishing an addon database, which could mainly be generated by automatically scanning all the addons at Orbithangar, plus manually adding addons not available there.
_____
I put this here as my programming skills are far from being capable to do this myself. Maybe one skilled programmer can pick up this idea? :tiphat:
They are difficult to handle. If an addon-package is installed, some dll's or textures may be overwritten with older ones, or you may be required to download several packages to get one addon running. And sometimes addon developers add sceneries (like launchpads) to rocket addons, which may lead to trouble if an different launchpad is already installed.
Here is a pic to fight off the boredom of this lengthy post
This is a proposed outline of an advanced addon-manger for Orbiter:
Each addon gets an additional info file (could be a .txt or .xml file) with a structured list of other files required to run this specific addon. This info file has always the same name, to make it easy for the addon-manager to find it (e.g. "requirements.xml").
Example: If an addon requires Orbitersound to be present, the contents of the "requirements.xml" file contains this path and filename.
<Orbiter>
<Modules>
<Plugin>
OrbiterSound.dll
</Plugin>
</Modules>
</Orbiter>
A precondition is to point the addon-manager to the 'Orbiter' root directory, but this is required only once.
If the file is found, no action is required.
If the file is missing, the addon-manager acesses a database, which is preferrably online at Orbithangar (but could be offline local as well). This database contains information, which files belong to what addons and where they can be downloaded.
If it finds the required file, it automatically downloads it to a local folder (like \Downloads\Orbiter) and automatically extracts (or installs) this addon to the Orbiter main directory.
This requires some discipline from the addon-makers:
If you upgrade a dll, but keep the same functionality, you can keep the dll name.
But if the new version behaves differently, it must have a different file name. This can be done by adding a trailing version number to the filename.
And it requires establishing an addon database, which could mainly be generated by automatically scanning all the addons at Orbithangar, plus manually adding addons not available there.
_____
I put this here as my programming skills are far from being capable to do this myself. Maybe one skilled programmer can pick up this idea? :tiphat: