Классификатор файлов. Часть первая.

Длительные каникулы, которые дополнились еще и отпуском, позволили мне заняться давней задумкой: «классификатором файлов». На жестком диске накопилось огромное количество различных полезных и не очень файлов. Поиск нужной информации затруднен — не всегда помнишь, что и когда, а главное куда, сохранял (да и сохранял ли!). Потребовался инструмент, позволяющий оптимизировать процесс.

 

Итак, цели «классификатора» в первом приближении (задача минимум) виделись в следующем:

— создать базу данных файлов, автоматизировать добавление туда новых единиц;

— создать рубрикатор (классификатор) для каждого сохраняемого файла;

— организация поиска информации с помощью рубрикатора.

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

В общем, звучит не сложно. Правда, без учета того, что программированием я занимался давно. Поэтому, первым делом стал искать аналоги в интернете. И не нашел. Либо предлагалось что-то слишком сложное, либо слишком простое, либо совершенно не по теме. Классифицировать фильмы и картинки — это одно, а инженерные талмуды — совсем другое.

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

Итак, заглавной информационной единицей в системе стал файл. Ничего мудрить и придумывать я тут не стал. Для его описания использовалось название, путь к файлу, автор, дата создания, дата редактирования, текстовый комментарий.

Теперь с классификацией. Выделил целых три уровня.

Первый и самый простой: тип документа, мое к нему субъективное отношение и рабочая его степень (работаю ли с ним сейчас, буду работать в перспективе, забыл в архив). Одному файлу можно присвоить только одно значение каждого статуса.

Создание записи о файле 

Второй: тематика. Сразу поясню, изобретать велосипед не стал. По аналогии с блогом, третий вид классификации — ключевые слова. И тем, и ключевых слов для файла можно присвоить сколько угодно. В чем же разница? Почему так?

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

 Тематическая рубрикация

Несколько слов о заведении файла в хранилище. Хранилище как логическое, так и физическое. Физическое — файлы на диске, а логическое — записи в базе данных. Базу данных я выбрал MS Access (можно переложить MS SQL). Ну а физическая папка задается в настройках. Таким образом процесс заведения файлов становится следующим:

— выбрать файл из любого места винчестера ПК (персонального компьютера), файл автоматически откроется и при наличии двух мониторов описать его станет минутным делом;

— файлу присваивается название для БД (базы данных), описание, автор (или источник, его я сохраняю в отдельной таблице справочнике) и значения классификатора;

— далее выбирается папка в новом хранилище для копирования (изначально я хотел, чтобы папка выбиралась автоматически в зависимости от тематики, но отказался — свою логику в случае сбоя БД я, по крайней мере, пойму) и после окончания копирования предлагается удалить исходный файл в корзину.

Запись о файле разрешено создавать, редактировать и удалять.

2 Replies to “Классификатор файлов. Часть первая.”

    1. Система проработала год. Минус — на первом этапе нужно очень много времени для ввода, классификации и описания данных. К сожалению, времени всегда не хватает. В связи с этим концепция системы поменялась в сторону упрощения и оптимизации под рабочие задачи… но воплотить ее в код — увы, все те же проблемы с хроносом.

Добавить комментарий для Tony Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *