Philip Withnall
philip@tecnocode.co.uk
Will Thompson
wjt@endlessos.org
Milan Crha
mcrha@redhat.com
Wie Software Metadaten verwendet
Tim Sabsch
tim@sabsch.com 2024

# Software-Metadaten

# Bildschirmfotos

Software zeigt die Bildschirmfotos auf der Detailseite einer Anwendung an. Diese sollten typischerweise Bildschirmfotos von verschiedenen Fenstern/Dialogen der Anwendung enthalten, damit der Benutzer einen schnellen Überblick über die Funktionen, das Aussehen, die Bedienung usw. der Anwendung erhält.

Wenn mehr als ein Bildschirmfoto in der metainfo-Datei der Anwendung vorhanden ist, zeigt Software die Fotos in einem Karussell.

In Fällen, in denen die metainfo-Datei der Anwendung kein Bildschirmfoto enthält, wird ein Platzhaltersymbol mit der Meldung `Keine Bildschirmfotos` angezeigt:

Das Platzhaltersymbol kann bei Ihnen anders aussehen, wenn Sie ein anderes Symbolthema verwenden.

Bildschirmfotos können veraltet sein, wenn sich die Benutzeroberfläche der Anwendung ändert. Auch wenn Software Bildschirmfotos für eine Anwendung anzeigt, ist es wichtig zu prüfen, ob diese Fotos aktuell oder veraltet sind.

Sie können Informationen zu den Bildschirmfotos einer Anwendung verbessern:

So fügen Sie fehlende Anwendungs-Bildschirmfotos hinzu

# Anwendungskontextleiste

Die Anwendungskontextleiste in Software ist eine Sammlung von Kacheln auf der Detailseite einer Anwendung, die die folgenden Details anzeigen.

Speicher

Sicherheit

Hardware-Unterstützung

Altersfreigabe

Dies zeigt die Anwendungskontextleiste für die Software Anwendung:

Die Kacheln werden in der oben aufgeführten Reihenfolge angezeigt (beginnend mit der `Speicher`-Kachel auf der linken Seite).

Jede Kachel wird im Folgenden beschrieben.

# Speicher

Software zeigt eine Speicherkachel auf der Detailseite für eine Anwendung an. Wenn die Anwendung nicht installiert ist, wird die geschätzte Downloadgröße angezeigt, die für die Installation benötigt wird. Wenn die Anwendung installiert ist, wird der von der Anwendung belegte Speicherplatz angezeigt.

Die Größen werden aus Daten berechnet, die vom Software-Backend (z. B. flatpak oder ein RPM) bereitgestellt werden, und sind nicht in den Metadaten der Anwendung angegeben. Sie können diese Kachel nicht beeinflussen, indem Sie die metainfo-Datei einer Anwendung bearbeiten. Sie ist hier nur der Vollständigkeit halber aufgeführt.

# Sicherheit

Software zeigt eine Sicherheitskachel auf der Detailseite für eine Anwendung an. Diese fasst Informationen darüber zusammen, ob die Anwendung als sicher für die Installation und Ausführung betrachtet werden kann oder ob Vorsicht geboten ist, bevor man ihr vertraut.

Diese Kachel kombiniert Informationen über die Berechtigungen, die die Anwendung bei ihrer Ausführung anfordert (z. B. die Erlaubnis, Ihre Dateien zu lesen), mit Informationen darüber, wie die Anwendung entwickelt wurde. Freie Softwareanwendungen, bei denen der Quellcode öffentlich ist, können sicherer sein als proprietäre Anwendungen, da sie überprüft werden können.

Das Dialogfeld, das beim Anklicken der Kachel erscheint, listet die verschiedenen Berechtigungen auf, die die Anwendung anfordert, sowie einige Informationen über die Lizenz und die Laufzeitumgebung.

Sie können die Sicherheitsinformationen verbessern:

So korrigieren Sie falsche Sicherheits- und Berechtigungsinformationen

# Hardware-Unterstützung

Software zeigt eine Kachel zur Hardware-Unterstützung auf der Detailseite einer Anwendung an. Diese kombiniert Informationen über die Hardware-Anforderungen der Anwendung und die Hardware-Fähigkeiten des Rechners mit dem Ziel, Inkompatibilitäten oder fehlende Anforderungen hervorzuheben — oder anzuzeigen, dass die Anwendung ohne Inkompatibilitäten korrekt funktionieren sollte.

Der Code berücksichtigt die folgende Hardware. In Zukunft wird möglicherweise Weiteres unterstützt.

Ob ein Tastfeld, eine Maus oder eine Tastatur vorhanden/benötigt wird

Ob ein Gamepad benötigt wird

Die minimale und empfohlene Anzeigegröße, auf die die Anwendung skaliert werden kann

Es ist nicht möglich, zuverlässig zu erkennen, ob ein Gamepad vorhanden ist, da es oft nicht angeschlossen wird, weil es für die normale Rechnernutzung nicht benötigt wird.

Der Dialog, der beim Anklicken der Kachel erscheint, listet die verschiedenen Hardware-Anforderungen der Anwendung auf und gibt an, ob eine davon nicht erfüllt ist.

Sie können die Hardware-Informationen verbessern:

So fügen Sie fehlende Hardware-Informationen hinzu

# Altersfreigabe

Software zeigt eine Kachel zur Alterseinstufung auf der Detailseite einer Anwendung an. Diese zeigt an, für welche Altersgruppe die Anwendung geeignet sein sollte, basierend auf verschiedenen Arten von Inhalten, die die Anwendung als enthalten deklariert hat. Diese Informationen werden in einem Format zusammengefasst, das den Altersfreigabe-Bescheinigungen für Spiele oder Filme in Ihrem Land ähnelt.

So wird beispielsweise angezeigt, ob ein Spiel Gewalt enthält oder ob eine Anwendung In-App-Werbung enthält.

Das Dialogfeld, das beim Anklicken der Kachel erscheint, listet die verschiedenen Arten von Inhalten in der Anwendung auf und gibt an, wie schwerwiegend diese Inhalte sind.

Sie können die Informationen zur Altersfreigabe verbessern:

So fügen Sie fehlende Informationen zur Inhaltsbewertung hinzu

# Lizenz

Software zeigt eine Kachel an, die angibt, ob es sich bei einer Anwendung um freie Software handelt oder ob die Lizenz proprietär, speziell oder unbekannt ist. Diese Kachel enthält genauere Informationen über die Lizenz des Projekts. Diese Kachel listet auch einige der Vorteile von freier Software auf. Weitere Informationen

Manchmal sind die Lizenzinformationen für eine Anwendung nicht korrekt, sodass eine Anwendung, die eigentlich freie Software ist, als »proprietär« angezeigt wird. Ebenso sind die Lizenzinformationen manchmal unbekannt.

Software hebt freie und quelloffene Lizenzen in Grün hervor, proprietäre und spezielle Lizenzen in Gelb, wie hier gezeigt. Unbekannte Lizenzen sind grau hinterlegt.

Sie können die Lizenzinformationen ergänzen oder verbessern:

So korrigieren Sie falsche Lizenzierungsinformationen

# Verweise

Software zeigt eine Liste an Verweisen zu Ressourcen der Anwendung in der Link-Kachel an. Sie sind wie folgt:

| Verweis auf die Webseite
| Verweis auf Spenden
| Verweis auf das Beitragen von Übersetzungen
| Verweis auf eine Fehlerberichterstattung
| Verweis auf Hilfe
| Verweis auf Kontaktmöglichkeiten

Einige oder alle dieser Verweise können vorhanden sein, je nachdem, ob sie in der metainfo-Datei der Anwendung aufgeführt sind.

Wenn die metainfo-Datei der Anwendung keinen Verweis enthält, wird die folgende Kachel mit einem Fragezeichen angezeigt.

Sie können die Verweise verbessern:

So fügen Sie fehlende Verweise hinzu

# Karussellkachel

Anwendungen, die von Software vorgestellt werden, werden in einem Karussell am oberen Rand des Hauptfensters angezeigt. Jede Kachel des Karussells hat eine Hintergrundfarbe, die automatisch aus dem Symbol der Anwendung extrahiert wird. Manchmal ist diese Hintergrundfarbe nicht ganz passend für die Anwendung und muss vom Anwendungsentwickler explizit angegeben werden.

Die vorgestellten Anwendungen wird von den Betreuern der Linux-Distributionen ausgewählt.

Sie können die Karussellkachel verbessern:

So stellen Sie die Hintergrundfarbe der Karussellkachel ein

# Woher die Metadaten kommen

Die Metadaten, die angeben, welche Hardware eine Software benötigt, für welche Altersgruppen sie geeignet ist und welche Faktoren dazu beitragen, dass die Installation sicher ist, stammen alle aus der metainfo-Datei für diese Software.

Die metainfo-Datei ist eine XML-Datei. Ihr Dateiformat ist in der AppStream-Spezifikation angegeben.

Siehe die metainfo-Datei für GNOME Dateien.

appdata ist der alte Name für metainfo.

# Was passiert, wenn die Metadaten fehlen?

Wenn einige Metadaten für eine Anwendung fehlen, kann Software nur raten, was es sein könnte, und kann daher nicht viele Informationen präsentieren. Die Annahmen, die Software trifft, beruhen auf der Tatsache, dass die meiste Software für Desktop-Rechner konzipiert ist.

Sie können helfen, die Metadaten für eine Anwendung zu verbessern!

# So steuern Sie fehlende Informationen bei

Wenn Sie feststellen, dass auf der Seite einer Anwendung Informationen fehlen oder falsch sind, können Sie auf eine der beiden Arten dazu beitragen:

Sie können die fehlenden/falschen Metadaten im Fehlerberichterstattungssystem der jeweiligen Anwendung melden, damit der Anwendungsentwickler das Problem beheben kann.

Sie können die fehlenden/falschen Metadaten selbst korrigieren. Lesen Sie dazu die unten stehende Anleitung Hinweise.

Für beides müssen Sie zunächst die Projektseite der Anwendung finden. Der Verweis auf die Projektseite sollte normalerweise auf der Seite der Anwendung zu finden sein, wie hier gezeigt. Falls nicht, müssen Sie ihn mit einer einfachen Google-Suche finden.

Anwendungen werden normalerweise in GitLab oder GitHub verwaltet. GNOME-Anwendungen werden zum Beispiel in gitlab.gnome.org verwaltet.

# So fügen Sie fehlende Anwendungs-Bildschirmfotos hinzu

Die Bildschirm-Informationen für eine Anwendung werden im `<screenshots>`-Element innerhalb der `<component>` der Anwendung in deren metainfo-Datei gespeichert.

Es werden zwischen 5 und 10 Bildschirmfotos für eine Anwendung empfohlen. Fotos sollten idealerweise im PNG-Format mit einem Seitenverhältnis von 16:9 und einer Mindestbreite von 620 Pixeln vorliegen.

Hier sind zum Beispiel die Bildschirmfoto-Einträge für die Software-Anwendung:

<screenshots> <screenshot type="default"> <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-overview.png</image> <caption>Overview panel</caption> </screenshot> <screenshot> <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-details.png</image> <caption>Details panel</caption> </screenshot> </screenshots>

# So korrigieren Sie falsche Sicherheits- und Berechtigungsinformationen

Die Sicherheits- und Berechtigungsinformationen für eine Anwendung stammen aus unterschiedlichen Quellen, je nachdem, wie die Anwendung gepackt ist. Für traditionell gepackte Anwendungen, z. B. im RPM- oder DEB-Format, sind keine Sicherheits- oder Berechtigungsinformationen verfügbar, und es ist auch nicht möglich, sie zu einer Anwendung hinzuzufügen.

Bei Flatpak-Anwendungen stammen die Informationen aus dem Flatpak-Manifest der Anwendung, das angibt, welche Löcher in der Sandbox die Anwendung benötigt. Jedes dieser Löcher trägt typischerweise dazu bei, die angezeigte Sicherheitsstufe der Anwendung in Software zu senken — sie wird von »sicher« über »potenziell unsicher« zu »unsicher«.

