Расширение "Синхронистические таблицы"

Расширение предназначено для автоматизации формирования синхронистических таблиц произвольной структуры, позволяющих сопоставлять исторические события, параллельно происходившие в разных регионах и сферах общественной жизни. Оно позволяет:
установить критерии сопоставления исторических событий;
фильтровать включаемые в рассмотрение события;
управлять формой представления сопоставлений событий.
Расширение требует установки файла sintab.php (не входит в базовую комплектацию).
Примеры использования расширения Синхронистические таблицы

Исходные данные

Исходными данными расширения является совокупность массивов специальным образом размеченных данных, которые могут размещаться в секциях публикаций. Рекомендуется размещать потоки событий в отдельных текстовых файлах, а потом произвольно объединять их в массивах данных с помощью команды включения текста (^). Например, один из файлов с демонстрационным примером на этом сайте имеет следующее содержание:
$.x sintab
$.n Основные даты истории + Хунну
$.a Объединение событий массивов "Основные даты истории" и "История Хунну, Китая и Средней Азии"
$.d 22333
/sintab
^sintab/odi.txt
^sintab/hunnu.txt
//
Здесь в системных параметрах массива устанавливаются:
принадлежность данных к расширению "Синхронистические таблицы" ($.x sintab);
название массива ($.n Основные даты истории + Хунну);
аннотация, выводимая при просмотре содержимого книг, включающих этот массив ($.a Объединение событий массивов "Основные даты истории" и "История Хунну, Китая и Средней Азии");
права доступа к массиву ($.d 22333).
Несистемная секция /sintab ... // определяется как объединение файлов sintab/odi.txt и sintab/hunnu.txt, определяющих потоки событий.
В результате обращения к такому массиву данных система включит содержимое файлов sintab/odi.txt и sintab/hunnu.txt в состав раздела s и передаст массив для обработки расширению sintab.

Потоки событий

Поток событий описывается последовательностью блоков строк, разделённых одной или несколькими пустыми строками. Каждый блок строк описывает одно событие. Каждая строка в нём начинается идентификатором типа данных, размещённых в данной статье. Данные размещаются в продолжении данной строки через один или несколько пробелов после идентификатора. Основные описатели события имеют следующие идентификаторы:
d - обобщённая дата события;
t - текст, кратко характеризующий событие;
m - метки события.
В простейшем случае обобщённая дата события представляется в формате ГГГГ-ММ-ДД - четырёх- (трёх, двух) значный номер года, двузначные номера месяца и дня. День и месяц, либо только день могут быть опущены. Тогда считается, что заданы только год и месяц или только год. Например, имеются такие события:
d 1994-09-13
t Президент США Билл Клинтон объявил о начале военных действий с целью свержения военного режима в Гаити.
m США Америка
d 96
t 96 — 98 Правление римского императора Нервы. Сокращены налоги, между беднейшими гражданами распределены земельные участки общей стоимостью 60 млн. сестерциев.
m Италия Рим Реформы
В первом событии указана его полная и точная дата. Во втором событии задан только год его начала в двузначном формате, который будет проинтерпретирован как год 0096 н.э.
Для обозначения дат до начала нашей эры перед ней должен быть поставлен знак - (минус). Например:
d -31
t В сражении у мыса Акций флот Октавиана под командованием Агриппы нанес сокрушительное поражение объединенному флоту Антония и Клеопатры. Этой победой практически завершены гражданские войны, начавшиеся после смерти Гая Юлия Цезаря.
m Италия Рим Египет
Строка с идентификатором t может содержать произвольный текст, кратко описывающий данное событие. Обращаем внимание что это должна быть одна строка - последовательность символов до нажатия клавиши Enter. Если нужно, чтобы при выводе строка разрывалась на несколько строк, то можно в места разрыва указать html-тег разрыва строки.
Строка с идентификатором m перечисляет через пробелы слова, которые будут использованы как метки события. С формальной точки зрения - это любая комбинация символов, не содержащая пробелов и табуляций. С содержательной точки зрения метками могут быть названия стран, регионов, обозначения каких-от понятий (наука, экономика, промышленность, искусство, живопись, музыка, мировоззрение, экология и т.д.). Именно по меткам расширение осуществляет группирование событий и их фильтрацию в выходных формах.
Основные описатели обязательны для каждого события. Формально, часть из них может отсутствовать, однако в этом случае событие "потеряется" и не будет учитываться.
Помимо основных описателей событие может включать факультативные описатели:
r - список имён файлов публикаций, размещённых на данном сайте;
h - описание полной ссылки на внешний источник.
Например:
d -58
t 58 — 51 до н.э. Галльские походы Гая Юлия Цезаря. В результате восьми походов Цезарь завоевал всю Галлию (57), разгромил германские племена (58, 55), предпринял два вторжения в Британию (55, 54), подавил общее восстание почти всех галльских племен под руководством Верцингеторикса (52) и восстания отдельных галльских племен (51). Походы отличались беспощадным массовым истреблением побежденных.
m Италия Рим Галлия Англия Германия
r sintab/odi-1.s sintab/odi-4.s sintab/odi-3.s
h https://dzen.ru/a/YJ5UGYgyTk27vihj
В описании события примера указан перечень статей сайта (параметр r), а также ссылка на внешний источник (параметр h). Все эти ссылки будут приведены при выводе сведений о событии в отчёте.

