greenstone.org greenstone wiki greenstone trac planet greenstone

ЦИФРОВАЯ БИБЛИОТЕКА GREENSTONE

РУКОВОДСТВО

David Bainbridge, Dana McKay and Ian H. Witten

Факультет Компьютерных Наук
Университет Вайкато, Новая Зеландия

Greenstone - пакет прикладных программ, предназначенный для формирования и распространения цифровых фондов библиотек. Это обеспечивается новым способом организации информации и публикации ее в сети Интернет или на CD-ROM. Программное обеспечение Greenstone разработано в Новозеландском университете Вайкато, в рамках Проекта создания цифровых библиотек в сотрудничестве с ЮНЕСКО и НПО Human Info. Исходный продукт - это свободно распространяемое программное обеспечение, которое можно получить по адресу http://greenstone.org. Использование данного продукта оговаривается в Лицензионном соглашении о свободном доступе GNU.

Мы надеемся, что это программное обеспечение работает хорошо. Пожалуйста, сообщите о любых проблемах по адресу: greenstone@cs.waikato.ac.nz

Greenstone gsdl-2.50  Март 2004


Об этой инструкции

Настоящее руководство описывает принципы работы Greenstone. Оно предназначено для тех, кто хочет самостоятельно создавать и конфигурировать коллекции и поддерживать программное обеспечение.

Раздел 1 дает учетную запись лицу, непосредственно участвующему в процессе формирования коллекций, включая разработку структуры директорий, внутреннего формата документа и файла конфигурации, который управляет структурой каждой коллекции. Раздел 2 описывает части Green¬stone, которые обрабатывают исходные документы (и метаданные) и регламентируют доступ к информации через интерфейс пользователя. Здесь также описываются "внешние" программные компоненты, которые распространяются вместе с Greenstone. В разделе 3 представлено описание структуры системы поддержки выполнения Greenstone, а также дано подробное описание программного обеспечения, призванное помочь пользователю лучше понять, как оно работает и как можно изменить систему, чтобы она удовлетворяла различным потребностям. Раздел 4 описывает файлы конфигурации Greenstone, а в Приложении представлена Стандартная библиотека шаблонов C++.

При работе с программным обеспечением Green¬stone Вы можете столкнуться со ссылками на особенности системы, которые не описаны в настоящем руководстве. Это связано с тем, что Greenstone находится в постоянном развитии. Чтобы быть в курсе текущей работы, подпишитесь на рассылку Greenstone (инструкции на сайте greenstone.org).

Сопутствующие документы

Полный комплект документации к Greenstone состоит из пяти томов:

  • Руководство по установке цифровой библиотеки Greenstone
  • Инструкция для пользователя (этот документ) цифровой библиотеки Greenstone
  • Руководство разработчик а цифровой библиотеки Greenstone
  • Цифровая библиотека Greenstone: от Бумаги до Коллекции
  • Цифровая библиотека Greenstone: Использование Органайзера

Благодарность

Программное обеспечение Greenstone - продукт совместного труда множества людей. Rodger McNab и Stefan Boddie принципиальные разработчики системы. Неоценимый вклад внесли David Bainbridge, George Buchanan, Hong Chen, Michael Dewsnip, Katherine Don, Elke Duncker, Carl Gutwin, Geoff Holmes, Dana McKay, John McPherson, Craig Nevill-Manning, Dynal Patel, Gordon Paynter, Bernhard Pfahringer, Todd Reed, Bill Rogers, John Thompson, и Stuart Yeates. Остальные члены Проекта Новозеландской цифровой библиотеки разработали вдохновенный дизайн всей системы: Mark Apperley, Sally Jo Cunningham, Matt Jones, Steve Jones, Te Taka Keegan, Michel Loots, Malika Mahoui, Gary Marsden, Dave Nichols и Lloyd Smith. Мы также выражаем свою признательность всем тем, кто трудился над созданием пакетов, попадающих под действие лицензии GNU, и включенных в дистрибутив: MG, GDBM, PDFTOHTML, PERL, WGET, WVWARE и XLHTML.

Contents

Понятие процесса формирования коллекций
Создание коллекций из командной строки
Директории Greenstone
Процессы import и build
Архив документов Greenstone
Файл конфигурации коллекции
Получение большего от ваших документов
Приложения
Классификаторы
Выходной формат Greenstone
Управление пользовательским интерфейсом Greenstone
Директория packages
Работа системы Greenstone
Структура процесса
Концептуальная структура
Совместимость концептуальной структуры
Source code
Общие типы Greenstone
Collection server
Протокол
Регистратор
Инициализация
Конфигурирование вашего Greenstone - сайта
Основной файл конфигурации
Файл конфигурации сайта
Приложение А: Стандартная библиотека шаблонов C++
Списки (Lists)
Maps
Литература

