Philip Withnall
philip@tecnocode.co.uk
Will Thompson
wjt@endlessos.org
Milan Crha
mcrha@redhat.com
Jak Software používá metadata
Daniel Rusek
mail@asciiwolf.com 2025
Dagobert Janota
janotadag@gmail.com 2025

# Metadata softwaru

# Snímky obrazovky

Software zobrazuje snímky obrazovky na stránce detailů aplikace. To často zahrnuje snímky různých oken či dialogových oken aplikace, aby uživatel mohl pochytit rychlý přehled o funkcích aplikace, vzhledu, prožitku z užívání atd.

Pokud se v souboru metainfo aplikace nachází více než jeden snímek obrazovky, Software zobrazí sled snímků.

V případě, že soubor metainfo aplikace neobsahuje žádný snímek obrazovky, bude zobrazena tato zástupná ikona s popiskem `Žádné snímky obrazovky`:

Pokud používáte vlastní motiv ikon, tak zástupná ikona může vypadat jinak.

Snímky obrazovky se mohou stát zastaralými se změnami uživatelského rozhraní aplikace. Takže i přestože Software zobrazuje snímky obrazovky aplikace, je důležité si zkontrolovat, zda jsou tyto snímky obrazovky aktuální, nebo ne.

Můžete vylepšit informace o snímcích obrazovky aplikace:

Jak přidat chybějící snímky obrazovky

# Panel informací o aplikaci

Panel informací o aplikaci v Software je soubor polí na stránce detailů aplikace, které zobrazují následující podrobnosti.

Úložiště

Bezpečnost

Podpora hardwaru

Vhodné od věku

Takto vypadá panel informací v aplikaci Software:

Pole jsou zobrazeny v pořadí výše (počínaje polem `Úložiště` vlevo).

Každé pole je detailně popsáno níže.

# Úložiště

Software zobrazuje pole úložiště na stránce detailů aplikace. Pokud aplikace není nainstalována, zobrazí předpokládanou velikost ke stažení pro instalaci. Pokud je aplikace již nainstalována, zobrazí velikost úložiště, které je zabráno aplikací.

Velikost je spočítána z backendu Software (jako třeba z flatpaku nebo RPM) a není specifikována v metadatech poskytovaných aplikací. Tuto položku nemůžete změnit upravováním souboru metainfo aplikace. Úložiště je zde jen pro úplnost.

# Bezpečnost

Software zobrazuje pole bezpečnosti na stránce detailů aplikace. To shrne, zda může být aplikace považována za bezpečnou, nebo zda je nutné býti opatrnější před důvěřováním dané aplikaci.

Toto pole kombinuje informace o oprávněních, které aplikace vyžaduje při spuštění (jako třeba čtení vašich souborů), s informacemi o vývoji aplikace. Svobodné aplikace, které mají zdrojový kód veřejně dostupný, mohou být bezpečnější než uzavřené, protože mohou být kontrolovány.

Po kliknutí na toto pole se otevře dialogové okno s různými oprávněními, které aplikace vyžaduje a dalšími informacemi o licenci aplikace a jejím běhovém prostředí.

Můžete vylepšit informace o bezpečnosti:

Jak opravit špatné informace o bezpečnosti a oprávněních

# Podpora hardwaru

Software zobrazuje pole podporovaného hardwaru na stránce detailů aplikace. To kombinuje informace o požadavcích na hardware aplikace a možnostech hardwaru počítače, snaží se zvýraznit rozdíly a nedostatky vůči požadovanému hardwaru – nebo zobrazit, že aplikace by měla fungovat správně bez problémů.

Kód zjišťuje následující hardware. Více by mohlo být podporováno v budoucnosti.

Zda je touchpad, myš nebo klávesnice dostupná či potřebná

Zda je gamepad potřebný

Minimální a doporučená velikost displeje, na který se aplikace bude škálovat

