среда, 19 августа 2020 г.

Что происходит на сайте?

Сразу вопрос, на каком? Разумеется на сайте каталога. Предположим, мы организовали внешний доступ к каталогу. Но как посмотреть, что на нём происходит? Ведь посещения сайта официально идут в зачёт библиотеке, наряду с посещением самой библиотеки. Что ищут на нём посетители и находят ли? Это достаточно ценная информация. На её основе можно формировать заявки на закупку, отслеживать тренды в интересах пользователей. Это гораздо точнее формального анкетного опроса. При этом всё уже есть. Не надо прилагать дополнительных усилий. Надо только достать эту информацию. К сожалению, в «АС-Библиотека-3» этот вопрос пока не решён. Есть файл «EWWW.log», но он, по какой-то причине заблокирован для записи рабочему процессу «IIS» «w3wp.exe». Однако даже после разрешения записи «для всех», в нём не появляется ничего интересного. Только старт и стоп сервиса. Где же искать. На помощь приходит лог «IIS». Если помнишь, в статье «Настройки IIS» я рекомендовал настроить элемент "Ведение журнала HTTP". Он то и соберёт необходимую информацию. Нам останется только прочитать её. Конечно, «вручную» лог не разобрать. Поэтому я набросал простой парсер, который ты можешь СКАЧАТЬ ПО ЭТОЙ ССЫЛКЕ (он также доступен на панели справа). Это очень простое приложение, не требующее установки. А удаляется обычным удалением. Просто распакуй архив и запусти WebGateParser.exe.

Нажимаем на кнопку с тремя точками в верхнем правом углу. Выбираем каталог с лог файлами. Нажимаем кнопку «Старт» и смотрим результат. Его можно сохранить в текстовый файл. Обрати внимание, пробелы заменены на знак плюс (+). Читатели часто ставят их ведущими, при этом ничего не находят. И это хорошо заметно на выводе.

Можно настроить «Префикс». Он зависит от расположения виртуального каталога «Lib»   в «Диспетчере служб IIS»

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

Это то, что перед «EWww.dll» вместе со слешами (/). Первый и последний слеш можно не ставить. 

Несколько слов о настройке журнала IIS.

«Формат» журнала (он же лог) «W3C» обязателен. Другие парсер не читает. Он же по умолчанию. «Каталог» можно менять или просто посмотреть, где он находится. Кодировку менять нет смысла.  «Выбрать поля…» можно оставить как есть.

Далее, «Назначение для событий журнала» выбрать «Только файл журнала». Далее, «Переход на новый файл журнала», я считаю, «Расписание -> Ежемесячно» будет оптимально. «Использовать местное время в имени файла» не стоит.

В XP работать не будет. Однако журналы легко скопировать на другой компьютер. Они хорошо сжимаются и их неплохо хранить для дальнейшей обработки.

Пока не анализируются запросы с вкладки «Расширенный поиск».

Им мало кто пользуется, а разбор гораздо сложнее, по сравнению с «Простой поиск». Добавлю в следующих версиях.

Серьёзные парсеры достают много информации, считают сессии (они же посещения), определяют время, проведённое на сайте, строят графики и т.д. Так что есть куда развиваться. Однако всё зависит от твоей активности. Не поленись сообщить об использовании (можно анонимно), тем более об ошибке.

И в конце. Очевидно, что поначалу посещений будет немного. Материалов по раскрутке сайтов достаточно. Я лишь коснусь специфики.

Первое. Наглядная агитация. Небольшой плакат на видном месте с краткой информацией и последовательностью поиска на сайте.

Если есть возможность, выделить компьютер для самостоятельного поиска в самой библиотеке. Желательно с консультантом. Или возложить эти обязанности на сотрудника с рабочим местом.

Не жалей времени на консультации по поиску. Сайт не так прост для обывателя. Каждый освоивший научит и «приведёт» ещё нескольких.

Если в твоей библиотеке до сих пор ведётся только каталог, давно пора переходить к полноценному обслуживанию. С выдачей учётных данных для регистрации  на сайте. Тогда появляется возможность не только искать, но и заказывать издания  (возможно с платной доставкой, в случае «второй волны»). Я посвятил этой теме две статьи «Кто книгу заказал?» и «В очередь с... дети!». И последнее. Просто удивительно как разработчик умудрился "испортить" одну из последних версий v3.3.64 в части обслуживания читателей, вплоть до непригодности. В детали вдаваться не буду. Скажу лишь, что v3.3.58 давно и с успехом эксплуатируется во многих библиотеках. Так что есть смысл подумать об откате. При наличии дистрибутива сделать это несложно так как базы практически идентичны.

СКАЧАТЬ ПАРСЕР

Пиши комментарии (регистрация не требуется) или на почту acbib3@yandex.ru


пятница, 7 августа 2020 г.

Разберёмся с «полнотекстом»

Какое-то время назад, было повальное увлечение полнотекстовыми базами данных. В терминах АС-Библиотека-3 это не что иное как «Присоединённые документы». Попробуем разобраться с этим «зверем», а заодно решить несколько возможных проблем.

У меня демо база, поэтому ничто не присоединено. Присоединить можно любой файл, распознаваемый операционной системой. Но где он хранится? Есть два подхода – в базе или в файловой системе (при этом в базе хранится ссылка на файл). В базе их нет. Значит, ищем на диске. В папке EServer есть подозрительная папка BLOB.

Это аббревиатура, означающая большие бинарные объекты. Попробуем присоединить любой документ и посмотрим, что произойдёт. 

