ЦИФРОВАЯ БИБЛИОТЕКА 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 - продукт совместного труда множества людей. 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.
Конечный пользователь Greenstone может создать коллекции, используя Коллектор (Collector), описанный в документе Цифровая библиотека Greenstone: Руководство пользователя (Раздел 3 ). Он позволяет очень просто создавать коллекции на базе уже существующих, но с новым наполнением. Однако невозможно пользоваться Коллектором при создании коллекций с абсолютно новой структурой. В этом случае придется вносить изменения в файл конфигураций, который управляет структурой коллекции, ведь для того, чтобы радикальные изменения возымели эффект, Вам необходимо знать гораздо больше о системе Greenstone. Данный раздел содержит все, что Вам необходимо знать для этого. В этом разделе также описывается структура директорий Greenstone и формат внутреннего хранения документов.
Мы подразумеваем, что на вашем компьютере установлена система Greenstone, сконфигурированная под оболочку Windows или Unix. Если вы еще не установили систему, то сделайте это, воспользовавшись комплектом документации Цифровая библиотека Greenstone: Руководство по установке. Для обращения к основному каталогу Greenstone повсеместно используется имя GSDLHOME, которое для системы Windows выглядит как %GSDLHOME%, а для Unix - $GSDLHOME. Вы создаете этот каталог в процессе установки Greenstone на ваш компьютер.
Начав создание коллекций из командной строки, вы пройдете по всей операционной цепочке, что позволит вам лучше понять этот процесс. Разумеется, для наибольшего числа схожих коллекций вы будете пользоваться Коллектором. Для примера мы воспользуемся коллекцией, находящейся на установочном CD-ROM и состоящей из домашних WWW-страниц множества лиц, работавших над проектом создания Новозеландской цифровой библиотеки и системой Greenstone.
Отдельные подразделы практически не отличаются друг от друга, однако они были созданы для работы с Greenstone в различных операционных средах, таких как Windows и Unix. Вам остается только выбрать. на базе операционной системы вашего компьютера. При беглом просмотре некоторые операции могут вам показаться непонятными и таинственными, однако выполните их, близко придерживаясь к инструкциям - подробное описание этих операций будет дано несколько позже. В конце подраздела дано краткое резюме о различиях между процессами формирования коллекций на базе Widows и Unix.
При формировании коллекций Greenstone в среде Windows через командную строку изначально необходимо запустить "command prompt" - приглашение для ввода ваших команд. Попробуйте посмотреть через основное меню Start -^Programs, найдите MS-DOS Prompt, DOS Prompt, или Command Prompt. Если вы не нашли ничего из описанного выше, запустите Start ~$Run и в диалоговом окне напечатайте command (or cmd). Если запуск команды окончился безуспешно, то обратитесь к своему системному администратору.
Внесите изменения в каталог, в который была установлена система Greenstone. По умолчанию Greenstone устанавливается в каталог, в который можно попасть напечатав
(Вы должны использовать кавычки из-за пробела в имени директории Program Files). Далее, в следующем окне напечатайте
Этот файл (который вы можете просмотреть) указывает системе, где искать программы 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. Для того, чтобы присвоить коллекции имя, я напечатал
(или mkcol.pl —creator me@cs. waikato. ac. nz dlpeople если Perl связан с расширением файла .рГ). Пожалуйста, замените мой email адрес на собственный!
Для просмотра вновь созданных файлов перейдем в только-что созданный каталог коллекции. Для этот печатаем:
|
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.
В качестве альтернативы вы можете напечатать следующую команду:
В каталоге коллекции etc существует файл с именем collect, cfg. Откройте его, используя любой текстовый редактор, либо используйте редактор, настроенный по умолчанию. В результате вы увидите окно, содержимое которого выглядит так, как показано на рисунке 1, показывая содержимое файла конфигурации коллекции, созданного с использованием команды perl-S mkcol.pl -creator me@cs.waikato.ac.nz dlpeople.
Теперь вы готовы импортировать коллекцию. Это процесс переноса документов в систему Greenstone, стандартизации формата документов, пути спецификации метаданных и структуры файла, в котором будут храниться документы. Напечатайте perl -Simport.pl и в результате вы получите список опций для операции импорта. Для упрощения процесса воспользуйтесь базовой командой:
Не беспокойтесь по поводу быстро бегущего по экрану текста - это отчет о выполнении процедуры импорта. К сведению, процесс импорта этой коллекции занимает около 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. Пока же придерживайтесь значений "по умолчанию", напечатав:
И снова не беспокойтесь о быстро бегущем по экрану тексте - это отчет о выполнении команды.
Теперь "оживим" коллекцию:
выделите содержимое каталога building коллекции dlpeople и перенесите его в каталог index.
Так же вв можете проделать эту операцию, напечатав команду:
и изменить имя каталога building на index командой
В заключение напечатайте:
подготовив систему для будущих переформирований. Важно, чтобы все эти команды были выполнены из требуемой директории (в отличие от команд Greenstone mkcol.pl, import.pl and buildcol.pl); если текущая рабочая директория не является dlpeople, напечатайте: cd "%GSDLHOME%\collect\dlpeople" до того, как вы запустите на исполнение команды rd, ren и mkdir.
Вы должны уметь обращаться к вновь созданной коллекции с вашей домашней страницы Greenstone. Если эта страница открыта в вашем броузере, вы должны ее обновить или закрыть окно броузера и перезапустить его (для того, чтобы избежать проблем кэширования). Если вы пользуетесь "локальной версией библиотеки" Greenstone, то должны перезапустить всю программу. Для просмотра новой коллекции щелкните кнопкой мыши по изображению. Полученный результат вы можете увидеть на рисунке 3.
В заключение приведем команды, создающие коллекцию:
Сначала вносим изменения в директорию, в которую была установлена система Greenstone. К примеру, если Greenstone была установлена с именем "по умолчанию, то в директорию верхнего уровня можно попасть, напечатав:
Затем напечатать:
Этого файлы (которые вы можете просмотреть) указывают системе, где искать программы Greenstone. Если позже вы захотите вернуться на верхний уровень директории Green¬stone, напечатайте в командной строке cd $GSDLHOME.
Если вы не уверены в типе использованной на вашем компьютере оболочки, напечатайте в командной строке $0, в результате чего вы получите полную информацию. Если при работе вы пользуетесь иной оболочкой, то вам нужно будет обратиться за советом к вашему системному администратору.
Теперь вы имеете возможность формировать или переформировывать коллекции. Сначала мы рассмотрим программу mkcol.pl, написанную на Perl, имя которой означает "make a collection" (создание коллекции). Первый запуск этой программы можно осуществить, напечатав mkcol.pl, при этом на экране появится описание использования и список параметров. Как вы можете видеть в представленном примере, единственный обязательный аргумент - это creator (создатель), который исползьуется для описания лица, формирующего коллекцию.
Теперь используем команду для создания начальных файлов и директорий, необходимых для создания домашней страницы участников проекта создания Цифровой библиотеки Greenstone. Для того, чтобы присвоить коллекции имя dlpeople, я печатаю:
Пожалуйста, измените мой email адрес на свой собственный!
Для просмотра вновь созданных файлов перейдем в директорию созданной коллекции. Для этого напечатаем:
Вы можете просмотреть содержимое этой директории, напечатав Is. Здесь должно быть 7 директорий: archives, building, etc, images, import, index и perllib.
Теперь необходимо заполнить коллекцию документами. Источник материалов для коллекции dlpeople находится на установочном CD-ROM Greenstone в каталоге collect/dlpeople. Для получения информации с CD-ROM под Linux вставьте диск в читающее устройство и напечатайте команду:
(эта команда может отличаться от системы к системе). После устаноки CD-ROM может использоваться, как любая другая директория, и напечатав Is /cdrom/collect, можно получить доступ к директории с именем dlpeople на CD-ROM.
Затем скопируйте содержимое директории /cdrom/collect/dlpeople в директорию $GSDLHOME/collect/dlpeople/import. Для того, чтобы сделать это, напечатайте команду:
Затем наберите:
для того, чтобы закрыть CD-ROM напечатайте
В директории коллекции etc находится файл collect.ucfg. Откройте его, воспользовавшись любым текстовым редактором или наиболее популярным в Linux текстовым редактором - emacs. В результате вы увидите окно, содержимое которого выглядит, как на рисунке 1, показывая содержимое файла конфигурации коллекции, созданного с использованием команды mkcol.pl -creator me@cs.waikato.ac.nz dlpeople.
Теперь вы готовы импортировать коллекцию. Это процесс переноса документов в систему Greenstone, стандартизации формата документов, пути спецификации метаданных и структуры файла, в котором будут храниться документы. Напечатайте команду import.pl и получите полный список опций программы импорта. Для упрощения процедуры воспользуйтесь базовой командой
Не беспокойтесь по поводу быстро бегущего по экрану текста - это отчет о выполнении процедуры импорта. К сведению, процесс импорта этой коллекции занимает около 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. Пока же придерживайтесь значений "по умолчанию", напечатав:
И снова не беспокойтесь о быстро бегущем по экрану тексте - это отчет о выполнении команды.
Сделайте коллекцию "оперативной", как только материалы помещены в каталог building, перешлите их в каталог index. Если у вас прежде была уже сформирована коллекция, сначала удалите старые индесы, напечатав в командной строке:
(предполагается, что вы работаете в директории dlpeople). Затем введите:
|
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:
Создание коллекций в среде Unix и среде Windows очень похожи, за исключением некоторых небольших расхождений, которые были сведены в Таблицу 1.
На рисунке 4 представлена структура директорий GSDLHOME. В Таблице 2 дано краткое описание содержимого каждой директории, показанной на диаграмме. Некоторые директории будут более детально рассмотрены в последующих разделах настоящего руководства - информация о разделах представлена в Таблице 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++, используется для обслуживания коллекции –ответы на запросы и т.п. |
|
|
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.1) были использованы команды import.pl для импорта документов и buildcol.pl непосредственно для создания коллекции. Здесь мы подробнее рассмотрим, что делают сами эти программы и опции, которые их поддерживают. Используем переменную col_name для обращения к вновь сформированной или импортированной коллекции.
Процессы импорта и формирования во многом схожи, в результате чего имеют много общих опций, описанных в Таблице 3. (Помните, что для того чтобы увидеть опции для различных скриптов Greenstone, достаточно набрать в командной строке его имя без добавления опций).
|
Аргумент |
Функция |
|
|
-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 |
Отсутствует |
Печать результатов работы приложений отладки. |
Процесс импорта служит для конвертации документов из их первичных форматов в Формат Архива Greenstone, используемый системой Greenstone, и записи в конечный файл (с именем archives, inf), который будет использоваться тогда, когда коллекция уже будет сформирована. Import.pl должен знать, какое приложение должно быть использовано и где находится файл-оригинал документа. В Таблице 3 представлены опции для процессов импорта и формирования; в Таблице 4 даны дополнительные опции, касающиеся только процесса импорта. Опции OIDtype заслуживают более подробного рассмотрения. Каждый документ имеет связанный Object Identi¬fier (Идентификатор Объекта) или OID. Это наилучший способ для хеширования содержимого документа (hash/хеш). Хотя он и очень медленный, но все же является достаточно простой альтернативой накоплению, представляя документы в том порядке, в котором они были импортированы. Вы можете использовать накопление для ускорения работы, но все же используйте хеширование в случае, если позже захотите добавить документы к вашей коллекции (без повторной процедуры импорта).
|
Аргумент |
Функция |
|
|
-importdir |
Имя директории |
Указывает на то, где могут быть найдены импортированные документы. По умолчанию: GSDLHOME/collect/coljiame/import. |
|
-removeold |
Отсутствует |
Очищает содержимое директории archives перед процессом импорта. |
|
-gzip |
Отсутствует |
Zip архивирует документы Greenstone, полученные в результате процесса импорта (ZIPPlug должен быть включен в список приложений, a gzip должен быть установлен на вашем компьютере). |
|
-groupsize |
Число Х |
Количество документов, группируемых в один архивный файл Greenstone, по умолчанию 1 (означает 1 документе 1 файл). |
|
—sortmeta |
Имя тэга |
Сортирует документы в алфавитном порядке по имени тэга метаданных метаданных. Однако, если коллекция имеет более 1 группы в одном архивном файле (т.е. groupsize >1), эта функция будет заблокирована. |
|
-OIDtype |
Хэширование |
Метод создания ОШ для документов: хэширование содержания, очень или наполнение медленный метод; метод наполнения работает гораздо быстрее и заключается в простом присваивании входящим документам последовательного номера |
На рисунке 5 представлен процесс импорта, инициированный процедурой работы программы import.pl. Каждый овал представляетсобой модуль исполняющий задачи определенной части системы Greenstone. Все эти модули находятся в директории GSDLHOME/perllib.
Для шага 3. Обратите внимание, что переменные импортирования, такие как importdir и archivedir могут быть запущены из командной строки или из файла конфигурации коллекции.Если запуск произведен из командной строки, то все установки, сделанные через файл конфигурации, игнорируются.
На 6 шаге был создан файл информационного архива (archives.ini).
На 7 шаге был создан объект, который хранит информацию о том, куда были записаны документы, и подчиняется специальным инструкциям для процесса сохранения (таким как sortmeta, которая сортирует документы в соответствии со спецификой тэгов метаданных).
Большая часть работы в процессе импорта делается приложениями, вызываемыми модулем plugin. Этот модуль создает конвейер приложений, описанных в файле конфигурации коллекции. Он также обслуживает запись документов архива Greenstone, используя объект document.
В течение процесса формирования происходит сжатие текста, по полному тексту производится индексация, описанная в файле конфигурации коллекции. Кроме того, на этом этапе обрабатывется и подключается информация о том, как уже сформированная коллекция будет выглядеть во всемирной паутине -например, данные о заголовках и иконках, классификационные данные и т.д. Buildcol.pl имеет много опций, используемых совместно с import.pl, см. Таблицу 3, и несколько уникальных, представленных в Таблице 5.
|
Аргумент |
Функция |
|
|
-builddir |
Имя директории |
Определяет, где будет храниться результат формирования (по умолчанию: GSDLHOME/collect/col_name/building). |
|
-index |
Индексное имя |
Определяет индексы процесса формирования. Данная (например '.Title) процедура по умолчанию присваивает индексы, обозначенные в файле конфигураций коллекции. |
|
-allclassifications |
Отсутствует |
В процессе формирования предупреждает удаление классификаций, не содержащих документов (например, классификация по литере "X" в заголовке, в случае, если там нет документов, чей заголовок начинается с литеры "X"). |
|
-create_images |
Отсутствует |
Автоматически создает коллекцию иконок (для пользования этой опцией у вас должны быть установлены GIMP и модуль Gimp Perl). |
|
-mode |
all, |
Определяет, что должен сделать процесс формирования (по умолчанию all). All производит полное формирование, compress_text только сжатие текста документа, infodb создает базу данных информации, относящейся к коллекции - имя, файлы, связные файлы, классификационная информация и т.п., - build index -формирует индексы, указанные в файле конфигурации колекции или в командной строке. |
|
—no_text |
Не хранит сжатый текст. Данная опция используется в том случае, если вы хотите минимизировать размер сформированных индексов, в случае, если вы намерены во время запуска всегда выводить на экран оригинал документа. |
На рисунке 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, формирование больших коллекций может длиться несколько часов, а то и дней. Важной особенностью процесса формирования является то, что он не вносит изменений в существующую копию до тех пор, пока коллекция не будет окончательно сформирована.
Все исходные документы, вносимые в систему Greenstone конвертируются в формат, известный как Greenstone Archive Format (Формат Архива Greenstone). Это формат XML, который размечает документы по разделам и поддерживает режим работы метаданных на уровне документа или раздела. Вам не придется создавать файлы архива Greenstone вручную, т.к. этой работой занимается специальное приложение обработки документов, описанное в следующей главе. Однако, т.к. это может помочь в понимании формата файлов системы Greenstone, мы решили поместить это описание ниже.
В XML тэги разметки заключены в знаки о. Формат архива Greenstone преобразует документы, находящиеся в формате HTML и др. вставляя символы <, >, или " в исходный текст и избегая использования стандартных условий <, > и ".
|
<!DOCTYPE GreenstoneArchive [
|
|
<!ELEMENT Section (Description,Content,Section*)>
|
|
<!ELEMENT Description (Metadata*)>
|
|
<!ELEMENT Content (#PCDATA)>
|
|
<!ELEMENT Metadata (#PCDATA)>
|
|
<ATTLIST Metadata name CDATA #REQUIRED>
|
|
]>
|
|
<?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>
|