1 Понятие процесса формирования коллекций

Конечный пользователь Greenstone может создать коллекции, используя Коллектор (Collector), описанный в документе Цифровая библиотека Greenstone: Руководство пользователя (Раздел 3 ). Он позволяет очень просто создавать коллекции на базе уже существующих, но с новым наполнением. Однако невозможно пользоваться Коллектором при создании коллекций с абсолютно новой структурой. В этом случае придется вносить изменения в файл конфигураций, который управляет структурой коллекции, ведь для того, чтобы радикальные изменения возымели эффект, Вам необходимо знать гораздо больше о системе Greenstone. Данный раздел содержит все, что Вам необходимо знать для этого. В этом разделе также описывается структура директорий Greenstone и формат внутреннего хранения документов.

Мы подразумеваем, что на вашем компьютере установлена система Greenstone, сконфигурированная под оболочку Windows или Unix. Если вы еще не установили систему, то сделайте это, воспользовавшись комплектом документации Цифровая библиотека Greenstone: Руководство по установке. Для обращения к основному каталогу Greenstone повсеместно используется имя GSDLHOME, которое для системы Windows выглядит как %GSDLHOME%, а для Unix - $GSDLHOME. Вы создаете этот каталог в процессе установки Greenstone на ваш компьютер.

1.1 Создание коллекций из командной строки

Начав создание коллекций из командной строки, вы пройдете по всей операционной цепочке, что позволит вам лучше понять этот процесс. Разумеется, для наибольшего числа схожих коллекций вы будете пользоваться Коллектором. Для примера мы воспользуемся коллекцией, находящейся на установочном CD-ROM и состоящей из домашних WWW-страниц множества лиц, работавших над проектом создания Новозеландской цифровой библиотеки и системой Greenstone.

Отдельные подразделы практически не отличаются друг от друга, однако они были созданы для работы с Greenstone в различных операционных средах, таких как Windows и Unix. Вам остается только выбрать. на базе операционной системы вашего компьютера. При беглом просмотре некоторые операции могут вам показаться непонятными и таинственными, однако выполните их, близко придерживаясь к инструкциям - подробное описание этих операций будет дано несколько позже. В конце подраздела дано краткое резюме о различиях между процессами формирования коллекций на базе Widows и Unix.

Формирование коллекций под Windows

При формировании коллекций Greenstone в среде Windows через командную строку изначально необходимо запустить "command prompt" - приглашение для ввода ваших команд. Попробуйте посмотреть через основное меню Start -^Programs, найдите MS-DOS Prompt, DOS Prompt, или Command Prompt. Если вы не нашли ничего из описанного выше, запустите Start ~$Run и в диалоговом окне напечатайте command (or cmd). Если запуск команды окончился безуспешно, то обратитесь к своему системному администратору.

Внесите изменения в каталог, в который была установлена система Greenstone. По умолчанию Greenstone устанавливается в каталог, в который можно попасть напечатав

cd "C:\Program Files\gsdl "

(Вы должны использовать кавычки из-за пробела в имени директории Program Files). Далее, в следующем окне напечатайте

setup.bat

Этот файл (который вы можете просмотреть) указывает системе, где искать программы Greenstone [1]. Если при работе в интерактивном сеансе DOS prompt вы захотите вернуться на верхний уровень каталога Greenstone вы можете сделать это, напечатав cd "%GSDLHOME%" (непременно в кавычках). Если вы закончили работу в окне DOS, а потом запустили новую сессию, то вы должны запустить заново setup.bat.

Теперь вы имеете возможность формировать или переформировывать коллекции. Сначала мы рассмотрим программу mkcol.pl, написанную на Perl, имя которой означает "make a collection" (создание коллекции). Первый запуск этой программы можно осуществить, напечатав perl -S mkcol.pl, при этом на экране появится описание использования и список параметров. Если окружение вашей операционной системы Windows настроено на работу с приложениями Perl, файлами с расширением .pi, то эта процедура не займет много времени. Как вы можете видеть в предоставленном примере, единственный обязательный аргумент - это creator (создатель), который исползуется для описания лица, формирующего коллекцию.

Теперь мы используем эту команду для создания нашей коллекции, состоящей из домашних WWW-страниц участников проекта создания Цифровой библиотеки Greenstone. Для того, чтобы присвоить коллекции имя, я напечатал

perl —S mkcol.pl —creator me@cs.waikato.ac.nz dlpeople

(или mkcol.pl —creator me@cs. waikato. ac. nz dlpeople если Perl связан с расширением файла .рГ). Пожалуйста, замените мой email адрес на собственный!

Для просмотра вновь созданных файлов перейдем в только-что созданный каталог коллекции. Для этот печатаем:

