Пользователь
0,0
рейтинг
8 апреля 2010 в 04:12

Администрирование → Правильная организация файлов или наше спасение в наших руках

imageЯ не открою Америку, если скажу, что способ организации файлов в современных ФС мягко говоря не совсем удобен для конечного пользователя. И действительно: иерархическая модель представления данных на основе файлов и каталогов, не менявшаяся уже несколько десятков лет, просто не способна соответствовать современным потребностям в хранении большого количества разнородного контента. И если с музыкальной информацией все более-менее хорошо, благодаря таким медиа-библиотекам, как iTunes или Amarok, то с файлами остальных форматов ситуация до сих пор остается очень печальной.


Суть проблемы


Я уверен, на компьютере каждого человека, читающего этот топик, наверняка есть хоть один из следующих каталогов: soft, разобрать, временно, всякая всячина, trash, интересное. Обычно в папке софт находится несколько тысяч архивов и экзешников с говорящими названиями «setup.exe» или «589346.zip»; папка «Мои документы» засрана кучей файлов, многие из которых вообще к документам не относятся, а файлы из каталога «Разобрать» так и остаются не разобранными…
При этом, когда у нас возникает потребность отыскать «тот самый дистрибутив visual studio, который я скачивал пару месяцев назад», то гораздо проще за несколько секунд найти ссылку на установщик в гугле, чем долго и тщетно пытаться искать его на своем компьютере. Стандартные утилиты поиска так же не спасают, т.к. для бинарных файлов они могут ориентироваться только на название файла, да жалкую горстку дополнительных атрибутов.

Хочу заметить, что данная проблема в юзабилити файловых систем вовсе не является надуманной: достаточно вглянуть на этот топик, вызвавший достаточно бурное обсуждение.
Также можно ознакомиться с соответствующей главой из книги «Алан Купер об интерфейсе. Основы проектирования взаимодействия».

Варианты решения


Что же с этим делать? К счастью, благодаря вебу, все мы хорошо знакомы с простым, но очень эффективным способом организации информации. Да да, я говорю о тегах.
Delicous.com, digg.com, last.fm, да взять хоть хабрахабр — все эти веб-сервисы научили нас грамотно пользоваться метками. Потратив один раз чуть чуть своего времени на тегирование любого элемента своей коллекции, как мы уже никогда не потеряем его из виду. Такие вещи, как «смежные теги» или «облако тегов» позволят найти нам нужный контент, даже если мы не очень хорошо помним, какими тегами его отметили.

Хорошо, но если такую простую и удобную идею до сих пор не внедрили производители операционных систем, то куда же смотрят разработчики сторонних приложений?!
Я полагал, что существует как минимум несколько альтернатив, позволяющих создавать базу данных, на основе тегирования файлов, ведь это так просто для реализации!
К моему разочарованию я обнаружил, что подсуетились лишь программисты под Mac OS: 7 File Tagging Applications for OS X (разумеется, почти все они платные).
Ни для windows, и, тем более, ни для Linux ничего подобного я не нашел. Хотя, возможно, я просто плохо искал — в таком случае очень прошу указать в комментариях ссылки на такой софт.

Разумеется, это воодушевило меня стать «посланцем добра и света», освободив несчастных пользователей от гнета архаичных ФС. А т.к. основной ОС для меня является Linux Ubuntu, то вопрос на чем писать даже не вставал — конечно это python, тем более что связываться с технологиями Microsoft мне совсем не хотелось.
Базовый список требований получился совсем небольшим, и это мотивировало меня еще больше. Итак, чего же я жду от такой программы:
  1. Добавление/редактирование тегов к файлам и папкам прямо из контекстного меню файлового менеджера (Nautilus)
  2. Интерфейс для поиска и просмотра файлов по указанным тегам
  3. Отслеживание изменений в именах и расположении (что, в общем, одно и то же) файлов

Грубо говоря, наша инновационная и нанотехнологичная программа будет состоять из трех компонентов: системная интеграция, база данных и процесс/демон.

Существующие средства


Решив прощупать почву для первого этапа, т.е. добавление своих элементов в контекстное меню программы Nautilus, я наткнулся на один open-source проект, который частично реализует мою идею — это "tags-tabs extension".
Честно говоря, слово «проект» слабо подходит для одного полуработающего .py исходника на 7 кб, и не имеющего никакой документации.
tags-tabs — это расширение для Nautilus, использующее библиотеку «python-nautilus». Оно добавляет в контекстное меню свой пункт, что позволяет назначать файлам теги и выполнять базовый поиск.
В теории, чтобы все заработало, необходимо поместить этот файл в директории ~/.nautilus/extensions/python и дать ему права на исполнение. На практике, в моей Ubuntu 8.10 этот скрипт вызывает крэш приложения, при вызове меню. Говорят, что в ранних версиях убунты все работает нормально.

Также нельзя не упомянуть замечательный проект dhtfs.
DHTFS также проповедует идеологию ФС, основанной на тегах, написан на python и имеет даже краткую пользовательскую документацию! Но есть один минус — это cli-приложение.

Заключение


