ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Paul Wolneykien <manowar@altlinux.org>
To: "Андрей Черепанов" <cas@altlinux.ru>, "Igor Vlasenko" <viy@altlinux.ru>
Cc: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] MIME Revolution!
Date: Fri, 15 Apr 2011 02:16:47 +0400
Message-ID: <4DA7724F.3040201@altlinux.org> (raw)
In-Reply-To: <201104141448.33289.cas@altlinux.ru>

14.04.2011 14:48, Андрей Черепанов пишет:
>>   Предлагаю формировать списки программ иерархически: сперва по
>> > категории материала, с которым идёт работа (звук, текст, изображения,
>> > видео, модели, схемы, формулы...), а затем по характеру обработки (только
>> > чтение/просмотр, чтение/просмотр/модификация). Приоритет проставить
>> > только отдельным категориям/подкатегориям (к примеру, просмотр фильма
>> > является гораздо более распространённой операцией нежели его
>> > редактирование), а вопрос о приоритете отдельных программ, попавших в
>> > одну и ту же категорию/подкатегорию (vim и emacs) предлагаю не обсуждать
>> > вовсе и для начала присвоить им всем одинаковый приоритет.
> Присоединяюсь. Это будет ноамного проще, да и релиз-менеджерам проще 
> определять состав приложений по умолчанию для дистрибутива.

  Тогда давайте сначала рассмотрим не категории файлов, а то, какие
операции являются типичными и распространёнными, и придумаем им
имена-теги. Если предложенная выше система получит развитие, то нужно
будет пройтись по всем пакетам и проставить данные теги. Несмотря на
громадный объём работы, спасает здесь то, что расстановка таких тегов
должна быть выполнена объективно, согласно фактическим возможностям
программ, а значит работу могут вести параллельно сразу много человек.

  Если программа имеет несколько режимов работы, то каждый из этих
