Jump to content

KDE.org/applications: Difference between revisions

From KDE Community Wiki
Riddell (talk | contribs)
Created page with "asdf"
 
Riddell (talk | contribs)
No edit summary
Line 1: Line 1:
asdf
The [http://kde.org/applications kde.org/applications] site is the main way of advertising our Applications, a primary output from KDE.
 
The frontend is [https://invent.kde.org/jriddell/kde-org-applications kde-org-applications] some PHP (which works with KDE.org) to read that metadata.  The [https://invent.kde.org/jriddell/kde-org-applications/blob/master/.htaccess .htaccess] does clever things to make the URLs look nice while just passing them to the PHP files that make the index and app pages.
 
The backend is [https://invent.kde.org/jriddell/kde-applications-appstream kde-applications-appstream] a set of Ruby scripts to generate the metadata.
 
The main Ruby script in turn uses [https://projects.kde.org/api/doc/ projects.kde.org] which is a JSON API to list KDE projects. You update this by editing [https://cgit.kde.org/sysadmin/repo-metadata.git/tree/projects repo-metadata] json files.
 
The script then uses [https://cgit.kde.org/sysadmin/ci-tooling.git/ KDE's CI Tooling] Python scripts to download the output for each project from [https://build.kde.org/ KDE CI]. See [https://community.kde.org/Infrastructure/Continuous_Integration_System KDE CI docs] for how to add projects here.
 
If it does not find anything in KDE CI (and whyever not?) then it downloads the project source from Git.
 
Using the CI output or Git for each project the script then looks for Appstream metadata (org.kde.foo.appstream.xml) files and Desktop metadata (org.kde.foo.desktop) files to feed it with meta data.  This is where you need to edit your app meta data to keep it up to date.  You can add screenshots into [https://cgit.kde.org/websites/product-screenshots.git/ product-screenshots] (beware this site only updates after an hour or so). 
 
To add AppStream metadata to your projects see our [https://community.kde.org/Guidelines_and_HOWTOs/AppStream AppStream Guide]. As well as being used for kde.org/applications it will also be used in Discover and every other app installer by distros and container packages such as Snaps Flatpaks and Appimage.
 
Any questions ask Jonathan Riddell

Revision as of 12:55, 22 May 2019

The kde.org/applications site is the main way of advertising our Applications, a primary output from KDE.

The frontend is kde-org-applications some PHP (which works with KDE.org) to read that metadata. The .htaccess does clever things to make the URLs look nice while just passing them to the PHP files that make the index and app pages.

The backend is kde-applications-appstream a set of Ruby scripts to generate the metadata.

The main Ruby script in turn uses projects.kde.org which is a JSON API to list KDE projects. You update this by editing repo-metadata json files.

The script then uses KDE's CI Tooling Python scripts to download the output for each project from KDE CI. See KDE CI docs for how to add projects here.

If it does not find anything in KDE CI (and whyever not?) then it downloads the project source from Git.

Using the CI output or Git for each project the script then looks for Appstream metadata (org.kde.foo.appstream.xml) files and Desktop metadata (org.kde.foo.desktop) files to feed it with meta data. This is where you need to edit your app meta data to keep it up to date. You can add screenshots into product-screenshots (beware this site only updates after an hour or so).

To add AppStream metadata to your projects see our AppStream Guide. As well as being used for kde.org/applications it will also be used in Discover and every other app installer by distros and container packages such as Snaps Flatpaks and Appimage.

Any questions ask Jonathan Riddell