Клонирование матрицы путем многократного повторного использования контента (reusing) - вовсе не преступление против т.н. «человечности» (какой идиот выдумал это словечко?!), а напротив - отличный технологический прием, работающий во благо и во имя всего прогрессивного человечества. Клонирование применяется к онлайновым библиотекам взаимоувязанных документов.
Суть проблемы: путь в матрицу, подробно расписанный в предыдущей статье, позволяет создавать всего лишь один «экземпляр класса», - библиотеки взаимоувязанных документов. Но экземпляров библиотек может потребоваться великое множество. Разумеется, все ожидаемые издержки на их клонирование должны быть сведены к минимуму. Редакция от 17.11.2021.
Создан 08.01.2021 4:18:59
Таким образом, в настоящее время библиотека взаимоувязанных документов находится в публичном доступе в единственном экземпляре, что позволяет посетителям сайта https://authorit.ru всего лишь визуально поизучать взаимосвязи между отдельными документами библиотеки - своего рода «входимость» топиков в документы, если под топиками понимать составные части, а под изделиями - отдельные документы библиотеки. Иными словами - пока все работает в режиме read-only, ибо соображения безопасности не позволяют давать права на редактирование топиков случайным персонажам.
Для полноценной работы с библиотеками взаимоувязанных документов изначально предусмотрены приватные группы, построенные по примеру групп по интересам в социальных сетях. Но беда в том, что как только участник любой из приватных групп вносит какие-либо изменения в топик, так сразу топик становится недоступен залетным посетителям даже в режиме просмотра. После сохранения увидеть его смогут только участники конкретной приватной группы.
Виноватых не ищем, а что делать - знаем. Добавлять префиксы - уникальные идентификаторы нод для каждой приватной проектной группы.
Далее: |
Добавление префиксов в таблицу book update
Добавление префиксов в таблицу book update - это проще простого. Как видно из рисунка, необходимо всего лишь:
- заменить 'source', ' на 'source', 'nid;
- добавить тот же префикс nid к именам файлов в строчках над выделением.
И тогда все становится на свои места. Ноды отдельных топиков будут подгружаться в книги и образовывать их. Несколько сложнее с добавлением префиксов в таблицу node update.
Добавление префиксов в таблицу node update
Табличка несколько видоизменилась, если сравнивать ее с размещенной в предыдущей статье. Замены:
- по полю Title - _( на _(nid. Везде пробел - открывающаяся круглая скобка;
- по полю Book Link URL - url] на url]nid;
- с полями path_alias и guid несколько сложнее, придется что-то выдумывать насчет замены по отдельным столбцам.
А придумано было следующее - вставка уникального префикса на этапе XSLT-преобразования.
Вставка уникального префикса на этапе XSLT-преобразования
Вставка уникального префикса на этапе XSLT-преобразования дает на выходе табличку, изображенную на рисунке выше. В тех ячейках, где это необходимо, размещен уникальный префикс _PREFIX_, который легко заменяется на конкретное значение nid группы путем автозамены.
Собственно, все. Единственное неудобство - в поле template_sample_example префикс приходится прописывать вручную для строк с пятой по двенадцатую. Из этих строк формируются собственно книги.
Далее придется как-то втолковать топикам (их нодам), что они не общедоступны, а относятся к конкретной приватной группе.