LINUX.ORG.RU

Дополнения к приложениям в GNOME Software

 , ,


2

3

После того момента, как мы показали GNOME Software Center, люди захотели добавить в него немного функционала. Одна из вещей, которая была очень важна для разработчиков Eclipse - способ установки расширений к основной программе, что показалось нам отличной идеей. Мы хотели сделать это настолько универсальным, чтобы её могли использовать другие проекты, как gedit и другие модульные приложения в составе GNOME и KDE. Мы сознательно не предоставляем такую функциональность для Chrome или Firefox, поскольку эти приложения сделают намного лучше это задание, чем GNOME Software.

Недавно Ричард Хьюз (Richard Hughes) добавил специальный тип компонентов в AppStream – дополнения.
AppStream – XML стандарт, созданный для удобства распространения приложений через центры приложений в разных дистрибутивах. На данный момент уже активно используется в дистрибутивах: Fedora, openSUSE. В ближайшее время так же будет использоваться в ArchLinux и Debian.

Создание специального metainfo.xml для каждого плагина позволит пользователю устанавливать доп. компоненты. Плагины для текстовых редакторов, мультимедиа кодеки и пр.



Как выглядит обычный metainfo.xml, заметки и как его использовать можно посмотреть в блоге Ричарда
Kalev Lember в настоящее время работает над интерфейсом плагинов в GNOME Software, Richard Hughes только завершил поддержку metainfo.xml в обработчике AppStream, так что не стоит ожидать видимость новых функций до GNOME 3.14 и Fedora 21.

Рекомендуем использовать утилиту для проверки AppStream файлов – appstream-util (входит в состав libappstream-glib). К сожалению в выпущенной версии 0.1.7 отсутствуют некоторые возможности, которые вы, наверное, хотели бы использовать. Среди них:

  • Проверка metainfo.xml.in файлов (используется при локализации) – fix #1, bug #2, fix #2;
  • При проверке одновременно множества файлов при неудачной проверке одного из файлов программа завершает свою работу – bug, fix;
  • Установка AppData и MetaInfo файлов (можно использовать во время тестирования) – fix;
  • Ну и куда же без автодополнения в Bash – fix #1, fix #2.



Ричард написал статью в своём блоге о том, как разработчики могут интегрировать свои дополнения в центры приложений KDE и GNOME. Мы с Ричардом с удовольствием поможем на данном этапе. Если у вас есть свои пакеты в своих репозиториях, то они не появятся автоматически в центрах приложений. Вы должны специальным образом обработать их. Пример того, как можно это сделать — в рассылке Russian Fedora. Надеюсь, в скором времени мы внедрим все эти новые технологии в Russian Fedora, т.к. мы стараемся максимально повторить процессы Fedora Project.

Наши контактные данные:

Richard Hughes:

  • IRC: hughsie on freenode and gimpnet
  • Email: richard AT hughsie DOT com

Igor Gnatenko



Мы уже написали много патчей, отправили багов:
Evolution RSS: https://bugzilla.gnome.org/show_bug.cgi?id=731553
GEedit plugins: https://bugzilla.gnome.org/show_bug.cgi?id=731632, https://git.gnome.org/browse/gedit-code-assistance/commit/?id=789e7b9f5569f5b...
Eclipse plugins: https://bugs.eclipse.org/bugs/show_bug.cgi?id=437245
Claws-mail plugins: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=3210

Итого на сегодняшний момент написано:

  • Richard Hughes: 1 плагин (metainfo), 9 багрепортов;
  • Igor Gnatenko: 45 плагинов (metainfo), 3 багрепорта.

Присоединяйтесь к разработке нового стандарта/утилит!

Источник

>>> Оригинал

anonymous

Проверено: fallout4all ()

Ничего не понял. Вообще. Кто-то разработал какой-то формат для описания чего-то, что поможет кому-то делать что-то для распространения кусков программ куда-то. И всё это на базе XML.
Бредятина какая-то.

Stahl ★★☆ ()
Ответ на: комментарий от Stahl

для описания плагинов к приложениям. поможет мэинтейнерам программ (читай разработчикам) иметь свои плагины в центрах приложений (GNOME/KDE Software/...).

i_gnatenko_brain

anonymous ()
Ответ на: комментарий от anonymous

