Skip to content

Actions

This content is not available in your language yet.

Сборка курсов под разные типы требует набор действий. Данные наборы имеют много общего, но частично различаются. Поэтому все действия разбиты на классы-действия (Actions), которые собираются в общую логику в классах ConfigBuilder

Интерфейс, который определяет только один метод do(): void. В этом методе и должны быть реализовано действие для конфигурации сборки.

Имплементирует интерфейс IConfigBuilderAction, но не определяет метод do, а только добавляет свойство StaticBuild $static_build с объектом текущей сборки. Так что все классы-действия наследуются именно от этого класса

Для упрощения работы с классами-действиями создан класс ActionsGroup, который хранит в себе массив классов-действий в свойстве array $action_classes. Этот класс имплементирует интерфейс IConfigBuilderAction, поэтому в нем определен публичный метод do, но вместо своего собственного действия вызывается do метод у всех действий из массива $action_classes.

Благодаря этому можно собрать массив действий и вызвать все действия одним методом do. А так как классы-действия и ActionsGroup имеют одинаковый интерфейс в виде метода do, то можно вкладывать группу в группу для расширения набора действий

Копирует всю директорию с файлами конфигурации в сборку. Так что в сборку изначально попадают файлы под все типы сборок, задача дальнейших действий - удалить лишние файлы

Подготавливает index*.html файлы под определенную сборку. index.html файл попадает во все типы сборок, а index_scorm.html и index_xapi.html в соответствующие типы. Эти index.html файлы являются входными точками для открытия сборки, и именно в этих файлах хранятся все настройки сборки

Расширяет класс PrepareHtmlConfig для добавления в сборку информации о переводах

Удаляет файлы для JSPanel, если JSPanel выключен в сборке

Добавляет в файл tincan.xml актуальную информацию о курсе

Удаляет tincan.xml файл

Добавляет в файл imsmanifest.xml актуальную информацию о курсе

Удаляет imsmanifest.xml файл

Удаляет xapiwrapper.min.js файл