Philip Withnall
philip@tecnocode.co.uk
Will Thompson
wjt@endlessos.org
Milan Crha
mcrha@redhat.com
Cara Perangkat Lunak memakai metadata
Andika Triwidada
andika@gmail.com 2024, 2025.

# Metadata Perangkat Lunak

# Cuplikan Layar

Perangkat Lunak menampilkan tangkapan layar di halaman detail untuk suatu aplikasi. Ini biasanya mesti menyertakan tangkapan layar dari berbagai jendela / dialog aplikasi, sehingga pengguna akan mendapatkan pemahaman cepat tentang fitur, tampilan dan nuansa aplikasi, dll.

Ketika lebih dari satu tangkapan layar hadir dalam berkas metainfo aplikasi, Perangkat Lunak akan menampilkan tangkapan layar dalam komidi putar.

Jika berkas metainfo aplikasi tidak berisi tangkapan layar apa pun, maka ikon pewakil seperti di bawah ini dengan `Tidak Ada Cuplikan Layar` akan ditampilkan:

Ikon pewakil mungkin terlihat berbeda jika Anda menggunakan tema ikon ubahan.

Cuplikan layar mungkin menjadi usang karena UI aplikasi berubah. Jadi, meskipun Perangkat Lunak menampilkan tangkapan layar untuk aplikasi, penting untuk memeriksa apakah tangkapan layar ini terbaru atau kedaluwarsa.

Anda dapat memperbaiki informasi tangkapan layar aplikasi:

Cara menambahkan tangkapan layar aplikasi yang kurang

# Bilah konteks aplikasi

Bilah konteks aplikasi di Perangkat Lunak adalah kumpulan ubin pada halaman detail untuk aplikasi, yang menampilkan detail berikut.

Penyimpanan

Keselamatan

Dukungan perangkat keras

Peringkat usia

Ini menunjukkan bilah konteks aplikasi untuk aplikasi Perangkat Lunak:

Ubin ditampilkan dalam urutan yang tercantum di atas (dimulai dengan ubin `Penyimpanan` di sebelah kiri).

Setiap ubin dibahas secara rinci di bawah ini.

# Penyimpanan

Perangkat Lunak menampilkan ubin penyimpanan di halaman detail untuk aplikasi. Jika aplikasi tidak terpasang, ini akan menampilkan perkiraan ukuran unduhan yang diperlukan untuk memasangnya. Jika aplikasi terpasang, itu menampilkan ruang penyimpanan yang digunakan oleh aplikasi.

Ukuran dihitung dari data yang disediakan oleh backend Perangkat Lunak (seperti flatpak atau RPM), dan tidak ditentukan dalam metadata yang disediakan oleh aplikasi. Tidak ada yang dapat Anda lakukan untuk memengaruhi ubin ini dengan menyunting berkas metainfo aplikasi. Ini tercantum di sini untuk kelengkapan.

# Keselamatan

Perangkat Lunak menampilkan ubin keselamatan di halaman detail untuk aplikasi. Ini merangkum informasi tentang apakah aplikasi dapat dianggap aman untuk dipasang dan dijalankan, atau apakah kehati-hatian mungkin diperlukan sebelum memercayainya.

Ubin ini menggabungkan informasi tentang izin yang diminta aplikasi saat berjalan (seperti izin untuk membaca berkas Anda), dengan informasi tentang bagaimana aplikasi dikembangkan. Aplikasi perangkat lunak bebas, di mana kode sumbernya dapat dibaca secara publik, bisa lebih aman daripada yang berpemilik, karena dapat diaudit.

Dialog yang muncul saat ubin diklik mencantumkan berbagai izin yang diminta aplikasi, ditambah beberapa informasi tentang lisensi dan runtimenya.

Anda dapat memperbaiki informasi keselamatan:

Cara memperbaiki informasi keselamatan dan izin yang salah

# Dukungan perangkat keras

Perangkat Lunak menampilkan ubin dukungan perangkat keras di halaman detail untuk aplikasi. Ini menggabungkan informasi tentang persyaratan perangkat keras aplikasi, dan kemampuan perangkat keras komputer, dengan tujuan menyoroti ketidakcocokan atau persyaratan yang kurang — atau untuk mengindikasikan bahwa aplikasi harus bekerja dengan benar tanpa ketidakcocokan.

Kode ini mencari perangkat keras berikut. Lebih banyak lagi mungkin didukung di masa mendatang.

Apakah touchpad, tetikus, atau papan ketik ada/diperlukan

Apakah gamepad diperlukan

Ukuran tampilan minimum dan yang direkomendasikan yang aplikasi dapat diskalakan ke sana

