<code><component></code> tags of different <literal>type</literal>s as children.
</para>
<para>
Data to fill the different component elements is usually taken from their <ulinkurl="http://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop files</ulink>
Data to fill the different component elements is usually taken from their <ulinkurl="https://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop files</ulink>
and package data. However, if an upstream project ships metainfo files (see <xreflinkend="chap-Metadata"/>),
values defined there should override data from any other source.
</para>
...
...
@@ -159,7 +159,7 @@
</para>
<para>
In case of a component of type <literal>desktop-application</literal>, the application name as defined in the application's
<ulinkurl="http://standards.freedesktop.org/desktop-entry-spec/latest/">desktop file</ulink> is used.
<ulinkurl="https://standards.freedesktop.org/desktop-entry-spec/latest/">desktop file</ulink> is used.
</para>
</listitem>
</varlistentry>
...
...
@@ -171,7 +171,7 @@
The <code><project_license/></code> tag is indicating the license of the component.
It should be a <ulinkurl="https://spdx.org/specifications">SPDX license expression</ulink>.
A full list of recognized licenses and their identifiers can be found at the
The <literal>screenshots</literal> tag is described for metainfo files in <xreflinkend="tag-screenshots"/>. In collection metadata, the tag
has the exact same format as in metainfo files.
The metadata generator may add an arbitrary number of resized thumbnails though.
The metadata generator may add an arbitrary number of resized thumbnails for <literal>image</literal> type screenshots though.
</para>
<para>
Every <code><![CDATA[<screenshot>]]></code> is defined by several images of different sizes.
Every static-image <code><![CDATA[<screenshot>]]></code> is defined by several images of different sizes.
All images should have their width and hight set as arguments. Also, one of the images should be marked as <code>type="source"</code>,
indicating that it is the unscaled version of the screenshot.
Images of <code>type="thumbnail"</code> define thumbnails of the screenshot.
...
...
@@ -408,16 +408,24 @@
on the image shown. The tag is translatable.
</para>
<para>
Every image should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor.
For <code><![CDATA[<screenshot>]]></code> tags that contain <literal>video</literal> elements, a collection metadata generator may impose any restrictions to them,
including completely removing them from the output, imposing filesize limits, etc.
Upstream metainfo files should not rely on the videos being present and must always have a static screenhot for the software component as well.
</para>
<para>
Every image or video should have a full remote url set, usually pointing to a cache of images maintained by the repository vendor.
The distributor decides which components should be made compulsory, however it is generally a good idea to follow upstream's recommendations on that matter.
</para>
<para>
A list of all allowed values for this tag is defined in the <ulinkurl="http://standards.freedesktop.org/menu-spec/latest/apb.html">XDG Menu Specification</ulink>.
A list of all allowed values for this tag is defined in the <ulinkurl="https://standards.freedesktop.org/menu-spec/latest/apb.html">XDG Menu Specification</ulink>.
Software center applications will only recognize these values.
</para>
</listitem>
...
...
@@ -566,10 +574,10 @@
The <literal>type</literal> property of this tag indicates which 3rd-party software installation solution the bundle belongs to.
Currently supported solutions are:
<itemizedlist>
<listitem><para>The <ulinkurl="http://people.freedesktop.org/~mak/limba/">Limba Project</ulink>, using the value <code>limba</code>.</para></listitem>
<listitem><para><ulinkurl="http://flatpak.org/">Flatpak</ulink> bundles, using the value <code>flatpak</code>.</para></listitem>
<listitem><para><ulinkurl="http://appimage.org/">AppImageKit</ulink> bundles, using the value <code>appimage</code>.</para></listitem>
<listitem><para><ulinkurl="http://snapcraft.io/">Snappy</ulink> snap bundles, using the value <code>snap</code>.</para></listitem>
<listitem><para>The <ulinkurl="https://people.freedesktop.org/~mak/limba/">Limba Project</ulink>, using the value <code>limba</code>.</para></listitem>
<listitem><para><ulinkurl="https://flatpak.org/">Flatpak</ulink> bundles, using the value <code>flatpak</code>.</para></listitem>
<listitem><para><ulinkurl="https://appimage.org/">AppImageKit</ulink> bundles, using the value <code>appimage</code>.</para></listitem>
<listitem><para><ulinkurl="https://snapcraft.io/">Snappy</ulink> snap bundles, using the value <code>snap</code>.</para></listitem>
<listitem><para>Plain and possibly compressed tarballs, using the value <code>tarball</code>.</para></listitem>
Visual components (like fonts or graphical applications) may choose to add one or multiple screenshots to their metadata.
Screenshots can be either a video or a static image.
</para>
<para>
The <code><screenshots/></code> tag contains multiple <code><screenshot/></code> children, where at least one of them must have the property
<code>type="default"</code> to indicate the primary screenshot of the software. Every <code><screenshot/></code> tag must have at least
one <code><image/></code> child.
one <code><image/></code> or <code><video/></code> child, but never an <literal>image</literal> and <literal>video</literal> at the same time.
Also, screenshots containing videos must not be the default screenshot.
</para>
<para>
The value of the <code><image/></code> tag is a direct HTTP/HTTPS URL to a screenshot uploaded to a public location on the web.
Images should also be in be in PNG or JPEG format. PNG is the preferred format; JPEG should only be used when screenshots include large photographs or other
images where a lossy format like JPEG may compress better.
</para>
<para>
The value of the <code><image/></code> tag is a direct HTTP/HTTPS/FTP URL to a screenshot uploaded to a public location on the web.
The <code><image/></code> tag may have the following properties:
<itemizedlist>
<listitem>
...
...
@@ -887,14 +893,57 @@
</listitem>
</itemizedlist>
</para>
<para>
The value of the <code><video/></code> tag is a direct HTTP/HTTPS URL to a video uploaded to a public location on the web. The video must be in a
<ulinkurl="https://www.matroska.org/">Matroska (.mkv)</ulink> or <ulinkurl="https://www.webmproject.org/">WebM</ulink> container and use either the
<ulinkurl="https://www.webmproject.org/vp9/">VP9</ulink> or <ulinkurl="http://aomedia.org/av1-features/">AV1</ulink> codec.
The video should ideally work without any audio, but if audio is needed, the <ulinkurl="https://opus-codec.org/">Opus</ulink> codec should be used.
Software centers may still play the video without any sound though. Additionally, AppStream metadata repositories (like in distributions such as Fedora and Debian)
may impose size limitations to video files delivered by their CDN, so it is recommended to keep the video file size below 10MiB.
There is also a chance that software centers do not display any video at all, so a video must never be in a default screenshot.
</para>
<para>
The <code><video/></code> tag may have the following properties:
<itemizedlist>
<listitem>
<para><code>container</code></para>
<para>
The video container used, can be <code>webm</code> or <code>mkv</code>.
</para>
</listitem>
<listitem>
<para><code>codec</code></para>
<para>
The video codec used, can be <code>av1</code> or <code>vp9</code>.
</para>
</listitem>
<listitem>
<para><code>width</code></para>
<para>
The width of the video in pixels.
</para>
</listitem>
<listitem>
<para><code>height</code></para>
<para>
The height of the video in pixels.
</para>
</listitem>
<listitem>
<para><code>xml:lang</code></para>
<para>
The language this video is translated in. This property should only be present if there are multiple videos with
different locales present.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Optionally, a <code><screenshot/></code> tag may have a translatable <code><caption/></code> child, defining a short (ideally not more than 256 characters)
description of what the user can see on the referenced screenshot.
</para>
<para>
Ideally, all screenshots should have a 16:9 aspect ratio, and should have a width that is no smaller than 620 pixels.
They should also be in be in PNG or JPEG format. PNG is the preferred format; JPEG should only be used when screenshots include large photographs or other
images where a lossy format like JPEG may compress better.
Ideally, all image screenshots as well as videos should have a 16:9 aspect ratio, and should have a width that is no smaller than 620 pixels.
</para>
<para>
Example:
...
...
@@ -908,6 +957,9 @@
<caption>Foobar showing the frobnicate functionality.</caption>