Так к чему это все? На самом деле, этим топиком я хочу побудить сообщество python-разработчиков, представители которого несомненно присутствуют на хабре, обратить внимание на эту интересную, но вместе с тем практически незамеченную остальными проблему.
Дело в том, что с python я начал дружить совсем недавно, поэтому вряд ли у меня хватит навыков реализовать эту идею, но с вашей помощью, взяв за основу два приведенных выше проекта, вполне можно в очередной раз доказать, что open source — это большая сила, в особенности когда за ней стоят такие энтузиасты как мы.
frexin @sindrom
карма
50,8
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (136)

  • 0
    Ну в принципе, сложного-то ничего нет. Создали базу данных, в которой хранится полное имя файла, его контрольная сумма (для отслеживания изменений) и множество тегов этого файла. Дальше все сводится к красивой обертке и оптимизации операций поиска/удаления/добавления записей в БД.
    • 0
      разве контрольная сумма не будет меняться при изменении размера файла?
      • 0
        Ну я и говорю — для отслеживания изменений.
  • +36
    Я что-то очень сомневаюсь, что человек, которому лень переименовать setup.exe в visual_studio_setup.exe будет возиться с тегами. Нормальное название и быстрая утилита для поиска намного удобнее.

    P.S. Не пользуюсь вообще ничем. Винчестер небольшой, регулярно разбираю свалки и поддерживаю всё в относительном порядке.
    • +1
      Полностью поддерживаю, изначально надо все «складывать» по «полочкам» и не будет никаких проблем с поиском
    • +3
      Есть другой момент. Хорошо, когда в Ваших файлах очевидна древовидная иерархия. Много где ее не хватает. К примеру, у меня несколько тыс. текстур. И я готов потратить несколько дней для того, чтобы ее протегировать, если бы система позволяла. Естественно, очень многие относятся к нескольким категориям. Нужен граф, а не дерево. Собственно, теги это оно и есть.
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Упомянутой утилитой пользуюсь достаточно давно, не нарадуюсь :)
      Ищу аналог под Убунту, не подскажете?
      • 0
        Нет, к сожалению, аналогов под Linux я не встречал.
      • 0
        А как насчет Tracker или Beagle.
        Они и содержимое файлов индексируют.
    • 0
      А есть в linux быстрая утилита для поиска? Стандартной в Ubuntu пользовался, но неудобно и долго ищет.
      Хотелось бы вроде Everything в Windows, которую можно заставить показывать все файлы по дате или другим параметрам. Правда Everything только с правами администратора работает, что большой минус.
  • +1
    Моя коллекция музыки (её mp3/ogg-часть) недавно перевалила за 50 Гб. Я просто не представляю, что мне когда-нибудь будет не хватать самых примитивных средств файловой системы (папок и символических ссылок) для её организации.

    Создал опрос, чтобы выяснить, насколько я одинок в этом жестоком, жестоком, жестоком мире тэгов и индексов, хнык!
    • +4
      Хм. У меня коллекция музыки под 200 Гб, причем lossless'а там наберется ну максимум 10% от общего объема. Все тоже упорядочено средствами ФС. В большинстве случаев хватает, но не всегда. Например, если хочется послушать несколько Reggae-исполнителей, то приходится прибегать к помощи тегов, ибо так намного быстрее, чем рыскать по всему списку папок.
      • 0
        У меня музыка по жанрам раскидана, так что с этим тоже нет проблем
        • +1
          а если нельзя отнести группу к какому-то определенному жарну, что вы делаете?
        • 0
          Это хорошо, когда жанр легко определить. Вот только в одном таки металле стопиццот подвидов и есть куча споров, что какая-нибудь группа Dead Cannibal and Rabbits — это какой-нибудь тру-метал или же глум-метал. Вот Би-2 — это попса или рок или русский рок?

          А если же использовать только широкие жанры «классика, джаз, попса» — тогда и искать не намного легче.

          признаки должны быть однозначными imho.
          • 0
            я вот начинаю задумываться про использование symbolic link 0)
            • +1
              надо реализовать еще и условный симлинк. «ls rock/» должен иногда показывать папку BI-2, а иногда — не показывать. Потому что оно, конечно, вроде как рок, но вот все таки не совсем :-)
    • +3
      В аудиопроигрывателях с коллекцией поиск и добавление нужных треков происходит намного быстрее, чем с помощью примитивных средств файловой системы.
      • +2
        Аудиопроигрыватели с коллекцией, точнее, с механизмами принуждения пользователя к коллекции (amarok, wmp) несовместимы с моей нервной системой. В winamp или xmmp меня всё устраивает.
        • +9
          Аудиопроигрыватели без коллекции несовместимы с моей нервной системой, ибо их юзабельность на голову ниже.
        • 0
          foobar2000 — очень удачный гибрид, imho: в нем есть media library, которая не мешает работать напрямую с файловой системой. Можно, например, добавить в плейлист нужные папки или файлы, или музыку конкретного исполнителя, или даже выбрать весь reggae из конкретной папки.
          • +2
            Собственно, Амарок тоже не мешает напрямую работать с файловой системой — в нём есть вкладка «Файлы» на панели слева, ну и драг-н-дроп тоже никто не отменял.
          • 0
            Сам юзаю foobar2000 на виндовой машине. Жаль проект закрытый и нет версии по *nix.
            Кстати, кто как сортирует свою коллекцию музыки. У меня лично при достаточно объемной коллекции все разбито на две папки: Исполнители (сюда свалены папки по названию исполнителей) и Коллекции (рипы дисков не относящихся только к одному исполнителю). Все остальное делается средствами Media Library.
    • 0
      Фактически, для меня переход к проигрывателю с библиотекой (itunes, а затем Squeezeserver) стал оправдан после пересечения объема 200 Gb.
      В настоящий момент у меня примерно 700 Gb музыки, около 90000 треков, примерно 60% объема в lossless (ALAC).
      Хранение музыки с правильно прописанными тегами дает гораздо больше возможностей как для хранения, так и для структурирования библиотеки (например, абсолютно не проблема переименовать файлы как угодно), кроме того этот подход совместим с любыми проигрывающими устройствами.
  • +5
    У меня на жестком диске порядок, выработал несколько простых правил и придерживаюсь их:

    — Рабочий стол используется для временных файлов, скачанных и любых входящих файлов. После того как поработал с файлами на рабочем столе — либо удаляю их, либо копирую в архив. Это избавляет от создания директорий вида «Разобрать».

    — Никогда не хранить на компьютере файлы, которые есть в интернете, в первую очередь это дистрибутивы программ.
    • +5
      Житель провинции с 400 кб интернетом смотрит грустно и одновременно с завистью…
      • 0
        полгода назад я бы завидовал жителям провинции с 400 кб интернетом)) но пришедший в мой город комстар со своими тарифами расшевелил моего провайдера и позволил мне приобрести анлим в 2мб за приемлемую цену) поэтому с недавних пор без «душевных страданий» в случае надобности удаляю не раздумывая любые файлы, которые можно будет скачать потом (разве что X-Plane размером в 42 Гб предпочитаю оставлять)
        • 0
          К нам бы на Дальний Восток кто-нибудь пришел… А то сплошная монополия Дальсвязи.
          • 0
            Так вам может из Японии интернет тянуть надобно, а не из Европы?
            • 0
              Ну из Кореи (Южной) еще можно, там тоже с сетью все в порядке.
            • 0
              Из Японии и Кореи во Владивосток могут протянуть исключительно через Москву, а то как же посмотреть что мы там качаем
      • +2
        Житель провинциальной провинции с 30кб интернетом смотрит грутно и одновременно с зависть… )
        • 0
          Dial-up? O_o
          • 0
            ADSL на 256кбит ))
            • 0
              Ну так и я про биты говорил. Дурная привычка, не по ГОСТу…

              Использование прописной буквы «Б» для обозначения байта соответствует требованиям ГОСТ и позволяет избежать путаницы между сокращениями от байт и бит. Однако следует учитывать, что в стандарте нет сокращения для «бит», поэтому использование записи вроде «Гб» как синонима для «Гбит» недопустимо.
  • +11
    Скажем так. Люди разные бывают, есть аудиалы, визуалы, кинестетики… По аналогии, я могу допустить, что есть люди, которым трудно воспринимать и организовывать информацию в иерархическую систему, и для которых теги — спасение. Но вся остальная аргументация не выдерживает никакой критики (кстати, опрос в соседнем топике тоже показывает, что у народа с каталогами и файлами проблем нет).

    Есть «плюшкинство» — когда накачивается куча всего что только можно скачать, и выкачивается оно с нынешними каналами быстрее, чем можно успевать всё это разгребать при всём желании. Не знаю, болезнь ли это, но теги эту проблему не решат.

    Есть гугл, шустрый инет, и тот факт, что зачастую действительно проще найти и перевыкачать то, что тебе нужно, чем разыскивать его по архивам. Это правда. Более того, как правило в архиве лежат старые версии, а так можно скачать свежие. Но это не из-за сложности организации файлов на винте, а из-за простоты гуглопоиска и скорости инета. Эту «проблему» теги тоже не решают, т.к. зачем сначала тегировать файлы а потом их искать по тегам, если через гугл их всё-равно будет найти проще и быстрее (и, кстати, полнотекстовый поиск гораздо проще и удобнее тегов).

    Есть amarok (первой версии). Это действительно лапочка. Но — для управления плейлистами (и немножко тегами), а не файлами. Ваши теги не помогут составлять плейлисты и не заменят амарок-1.

    Медийные файлы — фильмы, клипы, музыка, картинки, iso-образы, игры — как правило у всех неплохо каталогизированы. Да, у человека может быть несколько разных каталогов с фильмами (на разных разделах, смотренные/не смотренные, etc.) и может потребоваться в них по очереди заглянуть в поисках нужного фильма — но это не долго и не сложно.

    Всё остальное — мелочёвка — дока, софт, etc. — относится как раз к той самой категории, которую хрен найдёшь куда сохранил при выкачке, и которую просто найти и перевыкачать через гугл. И что, именно весь этот хлам Вы и предлагаете тщательно тегировать?! А я могу поступить как-нибудь иначе? :)
    • +2
      Для медийных файлов приходится применять костыли в виде каталогизаторов. А поиск файла по метаинформации намного быстрее (действительно намного!), чем поиск по иерархической файловой системе. Я за то, чтобы был общепринятый стандарт для базы данных файлов, чтобы была стандартная либа для доступа к этой базе.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Когда уровень костылей будет зашкаливать, именно такое и появится :)
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Не использую жесткие диски под долговременное хранилище личных данных. Фото, видео, почта и т.д. в веб облаках с тегами и отличной структурой (даже на Владивостокских 600 кбит/с доступ вполне приемлимый). А медиаконтент храню в локальном облаке (6000 компьютеров в локальной сети у провайдера) ;) А ПО тяну с mirror.yandex, благо по локальной политике скорость доступа к зеркалу состовляет от 8 мегабит/с.
    • 0
      а облака на чем реализованы?
      • 0
        Сервисы гугла, яндекса, dropbox и т.д.
  • +5
    Однажды потратив десять минут на обдумывание структуры подкаталогов в домашнем каталоге, этой структурой папок я пользуюсь уже больше 10 лет, обходясь БЕЗ поисковика.
    \ (домашний каталог)
    |-archive (архив)
    |  |-documents (архивы документов)
    |  |-conf (файлы конфигураций)
    |  |-install (инсталляторы)
    |  |  |-ASUS (драйверы для изделий ASUS)
    |  |  |-Dell (драйверы для поделий ASUS)
    |  |  |-FreeBSD (пакеты программ для FreeBSD)
    |  |  |-Java (инсталляторы JDK и другие инструменты)
    |  |  |-Lotus (инсталлятор Symphony)
    |  |  |-Windows (инсталляторы программ для Windows)
    |  |
    |  |-projects
    |
    |-bin (каталог приложений для индивидуального использования)
    |  |-<подкаталоги программ>
    |
    |-books (электронные книги и руководства)
    |
    |-documents (текущие документы)
    |
    |-email (почтовая БД)
    |
    |-etc (разное)
    |
    |-exchange (папка обмена)
    |  |-in (входящие)
    |  |-out (исходящие)
    |
    |-media (мультимедийные файлы)
    |  |-music
    |  |-photo
    |  |-pictures
    |  |-record
    |  |-screenshot
    |  |-themes
    |  |-video
    |  |-wallpapers
    |
    |-projects
    |  |-<каталоги проектов>
    |
    |-tmp
    

    По-настоящему ценное это: Архив (archive) и Почтовая база (email) в домашнем каталоге, которые синхронизованы с удалённым хранилищем. Остальное периодически архивируется и можно быстро восстановить из бэкапа.
    • +3
      Скажите, а что Вы сделаете, если надо сохранить несколько статей, к которым прилагается, скажем, видео ролик и исходные коды коды проектов? Я так понимаю, часть этой информации попадет в books, часть в media/video, часть в projects? Как сохранить ассоциации между файлами, если появится задача типа «взять сегодня с собой на флешке все, что касается этой проблемы»?

      Я просто пробовал группировать материал по типу данных, но очень часто натыкался на такие проблемы. Интересно, как Вы их решаете?
      • 0
        Можно же извращаться с символическими ссылками! :)
        • 0
          Так и где их в этой структуре хранить? Вопрос-то как раз в том, что одного измерения «тип данных» далеко не всегда достаточно, где-то еще должна быть свалка сивольных линков, читай, тех же тегов.
        • 0
          Моя структура каталогов задумывалась для того, чтобы избежать системно-зависимых особенностей.

          Например, почтовая база Thunderbird в каталоге /<Домашний каталог>/email успешно переносится между Windows, Linux и FreeBSD простым копированием.
      • 0
        Это извратный сценарий, но вообще, есть хорошая штука — жёсткие (обычные) ссылки файловой системы.

        Можно всё вышеперечисленное сохранить в один каталог, который поместить куда-нибудь вроде ~/projects/XXX/конкуренты/YYY, а затем, если важно выделить какой-нибудь видеоролик из этого каталога, залинковать его куда нужно, например:

        cp -lr ~/projects/XXX/конкуренты/YYY/видеоклипы "~/media/video/100407-клипы от YYY"
        • 0
          Тогда, (если вы вдруг, ну — допустим, продали монитор) и видеоролики вам не нужны — как вы удалите их при таком ссылочном подходе? очистите одну папку — а они в другой останутся.
          • 0
            Это больше вопрос к организации самого процесса хранения. Если я залинковал где-то файл, то я _хочу_ его сохранить в этом каталоге. Если файл в этом каталоге мне больше не нужен, я его просто удаляю оттуда. Какое мне дело с текущими размерами хардов, останется файл где-то ещё или нет? Если потребуется, найду мусор через du или fsview (на линукс системах, к слову, больше места занимает не мусор, а дублирующие комплекты ядер, оставшиеся после апдейтов).

            На худой конец, есть ссылки символические, но это надо заранее думать, где будет «основное» хранилище.
      • 0
        У меня в чем то похожая организация директорий в домашнем каталоге. Насчет разделения на типы данных у меня обычно такое решение:

        определяется важность типов данных набора файлов, связанных каким либо смыслом. Например это информация о евро'08. Там есть и видео и статьи, картинки и возможно даже аудио. Для таких комплексных связанных данных у меня есть папка /info в которой в свою очередь поддиректории типа news,sport,inet,finance и т.д. соответственно набор таких файлов из примера помещается в /info/sport/football/euro2008/

        В случае если это скажем данные об автомобиле chevrolet corvette c4, включающие полуторачасовой фильм, каталог фотографий, каталог запчастей (djvu/pdf) и ссылки на mobile.de то они помещаются в разные директории. фильм и клипы в /video/.., фотки в /img/.., каталоги в /info/cars/.., а ссылки в файлик "/tmp/Чувак, тут очень хорошие варианты!!!.txt", потому что такие ссылки очень быстро устаревают, и складировать их нету смысла. Как и софт например.
        Когда мне понадобится вся инфа по машине, не проблема зайти в директорию info, посмотреть, что там, в video, и другие каталоги, где логически может содержаться нужная инфа.

        да, при таком хранении получается очень много директорий, в которых по одной папке… и т.д., ведь необязательно, если у тебя есть клип с евро2008, то будет и с евро2004, но таким образом я совершенно точно знаю, зайдя в нужную директорию, есть ли у меня этот файл или нет. И не приходится пытаться искать его в другом месте, где он мог бы оказаться
      • 0
        Это зависит от конкретной постановки задачи. Решаем по разному.
        Если это проекты, то обычно одна директория — это один проект, а в нём своя структура. Документация часть внутри проекта, часть в разделе Wiki с тем же названием, как проект.
      • 0
        у меня как раз можно добавить один файл в несколько каталогов.
      • 0
        Я не разделяю материалы одного проекта, а держу их вместе в одной папке с соответствующими каталогами внутри — чтобы не искать.

        Я создаю папку проекта в каталоге projects, внутри которой организую каталожную структуру, учитывающую специфику материалов проекта.

        Чтобы «взять» на флешке весь проект, я обычно делаю ZIP-архив папки проекта. Имя у этого архива: projectname-currentdatetime.zip. Архив автоматически помещается в каталог /<Домашний каталог>/archive/projects/, откуда его можно скопировать на флэшку. Использование текущей даты/времени в имени архива позволяет организовать многоверсионное хранение проектов. Конечно, если проект слишком большой и в нём используются в том числе неизменяющиеся файлы, то приходится делать для них отдельный архив projectname-lib.zip, а часто изменяемые файлы сопровождать как обычно.
    • –2
      Ценность вашему «archive (архив)» — нулевая, ибо он хранится на одном разделе с текущими данными.
      Делать бэкапы домашнего каталога и одновременно хранить их тут же… Ра*дяйство.
      • +4
        архив и бэкап — не одно и то же ;-)
      • 0
        Можно считать, что каталог archive — это уже забэкапенные и готовые к бэкапу материалы, которые ещё не забэкапены.
    • +2
      Режим зануды включён.

      «Dell (драйверы для поделий ASUS)» — это чтоб враги не догадались.

      Режим зануды выключен.
    • +1
      Радует папка etc
      • 0
        У меня она обычно называется «хлам» или «trash» :)
      • 0
        В каталоге \<Домашний каталог>/etc хранятся настройки приложений из подкаталогов каталога \<Домашний каталог>/bin, чтобы не терять их при сносе приложений.
    • 0
      Вот бы ещё найти пару таких примеров организации папок и всей своей инфы. Чисто в качестве идеи, чтоб слепить свою на основе других
  • +11
    в KDE есть Napomuk, который через файловый менеджер Dolphin позволяет реализовать тегирование и поиск информации.
    ru.wikipedia.org/wiki/NEPOMUK-KDE
    • 0
      Вот я тоже не понимаю, имея Nepomuk и развивающуюся концепцию семантического десктопа, зачем плодить велосипеды.
    • +3
      хотел именно это и предложить.
      сразу покоробила фраза, что «тем более ни для линукса», ну ничего себе, подумал я себе.
    • 0
      возможно, у меня какойто неправильный dolphin и неправильный nepomuk
      но в моей конфигурации (kubuntu 9.10) проставляются только тэги и комментарии.
      метаинформацией во всей красе rdf там не пахнет (например — возможность указать автора/тему/итп)
      и как по ним делать поиск я что-то не особо понял.
      в хелпе по дольфину слова search и find отсутствуют.
  • +3
    Nautilus давно умеет тегировать файлы (я точно не знаю, когда научился, у меня версия 2.28). К сожалению, не знаю, умеют ли Beagle или MetaTracker отслеживать их.
    В последних версиях KDE взят курс на семантический десктоп. Там даже почтовик обзавелся семантическим интерфейсом, и через сервер Akonadi можно делать SPARQL-запрос к своим данным.
    • 0
      уж не про эмблемы в наутилусе ли пишешь?
  • 0
    А зачем это всё, если есть локальные поисковики-индексаторы?
  • 0
    Если бы такая функция была в ОС из коробки, была приоритетной и удобной, возможно, я пользовался бы ей. А пока мне проще держать в порядке разбирая по папкам и переименовывая.
  • +1
    Вообще лично мне иногда не хватает в файловом менеджере функции быстрого и удобного создания хардлинков.
    Потому как папки — это по сути иерархические теги с возможностью пометить каждый файл только одним тегом. А если хардлинками создавать файл в двух папках, то он по сути помечен двумя тегами.
    Но здесь есть но:
    1. Приходится использовать именно хардлинки, а не симлинки, ибо если я удаляю файл из одной попки (убираю метку одного тега с файла), он должен оставаться в другой.
    2. Хардлинки не позволяют делать ссылки на папки (типа тегирование тегов) и на файлы в других разделах.
    3. Про файловые менеджеры. Нужна интеграция данной фичи не только в наутилос и даже не только в крусейдер, например, но и во все диалоги сохранения файлов.
    • 0
      Ещё в хардлинках проблема в том, что не совсем тривиально понять, есть ли этот файл ещё где-то в твоей файловой системе или уже нет, поэтому я не использую HARD, а испольщую только SOFT линки.
      PS: смотри мой пост ниже
    • 0
      Кстати про midnight commander (из мануала):

      Link (C-x l)
      Create a hard link to the current file.

      SymLink (C-x s)
      Create a symbolic link to the current file.
      • +1
        а можно как-то реализовать создание таких вот ссылок (в частности — жестких) в том же Гноме?? очень нуно!

        ЗЫ кстати в миднайт коммандоре сделано создание ссылок дико неудобно — вместо того стобы создать ссылку с таким же названием в «соседнем каталоге» (что открыт в другой панели) — он приедлагает задать новое (другое) имя и создает ее в _текущем_ каталоге — дибилизм
        • 0
          У меня создаёт в соседнем :)
        • 0
          символические я имею ввиду
          hard использовать вообще не резон
          • –1
            млять, вот откуда такие умные берутся:
            1) я знаю что мягкие он создает нормально, а вот жесткие он создает именно вот так вот через жопу
            2) тебя спрашивали твоё мнение резон создавать такие ссылки или нет???
            3) и да мне нужны ИМЕННО жесткие ссылки причем позарез!!!

            ЗЫ и да, меня всё достало уже
  • +1
    Sindrom, я полностью с тобой согласен. Спасибо за статью.
    Позволю себе несколько комментариев.
    Иерархическая система не изжила себя, она всё ещё полезна для работы самой операционной системы, для разделения прав, когда это необходимо, для организации данных с жёсткой структурой и т.д. Но таги — это счастье пользователя!
    Когда у меня было много дистрибутивов различных программ, долго сохранялась иерархия вида Distrib -> (graphics, archivers, commanders) и т.д. Но через время стало ясно, что большинство из них не используются или не находятся, когда они необходимы, потому что заходя в Distrib ты видишь только верхний уровень и что лежит глубже в этот момент слабо себе представляешь.
    В результате всю структуру пришлось перерабатывать много раз, пока я не пришёл к самому удобному для себя варианту. Покажу на примере:

    |-Distrib
    |  |-All Windows
    |  |  |-Mozilla Firefox
    |  |  |  |-Firefox 3.0
    |  |  |  |-Firefox 3.5
    |  |-All Unix
    |  |-Drivers
    |  |-Sorted
    |  |  |-Graphics
    |  |  |-Media Players
    |  |  |-Programming
    |  |  |-OS
    |  |  |-Live CD
    |  |  |-...
    |
    |-Video
    |  |-All
    |  |-Sorted
    |  |  |-Russian
    |  |  |-English
    |  |  |-English with Subtitles
    |  |  |-...
    |
    |-Music
    |  |-All
    |  |-Sorted
    |  |  |-Russian
    |  |  |-English
    |  |  |-Rock
    |  |  |-Metal
    |  |  |-...
    


    Смысл этой структуры в следующем.
    1. В All помещается всё соответствующее данной категории (например All Windows — это всё ПО для Windows) с самым распространённым названием без номера версии, например: Mozilla Firefox, Microsoft Windows, Internet Explorer, Adobe Photoshop (или просто Photoshop).
    2. Внутри каждой их них помещаются конкретные версии (здесь называния директорий уже не играют роли).
    3. А в Sorted помещаются ссылки (links) на те данные, которые находятся в All, например: Distrib->Sorted->Browsers->Firefox ссылается на Distrib->All->Mozilla Firefox.
    Кажется, что следить за такой структурой сложно, но главный смысл в том, что сортируется (т.е. помещается в Sorted) не всё, а только самое необходимое и директория в Sorted ссылается не на конечную папку с версией продукта, а на верхний уровень (например Mozilla Firefox) название которого не меняется.

    Про использование такой структуры на практике.
    1. Чаще всего я захожу в All и быстро нахожу то, что мне нужно по «популярному названию» и тут же могу заметить, что что-то уже устарело и удалить.
    2. Реже я захожу в Sorted, чтобы, например, посмотреть «а какие у меня там полезные LiveCD есть»?

    Получилось некое подобие тагов в иерархической системе

    — Немного про использование тагов вообще и на хабре в частности.
    Есть две проблемы, с которыми я всё время сталкиваюсь используя таги где бы то ни было. Первая — дублирование тагов, например: virtialization и виртуализация. И вторая, как следствие первой — всегда есть большой шанс что-то упустить используя только один из дублированных тагов. Когда это твоя личная система (файловая или блог или что-то ещё) не допускать дублирования не сложно, но вот на Хабре это имеет место быть.
    • 0
      Мне кажется, вы больны. Только не обижайтесь.
      На кой чёрт хранить кучу софта, да ещё и разных версий?
      Не бойтесь, это излечимо, я вот вылечился :)
      • 0
        Хороший комментарий :)
        Дома я софт больше не храню, т.к. Linux.
        На работе такое разделение и сейчас актуально.
      • 0
        Согласен, нет смысла хранимть всякие фаерфоксы так как они устаревают быстрее.
    • 0
      Хорошая структура, годная. Говорю так потому, что сам пришел к почти такому же разбиению.
      Различие лишь в том, что дистрибутивы и медиафайлы у меня разложены по разным логическим дискам.
  • +1
    в MacOS X ничего дополнительно ставить не нужно. Достаточно открыть окно информации файла (яблоко+i) и там, в верхней части, есть окошко для ввода т.н. spotlight comments. По ним потом ищет штатный spotlight. Я так порнуху каталогизировал, очень удобно :)

    Кстати, еще один hint: если в том же окошке кликнуть на иконку (вверху) и нажать яблоко+v, то иконка заменится на картинку из клипборда. Картинку в клипборд можно поместить прямо с экрана (скажем, часть кадра из видео), если нажать яблоко+шифт+4 и выделить на экране нужную область мышкой.
    • 0
      данные храняться в т.н. «ветви ресурсов» файла, которая поддерживается файловой системой HFS. Отчасти это и есть причина того, что макосники обмениваются пакованными образами дисков, а не архивами, как все остальные.
  • +1
    Я в данный момент работаю над такой системой. Концепт под линукс.
    ЗЫ Если есть заинтересованные люди (из Украины, особенно из Харькова) — велкам. Пишите в личку.
  • 0
    Увы, моё знакомство с языком Python пока что сводится к «Hello, world» и паре последующих опытов,
    но я бы с большим удовольствием поучаствовал в проекте по части помощи с графикой, интерфейсом пользователя, парой идей на тему.
    Если буду полезен — можно в личные сообщения написать: )
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    в библиотеках windows7 можно ставить ключевые слова к документам и фотографиям. но даже этим пока что неудобно пользоваться.
  • 0
    Подсуетились и программисты Microsoft: в Win7 можно добавлять ключевые слова к любым файлам.
    • 0
      В Windows 7 уже можно ставить тэги файлам, формат которых поддерживает тэги. Вордовским файлам, к примеру. Или, скажем, mp3-файлу можно указать исполнителя и жанр. Причём они будут сохраняться при переносе на другой комп.
      Но есть серьёзное ограничение: файлы, формат которых не предусматривает хранение каких-то метаданных (вроде .txt), тэгами не снабдить. Нужно либо создавать отдельное хранилище тэгов (прощай, переносимость), либо создавать какой-то контейнерный формат, который будет хранить метаданные + сам файл (здравствуйте, пустые текстовые файлы по 12кб).
      • 0
        я вас приятно удивлю :)
      • 0
        этот велосипед называется ntfs streams
        более того, была какая-то тэгировалка, которая в них и писала…
  • +1
    А как же проект Непомук, который стоил европейским налогоплательщикам 17 миллионов?
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    мне кажется, проще определить для себя naming convention файлов
    например для фильмов
    [название].[жанр].[yyyy].[режиссер].[и т.п.].[расширение]
    • +1
      А как этот naming convention поможет найти все фильмы определённого жанра или режиссёра?
      • +1
        Поиском по имени, очевидно.
  • 0
    Если говорить о тегах для файлов через утилиты в Win, то есть www.taggtool.com и lunarfrog.com/taggedfrog (и это только первые ссылки поиска). Под Ububntu, думаю, тоже не так уж сложно нарыть.
    • 0
      Хочу предостеречь людей насчет использования TaggedFrog.
      Это жуткая, тормозная и глючная программа. Во время использования она падала у меня несколько раз.
      Но хуже всего не это. Больше двух часов я сидел, и не отрываясь заполнял как проклятый теги для всех своих файлов. Закончив, я обнаружил, что почти все они не сохранились!!! FUFUFFUFUUUU!!! Можете представить себе степерь моего негодования. Так что TaggedFrog идет лесом. К тому же она не поддерживает интеграцию и слежение за файлами.
    • 0
      + www.tag2find.com/ — еще одна бесплатная утилита. Правда когда я ее тестировал, мне она показалась несколько тормозной. Возможно сейчас что-то и изменилось.
  • 0
    Поиск среди хлама редко бывает проблемой, поскольку уже и не помнишь что это качал.
  • 0
    Разве nepomuk итак чтото подобное не делает?
  • +1
    Теги — не панацея. Вам в любом случае придется продумывать грамотную правила простановки тегов, следить за их чистотой и т.д. Точно так же можно продумать грамотную структуру каталогов и с успехом пользоваться ей.

    Единственным явным преимуществом является то, что теги естественным образом позволяют приписать один файл/папку двум разным категориям. Хотя во всех современных ФС можно найти способы сделать что-то похожее…
  • 0
    для Windows есть еще taggedfrog сам не пробовал — затерялась в недрах папки Soft :-)
  • 0
    … а после того, как появился торрент и женщина захотела скачать «вот тот фильмец» лично у меня срач.
  • 0
    Я храню архивные файлы типа фотографий и видео в классической иерархии. Рабочие и текущие файлы организуются собственным приложением в папки: @Inbox, @Work, @Read, @Archive, которые лежат на Dropbox.

    Структура в этих папках практически отсутствует. Проблемы с поиском нет, файлы мгновенно находятся по дате, а также проиндексированы, чтобы в запущенных случаях искать при помощи стандартного Windows 7-овского поиска.

    Текущие рабочие проекты выносятся ярлыками на рабочий стол.

    Короче, проблем нет, одни плюсы :)
  • 0
    Ну есть в кедах nepomuk для этих целей, но вот я его первым делом вырубаю. Мне реально проще ориентироваться в правильно составленном дереве, чем бегать по тегам
    • +1
      А мне когда-то было реально удобнее печатать двумя пальцами, глядя на клаву, чем печатать десятью, глядя на монитор.
      • 0
        У тегов перед каталогами лишь одно преимущество — объект может иметь несколько тегов. И то это преимущество мнимое, существуют симлинки. В общем да, если содержать файловую систему в должном виде, то потребность в тегах весьма сильно сокращается.
  • 0
    Под виндой одно время игрался (уныло трахался) с www.tag2find.com — автоматом подхватывает тэги из mp3, например, но когда всплыл факт использования разных кодировок в тэгах…

    Штука постоянно живет включенной, и при создании нового файла предлагает пометить его определенным тэгом. Это задрало после часа возни за кантупиром.

    Помечать по-отдельности уже существующие файлы — блин, их уже ОЧЕНЬ много! И эти тэги надо придумывать! Аааа!

    Поставил GoogleDesktop для поиска, и угомонился. И пользуюсь этим гуглодесктопом, почему-то, реже, чем предполагал.

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

    Например: (аудиокнига) Поезд в ночи.zip — понятно, что это и о чем? И сортировка файлов по имени в TotalCommander (или в Krusader, когда в Ubuntu сижу) неимоверно рулит и все четко разделяет. Поэтому у меня в каталоге «Разобрать когда-нибудь наконец-то» относительный порядок :)
    • 0
      А проблема в том, что тэггирование фалов — не решение проблемы. Надо совместно использовать каталогизацию и тэггирование…
  • 0
    Я считаю, что важно иметь и порядок в файловой системе, и вот почему — если мне нужно будет резко сохранить, скажем, все документы, или все программы, работающие без установки, или всю муз. базу куда-то, мне будет проще ее перенести, зная где она хранится, а не перебирать по всем тегам, которые могут иметь отношение к музыке и не вспоминать, как еще я мог пометить.
    Тем более, имея удобный менеджер ac распределение по каталогам становится простым делом, не сложнее маркировки файлов тегами.
    Меня часто выручало то, что я всегда знаю, что в какой-то папке у меня никогда не окажется фажного файла, и ее можно не восстанавливать/удалить.
    • 0
      Вводишь тег «музыка», и получаешь всю музыкальную базу. Вводишь тег «ненужное» и со спокойной душой удаляешь. Не вижу проблемы.
      • 0
        я вряд ли помечу то, что скачал, тегом «ненужное», так как на данную секунду это будет нужно, иначе проще удалить сразу… иначе это клиника).

        • 0
          Ну вводишь условие «не соответствует тегу важное» :)
          • 0
            а если я не пометил как «важное» только потому, что работа с этим файлом не могла быть критичной в тот момент? Или, например, потеря файла не критична, но восстановление требует времени, что тоже ценно, и поэтому он не отмечен как важный. В принципе, тогда почти каждый файл важен, если считается, что он однажды потребуется.
            Мне кажется, что тегирование не спасет большую часть. Но, это полезно для музыки, чтобы можно было общаться со своей коллекцией как в last.fm.
            А от бардака в голове не спасет).
  • 0
    На маке есть:
    — отличная штука Spotlighte, которая решила все мои пробемы с поиском чего-либо на винте, куда бы оно не завалилось. Срабатывает мгновенно и все как правило находит
    — программа TuneUP которая присасывается к базе iTunes и организует тэги (абсолютно всю инфу в них). Вроде для винды тоже она есть
  • +1
    хм…
    а нельзя ли для хранения меток использовать extended attributes в ext3fs (да и ещё коегде)?
    для более плотной интеграции с файлухой.
    • 0
      man 5 attr говорит, что вполне можно.
      если смонтировать файловую систему с параметром user_xattr
      и для атрибутов использовать пространство имён «user.»
      по-моему весьма перспективная идея

      qmax@lair:/usr/home/public/Lib$ getfattr -d regexp.chm
      # file: regexp.chm
      user.library.author=«Jeffrey E. F. Friedl»
      user.library.pubdate=«2006»
      user.library.publisher=«O'Reilly»
      user.library.title=«Mastering Regular Expressions»

      вопрос — какие там ограничения на количество и длинну атрибутов.
      осталось научить понимать это nautilus/dolphin/midnight, а главное — команду find и прочие искалки:)
  • +1
    «Наше спасение» не совсем «в наших руках» потому что руки-то есть, а вот что именно ими мастерить — не совсем понятно.

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

    Частично может помочь автотеггирование или «умное» нахождение похожих файлов, но ведь это ещё продумать надо.

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

    Может помочь налаженная инфраструктура, типа Mozilla Add-Ons где буквально заставляют категоризировать добавленные в систему элементы. Или использование *nix-ов, где с программами особой заморочки нет. Для музыки могут пригодиться теги ластфм. Но это только часть файлов…

    Вобщем я так не представляю как выглядят «хорошие» теги.
    • 0
      Буквально сегодня я потратил несколько часов, чтобы протегировать с помощью tag2find более тысячи файлов на рабочем компьютере. Да, я конкретно запарился и поздно ушел домой, но, в конце концов, это надо сделать всего один раз. Потратить несколько часов, но зато потом каждый день экономить по несколько минут — это очень неплохие инвестиции, я считаю.

      По поводу свежих файлов. В том же tag2find есть замечательная функция мониторинга выбранных каталогов. При появлении в папке нового файла, он автоматически предложит добавить к нему теги. Так что такой проблемы как бы и нет.
  • 0
    Важно иметь правила и соглашения с самим собой, как работать с файлом и куда его отправить.
    Как раз не так давно писал про файловое GTD: it-premium.com.ua/articles/gdt-with-files

    Чистый inbox — залог здоровья.
  • 0
    sindrom, go for it!
  • +1
    Была уже дискуссия на эту тему вот тут. Идея безусловно полезная, т.к. она не требует ничего менять, а только добавляет функционал. Мне кажется вы упустили самое главное требование к такой программе: автотеги. То есть, после установки программа запускается в фоновом режиме и тегирует файлы автоматически. Например, все DOC-файлы получают общий тег «документ». MP3-файлы, помимо тега «музыка», тегируются MP3-тегами. Если программа сможет сделать этот процесс достаточно интеллектуальным (извлечь максимум полезной информации из имени файла и его данных, отсеяв мусор) и, возможно, обучаемой — тогда точно будет хит. Ведь как сказали выше, кому лень сделать нормальную древовидную структуру папок — явно не захочет заниматься тегированием.
    • 0
      Ну как вариант, организовать полуавтоматическое тегирование (наподобие того, что реализовано в EasyTAG — утилите для работы с музыкальными тегами). Там пользователь сам устанавливает маску фильтра, в какой тег какую часть полного имени файла заносить.
    • 0
      все DOC-файлы получают общий тег «документ». MP3-файлы, помимо тега «музыка», тегируются MP3-тегами

      какой смысл дублировать очевидное?
      в идеале ещё десяток-другой лет назад стоило в каждую ФС внедрить поле с «content type»
      • 0
        > какой смысл дублировать очевидное?

        Для поиска по тегам. Например «покажи все документы». Или «покажи все рабочие документы». Тег «рабочие» уже добавит юзер, но зачем ему добавлять общий тег «документ», если это можно сделать автоматом? Но самое главное даже не это: вы не представляете сколько пользователей даже примерно не знают что такое расширение файла и поэтому, не смогут выполнить поиск по этому критерию. Не говоря уже о том, что поиск по расширениям в теговой системе — как-то нелеп :)
  • 0
    Еще одна идея пришла в голову — приложение висит как сервис и фиксирует перемещение/копирование файлов. Зачем? Если юзер копирует файл в «треш», то такой тег явно не помешает :) То есть, использовать имена папок (по желанию). Те, кто периодически сортирует файлы классическим способом, игнорируя теги, в какой-то момент заметит, что теги итак достаточно полно описывают все файлы и ручная работа по тегированию не нужна.
  • 0
    По-моему что-то подобное пытались реализовать в «файловом менеджере, который управляет файлами за вас», который назывался nemo. Но он как-то был коряв (у меня падал на элементарном permission denied) и уже почти умер, наверное. Да и написан с использованием mono. А так очень бы хотелось, чтобы кто-нибудь реализовал что-то подобное.
  • 0
    Все это хорошо, пока у вас обозримое количество файлов.
    Но когда графика переваливает за 1мил. файлов, то говорить о тегирование как то уже не поднимается язык…
    Все только тупо по иерархии папок.
    Для софта — проще держать 20-50 программ. без которых не обойтись (их списолк не такой и большой). Для остального — есть интернет.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Я уверен, на компьютере каждого человека, читающего этот топик, наверняка есть хоть один из следующих каталогов: soft, разобрать, временно, всякая всячина, trash, интересное.


    У меня теперь папки с закладками, с такими же названиями. )
  • 0
  • 0
    Поскольку я понял, бесплатно таги ставить в МакОС некак. Ладно, есть комментарии в спотлайте. Но если я организовываю домашнюю библиотеку/ иерархию файлов на внешнем носителе, а он к тому-же NTFS или FAT, то будет ли спотлайт видеть эти коменты? Или таги если поставить софт для их создания.

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