Интерфейс и параметры его настройки

Для встраивания интерфейса расширения в тело статьи используется функция sintab(p), где p - единственный параметр функции, представляющий собой строку, содержащую данные в формате ключ:значение. На текущий момент доступен только один параметр - d, который характеризует указатель на массив данных, определяющих используемый поток событий.
Расширение даёт весьма обширный вывод и потому изучать его интерфейс целесообразно переключаясь между страницей вывода расширения и этой статьёй.
Настройки вывода представляет собой довольно развёрную форму. Здесь имеется три блока настроек:
общие настройки фильтра и формата вывода результатов;
выбор группировок (Группировки);
метки обтбора событий.
Основным разделом настроек является блок "Группировки". В нём собраны все метки всех событий используемого потока. Все выбранные здесь метки будут выступать в качестве классификаторов. В табличном представлении (см. далее) для каждой такой метки будет выделен один столбец результатной таблицы. Если не выбраны метки отбора событий, то в него попадут все события, в которых указана данная метка. В режиме Лента в конкретных ячейках таблицы события, относящиеся к одному периоду, будут сгруппированы по этим меткам. В случае, если все отобранные события всегда включают пару или несколько выбранных меток группировка не будет произведена и будет использована только одна из них.
Раздел "Метки отбора событий" позволяет определённым образом ограничить вывод. В этом разделе также собраны все метки, встречающиеся при описании всех событий. Рядом с каждой меткой указано сколько событий массива включают данную метку. Если здесь выделить несколько меток, то для отбора данных для их группировки будут выбраны только те события, в которых указаны данные метки. Например, это позволяет отобрать только те события, которые характеризуют отношения стран, выбранных как группировки, только с теми странами, которые выбраны как метки отбора событий.
По умолчания включён режим "ИЛИ", то есть отбираются те события, в которых присутствует хотя бы одна из выбранных меток отбора событий. Однако, если установить флажок "Событие включает все метки", то будет использоваться режим "И", то есть будут отбираться только те события, для которых указаны ВСЕ выбранные метки отбора событий. Это позволяет существенно ограничить вывод или даже сделать его пустым.
Общие настройки фильтра и формата вывода результатов регулируют форму представления данных и общий фильтр диапазона изменения дат событий. Если не заданы даты начала и конца выборки, то отбор будет производиться по всем событиям массива. Если задана дата начала (Начало), но не задана дата конца (пустое поле Конец), то будут отбираться все события с датой большей или равной дате начала. Если не задана дата начала, но задана дата конца, то отбираться будут все события до даты конца. Если заданы даты начала и конца, то данные будут отбираться только в указанном диапазоне.
Поле Периодизация представляет собой раскрывающийся список, который определяет правила группирования событий. В используемых примерах обычно целесообразно хронологически группировать события по годам, десятилетиям или столетиям. Произвольное группирование использовать пока не рекомендуется.
Поле Вид регулирует способ представления группировок. В режиме Таблица каждой группировке выделяется отдельный столбец. При этом некоторые (или многие) ячейки каждого группировочного столбца могут оказаться незаполненными, если для одного группировочного значения события в данном периоде были, а у других - не было. Поэтому предпочтительнее является установленный по умолчанию режим Лента, в котором "пустоты" отсутствуют, но если в данном периоде были события, относящиеся к нескольким выбранным группировкам, то они будут сгруппированы строго в соответствии с выбранными метками.

Заключение

Расширение "Синхронистические таблицы" может быть хорошим подспорьем для изучения истории и самостоятельного сопоставления разного рода событий, происходивших в разные периоды, в разных целях. Однако полезность данного инструмента существенно зависит от полноты и качества составления потоков событий. Это весьма трудоёмкая работа и потому разработчик данного приложения готов рассмотреть любые варианты сотрудничества в этом вопросе при обращении к нему по адресу shurem@mail.ru.
Оцените публикацию по предложенной шкале
-5  -4  -3  -2  -1  0  +1  +2  +3  +4  +5

Статистика Код