Хорошо. Теперь удалим его в проводнике, перечитаем в каталогизаторе и посмотрим. Он исчез!

Посмотрим ошибки 

Ошибок нет. А что означает имя папки «00000007»? Не что иное как номер записи в базе! 

Попробуем в проводнике подложить картинку (для отличия) и перечитаем в каталогизаторе.

 

Проверим ошибки 

Ошибок нет. Похоже, что в базе даже ссылки нет как таковой. Связь происходит по имени базы и номеру записи. Как это можно использовать? Разумеется, создавать и удалять присоединённые документы удобней штатным способом. А вот поискать по размеру и откорректировать вполне. 

Думаю, ты знаешь, на что способен «неопытный» пользователь сканера в союзе с BMP форматом! Да и уровни сжатия JPEG бывают разные. Назначение папки «00000000», по-видимому, просто создать дополнительные диапазоны для более быстрого доступа. Но для нас это не важно.

Хорошо. А что делать, если всё сжато, а на диске заканчивается место. Тем более что это, как правило, диск С:. Там и операционная система. Нужно добавить диск и перенести BLOB на него. Как добавить диск разберёшься сам. Это не моя тема. А вот с переносом давай посмотрим. При создании логической базы АС-Библиотека-3 требует ряд параметров. 

В том числе «Путь к присоединённым документам». На рисунке в шаблоне предлагается «.\BLOB\Book». Точка, очевидно, означает текущий каталог, относительно сервера «EServer». Эти данные, должны быть, где то сохранены. Так и есть. Вот таблица «Demo__Options». 

Запись BlobPath указывает путь. Что произойдёт, если мы его изменим. Давай посмотрим. На то это и «эксперименты». Я создал на другом диске (E:) соответствующую структуру папок, при этом, «BLOB» заменил на «АС-3 Присоединённые документы» и положил другой файл. Другой файл я положил намерено. Это покажет, куда смотрит система. Остальные изменения спорны, просто посмотреть на реакцию. Главное не вносить излишнюю путаницу.

 

Изменим путь в таблице «Demo__Options». 

Перечитаем записи в «Каталогизаторе» 

Даже сервер перезапускать не пришлось! Теперь попробуем создать в каталогизаторе. 

Здесь я выбрал вариант «Обложка» 

Однако посмотрим ошибки.

Ошибок нет.

Есть ещё парочка способов перенести «BLOB» на другой диск без вмешательства в базу. Кто «гулял» по файловой системе linux, тот знает, что в ней существуют мягкие и жёсткие ссылки. Что-то подобное завелось и в Windows. Но это до сих пор мало кто знает. Для начала, вернём в базе, как было. 

Удалим каталог «E:\АС-3 Присоединённые документы» с дополнительного диска и скопируем туда весь каталог «BLOB». 

Удаляем основной каталог «C:\Program Files (x86)\АС-Библиотека-3\EServer\BLOB». Запускаем cmd от Администратора. Переходим в каталог «C:\Program Files (x86)\АС-Библиотека-3\EServer» выполняем команду «mklink /D /J BLOB E:\BLOB» (Vista+, в XP: см. ниже). Смотрим результат. Что-то появилось.

Посмотрим, как работает. В «Каталогизаторе» 

Создадим «Обложку» 

Обложка на месте. 

Замечу, что вместе со всем «BLOB» переехала и база фотографий пользователей «User». Проверим и её. 

Всё на месте. И конечная цель, это доставка документов пользователю. 

Для XP такой команды нет (мне не известно). А поскольку пользователей XP ещё достаточно, сделаем всё из консоли. Здесь можно «закрепить» за папкой только диск целиком. После всех инициализаций, копируем содержимое папки BLOB на новый диск. Обрати внимание, именно содержимое! В моём случае (демо) это будет папка User.User. После чего удаляем её содержимое. Открываем консоль «Управление компьютером» и выбираем «Управление дисками». В контекстном меню нового диска выбираем пункт «Изменить букву диска или путь к диску…». 

Добавляем путь к папке BLOB. 

Далее открываем «Каталогизатор» и присоединяем документ. 

Смотрим результат. 

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

Здесь всё построено на технологии «повторной обработки». При этом очевидно возникают дополнительные издержки. Однако при реальной интенсивности обращений к присоединённым документам ими можно пренебречь. Поэтому я бы не советовал использовать этот трюк для переброски основной базы (Lib.mdb). Тем более что путь к ней легко изменить в настройках подключения.

И, напоследок, укажу на ещё один способ переноса. С некоторых пор в Windows появился такой вот «зверь». 

Если коротко, то он позволяет поместить диск в сети. Причём даже SQL сервер «соглашается» разместить на нём свою базу (сам проверял). Штука, безусловно, мощная, но ответная часть есть только на серверной версии ОС. Впрочем, есть и линукс варианты. Например FreeNAS весьма мощная штуковина с кучей дополнительных технологий. Но с этим будешь разбираться сам. Это не моя тема.

В базе Lib.mdb есть таблица All_BLOB, которая играет роль лога. И её надо периодически чистить.

И в конце небольшой совет. Эта технология прекрасно подходит для упорядоченного хранения сканов обложек для презентаций. Кто готовил мероприятия знает, что одни и теже обложки сканируют по многу раз. Потом они валяются по всем компьютерам, но ничего не найдёшь.

На этом всё. Пиши комментарии (регистрация не требуется) или на почту acbib3@yandex.ru