Tidak mungkin untuk mendeteksi secara andal apakah gamepad ada, karena sering kali dibiarkan terputus karena tidak diperlukan untuk penggunaan komputer normal.

Dialog yang muncul saat ubin diklik mencantumkan persyaratan perangkat keras aplikasi yang berbeda, dan apakah salah satu dari mereka tidak terpenuhi.

Anda dapat memperbaiki informasi perangkat keras:

Cara menambahkan informasi perangkat keras yang kurang

# Peringkat usia

Perangkat Lunak menampilkan ubin peringkat usia di halaman detail untuk aplikasi. Ini menunjukkan rentang usia apa yang mesti cocok untuk aplikasi, berdasarkan berbagai jenis konten yang telah dinyatakan dikandung dalam aplikasi. Informasi ini dirangkum dalam format yang serupa dengan sertifikat peringkat permainan atau film untuk negara Anda.

Misalnya, ini akan menyoroti apakah suatu permainan mengandung kekerasan, atau apakah aplikasi berisi iklan dalam aplikasi.

Dialog yang muncul saat ubin diklik mencantumkan berbagai jenis konten dalam aplikasi dan seberapa parah konten tersebut.

Anda dapat memperbaiki informasi peringkat usia:

Cara menambahkan informasi peringkat konten yang kurang

# Lisensi

Perangkat Lunak menampilkan ubin yang menunjukkan apakah suatu aplikasi adalah perangkat lunak bebas atau apakah lisensinya proprietari, khusus, atau tidak diketahui. Ubin ini mencakup informasi lebih rinci tentang lisensi proyek. Ubin ini juga mencantumkan beberapa manfaat perangkat lunak bebas. Pelajari lebih lanjut

Kadang-kadang informasi lisensi tidak benar untuk suatu aplikasi, dan karenanya aplikasi yang sebenarnya adalah perangkat lunak bebas akan ditampilkan sebagai 'berpemilik'. Demikian pula, terkadang informasi lisensi tidak diketahui.

Perangkat Lunak menyoroti lisensi bebas dan sumber terbuka dalam warna hijau, lisensi proprietari dan khusus berwarna kuning seperti yang ditunjukkan di sini. Lisensi yang tidak dikenal disorot dengan warna abu-abu.

Anda dapat menambahkan atau memperbaiki informasi lisensi:

Cara memperbaiki informasi lisensi yang salah

# Tautan

Perangkat lunak menampilkan daftar tautan sumber daya aplikasi di ubin tautan. Mereka adalah sebagai berikut:

| Tautan situs web
| Tautan donasi
| Tautan kontribusi terjemahan
| Tautan pelaporan bug
| Tautan bantuan
| Tautan kontak

Beberapa atau semua tautan ini mungkin ada tergantung pada apakah tautan tersebut tercantum dalam berkas metainfo aplikasi.

Dalam kasus ketika berkas metainfo aplikasi tidak berisi tautan apa pun, ubin berikut dengan tanda tanya akan ditampilkan.

Anda dapat meningkatkan tautan:

Cara menambahkan tautan yang kurang

# Ubin komidi putar

Aplikasi yang ditampilkan oleh Perangkat Lunak ditampilkan dalam komidi putar di bagian atas jendela utama seperti yang ditunjukkan di sini. Setiap ubin komidi putar memiliki warna latar yang secara otomatis diekstraksi dari ikon aplikasi. Terkadang warna latar ini tidak cukup tepat untuk aplikasi dan perlu ditentukan secara eksplisit oleh pengembang aplikasi.

Kumpulan aplikasi unggulan diputuskan oleh para pengelola distribusi Linux.

Anda dapat memperbaiki ubin komidi putar:

Cara menata warna latar ubin komidi putar

# Dari mana metadata berasal

Metadata yang digunakan untuk menentukan perangkat keras apa yang dibutuhkan perangkat lunak, berapa usia pengguna yang cocok, dan faktor-faktor yang berkontribusi pada seberapa aman untuk memasang, semuanya berasal dari berkas metainfo untuk perangkat lunak itu.

Berkas metainfo adalah suatu berkas XML. Format berkasnya ditentukan dalam spesifikasi AppStream.

Lihat berkas metainfo untuk aplikasi GNOME Berkas.

appdata adalah istilah lama untuk metainfo.

# Apa yang terjadi jika metadata hilang

Jika beberapa metadata hilang untuk suatu aplikasi, Perangkat Lunak hanya dapat menebak apa itu, dan karenanya tidak dapat menyajikan banyak informasi dalam antarmukanya. Tebakan yang dibuat Perangkat Lunak didasarkan pada fakta bahwa sebagian besar perangkat lunak dirancang untuk komputer desktop.

Anda dapat membantu memperbaiki metadata untuk sebuah aplikasi!

