[AppStream] A dedicated format for AppStream metadata curation and augmentation

Matthias Klumpp matthias at tenstral.net
Fri Jul 22 10:05:51 UTC 2016


Hi!
While working with AppStream metadata so far, a lot of people wanted
ways to add additional information to the AppStream data pool which is
not shipped by the original data providers.
That would be information on which components are featured, adding
categories and in general organizing the components in a way that is
useful for all software centers on the system.

Adding this information as a separate AppStream file leads to a lot of
problems: We often do not know how to merge data properlyy and whether
to merge at all (the duplicated IDs could be a bug), curation
information doesn't really fit into the metadata-idea of the real
AppStream spec, and on distributions you want to update curation
information faster than the normal metadata. Which is an issue if you
integrate these infos into the original metadata, because that will be
frozen post-release.

So, IMO we need a dedicated XML format to ship generic curation data.
This is what I have in mind right now:

<curation origin="Debian">
  // origins could also be "GNOME-Software" or "AppRecommender", etc.

  <suggests type="heuristics">
    <id>org.gnome.Maps</id>
    <id>org.kde.gwenview</id>
    ...
  </suggests>

  <featured environment="gnome">
    <id>org.gnome.Totem</id>
    <id>org.gnome.Documents</id>
    ...
  </featured>

  <featured environment="plasma">
    <id>org.kde.krita</id>
    <id>org.videolan.vlc</id>
    ...
  </featured>

  <styles>
    <banner>
      <id>org.gnome.builder</id>
      <url>https://git.gnome.org/browse/gnome-software/plain/data/featured-builder.png</url>
    </banner>
    <tile_background/>
    ...
  </styles>
</curation>

The XML would be shipped by distributions or could be added by other
tools to augment data. It could also simply be downloaded every X days
from some web location.

The names and structure isn't final, I would like to have feedback on
that and the general concept before adding another format to the spec.

Kind regards,
    Matthias

-- 
Debian Developer | Freedesktop-Developer
I welcome VSRE emails. See http://vsre.info/


More information about the AppStream mailing list