Показано с 1 по 10 из 10

Тема: Проблема с установкой самописного плагина

  1. #1
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию Проблема с установкой самописного плагина

    Здравствуйте,

    Я разработал модуль обработки добавления SSL сертификатов, но BILLmanager по каким-то причинам не отображает обработчик в списке модулей, пригодных для создания. Согласно информации в логах, BM увидел XML файл и даже вызвал обработчик модуля с аргументами `--command features`, но по открытии страницы я получаю список лишь из трёх стандартных модулей. Более того, в логах появляются сообщения о вызове sbin/pkginfo.sh, который в свою очередь обращается к списку пакетов, установленных в системе (CentOS 7) через yum. Вопрос, соответственно, следующий: что я делаю не так? Это что, мне ещё и для yum делать пакеты, чтобы установить мой модуль? Было бы неплохо уточнить документацию по этому поводу.

    На всякий случай прикладываю свой XML файл с описанием модуля. Обработчик — бинарный файл, который я положил в processing с именем pmpromobitcertmanager.

    etc/xml/billmgr_mod_pmpromobitcertmanager.xml:
    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <mgrdata>
      <plugin name="pmpromobitcertmanager">
        <group>processing_module</group>
        <author>Mark Fedurin</author>
        <params>
          <type name="certificate"/>
        </params>
      </plugin>
      <lang name="ru">
        <messages name="plugin">
          <msg name="desc_short_pmpromobitcertmanager">gotgetssl.com</msg>
          <msg name="desc_full_pmpromobitcertmanager">Модуль интеграции с gotgetssl.com</msg>
        </messages>
        <messages name="processing.edit.pmpromobitcertmanager">
          <msg name="url">API URL</msg>
          <msg name="username">Имя пользователя</msg>
          <msg name="api_password">Ключ API</msg>
          <msg name="hint_url">URL доступа к API. Для тестирования: https://sandbox.gogetssl.com, для продакшена: https://my.gogetssl.com/api/.\</msg\>
          <msg name="hint_username">Имя пользователя для доступа к API.</msg>
          <msg name="hint_api_password">Пароль для доступа к API.</msg>
        </messages>
      </lang>
      <metadata name="processing.edit.pmpromobitcertmanager" type="form">
        <form title="name">
          <page name="connect">
            <field name="url">
              <input type="text" name="url" required="yes" check="url"/>
            </field>
            <field name="username">
              <input type="text" name="username" required="yes"/>
            </field>
            <field name="api_password">
              <input type="password" name="api_password" required="yes"/>
            </field>
          </page>
        </form>
      </metadata>
    </mgrdata>
    Спасибо

  2. #2
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Попробуйте описание плагина прописать по форме

    Код:
    <plugin name="pmregistrar.php">
        <group>processing_module</group>
        <params>
          <type name="domain"/>
        </params>
        <msg name="desc_short" lang="ru">Тестовый регистратор</msg>
        <msg name="desc_short" lang="en">Demo Registrar</msg>
        <msg name="desc_full" lang="ru">Тестовый регистратор</msg>
        <msg name="desc_full" lang="en">Demo Registrar</msg>
        <msg name="price" lang="ru">Бесплатно</msg>
        <msg name="price" lang="en">Free</msg>
      </plugin>

  3. #3
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию

    Ух ты, всё завелось. Благодарю ещё раз!

  4. #4
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию

    Всплыла новая проблема: «Не найдены метаданные функции 'processing.add.user'. Проверьте целостность XML файлов». Ни в документации, ни в XML файлах других модулей такой секции я найти не могу. Есть ли где-то описание формата?

  5. #5
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию

    Так, разобрался. Нигде не сказано, что передавать usercreate в списке features обязательно. После добавления ошибка изменилась на что-то ещё более невменяемое: «Обработчик услуг '' вернул ответ не в XML формате».

  6. #6
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Нет, если у вас не поддерживается регистрация пользователей в ssl'нице, то возможность передаваться не должна.

    Но в XML должна быть секция processing.edit.XXX с описание параметров модуля

  7. #7
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию

    Секция есть, но оно всё равно ругается:
    Код:
    (не релевантные куски пропущены)
        <messages name="processing.edit.pmpromobitcertmanager">
          <msg name="url">API URL</msg>
          <msg name="username">Имя пользователя</msg>
          <msg name="api_password">Ключ API</msg>
          <msg name="hint_url">URL доступа к API. Для тестирования: https://sandbox.gogetssl.com, для продакшена: https://my.gogetssl.com/api/.\</msg\>
          <msg name="hint_username">Имя пользователя для доступа к API.</msg>
          <msg name="hint_api_password">Пароль для доступа к API.</msg>
        </messages>
    
    <metadata name="processing.edit.pmpromobitcertmanager" type="form">
        <form title="name">
          <page name="connect">
            <field name="url">
              <input type="text" name="url" required="yes" check="url"/>
            </field>
            <field name="username">
              <input type="text" name="username" required="yes"/>
            </field>
            <field name="api_password">
              <input type="password" name="api_password" required="yes"/>
            </field>
          </page>
        </form>
      </metadata>

  8. #8
    Banned
    Регистрация
    17.09.2010
    Сообщений
    8,675

    По умолчанию

    Попробуйте удалить кеш
    Код:
    rm /usr/local/mgr5/var/.xmlcache/billmgr* && killall core

  9. #9
    Junior Member
    Регистрация
    08.07.2015
    Сообщений
    11

    По умолчанию

    Да, удаление кэша помогло, благодарю.

  10. #10
    Junior Member
    Регистрация
    25.08.2015
    Адрес
    Moscow
    Сообщений
    10

    По умолчанию

    Имею точно такие же проблемы при добавлении своего обработчика.
    Но мне ваш ответ не помог.

    Идет запуск pkginfo.sh и проверка наличия пакета billmanager-plugin-pmregistrar.php
    Добавить обработчик удалось только добавив строку

    Код:
    echo "billmanager-plugin-pmregistrar     5.36.0-3.el7.centos"
    в файл "pkginfo.sh"

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

    Можете описать принципы по которым выполняется или не выполняется проверка наличия пакета?

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •