...
A list of available features can be found at Plugins Features (or can be seen in a later step when the update site is loaded). However, in this tutorial we will install the optional database feature as an example.
There are two three possibilities to install a new feature. The most easiest way is to use the GUI. If you don't have a GUI, e.g. when running a server-only product, you may install new features using the console.
There is a third version: Installing with command line.
Table of Contents | ||
---|---|---|
|
...
Choose the Update site from the "work with" dropdown, althouhg it should be already there, it is located at .
Odysseus provides two common update sites:
- http://odysseus.informatik.uni-oldenburg.de/update/ This site contains stable versions of plugins
- http://odysseus.informatik.uni-oldenburg.de/incubation/ This site contains all plugins that are not always stable and may contain errors.
Remark: There is another update site, from one member of the Odysseus team: https://www.kuka.cc/software/odysseus/
3. Choose the features
You should now see all available features. If you choose the options "Group items by category", the features are categorized into two groups: "Odysseus" and "Product Definitions". The first one holds all additional features that can be installed. So, at this point you should choose the features you want to install. In our example, we choose the "Database Feature". Press "Next".
...
You shold now see all installed featured
Installing via Console (Server version)
Remark: It is also possible to use Odysseus Script to install new features. (#REQUIRED)
If you don't have a GUI, you can install new features using the console.
There are different commands you may use.
Remark: If you want to install features, that are from the incubation part, you will need to change the update site:
Code Block |
---|
setUpdateSite http://odysseus.informatik.uni-oldenburg.de/incubation/ |
List installed features
The command "installedFeatures" lists all features that are currently installed. Simply enter the command into the OSGi console like here:
...
The command you may use is "installableFeatures", which looks as follows:
It will fertch fetch some data from the update site and finally prints a list of installable features (already installed features are not shown).
...
The, the installation and update routine will automatically download, install and update all necessary features (aka plugins). After that, a restart is forced.
Tip: Because, every installation leads to a restart, you can combine different features with a comma (attention do not add a space!):
Code Block |
---|
installFeature feature1,feature2,feature |
I cannot install new features?
It can happen that it is not possible to install a feature on the server. The error may look similar to the following:
Code Block | ||
---|---|---|
| ||
10:00:16.283 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Found following features that will be installed now: 10:00:16.283 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - de.uniol.inf.is.odysseus.spatial.feature.feature.group 10:00:16.283 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Starting install process... 10:00:16.283 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Starting task Checking the install request... 10:00:16.284 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Checking the install request: 100% completed 10:00:16.284 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Starting task ... 10:00:16.284 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 1% completed 10:00:16.284 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 1% completed 10:00:16.284 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 3% completed 10:00:16.298 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 6% completed 10:00:16.322 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 6% completed 10:00:16.323 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Cannot complete the request. Generating details.: 6% completed 10:00:16.332 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Cannot complete the request. Generating details.: 25% completed 10:00:16.333 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 1% completed 10:00:16.333 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 1% completed 10:00:16.333 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 3% completed 10:00:16.346 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 6% completed 10:00:16.369 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Calculating requirements and dependencies.: 6% completed 10:00:16.370 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Cannot complete the request. Generating details.: 6% completed 10:00:16.384 [Thread-4] INFO de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Cannot complete the request. Generating details.: 25% completed 10:00:16.384 [Thread-4] ERROR de.uniol.inf.is.odysseus.updater.FeatureUpdateUtility - Operation details 10:00:16.384 [Thread-4] DEBUG de.uniol.inf.is.odysseus.planmanagement.executor.standardexecutor.StandardExecutor - Translation done. |
If this is the case, you have to update your existing features first with updateFeatures
(see How to update Odysseus and then "Update via Console).
Update features
For updating existing features, you should look here: How to update Odysseus
Install Features via Command Line
It is possible to install features without starting the product (e.g. to create a docker image with a distinct combination of features), e.g. for Windows:
Code Block |
---|
eclipsec.exe -application org.eclipse.equinox.p2.director -repository https://odysseus.informatik.uni-oldenburg.de/updatesite/odysseus_all_new/stable/origin/master/latest/ -installIU de.uniol.inf.is.odysseus.wrapper.rabbitmq.feature.feature.group -destination H:/git/odysseus_core/odysseus_dev/products/monolithic/target/products/de.uniol.inf.is.odysseus.studio.product.monolithic/win32/win32/x86_64 -profile SDKProfile |
or for Linux:
Code Block |
---|
/usr/lib/odysseus/odysseus -application org.eclipse.equinox.p2.director -repository https://odysseus.informatik.uni-oldenburg.de/updatesite/odysseus_all_new/incubation/origin/master/latest/ -repository https://odysseus.informatik.uni-oldenburg.de/updatesite/odysseus_all_new/stable/origin/master/latest/ -installIU de.uniol.inf.is.odysseus.wrapper.rabbitmq.feature.feature.group -destination /usr/lib/odysseus -profile OdysseusProfile |
See: https://help.eclipse.org/2020-03/topic/org.eclipse.platform.doc.isv/guide/p2_director.html?resultof=%22%70%32%22%20%22%64%69%72%65%63%74%6f%72%22%20 for further information.