Actions
This content is not available in your language yet.
Сборка курсов под разные типы требует набор действий. Данные наборы имеют много общего, но частично различаются. Поэтому все действия разбиты на классы-действия (Actions), которые собираются в общую логику в классах ConfigBuilder
IConfigBuilderAction
Заголовок раздела «IConfigBuilderAction»Интерфейс, который определяет только один метод do(): void. В этом методе и должны быть реализовано действие для конфигурации сборки.
ConfigBuilderAction
Заголовок раздела «ConfigBuilderAction»Имплементирует интерфейс IConfigBuilderAction, но не определяет метод do, а только добавляет свойство StaticBuild $static_build с объектом текущей сборки. Так что все классы-действия наследуются именно от этого класса
ActionsGroup
Заголовок раздела «ActionsGroup»Для упрощения работы с классами-действиями создан класс ActionsGroup, который хранит в себе массив классов-действий в свойстве array $action_classes. Этот класс имплементирует интерфейс IConfigBuilderAction, поэтому в нем определен публичный метод do, но вместо своего собственного действия вызывается do метод у всех действий из массива $action_classes.
Благодаря этому можно собрать массив действий и вызвать все действия одним методом do. А так как классы-действия и ActionsGroup имеют одинаковый интерфейс в виде метода do, то можно вкладывать группу в группу для расширения набора действий
Действия
Заголовок раздела «Действия»CopyConfigDir
Заголовок раздела «CopyConfigDir»Копирует всю директорию с файлами конфигурации в сборку. Так что в сборку изначально попадают файлы под все типы сборок, задача дальнейших действий - удалить лишние файлы
PrepareHtmlConfig
Заголовок раздела «PrepareHtmlConfig»Подготавливает index*.html файлы под определенную сборку. index.html файл попадает во все типы сборок, а index_scorm.html и index_xapi.html в соответствующие типы. Эти index.html файлы являются входными точками для открытия сборки, и именно в этих файлах хранятся все настройки сборки
PrepareHtmlConfigMultilang
Заголовок раздела «PrepareHtmlConfigMultilang»Расширяет класс PrepareHtmlConfig для добавления в сборку информации о переводах
MaybeRemoveJSPanel
Заголовок раздела «MaybeRemoveJSPanel»Удаляет файлы для JSPanel, если JSPanel выключен в сборке
PrepareTincanFile
Заголовок раздела «PrepareTincanFile»Добавляет в файл tincan.xml актуальную информацию о курсе
RemoveTinkanFile
Заголовок раздела «RemoveTinkanFile»Удаляет tincan.xml файл
PrepareImsmanifestFile
Заголовок раздела «PrepareImsmanifestFile»Добавляет в файл imsmanifest.xml актуальную информацию о курсе
RemoveImsmanifestFile
Заголовок раздела «RemoveImsmanifestFile»Удаляет imsmanifest.xml файл
RemoveXapiwrapperJS
Заголовок раздела «RemoveXapiwrapperJS»Удаляет xapiwrapper.min.js файл