режимов может быть снабжён отдельным набором тегов. Фактически, для
данной классификации несколько режимов работы одной программы — это
несколько разных программ.

  Предлагаю рассмотреть следующие стандартные операции, перечисленные ниже.

  0. show — демонстрация готовых работ (презентаций, электронных книг,
фильмов). Обязательным условием является наличие у программы функции
демонстрации на полный экран. Функции редактирования, напротив, являются
негативным фактором для данной операции (они будут попросту мешать
пользователю), поэтому присутсвие тега show не допускает присутсвия
любого из тегов edit/* и даже minedit/*.

  1. play — возпроизведение записи (звукозаписей и видеоматериалов).
Аналогично show, но возможность демонстрации на полный экран не является
обязательным условием.

  1.1 play/enqueue — добавление записи в очередь воспроизведения.

  2. view — просмотр материала/документа (изображения, фотографии,
чертежа, схемы, таблицы). Аналогично show, но возможность демонстрации
на полный экран не является обязательным условием. Данный тег запрещает
присутсвие любого из тегов edit/*, но совместим с остальными тегами (в
том числе, с minedit/*).

  3. minedit — просмотр с минимальным набором инструментов для
редактирования (поворот изображения, редактирование тегов). Важно, чтобы
набор функций редактирования был относительно мал, по сравнению с
другими программами, а само редактирование не влекло бы за собой искажений.

  3.1. minedit/lossy — просмотр с минимальным набором инструментов для
редактирования, не застрахованного от внесения искажений. Установка
данного тега означает, что модификация файла может повлечь за собой
искажения (пример — масштабирование изображения).

  3.2. minedit/fillin — редактирования документа с различными
ограничениями, призванное заполнить пропуски. Яркий пример — заполнение
форм, отсюда и название тега.

  4. edit — прямое редактирование файла (без изменения его представление
и/или формата). Модификация файла не должна вести за собой изменение его
представления (например, gimp может импортировать векторную графику, но
представление будет уже растровое, так что данный тег ставить для PS/PDF
файлов в gimp нельзя). Модификация файла должна производится без искажений.

  4.1. edit/lossy — прямое редактирование файла, не застрахованное от
внесения искажений.

  4.2. edit/convert — редактирование представления файла в другом
формате. Установка данного тега означает, что сохранение
отредактированного файла в исходном формате невозможно. Однако внесение
искажений не допускается.

  4.3. edit/convert/lossy — редактирование представления файла в другом
формате, допускающее внесение искажений. Например, импорт векторной
графики в программу редактирования растрового изображения. Данный тег
допускает, что импортированное представление может отличаться от
оригинала. Внесение искажений также допускается.

  5. convert — преобразование файла в другой формат без внесения искажений.

  5.1. convert/lossy ­— преобразование файла в другой формат допускающее
внесение искажений.

  6. print — печать файла.

  6.1. print/enqueue — добавление файла в очередь печати.

  7. publishing — публикация файла.

  8. send — отправка файла.

  9. compress — сжатие (архивация) файла без внесения искажений.

  9.1 compress/lossy — сжатие (архивация) файла, допускающее внесение
искажений (а есть такое?).

  10. check — проверка файла на корректность.

  11. compile — компиляция и трансляция файлов.


  Далее, зная какая программа что у нас умеет, можно будет для каждого
типа файла выработать приоритетный порядок операций (и отображать их в
меню, если файловый менеджер это допускает, причём именно как операции,
а не как названия программ). Другое дело, что информации об одном лишь
типе файла может быть недостаточно для совершения правильного выбора:
например, для PDF, на первый взгляд, достаточно view, но если в нём есть
поля, открытые для редактирования, тогда, очевидно, minedit/fillin.
Подобная классификация подталкивает к тому, чтобы утилита file и ей
подобные, стали умнее.


    Паша.


  reply	other threads:[~2011-04-14 22:16 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-13 21:33 Igor Vlasenko
2011-04-13 21:46 ` Денис Смирнов
2011-04-13 22:30   ` Igor Vlasenko
2011-04-13 22:38     ` Igor Vlasenko
2011-04-13 22:41       ` Денис Смирнов
2011-04-13 22:53         ` Igor Vlasenko
2011-04-13 23:13           ` Денис Смирнов
2011-04-13 23:32             ` Igor Vlasenko
2011-04-14  3:25               ` REAL
2011-04-14  3:50                 ` Денис Смирнов
2011-04-14  3:56                   ` REAL
2011-04-14  4:24             ` Hihin Ruslan
2011-04-13 23:21           ` Денис Смирнов
2011-04-13 23:28             ` Igor Vlasenko
2011-04-13 23:44               ` Денис Смирнов
2011-04-13 23:59                 ` Igor Vlasenko
2011-04-13 22:40     ` Aleksey Novodvorsky
2011-04-13 22:48       ` Igor Vlasenko
2011-04-13 22:40     ` Денис Смирнов
2011-04-13 23:02       ` Igor Vlasenko
2011-04-13 23:25         ` Денис Смирнов
2011-04-13 23:37           ` Igor Vlasenko
2011-04-13 23:39             ` Денис Смирнов
2011-04-13 23:41           ` Igor Vlasenko
2011-04-20  7:57             ` [devel] MIME Revolution! -> relative user level Michael Shigorin
2011-04-20  8:32               ` Денис Смирнов
2011-04-20  8:35                 ` Michael Shigorin
2011-04-20  8:40                 ` REAL
2011-04-20 10:09                   ` Dmitriy Kruglikov
2011-04-20 10:20               ` Aleksey Novodvorsky
2011-04-21  5:50                 ` [devel] [JT] " Michael Shigorin
2011-04-21  6:09                   ` Hihin Ruslan
2011-04-21 13:02                     ` Rinat Bikov
2011-04-21 13:20                       ` Hihin Ruslan
2011-04-20  7:54           ` [devel] MIME Revolution! Michael Shigorin
2011-04-20  8:07             ` Vladislav Zavjalov
2011-04-20  8:09               ` Michael Shigorin
2011-04-14 12:27       ` Igor Vlasenko
2011-04-14 12:45         ` Андрей Черепанов
2011-04-14 12:56           ` Igor Vlasenko
2011-04-14 13:08           ` Igor Vlasenko
2011-04-14 13:14             ` Андрей Черепанов
2011-04-14 13:22               ` Igor Vlasenko
2011-04-14 13:26                 ` Андрей Черепанов
2011-04-14 13:45                 ` Андрей Черепанов
2011-04-14 14:05                   ` Igor Vlasenko
2011-04-14 15:18                     ` Андрей Черепанов
2011-04-13 22:26 ` Paul Wolneykien
2011-04-13 22:47 ` Paul Wolneykien
2011-04-14 10:48   ` Андрей Черепанов
2011-04-14 22:16     ` Paul Wolneykien [this message]
2011-04-20  8:04       ` [devel] MIME Revolution! -> upstream Michael Shigorin
2011-04-14  9:58 ` [devel] MIME Revolution! Sergey V Turchin
2011-04-14 11:44 ` Андрей Черепанов
2011-04-14 12:12   ` Андрей Черепанов
2011-04-14 12:16   ` Igor Vlasenko
2011-04-14 12:48     ` Андрей Черепанов
2011-04-14 12:58       ` Igor Vlasenko
2011-04-14 13:02       ` Igor Vlasenko
2011-04-15 12:45 ` Vladislav Zavjalov
2011-04-15 13:19   ` Igor Vlasenko
2011-04-15 15:00     ` Vladislav Zavjalov
2011-04-15 19:28       ` Igor Vlasenko
2011-04-20  7:36 ` [devel] MIME Revolution! -> prio Michael Shigorin
2011-04-20  7:42   ` Денис Смирнов
2011-04-20  8:15     ` Michael Shigorin
2011-04-20  8:21       ` REAL
2011-04-20  8:36       ` Денис Смирнов

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DA7724F.3040201@altlinux.org \
    --to=manowar@altlinux.org \
    --cc=cas@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    --cc=viy@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git