На субботней встрече пообещал поделиться своими наработками по данному вопросу, вот и делюсь. Сначала - о фотоархиве. Не стал бы ничего организовывать, но когда у меня накопилось несколько тысяч фотографий, поиски каких-то конкретных снимков стали выливаться в очередной утомительный просмотр большей части архива! Например, потребовались снимки бабочки переливницы, а я, естественно, не помню даже, в какие годы я её фотографировал, не говоря уже о датах съёмок! Проблема налицо! Возможно, моё решение данной проблемы кому-то пригодится, поскольку его реализация требует весьма незначительных усилий.
Ясно, что фотографии лежат на жёстком диске компьтера, раскиданные по отдельным папкам. Разбиение на папки я выбрал по датам, каждая фотосерия помещается в отдельную папку (исходные, необработанные фотографии). Обычно фотосессия у меня - это результат скачивания с фотоаппарата на компьютер очередной порции новых фотографий. А чаще всего это бывает по возвращении с дачи (где больше всего снимаю) в Москву (где находится компьютер). Т.е., проще говоря, в каждой отдельной папке у меня помещены результаты съёмок за выходные, либо - сразу за весь отпуск, командировку, иногда - что-то ещё дома или на работе. Для большей определённости уже в самом названии каждой папки содержится дата съёмок (точнее - дата первого кадра), место съёмки (коротко, вроде vil = дача, tur = Турция) и название фотоаппарата (их у меня несколько, да и чужие снимки тоже иногда встречаются, с самых разных приборов).
Но самое главное - это описание содержимого отдельных папок. Можно было, конечно, составить простой текстовый файл, например - в формате HTML, с прямыми ссылками на описываемые папки. Но подумалось, что когда папок накопится много, то и это решение изживёт себя, поскольку получится длинный список, по которому в случае надобности придётся запускать поиск (хотя, конечно, это несоизмеримо легче, чем непосредственно просматривать все папки). И уже само слово "поиск" натолкнуло меня на более интересную идею. А именно - оформить доступ к фотоархиву сразу в виде поискового скрипта, а текстовый файл с описаниями папок приложить к нему в качестве массива данных, по которому производится поиск! Сам поисковый скрипт у меня уже был - из книги "JavaScript: сборник рецептов для профессионалов." (Дж. Бранденбау, 1-е издание). Оставалось только малость подкорректировать его для своих задач, и написать интерфейсы ввода-вывода. Особенность языка JavaScript в том, что он прямого исполнения (т.е. не требует компилятора), и написанный на нём текст программы напрямую вставляется в HTML-код страницы. А главное - всё пишется и правится с помощью самого обычного текстового редактора (я использую WordPad). Вообще говоря, весь интерфейс к фотоархиву можно было бы уместить и в одном HTML-файле, и только из соображений удобства редактирования я его разделил на три отдельные части - саму HTML-страницу (в заголовке которой есть ссылки на две остальные), текст описаний папок и текст программы. Объёмы просто смешные - HTML "весит" 2.7 Кб, сама программа - 7.3 Кб, база с описаниями папок - 56 Кб (в настоящее время, в дальнейшем, с добавлением новыз описаний, база будет расти).