Není možné spolehlivě zjistit, zda je gamepad dostupný, protože je často nechán odpojen, jelikož není potřeba pro běžnou práci s počítačem.

Po kliknutí na toto pole se otevře dialogové okno s různými požadavky na hardware, které aplikace požaduje a zda jsou splněny.

Můžete vylepšit informace o hardwaru:

Jak přidat chybějící informace o hardwaru

# Vhodné od věku

Software zobrazuje pole věkové skupiny na stránce detailů aplikace. To zobrazí pro jakou věkovou skupinu je aplikace vhodná na základě různých druhů obsahu, který aplikace specifikovala, že obsahuje. Tato informace je shrnuta v podobném formátu věkové skupiny, jako mají hry či film ve vaší zemi.

Například se zvýrazní informace o obsahu násilí ve hře, nebo zda aplikace obsahuje reklamy.

Po kliknutí na toto pole se otevře dialogové okno s různými typy obsahu v aplikaci a jak závažný je daný obsah.

Můžete vylepšit věkovou skupinu:

Jak přidat chybějící věkovou skupinu

# Licence

Software obsahuje pole znázorňující, zda aplikace je svobodným/otevřeným softwarem (FOSS), uzavřená, speciální, nebo neznámá. Někdy toto pole také vypisuje výhody FOSS oproti uzavřenému softwaru

Někdy informace o licenci není správná a svobodná aplikace se může zobrazit jako uzavřená. Podobně může někdy být informace o licenci neznámá.

Software zvýrazňuje svobodné licence a licence s otevřeným zdrojovým kódem zeleně, uzavřené a speciální licence žlutě, jako je zde zobrazeno. Neznámé licence jsou šedé.

Můžete přidat nebo vylepšit informaci o licenci:

Jak opravit špatné informace o licenci

# Odkazy

Software zobrazuje seznam odkazů pro aplikaci v poli s odkazy. Jsou to následující:

| Odkaz na webové stránky
| Odkaz pro přispění darem
| Odkaz pro přispění s překladem
| Odkaz pro nahlášení chyby
| Odkaz pro nápovědu
| Odkaz pro kontaktování vývojáře

Některé, nebo všechny z těchto odkazů mohou být zobrazeny, jestliže jsou definovány v souboru metainfo aplikace.

V případě, že v souboru metainfo aplikace není žádný odkaz, zobrazí se pole s otazníkem.

Můžete vylepšit odkazy:

Jak přidat chybějící odkazy

# Pole doporučených aplikací

Aplikace, které jsou doporučené Software jsou zobrazeny ve sledu v horní části hlavního okna, jako je ukázáno zde. Každé pole má barvu pozadí, která je automaticky vyhodnocena z ikony aplikace. Někdy barva pozadí není úplně správná pro aplikaci a musí být definována vývojářem aplikace.

Seznam doporučených aplikací je spravován správci linuxové distribuce.

Můžete vylepšit pole doporučených aplikací:

Jak nastavit barvu pozadí v poli doporučených aplikací

# Odkud se berou metadata

Metadata používaná pro definování hardwaru, který aplikace potřebuje, pro jakou věkovou skupinu je vhodná a jaké vlastnosti přispívají k bezpečnosti instalace, všechna pocházejí ze souboru metainfo pro danou aplikaci.

Soubor metainfo je soubor XML. Jeho formát je definován ve specifikaci AppStream.

Podívejte se na soubor metainfo aplikace Soubory.

appdata je starší termín pro metainfo.

# Co se děje pokud chybí informace

Pokud nějaká metadata aplikaci chybí, Software může pouze hádat, jaká by mohla být a tak nemůže ukázat moc informací ve svém rozhraní. Předpoklady, které Software dělá jsou založeny na faktu, že většina aplikací je navržena pro stolní počítače.

Můžete vylepšit metadata aplikace!

# Jak přidat chybějící informace

Pokud zjistíte, že stránka aplikace postrádá nebo má špatné informace, můžete přispět jednou ze dvou možností:

