AdminTools 1.1.0. Запоминаем системные настройки

В новой версии инструментов появилась возможность запоминать состояние системных настроек. Все знают, что системные настройки всегда открываются для ядра («core»). И бывает крайне неудобно, когда нужно переключить какую-нибудь одну настройку для проверки работы компонента (это я сейчас о разработчиках говорю), а потом вернуть обратно, и приходится постоянно её искать, настраивать фильтры. А если нужный namespace (раздел) находится еще и на второй странице комбобокса, то вообще кайф.
Так вот теперь про этот геморой можно забыть.

Открываем системные настройки, выбираем нужный раздел (namespace), указываем подраздел (area), меняем нужную настройку. Возвращаемся на предыдущую страницу. Теперь, если мы вернемся в системные настройки, то они сразу откроются для нужного раздела и подраздела.
За управление этой возможностью отвечает системная настройка remember_system_settings.

Еще важная системная настройка — отключение проверки прав на элементы, что позволяет сократить время загрузки дерева и уменьшить потребляемую память, так как элементы грузятся не в объекты, а в массив. Василий в свое время провел небольшое исследование на эту тему. У меня цифры получились скромнее, но визуально скорость загрузки изменилась. Тут конечно все зависит от количества открытых разделов и папок в них. Чем больше их открыто, тем ощутимее разница. У меня как правило открыты разделы чанков, сниппетов и плагинов. Провел проверку со следующими условиями — эти разделы открыты, а папки в этих разделах закрыты. Получил следующие цифры:
— С включенными правами время формирования дерева составляет 0.43 сек. С выключенными — 0.03 сек.
— Потребление памяти: 6.5Мб против 5.25Мб соответственно.
Думаю, для разработчиков, которым не нужны права на элементы, такая оптимизация будет не лишней.
По-умолчанию, проверка включена. Для пользователей с sudo правами проверка отключается автоматом (спасибо Алексею за идею). Если нужно отключить проверку для остальных, то пользуемся настройкой.

Кому пригодится, плюсуйте в качестве доната.
Сергей Шлоков
27 октября 2015, 14:04
modx.pro
1 229
+16
Поблагодарить автора Отправить деньги

Комментарии: 17

Павел Гвоздь
27 октября 2015, 21:16
+2
Супер! Спасибо! Видимо не я один такой придирчивый к этим надоедливым мелочам! :)
    Виталий Петрович
    27 октября 2015, 21:53
    0
    public_html/core/components/admintools/processors/mgr/element/getnodes.class.php

    нужно в нескольких местах поправить сессию $_SESSION['admintools']['favoriteElements']['elements'][$map[1].'s']

    'favorite' => in_array($element['id'],$_SESSION['favoriteElements']['elements'][$map[1].'s'])
    Владимир
    27 октября 2015, 23:04
    +2
    Отличная идея с запоминанием. А экспорта -импорта системных настроек не планируется?
      but1head
      28 октября 2015, 00:33
      0
      Это конечно не связано с этим компонентом, но поддерживаю!
        Сергей Шлоков
        28 октября 2015, 07:29
        0
        А можно поподробнее для чего это нужно и как это должно выглядеть?
          Владимир
          28 октября 2015, 07:36
          0
          Предполагаю, что возможность экспорта\импорта системных настроек для переноса на другой сайт (например на вновь установленную систему), для сохранения одного из вариантов настроек и т.п. может быть весьма полезным. Формат экспорта XML.
            Сергей Шлоков
            28 октября 2015, 07:48
            0
            Неспроста такой возможности нет в базовой версии. Там куча подводных камней. Могут быть прописаны пути или пакеты, которых нет на новом сайте. Это только для core. А с другими настройками вообще не имеет смысла — неймспейсы, лексиконы и т.д.
              Владимир
              28 октября 2015, 07:52
              0
              Это только для core
              — полностью согласен. Но если для core, то есть некоторые минимальные настройки, которые на чистой установке все время приходится настраивать. Вот эти минимальные настройки бы экспортировать\импортировать.
      Алексей
      28 октября 2015, 01:01
      0
      а можно сделать отключения проверку прав в дереве только для root пользователя modx с неограниченными правами?
      права все равно не ограничены — зачем их проверять
        Павел Гвоздь
        28 октября 2015, 06:38
        0
        Вот это основное будет в этой функции, помоему. В общем +
          Сергей Шлоков
          28 октября 2015, 07:29
          0
          Т.е. системную настройку убрать?
            Сергей Шлоков
            28 октября 2015, 08:41
            0
            Сделал. Появится в новой версии. Обновил описание.
            Василий Столейков
            28 октября 2015, 13:13
            +1
            Спасибо, теперь действительно удобно стало работать в админке!
            Облизываясь, ждём новых улучшений... )))
              Сергей Шлоков
              31 октября 2015, 08:31
              +3
              Облизываясь, ждём новых улучшений… )))
              Вот что будет в следующей серии —
              Кто не заметил, присмотритесь ко второй строчке сверху. Это похоже на панель.
              К сожалению, как хотел не получается. Полноценную страницу можно открыть только одну. Остальные только для быстрого редактирования. А так как они не очень функциональные, нужно их заменить. Вот такие планы.
              Василий Столейков
              28 октября 2015, 21:09
              0
              Вот бы ещё запоминать так же и настройки словарей. А то постоянно сбрасывается на первое пространство имён ace с языком en
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                17