[modSizeControl] - компонент позволяющий контролировать размер сайта
Привет сообществу!
Выражаю большую благодарность Павлу Зарубину, так как компонент выйдет в целом его стараниями.
Несколько раз сталкивался с проблемой, когда менеджеры пользуются дисковым пространством как бесплатным файловым хранилищем и им кажется, что оно неиссякаемое. Хостинги которыми я пользовался не предоставляли и вряд-ли будут предоставлять подробные данные о размерах отдельных папок/сайтов (должно быть ресурсозатратный процесс) потому и приходилось искать разжиревшие сайты вручную. Это была веская причина для того чтобы разработать данный компонент, который был призван облегчить решение такого рода проблем.
Что из себя представляет компонент на данный момент:
Планируется также отправка письма разработчику при достижении критической/определенной отметки заполнения ну и многое другое.
☕ Угостить чашкой кофе
UPD:
Компонент доступен на modstore.pro и на GitHub
Всем спасибо и отдельно кончено же еще раз Павлу Зарубину.
Выражаю большую благодарность Павлу Зарубину, так как компонент выйдет в целом его стараниями.
Несколько раз сталкивался с проблемой, когда менеджеры пользуются дисковым пространством как бесплатным файловым хранилищем и им кажется, что оно неиссякаемое. Хостинги которыми я пользовался не предоставляли и вряд-ли будут предоставлять подробные данные о размерах отдельных папок/сайтов (должно быть ресурсозатратный процесс) потому и приходилось искать разжиревшие сайты вручную. Это была веская причина для того чтобы разработать данный компонент, который был призван облегчить решение такого рода проблем.
- Можно указывать лимит сайта (Системная настройка: modsizecontrol_site_limit)
- Можно указывать один или несколько источников файлов для определения размера (Системная настройка: modsizecontrol_file_system)
- Интерфейс в виде виджета на главной странице панели управления
- Данные обновляются по клику кнопки через Ajax
- Отображение процента в виде кругового графика
- Смена цвета при достижении определенных точек заполнения (Зеленый, Желтый и Красные цвета для визуального сообщения)
- Вывод сообщения менеджеру при достижении критической отметки заполнения
Планируется также отправка письма разработчику при достижении критической/определенной отметки заполнения ну и многое другое.
☕ Угостить чашкой кофе
UPD:
Компонент доступен на modstore.pro и на GitHub
Всем спасибо и отдельно кончено же еще раз Павлу Зарубину.
Комментарии: 29
Очень полезный виджет! Круто, спасибо!
Не за что)
Отличный компонент. Информативно. Полезно. Удобно.
Спасибо
Спасибо
Не за что)
Крутой компонент! Да ещё и красиво всё оформлено, по фэншую! :)
Компонент теперь доступен на modstore.pro
Добрый день!
Поставил Ваш компонент. Интересный.
Сразу нашёл разочарование: modsizecontrol_site_limit указывается в байтах.
Было бы здорово иметь возможность указания размера human-readable, т.е. 15G, 1280M, 15k и т.д.
Заранее спасибо.
Поставил Ваш компонент. Интересный.
Сразу нашёл разочарование: modsizecontrol_site_limit указывается в байтах.
Было бы здорово иметь возможность указания размера human-readable, т.е. 15G, 1280M, 15k и т.д.
Заранее спасибо.
Так в MODX везде вроде в байтах. Это нормальная практика. Вот если б вывод был в байтах, это разочарование, да… =)
Сожалею, что вас разочаровал. В скором времени кое какие баги исправлю и заодно в планах было указывание в МБ
Скажите, не понимаю как пользоваться. В системных настройках указал лимит, но в админке виджет не показывается. Что нужно сделать для того, чтобы этот виджет увидеть на Главной странице входа в админ. панель — указать в дефолтном чанке входа — чанк tpl.modSizeControl?
Для того, чтобы вывести виджет вам нужно Меню -> Панели->Открыть на редактирование нужную панель->Нажать кнопку «Добавить виджет» и выбрать из списка компонент.
На modstore добавил gif-ку где отображается процесс установки
Вышло небольшое обновление
Очень полезная штука, спасибо.
Жаль результат последней проверки не заносится в базу, хотелось бы написать плагин на «onFileManagerUpload», который проверял бы размер сайта и выдавал ошибку, если превышен лимит, а достать этот размер пока неоткуда.
И не могли бы сказать как часто сканируются файлы, при загрузке каждой страницы админки или только главной?
Жаль результат последней проверки не заносится в базу, хотелось бы написать плагин на «onFileManagerUpload», который проверял бы размер сайта и выдавал ошибку, если превышен лимит, а достать этот размер пока неоткуда.
И не могли бы сказать как часто сканируются файлы, при загрузке каждой страницы админки или только главной?
И не могли бы сказать как часто сканируются файлы, при загрузке каждой страницы админки или только главной?На данный момент сканирование происходит только по нажатию кнопки.
Жаль результат последней проверки не заносится в базу, хотелось бы написать плагин на «onFileManagerUpload», который проверял бы размер сайта и выдавал ошибку, если превышен лимит, а достать этот размер пока неоткудаВ планах есть такое реализовать
Ало, я уже давно сделал автообновление) Обновляется каждые 12 часов
Мда, Паша пропустил) Главное переводил для modstore и забыл)
Каждые 12 часов, в последней версии с гитхаба
В modstore уже давно)
который проверял бы размер сайта и выдавал ошибкуДанный функционал уже есть в коробке
- Установить pdoTools и включить системную настройку: pdotools_fenom_default
- Либо заменить содержимое чанка: tpl.modSizeControl на:
<div id="modsizecontrol-body"> <div id="modsizecontrol-wrapper"> <div class="modsizecontrol-column"> <div class="modsizecontrol-item"> <span class="modsizecontrol-text-sm">[[%modsizecontrol_total]]</span> <span id="modsizecontrol-size" class="modsizecontrol-text modsizecontrol-text-lg">[[+size:default=`[[%modsizecontrol_err_unknown]]`]]</span> </div> <div class="modsizecontrol-item"> <span class="modsizecontrol-text-sm">[[%modsizecontrol_available]]</span> <span id="modsizecontrol-limit" class="modsizecontrol-text modsizecontrol-text-muted">[[+limit]]</span> </div> <div class="modsizecontrol-item"> <button id="modsizecontrol-send" class="x-btn x-btn-text primary-button"> <i class="icon icon-refresh"></i> [[%modsizecontrol_refresh]] </button> </div> </div> <div class="modsizecontrol-column" style="position: relative;"> <div id="modsizecontrol-circlechart" class="modsizecontrol-circlechart" data-percentage="[[+percent]]"> </div> <span id="modsizecontrol-percent" class="modsizecontrol-info">[[+percent]]%</span> </div> </div> </div>
Подскажите пожалуйста, у вас fenom включен?
Сегодня выпущу обновление, которое исправит, ну а пока у вас 2 выхода из ситуации:
Спасибо, помогло, воспользовался первым вариантом.
Огонь, все работает. Спасибо.
Для правильного размера в Linux
core/components/modsizecontrol/model/modsizecontrol.class.php
//$io = popen('/usr/bin/du -sb '. $dir, 'r');//sb
$io = popen('/usr/bin/du -sk '. $dir, 'r');
if ($io !== false) {
//$totalSize = intval(fgets($io, 80));
$totalSize = intval(fgets($io, 80)) * 1024;
core/components/modsizecontrol/model/modsizecontrol.class.php
//$io = popen('/usr/bin/du -sb '. $dir, 'r');//sb
$io = popen('/usr/bin/du -sk '. $dir, 'r');
if ($io !== false) {
//$totalSize = intval(fgets($io, 80));
$totalSize = intval(fgets($io, 80)) * 1024;
Отличное решение.
Для своих нужд писал нечто подобное.
Только источник файлов не указывался в ручную, а брался из настроек группы пользователя.
Поскольку контексты разрастутся.
Менеджеру конкретного контекста выводится информация по его источнику файлов.
А группе «Administrator», выводится общий размер всех источников файлов +
список контекстов с указаним размера источника файлов.
Автору, безусловно огромное спасибо за труды!
Если в будущем у вас появится такая автоматизация и вывод группе «Administrator» общего размера + по каждому контексту, а менеджерам только его источник файлов. То не стану свое решение допиливать =) Воспользуюсь вашим!
Для своих нужд писал нечто подобное.
Только источник файлов не указывался в ручную, а брался из настроек группы пользователя.
Поскольку контексты разрастутся.
Менеджеру конкретного контекста выводится информация по его источнику файлов.
А группе «Administrator», выводится общий размер всех источников файлов +
список контекстов с указаним размера источника файлов.
Автору, безусловно огромное спасибо за труды!
Если в будущем у вас появится такая автоматизация и вывод группе «Administrator» общего размера + по каждому контексту, а менеджерам только его источник файлов. То не стану свое решение допиливать =) Воспользуюсь вашим!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.