null

Как отредактировать плагин в Tutor

Tutor - удобная утилита для разворачивания площадок на базе OpenEDX. Она поддерживает возможность импорта плагинов, и даже позволяет пользователям писать самодельные плагины по определенным шаблонам. Но что если необходимо что-то поменять в уже существующем плагине? А если еще и хочется оставить эти изменения в закрытом доступе?

VCS

Для примера будем вносить изменения в плагин MFE, который включен по умолчанию во всех последних версиях tutor.

Tutor поддерживает создание локального плагина, но это подразумевает локальное хранение всех файлов. Мы будем пользоваться Gitlab для хранения плагина.

Для начала нужно клонировать оригинальный репозиторий: https://github.com/overhangio/tutor-mfe. Можно сразу сделать его приватным.

Далее необходимо сгенерировать токен доступа, для примера будем использовать персональный:

Gitlab: Edit Profile > Access Tokens > Add new token

Выбираем нужные права (например как на скриншоте), жмем Create:

Токен нужно сохранить, потому что Gitlab покажет его только один раз.

 

Plagin index

После того, как репозиторий настроен, можно заняться индексом. По сути это декларативное описание списка источников, откуда могут быть взяты плагины, другими словами yaml-файл.

Для удобства расположим файл недалеко от корня tutor'а: ~/.local/share/indexes/palm/plugins.yml

plugins.yml обязательно должен находиться в директории с названием текущего релиза tutor, в данном случае это palm. Посмотреть название релиза можно так:

tutor config printvalue OPENEDX_COMMON_VERSION

После создания заполняем файл примерно таким содержимым:

- name: my-mfe
  src: -e git+https://<юзернейм>:<токен>@gitlab.com/<юзернейм>/tutor-mfe.git@v16#egg=my-mfe-1
  url: https://gitlab.com/<юзернейм>/tutor-mfe

Разумеется, нужно подставить в строки с src и url свои данные, чтобы получилась рабочая ссылка (можно проверить заранее с помощью git clone, убрав из src все после @. Если приватный репозиторий клонируется без запроса пароля - все отлично).

Символ @ и v16 после него - указание тега, который будет брать tutor, можно использовать любой собственный.

После создания файла подключим индекс:

tutor plugins index add ~/.local/share/indexes/

Теперь можно пользоваться своим форком MFE, в котором все изменения делаются приватно!

tutor local stop
tutor plugins disable mfe
tutor plugins update
tutor plugins install my-mfe
tutor config save
# после добавления плагин обретает имя mfe
tutor plugins enable mfe
tutor images build mfe

 

Разумеется, MFE был рассмотрен только для примера. Так можно подменить и другие встроенные плагины. А если необходимо создать плагин с нуля, нужно лишь пропустить шаг с клонированием существующего репозитория.

Next

Коротко о себе:

Работаю [DevOps] инженером в Tune-it.

Nothing has been found. n is 0