Плагин это что? Это набор файлов с любыми данными. И только программа-носитель знает как с этим говном работать.
Что из этого следует? Что эти файлы не требуют абсолютно никакой обработки вне программы-носителя.
Следовательно задача супер-пупер нового стандарта конфига сводится лишь к поиску расположения программы и закидывания файлов в нужное место.
Не понимаю в чём была проблема.
Ты бы лучше не воду писал, а по существу:
Проблема. Варианты решения. Окончательное решение. Результат после применения решения.
А ты бессодержательную фигню написал. Бесполезную и унылую.

Stahl ★★☆ ()
Ответ на: комментарий от Stahl

И только программа-носитель знает как с этим говном работать
Что из этого следует? Что эти файлы не требуют абсолютно никакой обработки вне программы-носителя.

но кто-то же должен её установить ?

Не понимаю в чём была проблема.

в том, что плагины просто так, сами по себе, не появляются в центрах приложений. кто-то должен их туда добавить. для этого разработали стандарт и теперь пытаемся заставить девелоперов использовать его.

anonymous ()

Ричард написать статью

А мы эта статья читать.

bluesman ()
Ответ на: комментарий от anonymous

А центры приложений не работают с обычными пакетами?
А обычному пакету всё равно что содержать. Хоть программу, хоть плагин, хоть вовсе ничего.
Или кто-то решил не пользоваться пакетным менеджером и теперь героически разгребает самостоятельно созданные проблемы?

Stahl ★★☆ ()
Ответ на: комментарий от Stahl

А центры приложений не работают с обычными пакетами?

GNOME Software работает с ними, но должно же быть какое-то описание под пакетом ? или только то, что написали мэинтейнеры в конкретном дистрибутиве (часто ещё только на одном языке). и в каждом дистре по разному.

Вот, как выглядит оно с AppStream файлами (правда на скрине программа, а не плагин. для программ было то же самое предложено месяц назад где-то) http://storage9.static.itmages.com/i/14/0615/h_1402820667_1410417_4de5bfa61a.png http://storage8.static.itmages.com/i/14/0615/h_1402820666_9048769_41e155b639.png http://storage8.static.itmages.com/i/14/0615/h_1402820666_1615912_cf4000681b.png

anonymous ()

В ближайшее время так же будет использоваться в ArchLinux

Меня терзают смутные сомнения. Jonathan Conder уже давно не TU, а кроме него alpm никто не пилил. Судя по коммитам никто особо им сейчас не занимается (не, ну может полностью доделали год назад?). Так что: https://mail.gnome.org/archives/desktop-devel-list/2014-March/msg00109.html

From: Richard Hughes

There are two problem here. One is that indeed, the PackageKit arch backend is under-maintained, and doesn't support the newer features that gnome-software uses so heavily (e.g. the new filter enums). The second is that arch does not generate AppStream metadata, so even if the PackageKit backend worked well enough, there would be no rich content (long translated descriptions, screenshots, ratings, etc) to show. If anyone from arch wants to make this work, please grab me on #PackageKit on freenode and we can talk in more detail.

Или кто-то всё-таки взялся за него?

aidan ★★★★ ()
Ответ на: комментарий от bluesman

Это он подписывается своим забаненным профилем.

anonymous ()
Ответ на: комментарий от aidan

честно говоря, не знаю. завтра начнётся рабочая неделя. спрошу у Ричарда, кто там занимается из арча. i_gnatenko_brain

anonymous ()
Ответ на: комментарий от anonymous

и теперь пытаемся заставить девелоперов использовать его

Именно поэтому и не нужно.

srrmk ()
Ответ на: комментарий от anonymous

Потому что они изобрели стандарт и пытаются заставить разработчиков использовать его. А также потому что до них всё работало, а если всё работает, значит, менять ничего не нужно.

srrmk ()
Ответ на: комментарий от srrmk

хорошо. давай заменим слово заставить на предлагают.

А также потому что до них всё работало, а если всё работает, значит, менять ничего не нужно.

хочешь, чтоб прогресс стоял на одном месте ?

anonymous ()
Ответ на: комментарий от anonymous

хорошо. давай заменим слово заставить на предлагают.

Насаждают.

хочешь, чтоб прогресс стоял на одном месте ?

