Добавление быстрого действия на дашборд
В этом примере описано, как с помощью плагина вставить быстрое действие в строку быстрых действий на дашборд ispmanager, ваше быстрое действие будет открывать журнал операций:
Данный пример предполагает, что вы вошли в ispmanager как суперадминистратор (root).
- Сначала создайте файл XML-описания плагина. Перейдите в папку /usr/local/mgr5/etc/xml и создайте там файл ispmgr_mod_journal_block_dashboard.xml.
- Откройте этот файл и скопируйте в него код, приведенный
ниже:
<?xml version="1.0" encoding="UTF-8"?> <mgrdata> <handler name="journal_block_dashboard.sh" type="xml"> <event name="dashboard" after="yes"/> </handler> <lang name="ru"> <messages name="dashboard"> <msg name="taskbar_journal">Журнал операций</msg> </messages> </lang> </mgrdata>
- Создайте обработчик: перейдите в папку /usr/local/mgr5/addon и создайте там файл journal_block_dashboard.sh. Файл обработчика должен быть исполняемым для пользователя и группы root, поэтому дайте этому файлу права 750
chmod 750 /usr/local/mgr5/addon/journal_block_dashboard.sh
- Откройте файл на редактирование и скопируйте в него
код:
#!/bin/bash echo $(cat | sed -r 's/(<block[^\>]*name="taskbar"[^\>]*>)(.*)<\/block>/\1<toolbtn form="journal" name="journal" img="m-monitoring" spritesvg="yes"\/>\2<\/block>/g')
- Чтобы ваш новый плагин подключился в ispmanager, выполните в командной строке
killall core
.
Пояснение
Так как обработчик подключается с помощью элемента <event name="dashboard" after="yes"/> в XML-описании плагина, это значит, что обработчик будет выполняться после выполнения основного обработчика функции dashboard.
При выполнении обработчик получит в STDIN XML-описание страницы дашборда. Обработчик обрабатывает XML с помощью инструмента sed: находит элемент <block name="taskbar"> и вставляет в его начало кнопку быстрого действия:
<toolbtn form="journal" name="journal" img="m-monitoring" spritesvg="yes"/>
Затем измененный обработчиком XML отдается в STDOUT и в дальнейшем используется ispmanager для отображения страницы дашборда.
Подробнее о структуре XML, возвращаемого обработчиками, и о XML-описаниях плагинов можно прочесть в данном разделе.