# Cara menyumbangkan informasi yang kurang

Jika Anda menemukan bahwa halaman suatu aplikasi kurang informasi atau memiliki informasi yang salah, Anda dapat berkontribusi dengan salah satu dari dua cara:

Anda dapat melaporkan metadata yang kurang / salah ke pelacak bug aplikasi masing-masing, sehingga pengembang aplikasi dapat memperbaikinya.

Anda dapat memperbaiki sendiri metadata yang kurang / salah. Lihat panduan Cara di bawah ini tentang bagaimana melakukannya.

Untuk keduanya, Anda harus terlebih dahulu menemukan halaman proyek aplikasi. Tautan ke halaman proyek biasanya harus tersedia di halaman aplikasi seperti yang ditunjukkan di sini. Jika tidak, Anda harus menemukannya dengan pencarian sederhana di Google.

Aplikasi biasanya diwadahi di GitLab atau GitHub. Misalnya, aplikasi GNOME diwadahi di gitlab.gnome.org.

# Cara menambahkan tangkapan layar aplikasi yang kurang

Informasi tangkapan layar untuk aplikasi disimpan pada elemen `<screenshots>` dalam `<component>` aplikasi di berkas metainfo-nya.

Cacah tangkapan lahar yang disarankan untuk aplikasi adalah antara 5 hingga 10. Tangkapan layar idealnya dalam format PNG dengan rasio aspek 16:9 dan lebar minimum 620 piksel.

Misalnya, berikut adalah entri tangkapan layar untuk aplikasi Perangkat Lunak:

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

# Cara memperbaiki informasi keselamatan dan izin yang salah

Informasi keselamatan dan izin untuk aplikasi berasal dari sumber yang berbeda tergantung pada bagaimana aplikasi dikemas. Untuk aplikasi yang dikemas secara tradisional, misalnya dalam format RPM atau DEB, tidak ada informasi keselamatan atau izin yang tersedia dan tidak ada yang dapat dilakukan untuk menambahkannya ke aplikasi.

Untuk aplikasi flatpak, informasi berasal dari manifes flatpak, yang menentukan lubang apa di sandbox yang dibutuhkan aplikasi. Masing-masing lubang ini biasanya berkontribusi untuk menurunkan tingkat keselamatan aplikasi yang ditampilkan di Perangkat Lunak — memindahkannya dari 'aman' ke 'berpotensi tidak aman' menjadi 'tidak aman'.

Untuk meningkatkan tingkat keselamatan aplikasi, sandboxing-nya harus dibuat seketat mungkin, dengan menghapus izin sandbox yang tidak diperlukan, dan menggunakan portal alih-alih izin sandbox jika memungkinkan. Penggunaan portal tidak menurunkan tingkat keselamatan aplikasi yang ditampilkan di Perangkat Lunak.

Misalnya, jika aplikasi meminta akses baca/tulis ke seluruh sistem berkas (`--filesystem=host`), apakah sebenarnya membutuhkannya, atau hanya perlu mengakses berkas di beberapa lokasi tertentu? Jika demikian, portal berkas dapat digunakan, atau izin sistem berkas yang lebih spesifik dapat ditentukan.

Jika aplikasi bekerja di Wayland, dan hanya perlu bekerja pada X11 sebagai fallback, tanpa menggunakan fitur khusus X11, bisakah itu menggunakan `--socket=fallback-x11` daripada `--socket=x11`?

Panduan tentang izin tertentu, atau format pengemasan lainnya, dapat ditambahkan di sini di masa mendatang.

Bacaan lebih lanjut:

# Cara menambahkan informasi perangkat keras yang kurang

Informasi perangkat keras untuk aplikasi disimpan di elemen `<requires>`, `<recommends>`, dan `<supports>` dalam `<component>` aplikasi di berkas metainfo-nya.

Perangkat Lunak memahami elemen `<control>` dan `<display_length>`.

Lihat artikel blog ini atau artikel blog ini untuk contoh metadata.

# Cara menambahkan informasi peringkat konten yang kurang

Informasi peringkat konten untuk aplikasi disimpan di elemen `<content_rating>` dalam `<component>` aplikasi di berkas metainfo-nya.

Aplikasi harus menggunakan standar OARS 1.1 untuk mengisi elemen ini. Jika elemen `<content_rating>` tidak ditentukan, peringkat konten aplikasi tidak diketahui. Jika ditentukan tetapi kosong, aplikasi tidak memiliki konten yang mungkin tidak cocok untuk audiens mana pun.

Gunakan generator OARS untuk menghasilkan informasi peringkat konten yang sesuai untuk aplikasi.

# Cara memperbaiki informasi lisensi yang salah

