From Univention Wiki
Before you can start with the creation of an App for Univention App Center, you'll need to prepare your UCS environment. This section guides you through the necessary steps.
First of all, get yourself a copy of UCS free of charge at the Univention Website. You can choose between an ISO image or a pre-installed virtual machine.
Please refer to the UCS Quickstart Guide for the steps about installation and initial setup.
The Test App Center
Before Apps are published in the App Center for every UCS user to see, they are uploaded into the Test App Center. Here the App Provider can test the functionality of the App itself and Univention can run tests to ensure the integrity of UCS and its core services (LDAP, Samba, etc.).
Using the Test App Center
You can now use the Test App Center:
univention-install univention-appcenter-dev univention-app dev-use-test-appcenter
Now you have access to the Test App Center. See Self Service how to get your App into the Test App Center.
Installing an App
Once the App is in the Test App Center, you can install it through the Univention Management Console (UMC). UMC consists of several module, one of them is the "App Center" module. You can install the App using this module.
The following points are mandatory for the App to be published:
- The App has to install without user interaction.
- The App may not negatively impact UCS' core services.
- The App has to uninstall without leaving any remainders that interfere with UCS' core services.
When installing the App, also mind README files that may be shipped. An Administrator expects an App to be fully configured after the installation. If something is needed in order to use the App (e.g., activating users for the service), it should be described in the README files.
Upgrading an App
The UMC module only allows the installation of the latest version. To test an upgrade of your App, you may use
univention-app install myapp=1.0
You can then go back to UMC and upgrade your App to version 2.0.
Automatic testing for App Providers
Regardless of the type of App provided, the test suite run by Univention may be extended. If you provide ucs-test-$appid, this package will be installed and run. Please refer to ucs-test to see how to build a test case with the UCS Test framework. See Self Service how to provide a package. For Docker Apps/Image Based this might be the only package, for other Apps, the test package is just one among others.
- Univention will test your App. But these tests do not cover the App's functionality! This has to be done by the App Provider.
If your tests fail, you may want to look at Debugging.