Консольная утилита UMI.CMS
curl -O http://ilyar.github.io/UMI.Console/umi-cli.phar
chmod +x umi-cli.phar
mv umi-cli.phar /usr/local/bin/umi
Все команды необходимо выполнять в директории системы
$ umi <command> [action] [flags] [options [options [...]] [<args> [<args> [...]]
Отобразить список доступных команд
$ umi
$ umi info
$ umi type list -nm
- -n показать название
- -m показать модуль-метод
$ umi type list -AnG
- -A показать все типы данных
- -n показать название
- -G показать GUID
- -g Узнать, помечен ли тип данных как справочник
- -l Узнать, заблокирован ли тип данных
$ umi type cp id_source id_target [--group=all [--field=all]
$ umi type mv --group=name|id type_id new_name|new_title -n|-t
$ umi type view {typeId}
$ umi type edit {typeId} [--guid=null [--locked=false [--delete=false]
- --guid или -g установить GUID
- --locked или -l заблокировать
- --delete или -g удвлить
$ umi sel --mode=pages --type_guid=content-page -nc
$ umi sel --mode=objects --type_guid=content-page --type_guid=users-user -cn
Установить источник данных для элемента
$ umi element chobj {elementId} {objectId}
Установить права level
на страницу rootId
и ее подстраницы для пользователя или группы
$ umi element permission {rootId} {ownerId} {level}
Удалить все права на страницу rootId
и ее подстраницы для всех пользователей
$ umi element permission {rootId} --reset
Удалить все права на страницу rootId
и ее подстраницы для пользователя или группы
$ umi element permission {rootId} {ownerId} --reset
Удалить все права на страницу rootId
и ее подстраницы для всех пользователей и установить права level для пользователя или группы
$ umi element permission {rootId} {ownerId} {level} --reset
Дополнительные параметры выборки и значения поумолчанию
- --domainId = 1 указать индентификатор домена (актуально если ишем от корня: rootId = 0)
- --langId = 1 указать индентификатор языка (актуально если ишем от корня: rootId = 0)
- --unActive = true если true, то в результат будут включены неактивные страницы
- --unVisible = true если true, то в результат будут включены невидимые в меню страницы
- --depth = 0 глубина поиска
- --typeId = false включить в результат только страницы с указанным идентификатора базового типа (umiHierarchyType)
- --addSelf = true включить в результат rootId
Управление рестрикшенами baseRestriction
Список рестрикшенов
$ umi restriction list
Добавить новый рестрикшен
$ umi restriction add {fieldTypeId} {title} {prefix}
Назначить полую рестрикшен
$ umi restriction set {fieldId} {restrictionId}
$ umi file
$ umi backup
Получить список перенаправлений
$ umi redirect list
Добавить новое перенаправление
$ umi redirect add {oldURL} {newURL} [status=301]
Удалить перенаправление
$ umi redirect del {redirectId}
Получить список перенаправлений со страницы sourceURL
$ umi redirect get {sourceURL}
Формирование и применение UMIDump 2.0 на основе JSON-конфига.
По умолчанию файл настройки миграции называется migrate.json
и должен быть расположен директории шаблона ~/templates/{имя_шаблона}/db/migrate.json
, пример:
{
"registry": {
"paths": ["//"],
"exclude": ["settings/keycode", "umiMessages/lastConnectTime"]
},
"domains": ["all"],
"templates": [1, 2],
"types": [
"users-user",
"banners-banner"
],
"relations": ["domains", "langs", "templates", "fields_relations", "restrictions", "permissions"]
}
Формирование UMIDump
(экспорт)
$ umi migrate [save [--name=migrate] # будет создан файл `~/templates/{имя_шаблона}/db/migrate.xml`
Применение UMIDump
(импорт)
$ umi migrate apply [--name=migrate] # будет применен файл `~/templates/{имя_шаблона}/db/migrate.xml`
$ umi perm
$ umi type -AG | grep root-pages | awk '{print $1}' | umi type view -A
- Покрытие тестами
- Рефакторинг PHP >= 5.4
- PSR-2, PSR-4
- PSR-3
Файлы в этом репозитории находятся под действием лицензии BSD. Копия данной лицензии доступна в LICENSE.