Philip Withnall
philip@tecnocode.co.uk
Will Thompson
wjt@endlessos.org
Milan Crha
mcrha@redhat.com
Как „Програми“ използва метаданни

# Софтуерни метаданни

# Снимки на екрана

„Програми“ показва снимките на екрана на страницата с подробности за дадена програма. Обикновено това трябва да включва снимки на различни прозорци/диалогови прозорци на програмата, така че потребителят да получи бърза представа за функциите на програмата, неговия външен вид и т.н.

Когато в metainfo файлa на програмата има повече от една снимка на екрана, „Програми“ ще покаже снимките на екрана във въртележка.

В случаите, когато metainfo файлът на програмата не съдържа никаква снимка на екрана, ще бъде показана иконка на мястото, както е посочено по—долу, с `Без снимки на екрана`:

Заместващата иконкаа може да изглежда различно, ако използвате собствена тема за иконки.

Снимките на екрана може да станат неактуални с промяната на потребителския интерфейс на програмата. Така че, дори ако „Програми“ показва снимки на екрана за дадена програма, е важно да проверите дали тези снимки са актуални или остарели.

Може да подобрите информацията за снимките на програмата:

Как да добавите липсващи снимки на програми

# Лента за контекст на програмата

Лентата за контекст на програмата в „Програми“ представлява колекция от плочки на страницата с подробности за дадена програма, които показват следната информация.

Необходимо пространство

Сигурност

Поддръжка на хардуер

Възрастово ограничение

Това показва лентата за контекст на програмата за програмата „Програми“:

Плочките се показват в реда, посочен по—горе (като се започне с плочката `Необходимо пространство` вляво).

Всяка плочка е описана подробно по—долу.

# Пространство

„Програми“ показва плочка за необходимото пространство на страницата с подробности за дадена програма. Ако програмата не е инсталирана, това показва приблизителния размер на изтеглянето, необходим за инсталирането му. Ако програмата е инсталирана, тя показва пространството за съхранение, използвана от програмата.

Размерите се изчисляват от данните, предоставени от задния слой на „Програми“ (като flatpak или RPM), и не са посочени в метаданните, предоставени от програмата. Не може да направите нищо, за да повлияете на тази плочка, като редактирате файла metainfo на програмата. Тя е посочена тук за пълнота.

# Безопасност

„Програми“ показва плочка за сигурност на страницата с подробности за дадена програма. Тя обобщава информация за това дали приложението може да се счита сигурно за инсталиране и стартиране или може да се изисква повишено внимание, преди да му се доверите.

Тази плочка съчетава информация за правата за достъп, които програмата изисква при стартиране (например права за четене на вашите файлове), с информация за начина, по който е разработена програмата. Програмите със свободен софтуер, чийто изходен код може да бъде прочетен публично, могат да бъдат по—сигурни от собственическите, тъй като могат да бъдат преглеждани.

В диалоговия прозорец, който се появява при натискане върху плочката, са изброени различните права за достъп, които изисква програмата, както и информация за неговия лиценз и среда за изпълнение.

Може да подобрите информацията за сигурността:

Как да коригирате неправилната информация за сигурността и правата за достъп

# Поддръжка на хардуер

„Програми“ показва плочка за поддръжка на хардуер на страницата с подробности за дадена програма. Тя съчетава информация за хардуерните изисквания на програмата и хардуерните възможности на компютъра, като целта е да се подчертаят несъвместимостите или липсващите изисквания - или да се посочи, че програмата би трябвало да работи правилно без несъвместимости.

Кодът преглежда следния хардуер. В бъдеще може да се поддържат и други.

Дали е наличен/необходим сензорен панел, мишка или клавиатура

Дали се изисква контролер за игри

Минималният и препоръчителният размер на екрана, до който програмата може да се увеличи мащаба

Не е възможно надеждно да се определи дали контролера за игри е присъства, тъй като той често остава изключен, защото не е необходим за нормалната употреба на компютъра.

В диалоговия прозорец, който се появява при натискане върху плочката, са изброени различните хардуерни изисквания на програмата и дали някое от тях не е изпълнено.

Може да подобрите информацията за хардуера:

Как да добавите липсваща информация за хардуера

# Възрастово ограничение

„Програми“ показва плочка за възрастовото ограничение на страницата с подробности за дадена програма. Тя показва за какъв възрастов диапазон би трябвало да е подходяща програмата въз основа на различните видове съдържание, които програмата е обявила, че съдържа. Тази информация е обобщена във формат, подобен на сертификатите за категории на игри или филми във вашата страна.

Например, това ще покаже дали дадена игра съдържа насилие или дали дадено приложение съдържа реклами в програмата.

В диалоговия прозорец, който се появява при натискане върху плочката, са изброени различните видове съдържание в програмата и колко е тежко това съдържание.

Може да подобрите информацията за възрастовото ограничение:

Как да добавите липсваща информация за категоризиране на съдържанието

# Лиценз

„Програми“ показва плочка, която показва дали програмата е свободен софтуер или дали лицензът му е собственически, специален или неизвестен. Тази плочка включва по—подробна информация за лиценза на проекта. Тази плочка също така изброява някои от предимствата на свободния софтуер. Научете повече

Понякога информацията за лиценза не е правилна за дадена програма и следователно програма, която всъщност е свободен софтуер, ще бъде показано като „собственически софтуер“. По същия начин понякога информацията за лиценза е неизвестна.

„Програми“ оцветява свободните лицензи и лицензите с отворен код в зелено, а собственическите и специалните лицензи в жълто, както е показано тук. Неизвестните лицензи са подчертани в сиво.

Може да добавите или да подобрите информацията за лиценза:

Как да поправите грешна информация за лицензиране

# Връзки

„Програми“ показва списък с връзки към ресурсите на програмите в плочката с връзки. Те са, както следва:

| Връзка към уебсайта
| Връзка за даряване
| Връзка за помагане с превода
| Връзка за докладване на грешка
| Връзка за помощ
| Връзка за контакт

Някои или всички тези връзки могат да присъстват в зависимост от това дали са изброени в metainfo файла на програмата.

В случаите, когато metainfo файлът на програмата не съдържа никаква връзка, ще се покаже следната плочка с въпросителен знак.

Може да подобрите връзките:

Как да добавите липсващи връзки

# Плочка въртележка

Програмите, които са представени от „Програми“, се показват във въртележка в горната част на основния прозорец, както е показано тук. Всяка плочка на въртележката има фонов цвят, който се извлича автоматично от иконката на програмата. Понякога този фонов цвят не е съвсем подходящ за програмата и трябва да бъде посочен изрично от разработчика на програмата.

Наборът от програми, които са включени, се определя от поддръжниците на Linux дистрибуцията.

Може да подобрите плочката въртележка:

Как да зададете цвета на фона на плочката въртележка

# Откъде идват метаданните

Метаданните, използвани за определяне на това какъв хардуер изисква даден софтуер, за какви възрастови групи е подходящ, както и факторите, които допринасят за това доколко сигурно е да се инсталира, идват от файла metainfo за този софтуер.

Файлът metainfo е XML файл. Неговият файлов формат е посочен в AppStream описанието.

Вижте metainfo файла за програмата „Файлове“.

appdata е по—старият термин за metainfo.

# Какво се случва, ако липсват метаданни

Ако липсват някои метаданни за дадена програма, „Програми“ може само да предполага какво би могло да бъде то и следователно не може да представи много информация в своите интерфейси. Предположенията, които „Програми“ прави, се основават на факта, че повечето софтуерни продукти са предназначени за настолни компютри.

Може да помогнете за подобряване на метаданните за дадена програма!

# Как да предоставите липсващата информация

Ако установите, че на страницата на дадена програма липсва информация или тя е невярна, може да помогнете по един от двата начина:

Може да докладвате за липсващите / неправилните метаданни в системата за проследяване на грешки на съответната програма, за да може разработчикът на програмата да ги отстрани.

Може сами да поправите липсващите/неправилните метаданни. Вижте ръководството Как да по—долу.

И в двата случая първо трябва да намерите страницата на проекта на програмата. Връзката към страницата на проекта обикновено трябва да е в страницата на програмата както е показано тук. Ако това не е така, ще трябва да я намерите, като търсите с Google.

Програмите обикновено се хостват в GitLab или GitHub. Например приложенията на GNOME се хостват в gitlab.gnome.org.

# Как да добавите липсващи снимки на програми

Информацията за снимките на екрана за дадена програма се съхранява в елемента `<screenshots>` в `<component>` елемента на програмата в неговия metainfo файл.

Препоръчителният брой снимки за една програма е между 5 и 10. В идеалния случай снимките трябва да са във PNG формат със 16:9 съотношение и минимална ширина от 620 пиксела.

Например, тук са записите на снимките на екрана за програмата „Програми“:

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

# Как да коригирате неправилната информация за сигурността и правата за достъп

Информацията за сигурността и правата за достъп за дадена програма идва от различни източници в зависимост от това как е пакетирана програмата. За традиционно пакетираните програми, например във RPM или DEB формат, няма налична информация за сигурност или права за достъп и не може да се направи нищо, за да се добави тя към програмата.

За flatpak програмите информацията идва от flatpak манифеста на програмата, в който се посочва какви дупки в ограничения режим изисква програмата. Всяка от тези дупки обикновено допринася за понижаване на показаното ниво на сигурност на програмата в „Програми“ - премества го от „сигурен“ в „възможно несигурен“ до „несигурен“.

За да се повиши нивото на сигурност на дадена програма, неговия ограничен режим трябва да бъде възможно най—строг, като се премахнат права за достъп, когато не са необходими, и се използват портали вместо права за достъп, когато е възможно. Използването на портали не понижава показаното ниво на сигурност на дадена програма в „Програми“.

Например, ако програмата изисква достъп за четене/запис до цялата файлова система (`--filesystem=host`), дали то действително се нуждае от това, или има нужда от достъп само до файлове на няколко определени места? Ако е така, може да се използва файловият портал или да се зададат по—специфични права за достъп за файловата система.

Ако програмата работи на Wayland и трябва да работи на X11 само като резервен вариант, без да използва специални функции на X11, може ли да използва `socket=fallback-x11` вместо `--socket=x11`?

В бъдеще тук могат да бъдат добавени указания за конкретни права за достъп или други формати на пакетиране.

Допълнителна информация:

# Как да добавите липсваща информация за хардуера

Информацията за хардуера за дадена програма се съхранява в елементите `<requires>`, `<recommends>` и `<supports>` в `<component>` елемента на програмата в неговия metainfo файл.

„Програми“ разбира елементите `<control>` и `<display_length>`.

Вижте тази публикация в блога или тази публикация в блога за примери за метаданни.

# Как да добавите липсваща информация за категоризиране на съдържанието

Информацията за категорията на съдържанието за дадена програма се съхранява в елемента `<content_rating>` в `<component>` елемента на програмата в неговия metainfo файл.

Програмите трябва да използват OARS 1.1 стандарта за попълване на този елемент. Ако елементът `<content_rating>` не е посочен, рейтингът на категорията на съдържанието на програмата е неизвестно. Ако е посочен, но е празен, програмата няма съдържание, което може да е неподходящо за някоя аудитория.

Използвайте OARS генератора, за да създадете подходяща информация за категорията на съдържанието за дадена програма.

# Как да поправите грешна информация за лицензиране

Информацията за лицензирането на дадена програма се съхранява в елемента `<project_license>` в `<component>` елемента на програмата в неговия metainfo файл.

Съдържанието на този елемент трябва да бъде SPDX израз, който описва „основния“ лиценз за проекта. Обикновено това трябва да бъде лицензът на кода и да не включва лиценза на документацията или допълнителното съдържание.

Ако изразът SPDX е един лиценз или комбинация от няколко лиценза, които са FSF или OSI одобрени, програмата се счита за „свободен софтуер“ и това е посочено в плочката с лиценза. В противен случай то се счита за „собственически софтуер“.

Ако дадена програма се показва като „собственически софтувер“, въпреки че според вас не би трябвало да е така, вероятно елементът `<project_license>` включва лиценза за документацията на проекта. Премахнете го.

Примерно, променете метаданните на лиценза от:

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

към

<project_license>GPL-2.0+</project_license>

Допълнителна информация:

Не поставяйте (обикновено) лиценз за документация в appdata

# Как да добавите липсващи връзки

Връзките за дадена програма се съхраняват като `<url>` елементи в `<component>` елемента на програмата в неговия metainfo файл.

Добавете толкова от видовете връзки, описани в appstream описанието, колкото са налични за програмата. Ако не съществува подходяща страница за даден вид връзка, не е необходимо да се включва.

Например, тук са ресурсните връзки за програмата Програма:

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

# Как да зададете цвета на фона на плочката въртележка

Цветът на фона на плочката въртележка обикновено се извлича автоматично от иконката на програмата. Ако обаче този цвят не е задоволителен, той може да бъде заменен с appstream елемента `<branding/>` елемента на програмата с декларирани цветове (от серия 47.x). Предимството е, че повече клиенти могат да използват цветовете.

Например, тук са някои записи на търговски марки:

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

Обърнете внимание, че свойството `scheme_preference` се игнорира, а „Програми“ сам избира по—добрия цвят за темата.

За обратна съвместимост е оставена възможността за добавяне на следния XML към metainfo елемента `<component>` на програмата:

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

но елементът `<branding/>` има предимство.

Стойността на `GnomeSoftware::key-colors` е GVariant в текстов формат с тип `a(yyy)` и представлява набор от неподредени ключови цветове за програмата. Всеки елемент от набора е в RGB цвят, вариращ от `(0, 0, 0)` до `(255, 255, 255)`.

Цветовете трябва да се избират така, че да:

Да могат да се разпознават с програмата, като по възможност съвпадат по някакъв начин с търговската марка на приложението.

Да има контраст с ръба на иконката на програмата, така че когато се използват като фон зад нея, иконката да може да се различи.

Да има контраст с цвета на текста на преден план в Adwaita темата (`#2e3436`) и в нейния тъмен вариант (`#eeeeec`). Това обикновено означава избор на цвят със средно ниво на яркост.

Контрастът може да се провери с програмата Контраст.

Трябва да се посочи поне един цвят. Могат да се посочат и повече, ако един цвят не може да удовлетвори всички изисквания по—горе, а „Програми“ ще избере най—подходящия, който да се използва в плочката въртележка. Ако е посочен точно един цвят, неговата яркост и наситеност могат да бъдат променени, за да се подобри контрастът с цвета на предния фон. Ако е посочен повече от един цвят, ще бъде избран този с най—добър контраст с цвета на предния фон и неговата яркост и наситеност няма да бъдат променяни.

# Как да пробвате промените в цвета на фона на плочката въртележката

Променете metainfo файла за вашата програмата и след това стартирайте „Програми“ с:

gnome-software --show-metainfo=/път/към/app.metainfo.xml,icon=/път/към/програмата/иконка.png

Ще бъде показана страницата с подробна информация за вашата програма. Ако преминете обратно към страницата за общ преглед на „Програми“, вашата програма ще бъде единственото в „избрани“ въртележката.