Show more way to download apps in kde.org/applications
Open, Needs TriagePublic

Description

We should show more ways to download our apps in kde.org/applications:

Using appstream custom field feature we can add features:

Appstream tag added for

Some changes are also needed on the website

ognarb created this task.Oct 1 2019, 12:38 PM
ognarb added a comment.Oct 1 2019, 1:40 PM

Please test https://kde.carlschwan.eu/applications/development/org.kde.kate on Windows on let me know if the installation button change to 'Install on Windows'.

On Linux appstream URLs don't work for me on Firefox Kubuntu 19.04. Should we really be using them if they're broken?

mmustac added a subscriber: mmustac.Oct 4 2019, 1:15 PM

Works for me on Windows 10 (with FF & Chrome) and get a link to the Microsoft store. All fine.

ognarb added a comment.Oct 4 2019, 2:23 PM

@feverfew Yeah the AppStream URL only work if Discover is installed. There is already a task for this T11681. I'm currently investigating how I could check if there is custom URL handler for AppStream available, so that I can provide a fallback link.

@mmustac Thanks for testing (I don't have a Windows installation)

I'm not sure if this is the right task but there are two small typos here:

This button only work with Discover and other AppStream application stores. You can also use your distribution packet manager.

Better:

This button only works with Discover and other AppStream application stores. You can also use your distribution's packet manager.

@vinzenzv Thanks I pushed a fix for this issue. It should be in less than half an hour online.

@vinzenzv Thanks I pushed a fix for this issue. It should be in less than half an hour online.

Great, thanks!

maxrd2 added a subscriber: maxrd2.Nov 16 2022, 11:26 AM

Does this add possibility for other Linux download links too? Like AppImage url? Per distribution .deb, .rpm, .pkg.tar.*, ... ?

Krita has an AppImage but it isn't listed on https://apps.kde.org/krita, so that could be feasible with the correct metadata being defined in AppData files.

Per distribution .deb, .rpm, .pkg.tar.*, ... ?

This seems out of scope as the distro packages can be accessed using the appstream:// URL in the "Install on Linux" button

An appimage can surely be added. Just need to add an artifact to the release section: https://invent.kde.org/graphics/krita/-/blob/master/krita/org.kde.krita.appdata.xml#L604

An appimage can surely be added. Just need to add an artifact to the release section: https://invent.kde.org/graphics/krita/-/blob/master/krita/org.kde.krita.appdata.xml#L604

Thank you... have just tried doing the same thing krita does in SC's appstream

If I use invalid platform triplets like krita does in it's appdata, the CI fails because they are not following standard, and apps.kde.org page picks them up as AppImage and puts correct links:

        <artifact type="binary" platform="x86_64-appimage">
                ...
          <bundle type="appimage">krita-4.4.3</bundle>
                ...
        <artifact type="binary" platform="x86_64-appimage">
                ...
          <bundle type="appimage">gmic_krita_qt-4.4.3</bundle>
                ...
        <artifact type="binary" platform="win32">
                ...

$ appstreamcli validate org.kde.krita.appdata.xml 
W: org.kde.krita:637: artifact-invalid-platform-triplet 2 != 3
I: org.kde.krita:615: unknown-tag bundle
W: org.kde.krita:592: artifact-invalid-platform-triplet 1 != 3
W: org.kde.krita:632: artifact-invalid-platform-triplet 2 != 3
I: org.kde.krita:609: unknown-tag bundle
W: org.kde.krita:622: artifact-invalid-platform-triplet 1 != 3
W: org.kde.krita:605: artifact-invalid-platform-triplet 2 != 3
W: org.kde.krita:611: artifact-invalid-platform-triplet 2 != 3
W: org.kde.krita:617: artifact-invalid-platform-triplet 1 != 3
I: org.kde.krita:122: description-first-para-too-short
     Krita is the full-featured digital art studio.
W: org.kde.krita:627: artifact-invalid-platform-triplet 1 != 3

✘ Validation failed: warnings: 8, infos: 3

OTOH if I use valid triplets in appstream, CI is happy as document is valid, but apps.kde.org page doesn't label links and it looks funky

        <artifact type="binary" platform="x86_64-linux-gnu">
                ...
          <bundle type="appimage">subtitlecomposer-latest</bundle>
                ...
        <artifact type="binary" platform="i386-linux-gnu">
                ...
          <bundle type="appimage">subtitlecomposer-latest</bundle>
                ...
        <artifact type="binary" platform="i386-windows-msvc">
                ...

$ appstreamcli validate org.kde.subtitlecomposer.appdata.xml 
I: org.kde.subtitlecomposer:508: unknown-tag bundle
I: org.kde.subtitlecomposer:502: unknown-tag bundle

✔ Validation was successful: infos: 2

Here is the CI job that failed due to appstream validation.

Should I report this somewhere properly?