Můžete nahlásit chybějící či nesprávná metadata do záznamu o chybách dané aplikace, takže vývojář dané aplikace je může opravit.

Můžete opravit chybějící či nesprávná metadata sami. Podívejte se na část Jak níže, abyste věděli, jak to provést.

Pro obojí musíte nejdříve najít stránku projektu. Odkaz na stránku projektu by měl být běžně na stránce aplikace jako je ukázáno zde. Pokud tam není, budete muset jej najít jednoduchým vyhledáváním na Google.

Aplikace často hostuje GitLab nebo GitHub. Například aplikace GNOME jsou hostované na gitlab.gnome.org.

# Jak přidat chybějící snímky obrazovky aplikace

Informace o snímcích obrazovky aplikace je zaznamenána v prvku `<screenshots>` v prvku`<component>` aplikace v souboru metainfo.

Doporučený počet snímků obrazovky pro aplikaci je mezi 5 a 10. Snímky obrazovky by měly být ve formátu PNG s poměrem stran 16:9 a minimální šířkou 620 pixelů.

Například toto jsou záznamy snímků obrazovky pro aplikaci Software:

<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>

# Jak opravit špatné informace o bezpečnosti a oprávněních

Informace o bezpečnosti a oprávněních aplikace pochází z různých zdrojů, které záleží na způsobu zabalení dané aplikace. Pro tradičně zabalené aplikace, například formáty RPM a DEB, neexistují žádné informace o bezpečnosti a oprávněních a nelze je nijak do aplikace přidat.

Pro aplikace flatpak pochází informace z manifestu flatpaku, který specifikuje díry potřebné v izolovaném prostředí aplikace. Každá z těchto děr přispívá ke snižování úrovně zabezpečení aplikace v Software – posouvá se z „bezpečné“ přes „potenciálně nebezpečnou“ až do „nebezpečné“.

Chcete-li zlepšit úroveň zabezpečení aplikace, musí být co nejpřísněji izolovaná, odstraněním oprávnění izolovaného prostředí na místech, kde nejsou potřeba a používáním portálů místo oprávnění izolovaného prostředí. Používání portálů nesnižuje úroveň zabezpečení v Software.

Například pokud vaše aplikace požaduje přístup ke čtení či zápisu do celého souborového systému (`--filesystem=host`), opravdu to potřebuje, nebo jen potřebuje přístup ke konkrétním souborům na několika specifických místech? Pokud to druhé, tak můžete použít souborový portál nebo specifičtější oprávnění souborového systému.

Pokud aplikace funguje přes Wayland a pouze vyžaduje pracovat s X11 jako záložním řešením bez použití speciálních funkcí X11, mohli byste upřednostnit `--socket=fallback-x11` před `--socket=x11`?

V budoucnu zde mohou být přidány pokyny ohledně specifických oprávnění a dalších balíčkovacích formátech.

Další čtení:

# Jak přidat chybějící informace o hardwaru

Informace o požadavcích na hardware jsou uložené v prvcích `<requires>`, `<recommends>` a `<supports>` v prvku `<component>` aplikace v souboru metainfo.

Software zohledňuje prvky `<control>` a `<display_length>`.

Chcete-li více příkladů metadat, můžete se podívat na tento článek nebo tento článek.

# Jak přidat chybějící věkovou skupinu

Informace o věkové skupině jsou uložené v prvku `<content_rating>` v prvku `<component>` aplikace v souboru metainfo.

Aplikace by měly v tomto prvku používat standard OARS 1.1. Pokud prvek `<content_rating>` není specifikován, věková skupina pro aplikaci je neznámá. Pokud je specifikován, ale prázdný, tak aplikace nemá žádný obsah, který by byl nevhodný pro jakoukoli věkovou skupinu.

Chcete-li vytvořit informaci o vhodném obsahu, využijte generátor OARS.

# Jak opravit špatné informace o licenci

