Руководство для разработчиков

Добавление быстрого действия на дашборд

В этом примере описано, как с помощью плагина вставить быстрое действие в строку быстрых действий на дашборд ispmanager, ваше быстрое действие будет открывать журнал операций:

Данный пример предполагает, что вы вошли в ispmanager как суперадминистратор (root).

  1. Сначала создайте файл XML-описания плагина. Перейдите в папку /usr/local/mgr5/etc/xml и создайте там файл ispmgr_mod_journal_block_dashboard.xml.   
  2. Откройте этот файл и скопируйте в него код, приведенный

    ниже:

    <?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>

  3.  Создайте обработчик: перейдите в папку /usr/local/mgr5/addon и создайте там файл journal_block_dashboard.sh. Файл обработчика должен быть исполняемым для пользователя и группы root, поэтому дайте этому файлу права 750
    chmod 750 /usr/local/mgr5/addon/journal_block_dashboard.sh
     
  4.  Откройте файл на редактирование и скопируйте в него

    код:

    #!/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')

  5. Чтобы ваш новый плагин подключился в 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-описаниях плагинов можно прочесть в данном разделе.

 

В этой статье