Прогресс в данной области — это разработка чего-либо для решения на данный момент не решаемых проблем, а сабжевые «дополнения» заменяют уже существующие рабочие, проверенные решения.

srrmk ()
Ответ на: комментарий от srrmk

заменяют уже существующие рабочие, проверенные решения.

well. какие решения есть на данный момент для предоставления юзеру информации о программах со скриншотами на разных языках? и чтобы в разных дистрибутивах одинаково.

anonymous ()
Ответ на: комментарий от anonymous

«центр приложений» в твоей бубунточке, хомячина.

Lincor ()

Исправьте, пожалуйста, зачеркнутое AppStream (самое первое упоминание).

qzxcvbnm ()
Ответ на: комментарий от anonymous

Лол, единственный человек, который мог дать официальные комментарии, забанен.

CYB3R ★★★★★ ()

Допустим это нужно (хотя бы из-за скриншотов), но по ссылкам я не увидел ничего, что выходило бы за рамки вывода команды:

$ pacman -Si firefox-adblock-plus

Можно попросить ссылку на «навороченное» описание дополнения (не приложения!)?

---

Создание специального metainfo.xml для каждого плагина позволит пользователю устанавливать доп. компоненты. Плагины для текстовых редакторов, мультимедиа кодеки и пр.

Оно умеет ставить в каталог пользователя? Как оно разруливает типичные ситуации вроде нескольких профилей у пользователя, нестандартных путей к файлам профиля?

d2 ()

Зачем это ненужно, если тыщу лет есть Recommends и Suggests в deb?

urandom ()
Ответ на: комментарий от d2

Допустим это нужно (хотя бы из-за скриншотов), но по ссылкам я > не увидел ничего, что выходило бы за рамки вывода команды:
$ pacman -Si firefox-adblock-plus

для плагинов ничего больше. только краткое описание типа «Join or split multiple lines through Ctrl+J and Ctrl+Shift+J» на любых языках мира.

Оно умеет ставить в каталог пользователя? Как оно разруливает типичные ситуации вроде нескольких профилей у пользователя, нестандартных путей к файлам профиля?

GNOME Software использует PackageKit, так что когда он научится это - тогда будет уметь. Сейчас - нет. Patches are welcome.

i_gnatenko_brain

anonymous ()
Ответ на: комментарий от urandom

пиши@не читай

это для того, чтобы в GUI одним лёгким нажатием пальца можно было установить приложение с понравившимися картинками или какую-нибудь мега-фичу к нему.

i_gnatenko_brain

anonymous ()
Ответ на: комментарий от CYB3R

вот подумываю, может вернуться )

в любом случае у меня есть почта. Если что - пусть пишут туда ;) у меня есть и @gnome.org почта, но для ЛОРовцев не дам :P

i.gnatenko.brain AT gmail DOT com

i_gnatenko_brain

anonymous ()

интегрировать свои дополнения с KDE и GNOME центрами приложений

Пример того, как можно это сделать – в Russian Fedora рассылке

Мой совет - перед публикацией новости читайте её голосом вслух.

anonymous ()
Ответ на: комментарий от anonymous

вот только что 3 раза в слух перечитал.

во втором нехватает слова можно и надо было поменять местави «рассылке» и «Russian Fedora»

в первом не вижу, что не так

i_gnatenko_brain

anonymous ()
Ответ на: комментарий от anonymous

maxcom, разбань его, ибо я задолбался видеть это самокастование в каждом посте.

anonymous ()
Ответ на: комментарий от Deleted

не. туда я уж точно не хочу. там адЪ и израиль.

мы просто пытаемся сделать линукс более подходящим для обычных юзеров. которые хотят полистать программы, выбрать подходящую для себя, посмотреть скриншоты, почитать описания. в 1 клик установить расширения к этим программам.

Как ты можешь заметить по статистике за 1-2 дня после анонса новой технологии - было обработано 57 плагинов, что говорит о заинтересованности разработчиков сделать GNU/Linux юзерфрендли. про внедрение AppData (то же самое, но для самих приложений) статистика в бложике[0].

[0]http://blogs.gnome.org/hughsie/2014/05/28/appdata-progress-and-the-email-deluge/

i_gnatenko_brain

anonymous ()
Ответ на: комментарий от anonymous

screenshots.debian.net, например, существует безо всяких AppData.