cd "%GSDLHOME%\collect\dlpeople "

Figure 1  Collection configuration file created by mkcol.pl
creator             me@cs.waikato.ac.nz
maintainer          me@cs.waikato.ac.nz
public              true
beta                true
indexes             document:text
defaultindex        document:text
plugin              ZIPPlug
plugin              GAPlug
plugin              TEXTPlug
plugin              HTMLPlug
plugin              EMAILPlug
plugin              ArcPlug
plugin              RecPlug
classify            AZList -metadata "Title"
collectionmeta collectionname    "dlpeople"
collectionmeta iconcollection    ""
collectionmeta collectionextra   ""
collectionmeta .document:text    "documents "

Вы можете просмотреть содержимое директории, напечатав dir. В ней должно находиться 7 поддиректорий: archives, building, etc, images, import, index и perllib.

Теперь необходимо заполнить коллекцию документами. Источник материалов для коллекции dlpeople находится на установочном CD-ROM Greenstone в каталоге collect\dlpeople. Сначала вставьте CD-ROM в читающее устройство (например, D:\). Далее скопируйте содержимое каталогаD:\collect\dlpeople в директорию import коллекции dlpeople. Вы можете сделать это в следующем порядке:

выделите содержимое каталога dlpeople и переместите в директорию import коллекции dlpeople.

В качестве альтернативы вы можете напечатать следующую команду:

xcopy /s d:\collect\dlpeople\* import

В каталоге коллекции etc существует файл с именем collect, cfg. Откройте его, используя любой текстовый редактор, либо используйте редактор, настроенный по умолчанию. В результате вы увидите окно, содержимое которого выглядит так, как показано на рисунке 1, показывая содержимое файла конфигурации коллекции, созданного с использованием команды perl-S mkcol.pl -creator me@cs.waikato.ac.nz dlpeople.

Теперь вы готовы импортировать коллекцию. Это процесс переноса документов в систему Greenstone, стандартизации формата документов, пути спецификации метаданных и структуры файла, в котором будут храниться документы. Напечатайте perl -Simport.pl и в результате вы получите список опций для операции импорта. Для упрощения процесса воспользуйтесь базовой командой:

perl —S import.pl -removeold dlpeople

Не беспокойтесь по поводу быстро бегущего по экрану текста - это отчет о выполнении процедуры импорта. К сведению, процесс импорта этой коллекции занимает около 5 минут на 1 ГТц компьютере и несколько дольше на более медленных машинах. Обратите внимание на то, что вы не должны находиться в директориях collect или dlpeople при запуске этой команды; T.K.GSDLHOME уже определил для работы системы Greenstone местоположение необходимых файлов.

Теперь давайте внесем изменения в файл конфигурации коллекции для модификации его вида. Сначала присвоим коллекции имя. Оно будет воспринято веб-броузером, как заголовок для титульного листа WWW-страницы, и использоваться в качестве иконки при отсутствии рисунка. Изменим строку collectionmeta collectionname "dlpeople" на строку вида collectionmeta collectionname "The People of the NZDL project".

Добавим описание коллекции между кавычками: collectionmeta collectionextra "". Оно будет использовано в качестве материала для описании раздела "About" (о коллекции) на домашней WWW-странице. Я добавил "This collection is made up of the homepages of some of the people who have worked on the NZDL project." Важно вводить это описание одной строкой - не используйте для отбивки клавишу Enter/Ввод. Если вы хотите использовать в вашей коллекции многоязычный интерфейс, то существует способ вывода данного текста в соответствии с выбранным языком. Это описание будет представлено далее в разделе 1.5.

Вы можете использовать изображения, которые будут представлены в качестве иконок на WWW-странице коллекции; изображение, созданное мною, вы можете видеть на рисунке 2. Укажите путь нахождения изображения в кавычках в строке collectionmeta iconcollection "" файла конфигурации. Для краткости и мобильности _httpprefix_ может быть использован в качестве стартового URL указывающего на изображение, находящееся в файловой области Greenstone. Например, вы можете ввести: _httppreflx_/collect/dlpeople/images/icon.gif если вы поместили подходящее изображение в соответствующую директорию коллекции (в нашем примере это: collect\dlpeople\images ).

Сохраните файл конфигурации коллекции и закройте его - он вам больше не понадобится на данном этапе обучения.

Следующая фаза - "построение" коллекции, в которой будут созданы все индексы и файлы, отвечающие за работу коллекции. Напечатайте в командной строке perl —S buildcol.pl и получите список опций для формирования коллекции. Подробное описание этих опций представлено в Разделе 1.3. Пока же придерживайтесь значений "по умолчанию", напечатав:

perl —S buildcol.pl dlpeople

И снова не беспокойтесь о быстро бегущем по экрану тексте - это отчет о выполнении команды.

Теперь "оживим" коллекцию:

выделите содержимое каталога building коллекции dlpeople и перенесите его в каталог index.

Так же вв можете проделать эту операцию, напечатав команду:

rd /s index # on Windows NT/2000
deltree /Y index # on Windows 95/98

и изменить имя каталога building на index командой

ren building index

В заключение напечатайте:

mkdir building

подготовив систему для будущих переформирований. Важно, чтобы все эти команды были выполнены из требуемой директории (в отличие от команд Greenstone mkcol.pl, import.pl and buildcol.pl); если текущая рабочая директория не является dlpeople, напечатайте: cd "%GSDLHOME%\collect\dlpeople" до того, как вы запустите на исполнение команды rd, ren и mkdir.

Вы должны уметь обращаться к вновь созданной коллекции с вашей домашней страницы Greenstone. Если эта страница открыта в вашем броузере, вы должны ее обновить или закрыть окно броузера и перезапустить его (для того, чтобы избежать проблем кэширования). Если вы пользуетесь "локальной версией библиотеки" Greenstone, то должны перезапустить всю программу. Для просмотра новой коллекции щелкните кнопкой мыши по изображению. Полученный результат вы можете увидеть на рисунке 3.

Figure 2  Иконка коллекции


В заключение приведем команды, создающие коллекцию:

cd "C:\Program Files\gsdl " # assuming default location
setup.bat
perl —S mkcol.pl —creator me@cs.waikato.ac.nz dlpeople
cd "%GSDLHOME%\collect\dlpeople "
xcopy /s d:\collect\dlpeople\* import # assuming D drive
perl —S import.pl dlpeople
perl —S buildcol.pl dlpeople
rd /s index # on Windows NT/2000
deltree /Y index # on Windows 95/98
ren building index
mkdir building

Создание коллекции под Unix

Сначала вносим изменения в директорию, в которую была установлена система Greenstone. К примеру, если Greenstone была установлена с именем "по умолчанию, то в директорию верхнего уровня можно попасть, напечатав:

cd ~/gsdl

Затем напечатать:

source setup.bash # if you're running the BASH shell
source setup.csh # if you're running the C shell

Этого файлы (которые вы можете просмотреть) указывают системе, где искать программы Greenstone. Если позже вы захотите вернуться на верхний уровень директории Green¬stone, напечатайте в командной строке cd $GSDLHOME.

Если вы не уверены в типе использованной на вашем компьютере оболочки, напечатайте в командной строке $0, в результате чего вы получите полную информацию. Если при работе вы пользуетесь иной оболочкой, то вам нужно будет обратиться за советом к вашему системному администратору.

Теперь вы имеете возможность формировать или переформировывать коллекции. Сначала мы рассмотрим программу mkcol.pl, написанную на Perl, имя которой означает "make a collection" (создание коллекции). Первый запуск этой программы можно осуществить, напечатав mkcol.pl, при этом на экране появится описание использования и список параметров. Как вы можете видеть в представленном примере, единственный обязательный аргумент - это creator (создатель), который исползьуется для описания лица, формирующего коллекцию.

Figure 3  Страница коллекции "About" (о коллекции)


Теперь используем команду для создания начальных файлов и директорий, необходимых для создания домашней страницы участников проекта создания Цифровой библиотеки Greenstone. Для того, чтобы присвоить коллекции имя dlpeople, я печатаю:

mkcol.pl —creator me@cs.waikato.ac.nz dlpeople

Пожалуйста, измените мой email адрес на свой собственный!

Для просмотра вновь созданных файлов перейдем в директорию созданной коллекции. Для этого напечатаем:

cd $GSDLHOME/collect/dlpeople

Вы можете просмотреть содержимое этой директории, напечатав Is. Здесь должно быть 7 директорий: archives, building, etc, images, import, index и perllib.

Теперь необходимо заполнить коллекцию документами. Источник материалов для коллекции dlpeople находится на установочном CD-ROM Greenstone в каталоге collect/dlpeople. Для получения информации с CD-ROM под Linux вставьте диск в читающее устройство и напечатайте команду:

mount /cdrom

(эта команда может отличаться от системы к системе). После устаноки CD-ROM может использоваться, как любая другая директория, и напечатав Is /cdrom/collect, можно получить доступ к директории с именем dlpeople на CD-ROM.

Затем скопируйте содержимое директории /cdrom/collect/dlpeople в директорию $GSDLHOME/collect/dlpeople/import. Для того, чтобы сделать это, напечатайте команду:

cp —r /cdrom/collect/dlpeople/* import/

Затем наберите:

umount /cdrom

для того, чтобы закрыть CD-ROM напечатайте

В директории коллекции etc находится файл collect.ucfg. Откройте его, воспользовавшись любым текстовым редактором или наиболее популярным в Linux текстовым редактором - emacs. В результате вы увидите окно, содержимое которого выглядит, как на рисунке 1, показывая содержимое файла конфигурации коллекции, созданного с использованием команды mkcol.pl -creator me@cs.waikato.ac.nz dlpeople.

Теперь вы готовы импортировать коллекцию. Это процесс переноса документов в систему Greenstone, стандартизации формата документов, пути спецификации метаданных и структуры файла, в котором будут храниться документы. Напечатайте команду import.pl и получите полный список опций программы импорта. Для упрощения процедуры воспользуйтесь базовой командой

import.pl dlpeople

Не беспокойтесь по поводу быстро бегущего по экрану текста - это отчет о выполнении процедуры импорта. К сведению, процесс импорта этой коллекции занимает около 5 минут на 1 ГГц компьютере и несколько дольше на более медленных машинах. Обратите внимание на то, что вы не должны находиться в директориях collect или dlpeople при запуске этой команды, т.к. GSDLHOME уже определил для работы системы Greenstone местоположение необходимых файлов.

Теперь давайте внесем изменения в файл конфигурации коллекции для модификации ее вида. Сначала присвоим коллекции имя. Оно будет воспринято веб-броузером как заголовок для титульного листа WWW-страницы, и использоваться в качестве иконки при отсутствии рисунка. Изменим строку collectionmeta collectionname "dlpeople" на строку вида: collectionmeta collectionname "The People of the NZDL project".

Добавим описание коллекции между кавычками: collectionmeta collectionextra "". Оно будет использовано в качестве материала для описания раздела "About" (о коллекции) на домашней WWW-странице. Я добавил "This collection is made up of the homepages of some of the people who have worked on the NZDL project." Важно вводить это описание одной строкой - не используйте для отбивки клавишу Enter/Ввод. Если вы хотите использовать в вашей коллекции многоязычный интерфейс, то существует способ вывода данного текста в соответствии с выбранным языком. Это описание будет представлено далее в разделе 1.5.

Вы можете использовать изображения, которые будут фигурировать в качестве иконок на WWW-странице коллекции. Изображение, созданное мною, вы можете видеть на рисунке 2. Укажите путь нахождения изображения в кавычках в строке collectionmeta iconcollection "" файла конфигурации. Для краткости и мобильности _httpprefix_ может быть использован в качестве стартового URL, указывающего на изображение, находящееся в файловой области Greenstone. Например, вы можете ввести: httpprefix_/collect/dlpeople/images/icon.gif если вы поместили подходящее изображение в соответствующую директорию коллекции (в нашем примере это: collect\dlpeople\images ).

Сохраните файл конфигурации коллекции и закройте его - он вам больше не понадобится на данном этапе обучения.

Следующая фаза - "построение" коллекции, в которой будут созданы все индексы и файлы, отвечающие за работу коллекции. Напечатайте в командной строке buildcol.pl и получите список опций для формирования коллекции. Подробное описание этих опций представлено в Разделе 1.3. Пока же придерживайтесь значений "по умолчанию", напечатав:

buildcol.pl dlpeople

И снова не беспокойтесь о быстро бегущем по экрану тексте - это отчет о выполнении команды.

Сделайте коллекцию "оперативной", как только материалы помещены в каталог building, перешлите их в каталог index. Если у вас прежде была уже сформирована коллекция, сначала удалите старые индесы, напечатав в командной строке:

rm —r index/*

(предполагается, что вы работаете в директории dlpeople). Затем введите:

mv building/* index/


Table 1  Различия в процессах построения коллекций для Windows и Linux Windows

Windows

Linux

Linux Запустите setup, bat, чтобы сделать программы Greenstone доступными

Запустите setup, bat, чтобы сделать Запустите setup, bash или setup, csh, чтобы программы Greenstone доступными

Скопируйте файлы с CD-ROM, используя менеджер файлов или с помощью команд Windows

Скопируйте файлы с CD-ROM, используя mount и команды Unix

Замените индексы старой коллекции, напечатав rd /s index, потом ren building index затем mkdir building, или воспользуйтесь менеджером файлов

Замените индексы старой коллекции, напечатав rm –r index/* , а затем mv building/* index


Вы должны уметь обращаться к вновь созданной коллекции с вашей домашней страницы Greenstone. Если эта страница открыта в вашем броузере, вы должны ее обновить или закрыть окно броузера и перезапустить его (для того, чтобы избежать проблем кэширования). Если вы пользуетесь "локальной версией библиотеки" Greenstone, то должны перезапустить всю программу. Для просмотра новой коллекции щелкните кнопкой мыши по изображению. Полученный результат вы можете увидеть на рисунке 3.

И в заключение приведем распечатку команд для создания коллекции dlpeople:

cd ~/gsdl # assuming default Greenstone in home directory
source setup.bash # if you're running the BASH shell
source setup.csh # if you're running the C shell
mkcol.pl —creator me@cs.waikato.ac.nz dlpeople
cd $GSDLHOME/collect/dlpeople
mount /cdrom # assuming this is where CD-ROM is mapped to
cp —r /cdrom/collect/dlpeople/* import/
umount /cdrom
import.pl dlpeople
buildcol.pl dlpeople
rm -r index/*
mv building/* index

Различия между Windows и Unix

Создание коллекций в среде Unix и среде Windows очень похожи, за исключением некоторых небольших расхождений, которые были сведены в Таблицу 1.

1.2 Директории Greenstone

На рисунке 4 представлена структура директорий GSDLHOME. В Таблице 2 дано краткое описание содержимого каждой директории, показанной на диаграмме. Некоторые директории будут более детально рассмотрены в последующих разделах настоящего руководства - информация о разделах представлена в Таблице 2.

Figure 4  Струкура директории GSDLHOME



Table 2  Структура директорий

содержание

раздел

bin

Исполняемый двоичный код в директории с именем вашей ОС.

bin/script

Скрипты языка Perl, используется для формирования и ведения коллекций (например, import.pl and buildcol.pl). Для получения описания этих программ напечатайте их имя в командной строке.

1.3

perllib

Модуль языка Perl, используется во время формирования и импорта.

2.1

perllib/plugins

Программа на языке Perl - приложение для обработки документов.

2.1

perllib/classify

Программа - классификатор на языке Perl (например, код AZList, который создает список документов в алфавитном порядке по некоторому атрибуту).

2.2

cgi-bin

Все CGI -скрипты системы Greenstone, которые помещены в cgi-bin каталог.

tmp

Директория, используемая Greenstone для временного хранения файлов.

etc

Файл конфигураций, инициализации и отчета об ошибках, база авторизации пользователей.

src

Программа на C++, используется для обслуживания коллекций через web-сервер.

3

src/colservr

Программа на C++, используется для обслуживания коллекции –ответы на запросы и т.п.

3.7

src/recpt

Программа на C++, используется для передачи запроса через интерфейс пользователя и формирования ответа на запрос.

3.9

packages

Пакет исходных программ, не входящих в состав программного обеспечения Greenstone, но используемых им

2.5

packages/mg

Исходная программа MG, используется Greenstone для сжатия и индексации.

2.5

mappings

ования символов Unicode (например, для установки китайской раскладки символов).

macros

Макрофайлы, используются для пользовательского интерфейса.

2.4

collect

Collections being served from this copy of Greenstone

1.1

lib

исходная программа на C++, используемая как сервером коллекции, так и регистратором

3.1

images

Изображения, используются для пользовательского интерфейса.

docs

Документация


1.3 Процессы import и build

При управлении формированием коллекцией из командной линии (см. Раздел 1.1) были использованы команды import.pl для импорта документов и buildcol.pl непосредственно для создания коллекции. Здесь мы подробнее рассмотрим, что делают сами эти программы и опции, которые их поддерживают. Используем переменную col_name для обращения к вновь сформированной или импортированной коллекции.

Процессы импорта и формирования во многом схожи, в результате чего имеют много общих опций, описанных в Таблице 3. (Помните, что для того чтобы увидеть опции для различных скриптов Greenstone, достаточно набрать в командной строке его имя без добавления опций).


Table 3  Опции для процессов import и build

Аргумент

Функция

-verbosity

Число 0-3

Контроль за тем, сколько данных о процессе значится как стандартная ошибка; 0 - мало, 3 - много.

-archivedir

Имя директории

Указывает на место хранения архивных файлов Greenstone, на то, куда import.pl может их поместить и где buildcol.pl может их найти. По умолчанию используется директория GSDLHOME/collect/col name/archives

-maxdocs

Число >0

Показывает максимальное число документов, обработанных опциями import или built. Используется во время тестирования файла конфигурации новой коллекции или новых приложений.

-collectdir

Имя директории

Указывает на место нахождения коллекции. По умолчанию используется GSDLHOME/collect

-out

Имя файла

Указывает на файл, в котором записываются все исходящие сообщения, обычно для стандартных ошибок. Используется в работе приложений отладки найденных ошибок.

-keepold

Отсутствует

Не удаляет результат предыдущих запусков процессов import или build; в процессе импорта не удаляет содержимое директории archives', в процессе формирования не очищает содержимое директории building.

—debug

Отсутствует

Печать результатов работы приложений отладки.


Процесс import

Процесс импорта служит для конвертации документов из их первичных форматов в Формат Архива Greenstone, используемый системой Greenstone, и записи в конечный файл (с именем archives, inf), который будет использоваться тогда, когда коллекция уже будет сформирована. Import.pl должен знать, какое приложение должно быть использовано и где находится файл-оригинал документа. В Таблице 3 представлены опции для процессов импорта и формирования; в Таблице 4 даны дополнительные опции, касающиеся только процесса импорта. Опции OIDtype заслуживают более подробного рассмотрения. Каждый документ имеет связанный Object Identi¬fier (Идентификатор Объекта) или OID. Это наилучший способ для хеширования содержимого документа (hash/хеш). Хотя он и очень медленный, но все же является достаточно простой альтернативой накоплению, представляя документы в том порядке, в котором они были импортированы. Вы можете использовать накопление для ускорения работы, но все же используйте хеширование в случае, если позже захотите добавить документы к вашей коллекции (без повторной процедуры импорта).


Table 4  Дополнительные опции для процесса

Аргумент

Функция

-importdir

Имя директории

Указывает на то, где могут быть найдены импортированные документы. По умолчанию: GSDLHOME/collect/coljiame/import.

-removeold

Отсутствует

Очищает содержимое директории archives перед процессом импорта.

-gzip

Отсутствует

Zip архивирует документы Greenstone, полученные в результате процесса импорта (ZIPPlug должен быть включен в список приложений, a gzip должен быть установлен на вашем компьютере).

-groupsize

Число Х

Количество документов, группируемых в один архивный файл Greenstone, по умолчанию 1 (означает 1 документе 1 файл).

—sortmeta

Имя тэга

Сортирует документы в алфавитном порядке по имени тэга метаданных метаданных. Однако, если коллекция имеет более 1 группы в одном архивном файле (т.е. groupsize >1), эта функция будет заблокирована.

-OIDtype

Хэширование

Метод создания ОШ для документов: хэширование содержания, очень или наполнение медленный метод; метод наполнения работает гораздо быстрее и заключается в простом присваивании входящим документам последовательного номера


Figure 5  Пошаговое выполнение процесса import


На рисунке 5 представлен процесс импорта, инициированный процедурой работы программы import.pl. Каждый овал представляетсобой модуль исполняющий задачи определенной части системы Greenstone. Все эти модули находятся в директории GSDLHOME/perllib.

Для шага 3. Обратите внимание, что переменные импортирования, такие как importdir и archivedir могут быть запущены из командной строки или из файла конфигурации коллекции.Если запуск произведен из командной строки, то все установки, сделанные через файл конфигурации, игнорируются.

На 6 шаге был создан файл информационного архива (archives.ini).

На 7 шаге был создан объект, который хранит информацию о том, куда были записаны документы, и подчиняется специальным инструкциям для процесса сохранения (таким как sortmeta, которая сортирует документы в соответствии со спецификой тэгов метаданных).

Большая часть работы в процессе импорта делается приложениями, вызываемыми модулем plugin. Этот модуль создает конвейер приложений, описанных в файле конфигурации коллекции. Он также обслуживает запись документов архива Greenstone, используя объект document.

Процесс build

В течение процесса формирования происходит сжатие текста, по полному тексту производится индексация, описанная в файле конфигурации коллекции. Кроме того, на этом этапе обрабатывется и подключается информация о том, как уже сформированная коллекция будет выглядеть во всемирной паутине -например, данные о заголовках и иконках, классификационные данные и т.д. Buildcol.pl имеет много опций, используемых совместно с import.pl, см. Таблицу 3, и несколько уникальных, представленных в Таблице 5.


Table 5  Дополнительные опции для процесса

Аргумент

Функция

-builddir

Имя директории

Определяет, где будет храниться результат формирования (по умолчанию: GSDLHOME/collect/col_name/building).

-index

Индексное имя

Определяет индексы процесса формирования. Данная (например '.Title) процедура по умолчанию присваивает индексы, обозначенные в файле конфигураций коллекции.

-allclassifications

Отсутствует

В процессе формирования предупреждает удаление классификаций, не содержащих документов (например, классификация по литере "X" в заголовке, в случае, если там нет документов, чей заголовок начинается с литеры "X").

-create_images

Отсутствует

Автоматически создает коллекцию иконок (для пользования этой опцией у вас должны быть установлены GIMP и модуль Gimp Perl).

-mode

all,
compress_text,
infodb, или
build index

Определяет, что должен сделать процесс формирования (по умолчанию all). All производит полное формирование, compress_text только сжатие текста документа, infodb создает базу данных информации, относящейся к коллекции - имя, файлы, связные файлы, классификационная информация и т.п., - build index -формирует индексы, указанные в файле конфигурации колекции или в командной строке.

—no_text

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


Figure 6  Пошаговое выполнение процесса build


На рисунке 6 показана диаграмма пошагового выполнения процесса buildcol.pl. Многие из шагов относятся и к процессу импорта. Первый отличительный шаг - 4. Он производится только в том случае, если установлена опция create_images. Затем изображения создаются и регистрируются в файле конфигурации коллекции функцией скрипта buildcol.pl. Для того, чтобы это сработало, должны быть установлены и сконфигурированы программа GIMP (GNU Image Manipulation Program) и модуль Gimp Perl. Помимо этого, вы должны иметь доступ с правом записи (так же, как и чтения) в файл конфигурации коллекции.

Шаг 5 сначала проверяет наличие определяющей коллекцию процедуры формирования. Некоторые коллекции требуют специальной разовой процедуры формирования, при которой указанный в коллекции составитель должен быть описан, и эта запись (имя файла должно включать название коллекции и приставку "builder") помещена в директорию коллекции perllib. Mgbuilder, в свою очередь, предоставляет информацию о заявленных составителях коллекции. На 5 шаге составитель (либо используя параметры по умолчанию, либо настройки коллекции) устанавливает исходные значения, такие как количество документов, включаемых в коллекцию, должна ли быть сохранена предыдущаяя версия коллекции и где расположены директории building и archive.

На 6 шаге формирования текст документов сжат и проиндексирован, иконки и заголовки помещены в информационную базу данных коллекции, данные структурированы при поддержке классификаторов, впоследствии вызываемых приложениями коллекции. Всеми этими шагами управляет mgbuilder (или уполномоченный коллекцией компановщик), который, в свою очередь, использует для сжатия и индексации программное обеспечение MG ("Man¬aging Gigabytes," см. Witten et al., 1999).

Части коллекции могут быть сформированы опцией mode, однако можно сформировать всю коллекцию, используя режим "по умолчанию" - сжать текст, проиндексировать его, содать информационную базу данных коллекции.

Для создания доступа к сформированной коллекции через сеть Интернет вы должны переместить содержимое директории building в директорию index. Коллекция не может быть сформирована непосредственно в директории in¬dex, формирование больших коллекций может длиться несколько часов, а то и дней. Важной особенностью процесса формирования является то, что он не вносит изменений в существующую копию до тех пор, пока коллекция не будет окончательно сформирована.

1.4 Архив документов Greenstone

Все исходные документы, вносимые в систему Greenstone конвертируются в формат, известный как Greenstone Archive Format (Формат Архива Greenstone). Это формат XML, который размечает документы по разделам и поддерживает режим работы метаданных на уровне документа или раздела. Вам не придется создавать файлы архива Greenstone вручную, т.к. этой работой занимается специальное приложение обработки документов, описанное в следующей главе. Однако, т.к. это может помочь в понимании формата файлов системы Greenstone, мы решили поместить это описание ниже.

В XML тэги разметки заключены в знаки о. Формат архива Greenstone преобразует документы, находящиеся в формате HTML и др. вставляя символы <, >, или " в исходный текст и избегая использования стандартных условий &lt;, &gt; и &quot;.

Figure 7 (a)   Формат архива Greenstone: а) Document Type Defini¬tion /Определение типа документа (DTD); б) Пример документа
<!DOCTYPE GreenstoneArchive [
   <!ELEMENT Section (Description,Content,Section*)>
   <!ELEMENT Description (Metadata*)>
   <!ELEMENT Content (#PCDATA)>
   <!ELEMENT Metadata (#PCDATA)>
   <ATTLIST Metadata name CDATA #REQUIRED>
]>

Figure 7 (b)  
<?xml version="1.0"?>
<!DOCTYPE GreenstoneArchive SYSTEM
"http://greenstone.org/dtd/GreenstoneArchive/1.0/GreenstoneArchive.dtd" >
<Section>
   <Description>
       <Metadata name= "gsdlsourcefilename">ec158e.txt</Metadata>
       <Metadata name= "Title">Freshwater Resources in Arid Lands</Metadata>
       <Metadata name= "Identifier">HASH0158f56086efffe592636058</Metadata>
       <Metadata name= "gsdlassocfile">cover.jpg:image/jpeg:</Metadata>
       <Metadata name= "gsdlassocfile">p07a.png:image/png:</Metadata>
   </Description>
   <Section>
       <Description>
           <Metadata name= "Title">Preface</Metadata>
       </Description>
       <Content>
               This is the text of the preface
       </Content>
   </Section>
   <Section>
       <Description>
           <Metadata name= "Title">First and only chapter</Metadata>
       </Description>
       <Section>
           <Description>
               <Metadata name= "Title">Part 1</Metadata>
           </Description>
           <Content>
               This is the first part of the first and only chapter
           </Content>
       </Section>