Meta files

From Univention Wiki

Revision as of 14:38, 20 December 2016 by Wiesenthal (talk | contribs)
Jump to: navigation, search


Each App comes with some meta data. It describes the App both for the user (a descriptive text, screenshots, etc.) and the App Center (the name of the Docker image, required ports, etc.).

Important
The Provider Portal hides the actual files and presents a web form where you can upload images, set parameters and so on.

The ini file

The single most important file is the ini file. Without it, there is no App. It is a simple text file with at least a section

[Application]

and some variables and their corresponding values in the format:

Variable=value

The variables have their own page.

This example file is taken directly from the App Center. It describes the App Jenkins:

[Application]
ID=jenkins
Code=JE
Logo=jenkins.svg
LogoDetailPage=jenkins_with_title.svg
Name=Jenkins
Version=1.642.2
License=free
DockerImage=docker.software-univention.de/jenkins:1.642.2
NotifyVendor=True
NotificationEmail=appcenter-reporting@univention.de
Vendor=Jenkins Project
WebsiteVendor=https://jenkins-ci.org/
Maintainer=Univention GmbH
WebsiteMaintainer=https://www.univention.com/
Contact=feedback@univention.de
SupportURL=https://wiki.jenkins-ci.org/display/JENKINS/Commercial+Support
DockerScriptInit=
DockerScriptStoreData=
DockerScriptRestoreDataBeforeSetup=
DockerScriptRestoreDataAfterSetup=
DockerScriptSetup=
WebInterface=/jenkins/
WebinterfacePortHTTP=8080
WebinterfacePortHTTPS=8080
WebInterfaceProxyScheme=http
PortsExclusive=50000
UCSOverviewCategory=False
RequiredUCSVersion=4.1-1
License=free
Categories=Collaboration
Description=Jenkins is a continuous integration tool.
LongDescription=<p>Jenkins is the leading open source automation server.
  Built with Java, it provides
  hundreds of plugins to support building, testing, deploying and
  automation for virtually any
  software project.</p>
  <p>This is a fully functional Jenkins server, provided by the Jenkins
  project.
  It is based on the Long Term Support release <a target="_blank"
  href="http://jenkins-ci.org/">http://jenkins-ci.org/</a>.
  It can be used for free in the context of MIT-Lizenz and Creative
  Commons Attribution Share-Alike respectively.
  See <a target="_blank" href="https://hub.docker.com/_/jenkins/">https://hub.docker.com/_/jenkins/</a>
  for more information.</p>

[de]
Description=Jenkins ist ein Tool zur kontinuierlichen Integration.
LongDescription=<p>Jenkins ist der führende Open-Source-
  Automatisierungsserver. Jenkins ist in Java implementiert,
  es bietet hunderte von Plugins, die das Erstellen, Testen, in Betrieb
  nehmen und Automatisieren für nahezu jedes
  Software-Projekt unterstützen.</p>
  <p>Dies ist ein voll funktionsfähiger, vom Jenkins-Projekt bereit
  gestellter Jenkins Server. Er basiert auf dem Long
  Term Support Release <a target="_blank" href="http://jenkins-
  ci.org/">http://jenkins-ci.org/</a>. Er kann im Rahmen der MIT-Lizenz
  bzw. Creative Commons Attribution Share-Alike frei benutzt werden.
  Siehe
  <a target="_blank" href="https://hub.docker.com/_/jenkins/">https://hub.docker.com/_/jenkins/</a>
  für weitere Informationen.</p>
WebsiteMaintainer=https://www.univention.de/


Logos, Screenshots

Along with the ini file, several pictures may be used to showcase the App. You should add the logo of the App in a squared and a stretched version in SVG format named as in the ini file. Compare the one and the other logo file of Jenkins. You may add screenshots as described in Thumbnails. Or you specify one or more YouTube URLs and upload the videos there.

READMEs, License file

There are several files that may be used to explain the App in depth in various situations (in the lifecycle within the App Center).

NOTE
All of the following files may be localized. That means that you may provide two versions of the file, one ending in "_DE", one in "_EN", e.g., README_DE and README_EN. All files support (and require) HTML if you want to format it. Mere newlines are not automatically formatted, they will be removed because of the HTML view of the file.
LICENSE_AGREEMENT
If you require the user to confirm a license agreement before installation, provide this file.
README
The most important readme file. Shown in the detail page of the App Center, if the App is installed. Therefore, it should provide first steps to take to actually use the App, e.g. what to do to use existing UCS users to authenticate against your App or an initial password to finish any setup.
README_INSTALL
A file containing important information for the end user which is shown just before the installation starts.
README_POST_INSTALL
A file containing important information for the end user which is shown just after the installation is completed.
README_UPDATE
A file containing important information for the end user which is shown just before the update starts. Use case: Changelog.
README_POST_UPDATE
A file containing important information for the end user which is shown just after the update is completed.
README_UNINSTALL
A file containing important information for the end user which is shown just before the uninstallation starts. Use case: Warning about broken services.
README_POST_UNINSTALL
A file containing important information for the end user which is shown just after the uninstallation is completed. Use case: Instructions how to clean up if the App was unable to do it automatically.
Personal tools