идея плагина - каталогизатора
идея плагина - каталогизатора
Здравствуйте, есть идея плагина "каталогизатора", ориентированного на то, что сами реурсы могут очень динамично меняться.
Смысл в том что на сетевом ресурсе есть огромно хранилище разного софта, которое постоянно пополняют новинками и редактируют несколько человек. Программы конечно структурированы по разделам (находяться в соответствующих папках), но толку от этого мало т.к. все выбирают категорию к котрой оноситься программа по своему
усмотрению, да и иногда точно определиться с категорией бывает сложновато. Вообщем приходиться часто лазить по папкам и искать через поиск вспоминая как там могла называться пограмма.
Какие либо изменения в структуре приводят лишь к тому, что те кто раньше помнил и мог найти где находиться какаето программа находить после изменений уже сами ничего найти не могут.
У меня появилась идея в каталог к каждой программе ложить readme.txt следующего вида. (данный файс составляет тот кто будет добавлять программу)
------------------------------------------------------------------
[Name] (название программы + версия) // FastStone 3.0
[Type] (тип1) // Просмотр
[Type] (тип2) // Utils
[Desc] (описание на несколько строк) // Программа для просмотра и ...
[OS] (поддерживаемые ОС) // Win98/Me/2000/XP/NT
------------------------------------------------------------------
в файле может быть несколько полей [Type] т.е. одна программа может принадлежать нескольким типам программ
после написать программу которая
1. просматривает папки по указанным путям и ищет, все файлы
ну например с именем "readme.txt" после чего читает файл и запоминает его (при условии, что он содержит правильную структуру т.е. имеет нужные поля [Name], [Type], [Desc] ), так же запоминаеться где какой файл был найден
потом
2. программа используя поля [Type] составляет список всех типов программ.
далее я опиши как работает моя программа, т.к. как реализовать лучше это в виде плагина я не знаю, но предполагаю, что лучше всего будет сделать работа с каталогом в одной панели, а при выборе программы на другой панели будет открываться папка с ней, при этом панель с плагином не пропадает т.к. это может быть и не искомая программа
3. генерирует следующие файлы HTML файлы (это моя программа генерировала html, а плагин например будет генерировать диалоги)
0.html, 1.html, ... 9.html - список программ, имя которых начинаеться на 1,2, ... 0
A.html, B.html, ... Z.html - список программ, имя которых начинаеться на A,B, ... Z
А.html, Б.html, ... Я.html - список программ, имя которых начинаеться на А,Б, ... Я
types.html - список всех типов
types_<xxxx>.html - набор файлов, каждый из которых содежит список программ принадлежащих к типу <xxxx>
в результате получаеться возможным легко сортировать прграммы по названию или по типу, если же положения программы в архиве программм меняеться то достаточно всего лишь перезапустить прграмму генерации каталога.
думаю меню работы программы буде выглядить следующим образом
1 ->> по имени 'А' - 'Я' (т.е. выбираеться буква и показываються список всех программ начинающихся на эту букву)
2 ->> по имени 'A' - 'Z'
3 ->> по типу
4 ->> настройки
4-1 ->> пути (тут задються пути для папок которые нужно просматривать для каталогизации)
4-2 ->> каталогизировать
Смысл в том что на сетевом ресурсе есть огромно хранилище разного софта, которое постоянно пополняют новинками и редактируют несколько человек. Программы конечно структурированы по разделам (находяться в соответствующих папках), но толку от этого мало т.к. все выбирают категорию к котрой оноситься программа по своему
усмотрению, да и иногда точно определиться с категорией бывает сложновато. Вообщем приходиться часто лазить по папкам и искать через поиск вспоминая как там могла называться пограмма.
Какие либо изменения в структуре приводят лишь к тому, что те кто раньше помнил и мог найти где находиться какаето программа находить после изменений уже сами ничего найти не могут.
У меня появилась идея в каталог к каждой программе ложить readme.txt следующего вида. (данный файс составляет тот кто будет добавлять программу)
------------------------------------------------------------------
[Name] (название программы + версия) // FastStone 3.0
[Type] (тип1) // Просмотр
[Type] (тип2) // Utils
[Desc] (описание на несколько строк) // Программа для просмотра и ...
[OS] (поддерживаемые ОС) // Win98/Me/2000/XP/NT
------------------------------------------------------------------
в файле может быть несколько полей [Type] т.е. одна программа может принадлежать нескольким типам программ
после написать программу которая
1. просматривает папки по указанным путям и ищет, все файлы
ну например с именем "readme.txt" после чего читает файл и запоминает его (при условии, что он содержит правильную структуру т.е. имеет нужные поля [Name], [Type], [Desc] ), так же запоминаеться где какой файл был найден
потом
2. программа используя поля [Type] составляет список всех типов программ.
далее я опиши как работает моя программа, т.к. как реализовать лучше это в виде плагина я не знаю, но предполагаю, что лучше всего будет сделать работа с каталогом в одной панели, а при выборе программы на другой панели будет открываться папка с ней, при этом панель с плагином не пропадает т.к. это может быть и не искомая программа
3. генерирует следующие файлы HTML файлы (это моя программа генерировала html, а плагин например будет генерировать диалоги)
0.html, 1.html, ... 9.html - список программ, имя которых начинаеться на 1,2, ... 0
A.html, B.html, ... Z.html - список программ, имя которых начинаеться на A,B, ... Z
А.html, Б.html, ... Я.html - список программ, имя которых начинаеться на А,Б, ... Я
types.html - список всех типов
types_<xxxx>.html - набор файлов, каждый из которых содежит список программ принадлежащих к типу <xxxx>
в результате получаеться возможным легко сортировать прграммы по названию или по типу, если же положения программы в архиве программм меняеться то достаточно всего лишь перезапустить прграмму генерации каталога.
думаю меню работы программы буде выглядить следующим образом
1 ->> по имени 'А' - 'Я' (т.е. выбираеться буква и показываються список всех программ начинающихся на эту букву)
2 ->> по имени 'A' - 'Z'
3 ->> по типу
4 ->> настройки
4-1 ->> пути (тут задються пути для папок которые нужно просматривать для каталогизации)
4-2 ->> каталогизировать
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
ну вот например нужны мне программы по востановлению утерянных данных с HDD, но как они называются я не помню. И как мне их искать, используя file_id.diz ?Вадим Захаренко wrote:Ну создавайте файлики file_id.diz со структурой описанной выше
и поиск по содержимиому
ну мне удобне работать с клавиатурой и Far, чем с мышкой и диалогами в стиле "проводника"Centaur wrote:Дома локалка должна быть не на 3–4 компьютера, а на 300–400, а лучше на 3000–4000. И поисковик с web-интерфейсом.
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
это организационный вопрос, так вообще можно написать, что ТС гораздо популярнее. Тоже веский аргумент.Вадим Захаренко wrote:BigBoo
Так об этом сразу и говорилось Centaur - описание делать не будут
Самый простой способ - спросить
хотелось бы услышать дельный советы по теме, я попробовал ненерировать JS который исполняеться фаром но получаеться как то громоздко
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
1. Если ты думаешь что Тотал найдет по незаполненным полям - то ты ошибаешьсяBigBoo wrote:это организационный вопрос, так вообще можно написать, что ТС гораздо популярнее. Тоже веский аргумент.Вадим Захаренко wrote:BigBoo
Так об этом сразу и говорилось Centaur - описание делать не будут
Самый простой способ - спросить
хотелось бы услышать дельный советы по теме, я попробовал ненерировать JS который исполняеться фаром но получаеться как то громоздко
2. Сначала попробуй уговорить людей заполнять эти данные. В нашей городской сетке никто не заполняет описание. Обычно идет вопрос в форуме - надо такая то программа или программа выполняющая данные функции - вот и выкладывают, то что просят - или 1 прогу или комплект (с присказкой - Выбирай)
Соображения по каталогизации:
1. Единицы каталогизации - архивы или директории - должны быть организованы по тегам. Скажем, каталог с дистрибутивом программы заносится с тегами "программа", "software", "название программы", "версия" + один или несколько тегов про функции программы. Предоставляется поиск и группировка содержимого по тегам. Кстати, старый способ организации через дерево поддиректорий встраивается в теговую организацию как часть: прежние групповые поддиректории становятся тегами. Например, каталог "Software" автоматически преобразуется в тег "Software", прицепленный ко всему содержимому.
2. Архивы хешируются по распакованному содержимому, а не по собственно файлу архива. Это позволит свободно переупаковывать архивы, особенно zip в rar.
1. Единицы каталогизации - архивы или директории - должны быть организованы по тегам. Скажем, каталог с дистрибутивом программы заносится с тегами "программа", "software", "название программы", "версия" + один или несколько тегов про функции программы. Предоставляется поиск и группировка содержимого по тегам. Кстати, старый способ организации через дерево поддиректорий встраивается в теговую организацию как часть: прежние групповые поддиректории становятся тегами. Например, каталог "Software" автоматически преобразуется в тег "Software", прицепленный ко всему содержимому.
2. Архивы хешируются по распакованному содержимому, а не по собственно файлу архива. Это позволит свободно переупаковывать архивы, особенно zip в rar.
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact: