Формулировка проблемы: необходимо дополнить
имеющуюся в ARTA SKYNET
базу личностей данными с
сайта biografia.kz
, кроме этого, кроме этого,
нужна возможность пополнять базу личностей, организаций, мест и
событий вручную, и редактировать имеющуюся в системе информацию по
этим сущностям.
Решение:
Для внесения данных с сайта biografia.kz
необходимо загрузить весь контент сайта в режиме «паука» с URL
http://biografia.kz/famous/
и ниже. После этого
необходимо сделать одноразовый импортер данных из полученного с
biografia.kz
контента, внеся в базу
ARTA SKYNET
следующую информацию:
ФИО персоны в формате «Фамилия, Имя Отчество» (для отсутствующего отчества формат «Фамилия, Имя»;
Дату рождения (по возможности);
Фотографию (при наличии);
Текстовую секцию биографии с названием «Биография»;
Если при импорте обнаруживается, что импортируемая персона уже
присутствует в базе данных ARTA SKYNET
, то её
импорт пропускается, и об этом делается соответствующая запись в
логе импорта с указанием порядкового номера импортируемой персоны,
её ФИО и ссылкой на страницу биографии.
Редактор сущностей должен быть реализован отдельно от основного
интерфейса ARTA SKYNET
. Жестких требований к
внешнему виду редактора не накладывается. Редактирование и
внесение новых сущностей должно осуществляться только
авторизованными на это (считающееся цельным) действие
пользователями. Для хранения и аутентификации вышеуказанных
пользователей воспользоваться встроенными в
JBoss AS 7
средствами (JAAS), выделив для этого
специальным образом поименованную зону realm
,
добавление и удаление пользователей будет осуществляться
администратором инсталляции ARTA SKYNET JBoss
.
Редактор должен позволять выполнять следующие действия:
Начальное состояние: выбор действия — «Добавить новую сущность» либо «Редактировать существующую»;
При выборе добавления новой сущности нужна возможность выбрать
её тип (Персона, Организация, Место или Событие) и добавить
(по одному для простых полей (текст, дата, число, см. документ
«Типы полей карточек сущностей
ARTA SKYNET
») и по несколько для
полей-ссылок). В зависимости от типа сущности список полей,
которые можно добавить, меняется. При выборе другого типа
сущности сбрасывать уже введенные данные, предварительно
показав предупреждающий диалог с возможностью отменить смену
типа сущности.
При выборе редактирования имеющейся сущности показать диалог с
выбором типа сущности, поиском сущности по её идентификатору
без префикса http://dbpedia.org/resource/
(см. документ «Типы полей карточек сущностей
ARTA SKYNET
») и постраничным выводом
результатов поиска (по 50
результатов на
страницу). При пустой поисковой строке отображать первые
50
идентификаторов сущностей из базы,
список страниц не отображается, можно выбрать следующие и
предыдущие 50
.
Добавление, редактирование и удаление простых полей (см. выше) осуществляется выбором поля из списка полей (при добавлении), редактированием значения, и, при необходимости, удалением всего поля;
Добавление и редактирование полей, являющихся ссылками на другие сущности, осуществляется следующим образом: при выборе добавления поля-ссылки отображать диалог, аналогичный диалогу при добавлении новой сущности (см. выше), за исключением того, что тип сущности в диалоге определяется типом добавляемого поля и не может быть выбран пользователем;
Кроме этого, можно добавить/отредактировать соответствующее с ущности изображение (как ещё одно из полей редактора). При добавлении отсутствующего изображения сразу выводить диалог загрузки изображения (PNG, JPEG, GIF, размер до 1 мегабайта), после загрузки изображения отобразить его в виде миниатюры с размерами, заданными настройками ARTA SKYNET. Для того, чтобы заменить изображение другим, необходимо щёлкнуть на миниатюру, при этом должен открыться диалог выбора изображения;
Для сущности также можно добавить/отредактировать/удалить произвольные текстовые блоки, которые характеризуются двумя параметрами: названием секции (например, «Биография», «Профессиональная деятельность» и т. п.) и текстом секции. Текст секции — фрагмент HTML, в редакторе отображается в виде текстовой области с элементами управления визуального редактора: заголовки (4 уровня) и форматирование текста: полужирный, курсив, подчёркнутый, зачёркнутый.
Результатом добавления/редактирования будет являться возможность:
Сохранить сущность;
Отменить сохранение;
Удалить сущность (для сущностей, открытых на редактирование, с предупреждающим диалогом с возможностью отмены действия).
После выполнения одного из вышеперечисленных действий редактор возвращается к начальному состоянию.