Informace o licencování aplikace je uložená v prvku `<project_license>` v prvku `<component>` aplikace v souboru metainfo.

Obsah tohoto prvku by měl být výraz SPDX, který popisuje „hlavní“ licenci projektu. Obvykle by se mělo jednat o licenci kódu a neměl by zahrnovat licenci dokumentace a doplňkového obsahu.

Pokud je výraz SPDX jedna licence, nebo používá „or“ (nebo) kombinaci několika licencí, které jsou všechny schválené FSF nebo OSI, aplikace je brána za „svobodný software“ a pole s licencí to říká. Jinak je brána za „uzavřený software“.

Pokud aplikace se zobrazuje jako „uzavřený software“ a myslíte si, že by to tak nemělo být, je to často způsobené tím, že prvek `<project_license>` obsahuje licenci dokumentace projektu. Odstraňte ji.

Například změňte metadata licence z:

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

na

<project_license>GPL-2.0+</project_license>

Další čtení:

Don’t (generally) put documentation license in appdata

# Jak přidat chybějící odkazy

Odkazy aplikace jsou uložené v prvcích `<url>` v prvku `<component>` aplikace v souboru metainfo.

Přidejte co nejvíce typů odkazů, které jsou ve specifikaci appstream a dostupné pro aplikaci. Pokud neexistuje vhodná stránka pro daný typ odkazu, nemusí být přidána.

Například toto jsou odkazy pro aplikaci Software:

<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>

# Jak nastavit barvu pozadí v poli doporučených aplikací

Barva pozadí v poli doporučených aplikací je běžně vyhodnocena z barev ikony aplikace. Pokud vám taková barva nevyhovuje, může být nastavena použitím appstream prvku `<branding/>` s danými barvami (od vydání 47.x). Výhodou je, že tyto barvy může použít více klientů.

Příklad položek o značce:

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

Vězte, že vlastnost `scheme_preference` je ignorována, Software vybere nejlepší barvu pro motiv podle sebe.

Pro zpětnou kompatibilitu je zde ponechána možnost přidat následující XML do prvku`<component>` aplikace v souboru metainfo do `<component>` element:

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

ale prvek `<branding/>` má přednost.

Hodnota `GnomeSoftware::key-colors` je textový formát GVariant typu `a(yyy)` a představuje neuspořádaný seznam barev pro aplikaci. Každý prvek seznamu je barva ve formátu RGB od `(0, 0, 0)` do `(255, 255, 255)`.

Barvy by měly být vybrány tak, aby:

Bylo možné je přiřadit k aplikaci a nějakým způsobem odpovídaly značce aplikace.

Lišily se s hranami ikony aplikace, tak, aby bylo možné ikonu rozeznat při použití barvy pro pozadí za danou ikonou.

Lišily se s barvou textu v motivu Adwaita (`#2e3436`) a její tmavou variantou (`#eeeeec`). To obvykle znamená výběr barvy se střední úrovní jasu.

Kontrast může být zkontrolován pomocí aplikace Kontrast.

Měla by být definována minimálně jedna barva. Může jich být definováno více, pokud jedna barva nesplňuje požadavky výše, a Software vybere tu nejvhodnější pro použití v poli doporučených aplikací. Pokud je právě jedna definována, její jas a sytost mohou být upraveny za účelem vylepšení kontrastu s barvou textu. Pokud je více než jedna barva definována, tak se použije ta s nejlepším kontrastem s barvou textu a její jas a sytost se nezmění.

# Jak otestovat změnu barvy v poli doporučených aplikací

Upravte soubor metainfo pro vaši aplikaci a poté spusťte Software s:

gnome-software --show-metainfo=/cesta/k/app.metainfo.xml,icon=/cesta/k/ikoně/aplikace.png

Zobrazí se stránka detailů vaší aplikace. Když se vrátíte zpět na domovskou stránku Software, vaše aplikace bude jedinou v „doporučených“ aplikacích.