В свете смены работы, пришлось полезть посмотреть что такое Odoo вообще и его апи в частности.

Для начала про Odoo - на мою малинку она ставилась эдак минут 20, может и больше, но, как ни странно, без всяких танцев с бубном. Первое обращение (типа сетап базы в постгрессе и т.д.) отрабатывало еще минут пятнадцать, и только тогда оно впустило меня внутрь, посмотреть что же оно такое.

Штука интересная - предлагает установить довольно много приложений на любой вкус - CRM, управление проектами, продажами, сервисный центр, билдер сайтов, в общем - дофига всего:

И продолжение:

Для будущих экспериментов я решил поставить одно приложение - Projects. Это заняло около десяти (!Карл) минут, но таки поставилось с шаблонными записями, показывающими что оно умеет. Радует, что работает все из коробки (на моем RaspberryPi медленновато конечно) - можно потратить пол-часа на настройки и юзеров и пускать в бой внутри маленькой отдельной команды:

Потыкав туда-сюда, я решил посмотреть АПИ, т.к. мои задачи получать ко всему этому доступ из php, и сразу столкнулся с парой вопросов:

  1. Предлагаемая библиотека для php последный раз обновлялась шесть лет назад, весело! Но не беда, простой гуглеж нашел несколько либ, в том числе и такую, которая мне подошла: https://github.com/skolodyazhnyy/symfony-rpc-bundle

  2. Нигде нет описания или списка моделей, к которым можно обращаться, кверить их и т.д.) Т.е. просто дан пример:

$models->execute_kw($db, $uid, $password,
    'res.partner', 'search', array(
        array(array('is_company', '=', true),
              array('customer', '=', true))));

Вот что такое res.parner? Нет, я конечно догадываюсь, что это какая-то модель партнеров, но, я вот поставил App Projects, как мне понять, какие там модели, их методы? Да здравствуют бубны - лезем в код odoo, и, какая прелесть, нахожу в /usr/lib/python2.7/dist-packages/openerp/addons/project файлик project.py где все быстро становится понятным:

Т.е. у меня теперь есть модели project.project, project.task, project.task.type, etc.. с которыми я и попробою поработать из php в следующем посте.

 

1481032620