Informasi lisensi untuk aplikasi disimpan di elemen `<project_license>` dalam `<component>` aplikasi di berkas metainfo-nya.

Konten dalam elemen ini harus berupa ekspresi SPDX yang menjelaskan lisensi 'utama' untuk proyek. Ini biasanya harus menjadi lisensi kode, dan tidak termasuk lisensi dokumentasi atau konten tambahan.

Jika ekspresi SPDX adalah lisensi tunggal, atau kombinasi 'atau' dari beberapa lisensi, yang semuanya disetujui FSF atau OSI, aplikasi tersebut dianggap 'perangkat lunak bebas' dan ubin lisensi mengatakan demikian. Jika tidak, itu dianggap 'berpemilik'.

Jika sebuah aplikasi ditampilkan sebagai 'berpemilik' ketika menurut Anda tidak seharusnya, kemungkinan elemen `<project_license>` tersebut menyertakan lisensi dokumentasi untuk proyek tersebut. Hapus itu.

Misalnya, ubah metadata lisensi dari:

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

menjadi

<project_license>GPL-2.0+</project_license>

Bacaan lebih lanjut:

Jangan (secara umum) memasukkan lisensi dokumentasi di appdata

# Cara menambahkan tautan yang kurang

Tautan untuk aplikasi disimpan sebagai elemen `<url>` dalam `<component>` aplikasi dalam berkas metainfo-nya.

Tambahkan sebanyak mungkin tipe tautan yang didokumentasikan dalam spesifikasi appstream yang tersedia untuk aplikasi. Jika tidak ada halaman yang cocok untuk tipe tautan tertentu, halaman tersebut tidak harus disertakan.

Misalnya, berikut adalah tautan sumber daya untuk aplikasi Perangkat Lunak:

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

# Cara menata warna latar ubin komidi putar

Warna latar ubin komidi putar biasanya diekstraksi secara otomatis dari ikon aplikasi. Namun, jika warna tersebut tidak memuaskan, warna tersebut dapat diganti dengan menggunakan elemen `<branding/>` appstream dengan warna yang dideklarasikan (sejak seri 47.x). Keuntungannya adalah lebih banyak klien yang dapat menggunakan warna tersebut.

Misalnya, berikut adalah beberapa entri branding:

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

Perhatikan atribut `scheme_preference` diabaikan, Perangkat lunak memilih sendiri warna yang lebih baik untuk tema.

Masih ada, untuk kompatibilitas mundur, kemungkinan untuk menambahkan XML berikut ke elemen metainfo `<component>` aplikasi:

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

tetapi elemen `<branding/>` memiliki preseden.

Nilai dari `GnomeSoftware::key-colors` adalah suatu GVariant format teks dengan jenis `a(yyy)`, dan mewakili sekumpulan warna kunci yang tidak berurutan untuk aplikasi. Setiap elemen set adalah warna dalam bentuk RGB mulai dari `(0, 0, 0)` hingga `(255, 255, 255)`.

Warna harus dipilih sehingga:

Dapat diidentifikasi oleh aplikasi, cocok dengan branding aplikasi dalam beberapa cara, jika memungkinkan.

Kontras dengan tepi ikon aplikasi, sehingga ketika digunakan sebagai latar belakang di belakangnya, ikon tersebut dapat dibedakan.

Kontras dengan warna teks latar depan dalam tema Adwaita (`#2e3436`) dan dalam varian gelapnya (`#eeeeec`). Ini umumnya berarti memilih warna dengan tingkat kecerahan sedang.

Kontras dapat diperiksa menggunakan aplikasi Kontras.

Setidaknya satu warna harus ditentukan. Lebih banyak dapat ditentukan jika satu warna tidak dapat memenuhi semua persyaratan di atas, dan Perangkat Lunak akan memilih yang paling tepat untuk digunakan di ubin komidi putar. Jika tepat satu warna ditentukan, kecerahan dan saturasinya dapat dimodifikasi untuk meningkatkan kontras dengan warna latar depan. Jika lebih dari satu warna ditentukan, warna dengan kontras terbaik dengan warna latar depan akan dipilih, dan kecerahan serta saturasinya tidak akan dimodifikasi.

# Cara menguji perubahan warna latar ubin komidi putar

Ubah berkas metainfo untuk aplikasi Anda, lalu jalankan Perangkat Lunak dengan:

gnome-software --show-metainfo=/path/ke/app.metainfo.xml,icon=/path/ke/app/icon.png

Halaman detail untuk aplikasi Anda akan ditampilkan. Jika Anda menavigasi kembali ke halaman ikhtisar Perangkat Lunak, aplikasi Anda akan menjadi satu-satunya di komidi putar 'unggulan'.