Um das Sicherheitsniveau einer Anwendung zu verbessern, muss ihr Sandboxing so eng wie möglich gestaltet werden, indem Sandbox-Berechtigungen dort entfernt werden, wo sie nicht benötigt werden, und Portale anstelle von Sandbox-Berechtigungen verwendet werden, wo dies möglich ist. Die Verwendung von Portalen senkt nicht die angezeigte Sicherheitsstufe einer Anwendung in Software.

Wenn die Anwendung beispielsweise Lese-/Schreibzugriff auf das gesamte Dateisystem (`--filesystem=host`) verlangt: Braucht sie das tatsächlich, oder muss sie nur auf Dateien an einigen bestimmten Stellen zugreifen? Wenn ja, könnte das Dateiportal verwendet werden, oder es könnten spezifischere Dateisystemberechtigungen angegeben werden.

Wenn die Anwendung auf Wayland läuft und nur als Fallback auf X11 laufen muss, ohne spezielle X11-Funktionen zu verwenden, könnte sie `--socket=fallback-x11` statt `--socket=x11` verwenden?

In Zukunft können hier Hinweise zu bestimmten Berechtigungen oder anderen Verpackungsformaten hinzugefügt werden.

Weiterer Lesestoff:

# So fügen Sie fehlende Hardware-Informationen hinzu

Die Hardware-Informationen für eine Anwendung werden in den `<requires>`, `<recommends>` und `<supports>` Elementen innerhalb der `<component>` in der metainfo-Datei der Anwendung gespeichert.

Software versteht die `<control>` und `<display_length>` Elemente.

Beispiele für Metadaten finden Sie unter diesem Blogbeitrag oder diesem Blogbeitrag.

# So fügen Sie fehlende Informationen zur Inhaltsbewertung hinzu

Die Informationen zur Inhaltsbewertung einer Anwendung werden im `<content_rating>`-Element innerhalb der `<component>` der Anwendung in deren metainfo-Datei gespeichert.

Anwendungen sollten den OARS-1.1-Standard verwenden, um dieses Element auszufüllen. Wenn das `<content_rating>`-Element nicht angegeben ist, ist die Inhaltsbewertung der Anwendung unbekannt. Wenn es angegeben, aber leer ist, hat die Anwendung keinen Inhalt, der für eine bestimmte Zielgruppe ungeeignet sein könnte.

Verwenden Sie den OARS-Generator, um geeignete Informationen zur Inhaltsbewertung für eine Anwendung zu erstellen.

# So korrigieren Sie falsche Lizenzierungsinformationen

Die Lizenzierungsinformationen für eine Anwendung werden im `<project_license>`-Element innerhalb der `<component>` der Anwendung in deren metainfo-Datei gespeichert.

Der Inhalt dieses Elements sollte ein SPDX-Ausdruck sein, der die »Hauptlizenz« für das Projekt beschreibt. Dies sollte in der Regel die Lizenz des Codes sein und nicht die Lizenz der Dokumentation oder zusätzlicher Inhalte umfassen.

Handelt es sich bei dem SPDX-Ausdruck um eine Einzellizenz oder um eine »oder«-Kombination mehrerer Lizenzen, die alle FSF- oder OSI-genehmigt sind, gilt die Anwendung als »freie Software«, was auch in der Lizenzkachel angegeben ist. Andernfalls gilt sie als »proprietär«.

Wenn eine Anwendung als »proprietär« angezeigt wird, obwohl dies Ihrer Meinung nach nicht der Fall sein sollte, ist es wahrscheinlich, dass das `<project_license>`-Element die Dokumentationslizenz für das Projekt enthält. Entfernen Sie es.

Zum Beispiel, ändern Sie die Lizenz-Metadaten von:

<project_license>GPL-2.0+ and CC-BY-SA-3.0</project_license>

zu

<project_license>GPL-2.0+</project_license>

Weiterer Lesestoff:

Don’t (generally) put documentation license in appdata

# So fügen Sie fehlende Verweise hinzu

Die Verweise einer Anwendung werden als `<url>`-Elemente innerhalb der `<component>` der Anwendung in ihrer metainfo-Datei gespeichert.

Fügen Sie so viele der in der Appstream-Spezifikation dokumentierten Verweis-Typen hinzu, wie für die Anwendung verfügbar sind. Wenn für einen bestimmten Verweistyp keine geeignete Seite existiert, muss er nicht aufgenommen werden.

