Вадим Ершов http://vgershov.lib.ru
     Date: 21 Dec 2002

---------------------------------------------------------------

     Предлагается идея создания коллективных библиотечных узлов. Суть идеи
сводится  к следующему.  Каждый узел работает автоматически и представляет
собой  Архив-аккумулятор  файлов  с   литературными   произведениями.   За
техническим  состоянием  узла следит один человек - ведущий узла.  Файлы в
Архив загружают как сам ведущий,  так и все те, кому он предоставит доступ
к  выкладке.  На  базе Архива автоматически строится его каталог.  Все это
оснащено дополнительными сервисами в виде новостей, конференций, каталогов
ссылок и т.  п. Далее на базе этого автомата, теми кому будет предоставлен
доступ для  этого,  создаются  вручную  литературные  страницы,  используя
сервисы предоставляемые всей этой автоматикой. Узлы объединены между собой
через обмен файлами и литературными страницами,  который также  происходит
автоматически.
     Для чего  это  все  нужно.  Для   того,   чтобы   облегчить   ведущим
литературных сайтов механическую работу по выкладке постоянно нарастающего
количества файлов с произведениями.  Решить для множества мелких и средних
литературных  сайтов  проблему  с поиском места для размещения собственных
архивов  и  страниц,  и  не  дублировать  того,  что  уже  есть  в   сети.
Предоставить  возможность коллекционерам электронных произведений выложить
свои коллекции и создать к ним  собственные  интерфейсы.  Решить  проблему
многоязычности  файлов и сайтов.  Решить проблему качественного обновления
произведений - очистки их от мусора и ошибок.  Выкладывать произведения  в
том виде, какими их создал оформитель файла, присваивая им статус издания,
пусть даже одно и то же произведение будет дублироваться многократно, но в
разном  оформлении.  Выкладывать в Архив только то,  во что приславший или
выкладывающий внес частицу своего труда (сканирование, вычитка, оформление
или что-то другое).  И,  наконец,  на деле осуществить лозунг "Электронные
библиотеки объединяйтесь"!


     Вот как я представляю себе вчерне работу скриптов для таких Архивов:

1) Архив.
     Произведения в виде архивных файлов загружаются участниками проекта в
каталог   (назовем  его  FTP).  Кстати,  скрипты  для  загрузки  файлов  в
выделенный каталог уже есть  и  работают  неплохо.  Раз  в  какой-то  срок
(например  в  день)  скрипт-робот распаковывает поочередно каждый архивный
файл  во  временный  каталог.  В  каждом  таком  архивном   файле   должен
обязательно  находиться  технический  текстовый файл (типа .DIZ .INF),  со
строго  по  шаблону  заполненной  формой  для  данного  произведения.   На
основании  этой  формы  формируется или дополняется текстовый список,  где
содержаться,  разделенные метками,  данные о произведении.  Кроме того, на
основании этой же формы формируется (или находится, если уже есть таковой)
каталог  автора  и  в  нем  подкаталог  данного  произведения,  в  который
переписываются  файлы  произведения.  Таким  образом  получается Online (в
неархивированном виде) выложенное произведение и текстовый список с этим и
другими произведениями.  Если архивный файл из каталога FTP по какому-либо
поводу не понравился скрипту-роботу или неправильно заполнена форма в DIZ,
то   весь   архивный  файл  перемещается  в  каталог  BAD  и  впоследствии
обрабатывается вручную (или, что желательно, ищется вручную причина ошибки
и  устраняется,  а  файл  опять  перемещается  в  каталог  FTP).  Если все
нормально и выкладка прошла  успешно,  то  архивный  файл  перемещается  в
каталог  (назовем  его например MAIL),  для рассылки его другим сайтам (по
обмену), или пользователям по их подписке.
     ПЪрЪиЪмЪеЪчЪаЪнЪиЪе: Возможен     другой     вариант.    Произведения
выкладываются не Online,  а в виде архивных файлов,  например ZIP. А потом
по  запросу  пользователей  могут  выдаваться  им  Online,  распаковываясь
скриптом во временный каталог.  При этом,  наверно, придется отказаться от
сервиса  выдачи  пользователям  файлов произведения по желанию в выбранном
типе архива. Но зато будет экономиться место.

2) Каталог Архива.
     Из  того  же  списка  (или  списков)  по  запросу  формируются HTML-ы
каталога с соответствующим выбору пользователя видом сортировки.  Доступ к
каталогу осуществляется   через   центральный  интерфейс  архива  и  через
вторичные сайты.

3) Отправка файлов пользователям.
     Файлы, опять же по запросу,  либо отсылаются пользователям Online (по
запросу пользователя  могут  перекодироваться  скриптом-перекодировщиком),
либо   архивируются   скриптом-архиватором   и   отсылаются   в  выбранном
пользователем архивном файле (RAR,  ZIP,  и т.  п.).  Архивному файлу,  на
основании  списка,  задается  имя,  опять  же  по  выбору  пользователя (в
кирилице,  в латинице и т.  п.). Каждому изданию присваивается свой статус
(общедоступно,  доступно по паролю,  заблокировано, детям до 16, получение
только с заданного сайта и т. п.).

4) Вторичные сайты (странички авторов и т. п.)
     Все это  делается вручную на базе автоматически создаваемого Архива и
предоставлямых  им  сервисов.  Выкладка,  взаимодействие   с   Архивом   и
распространение по другим (зеркальным) узлам - это уже следующий этап... О
нем потом.

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

6) Безопасность.
     Весь механизм узла находится в руках одного человека - ведущего узла.
Другим  участникам  он  недоступен.  Проникновение хакерствующих хулиганов
возможен  через  дырки  в  скриптах,  но  это  уже  зависит  от   качества
программирования.  Исполняемые  файлы  (типа  EXE,  COM,  BAT  и т.  п.) к
автоматической выкладке в Архив не принимаются.  Возможно  распространение
вирусов через новые форматы файлов (например DOC),  но это зависит от того
насколько хорошо будут относится к делу допущенные к выкладке люди.


     Это грубая  и  неполная  схема.  Частично  это  так  или  иначе   уже
реализовано   на  некоторых  сайтах.  Необходимо  обсудить  принципиальную
возможность всего этого вцелом.  Выработать относительно  четкий  алгоритм
построения  и поставить перед программистом конкретные задачи.  Необходимо
создать для начала 2 узла и по мере написания скриптов отрабатывать там их
и взаимодествие узлов.  Поднять все это в одиночку или малыми силами (если
это не утопия конечно) чрезвычайно трудно.  Поэтому я призываю всех,  кого
это заинтересовало, принять участие в обсуждении и реализации.

                                                               Вадим Ершов



     Обсуждение поставленного вопроса проходит в форуме Lib.ru по адресу
     http://lib.ru/Forum/elibrary.unl



Популярность: 27, Last-modified: Wed, 29 Oct 2008 18:29:06 GmT