Deleted ()
Ответ на: комментарий от Deleted

хороший, но не очень удобный сервис.

anonymous ()
Ответ на: комментарий от anonymous

позволит пользователю устанавливать доп. компоненты.

Оно умеет ставить в каталог пользователя?

GNOME Software использует PackageKit, так что когда он научится это - тогда будет уметь. Сейчас - нет. Patches are welcome.

Так пользователю или всё же администратору?

d2 ()

1) НЕНУЖНО! Традиционная модель рулит - хочет разраб, делаем плагины, не хочет - не делаем. (ИМХО)
2) Если даже счесть, что это нужно, то XML... Старые добрые конфиги, которые просты и понятны, не катят?
3) По-моему, реклама. Ладно бы постили в Talks, а то в новостях... cast fallout4all

DeadEye ★★★★★ ()
Ответ на: комментарий от anonymous

для плагинов ничего больше. только краткое описание типа «Join or split multiple lines through Ctrl+J and Ctrl+Shift+J» на любых языках мира.

Т.е. на данный момент всё, что даёт эта фича - это красивая плашка на страницах приложений типа «Также вы можете установить over9000 дополнений для этого приложения»?

d2 ()

вообще не понятно зачем это надо))

vitalikp ()
Ответ на: комментарий от DeadEye

2) Если даже счесть, что это нужно, то XML... Старые добрые конфиги, которые просты и понятны, не катят?

У них ведь везде XML. Лучше уже один стандарт, чем 100500 разных типов конфигов.

d2 ()
Ответ на: комментарий от d2
$ pkaction --action-id org.freedesktop.packagekit.package-install --verbose
org.freedesktop.packagekit.package-install:
  description:       Install signed package
  message:           Authentication is required to install software
  vendor:            The PackageKit Project
  vendor_url:        http://www.packagekit.org/
  icon:              package-x-generic
  implicit any:      no
  implicit inactive: no
  implicit active:   auth_admin_keep
$ pkcheck --action-id org.freedesktop.packagekit.package-install --process 5641 -u #5641 - gnome-shell из под моего юзера

пароль не спросило.

в любом случае, т.к. всё это дело рулится через policykit можно всегда сделать такое -

$ cat /etc/polkit-1/localauthority/50-local.d/50-org.freedesktop.packagekit.package-install.pkla 
[Let All users Install Packages]
Identity=unix-user:*
Action=org.freedesktop.packagekit.package-install
ResultAny=no
ResultInactive=no
ResultActive=yes
По дефолту в федоре:
$ cat /usr/share/polkit-1/rules.d/org.freedesktop.packagekit.rules
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.packagekit.package-install" &&
        subject.active == true && subject.local == true &&
        subject.isInGroup("wheel")) {
            return polkit.Result.YES;
    }
});

так что я могу сказать - пользователю.

anonymous ()
Ответ на: комментарий от d2

нет. прям тыкнуть кнопку установить под желаемым плагином со страницы приложения в центре приложений

anonymous ()

xml фиг с ним. Но я не понимаю зачем нам в тарболе пакета ЕЩЕ один информационный файл

arcanis ★★★ ()
Ответ на: комментарий от anonymous

А, всё, я таки соизволил перейти по второй ссылке в посте и теперь всё понятно. Извини.

p.s. Стоило перевести первый абзац из блога и добавить в пост. А то без него не понятно зачем и почему.

d2 ()
Ответ на: комментарий от d2

fallout4all, добавь в самое начало новости.

После того момента, как мы показали GNOME Software Center, люди захотели добавить в него немного функционала. Одна из вещей, которая была очень важна для разработчиков Eclipse - способ установки расширений к основной программе, что показалось нам отличной идеей. Мы хотели сделать это настолько универсальным, чтобы её могли использовать другие проекты, как gedit и другие модульные приложения в составе GNOME и KDE. Мы сознательно не предоставляем такую функциональность для Chrome или Firefox, поскольку эти приложения сделают намного лучше это задание, чем GNOME Software.

i_gnatenko_brain не знаю, зачем потёрли ЭТО сообщение до этого.

anonymous ()

На протяжении всей дискуссии не задали главный вопрос: А нужен ли Гном 3, да еще и с плагинами?

Что компьютер от перегрева вообще на воздух взлетел?

bookman900 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.