Hier sind zum Beispiel die Ressourcenverweise für die Software-Anwendung:

<url type="bugtracker">https://gitlab.gnome.org/GNOME/gnome-software/-/issues</url> <url type="contact">https://discourse.gnome.org/tag/gnome-software</url> <url type="contribute">https://welcome.gnome.org/app/Software/</url> <url type="donation">https://www.gnome.org/donate/</url> <url type="homepage">https://apps.gnome.org/Software</url> <url type="translate">https://l10n.gnome.org/module/gnome-software/</url> <url type="vcs-browser">https://gitlab.gnome.org/GNOME/gnome-software/</url>

# So stellen Sie die Hintergrundfarbe der Karussellkachel ein

Die Hintergrundfarbe der Karussellkacheln wird normalerweise automatisch aus dem Symbol der Anwendung extrahiert. Wenn diese Farbe jedoch nicht zufriedenstellend ist, kann sie durch Verwendung des Appstream `<branding/>` Elements mit deklarierten Farben überschrieben werden (seit der 47.x Veröffentlichung). Der Vorteil ist, dass auch andere Anwendungen die Farben verwenden können.

Hier sind zum Beispiel einige branding-Einträge:

<branding> <color type="primary" scheme_preference="light">#ff00ff</color> <color type="primary" scheme_preference="dark">#993d3d</color> </branding>

Beachten Sie, dass das `scheme_preference`-Attribut ignoriert wird, Software wählt die bessere Farbe für das Thema selbst aus.

Aus Gründen der Abwärtskompatibilität besteht weiterhin die Möglichkeit, das folgende XML-Element in das metainfo-Element `<component>` der Anwendung einzufügen:

<custom> <value key="GnomeSoftware::key-colors">[(124, 53, 77), (99, 16, 0)]</value> </custom>

aber das `<branding/>`-Element hat Vorrang.

Der Wert von `GnomeSoftware::key-colors` ist eine GVariant im Textformat mit dem Typ `a(yyy)` und repräsentiert eine ungeordnete Menge von Schlüsselfarben für die Anwendung. Jedes Element der Menge ist eine Farbe im RGB-Format im Bereich von `(0, 0, 0)` bis `(255, 255, 255)`.

Die Farben sollten so gewählt werden, dass sie:

Mit der Anwendung identifizierbar sind und nach Möglichkeit der Marke der Anwendung entsprechen.

Mit dem Rand des Anwendungssymbols in Kontrast stehen, sodass das Symbol erkennbar ist, wenn sie als Hintergrund verwendet werden.

Mit der Vordergrund-Textfarbe im Adwaita-Thema (`#2e3436`) und in seiner dunklen Variante (`#eeeeec`) in Kontrast stehen. Dies bedeutet im Allgemeinen, dass Sie eine Farbe mit mittlerer Helligkeit wählen.

Der Kontrast kann mit der Kontrast-Anwendung überprüft werden.

Es sollte mindestens eine Farbe angegeben werden. Es können mehrere Farben angegeben werden, wenn eine Farbe nicht alle oben genannten Anforderungen erfüllen kann. Software wählt dann die am besten geeignete Farbe für die Karussellkachel aus. Wenn genau eine Farbe angegeben wird, können Helligkeit und Sättigung der Farbe verändert werden, um den Kontrast zur Vordergrundfarbe zu verbessern. Wenn mehr als eine Farbe angegeben wird, wird die Farbe mit dem besten Kontrast zur Vordergrundfarbe gewählt, und ihre Helligkeit und Sättigung werden nicht verändert.

# So testen Sie die Änderung der Hintergrundfarbe von Karussellkacheln

Ändern Sie die metainfo-Datei für Ihre Anwendung, und führen Sie dann Software aus mit:

gnome-software --show-metainfo=/pfad/zur/anwendung.metainfo.xml,icon=/pfad/zur/anwendung/icon.png

Die Detailseite für Ihre Anwendung wird angezeigt. Wenn Sie zurück zur Übersichtsseite von Software navigieren, ist Ihre Anwendung die einzige im »Vorgestellt«-Karussell.