Хочу представить вам своё iOS приложение, которое управляет сайтом на MODX Revolution.

Кратко, что умеет:
  • Работа с ресурсами: создание, редактирование, удаление
  • Работа с элементами: шаблоны, чанки, ТВ, плагины и их категории
  • Работа с файлами через источники медиа: создание, редактирование, удаление.
  • Просмотр журнала событий системы
  • Просмотр и очистка журнала ошибок
  • Очистка кэша сайта
  • Русский и английский интерфейс
  • Auto-layout, вертикальный и горизонтальный режим работы
  • Никакие данные не собираются и никуда на сторону не отправляются, вообще.

Для нетерпеливых сразу ссылка на AppStorе, а кто хочет подробностей и картинок прошу под кат.


Принцип работы



Для работы необходимо установить компонент mxManager из официального репозитория.

Компонент принимает запросы внутри админки, как системный плагин на событие OnManagerPageInit. Где у вас находится manager, вы указываете сами, в настройках подключения.

Конечно, вы можете использовать https и Basic Authentication веб-сервера. Более того, я от всей души рекомендую вам их использовать!

Все запросы отправляются с указанием параметров mx_action и version методом POST — в лог веб-сервера никаких команд и паролей не попадает. Плагин срабатывает только если видит mx_action в $_REQUEST.

Исходный код серверной части открыт, вы можете изучить его на предмет потенциальных уязвимостей. Компонент везде использует систему безопасности самого MODX и проверку прав доступа. Вывод доступных пунктов меню приложения также зависит от них.

Работа с ресурсами




Как видите, поддерживаются все основные параметры ресурсов MODX. Можно переключать тип документов, назначать разные шаблоны, редактировать содержимое и другие поля. Также поддерживаются все основные типы ТВ параметров, включая выбор ресурсов.

Чего нет, но планирую добавить:
  • Rich text редактор для контента
  • Поддержка дополнительных полей дополнений. Для начала, Tickets и miniShop2.


Работа с элементами



Почти в полном объёме поддерживаются все основные функции элементов. Если это шаблон, то у него будет пункт назначения системных событий. Если это ТВ параметр — то выбор шаблонов, типа ввода и вывода.

По техническим причинам я не могу реализовать работу с необычными ТВ параметрами, потому что их внешний вид в админке MODX программируется на php + html и javascript, но вы всё равно можете использовать такие типы с показом их «сырого» кода.

Также нет поддержки статичности элементов, и не думаю, что её стоит добавлять — в админке то редко кто этим пользуется.

Работа с файлами



Вы можете создавать, переименовывать и удалять директории и файлы. Если файл текстовый — то можно его и редактировать, есть простенькая подсветка кода, которая отключается на файлах свыше 50Кб.

Картинки показываются, у неизвестных типов файлов поле content просто пустое. Содержимое файлов, которые весят более 1 мегабайта, не загружается — но вы можете их переименовывать и удалять.

Чего нет, но планирую добавить
  • Защиту системных файлов и директорий от удаления и переименования. Сейчас, также как и через родную админку MODX, можно поломать сайт одним неловким движением в директории core.
  • Загрузку файлов из медиатеки iOS устройства


Прочее


Еще есть просмотр журнала событий, работа с логом ошибок и очистка системного кэша. Как и все остальные разделы, эти выводятся только если вам разрешен к ним доступ в системе прав MODX.


Здесь я планирую добавить только поиск по журналу событий.

Общие возможности


Во всех гридах, где это возможно, используется ленивая загрузка при прокрутке и меню «свайпом влево».

Через свайп доступно редактирование настроек подключения к сайтам, действия с ресурсами, элементами и файлами.

Трафик, передаваемый на сайт и обратно, я старался минимизировать. По отзывам пользователей, приложение «летает», по сравнению с обычной админкой.

Для передачи данных используется JSON, когда дело доходит до бинарных файлов — они кодируются base64.

Заключение


К выпуску этого приложения я шел полтора года. 4 месяца чистой работы, остальное время на изучение Objective-C, потом Swift, потом правил работы AppStore и прохождения модерации.

Само приложение бесплатное, но содержит одну платную покупку — разблокировка работы с несколькими сайтами одновременно за 599 рублей. Покупается только один раз на все устройства.
При этом, количество редактирований настроек одного сайта никак не ограничено. Вы можете менять адрес подключения, логин и пароль сколько угодно раз.

На данный момент я слежу за отзывами и планирую новый функционал. В первую очередь это будет работа с системными настройками сайта и пользователями. Затем редактор контента и поддержка некоторых дополнений.

На данный момент это приложение — единственное, что находится по запросу «modx» в AppStore.

Разрешение на использование логотипа и торговой марки MODX получено от Ryan Thrash — главы MODX, LLC.

Комментарии ()