Search 1.9 billion lines of Odoo code on GitHub

connector_openproject

Author: Naglis Jonaitis
License: AGPL-3
Branch: 10.0
Repository: crtmneric/misc-addons-1
Dependencies: component, connector, hr_timesheet, and queue_job
Languages: JSON (732, 25.3%), Python (1769, 61.2%), XML (315, 10.9%), and reStructuredText (75, 2.6%)
Other branches: 10.0-fix-get-amount-string, and issue-12
Other repositories: Drsmartinkus/misc-addons, Guobower/misc-addons, HarshalBhoir/misc-addons, IaseshviliGeorgiy/misc-addons, OdooBulgaria/misc-addons, PrenorSistemas/misc-addons, TRESCLOUD/misc-addons, Vassy/misc-addons, focusate/naglis-misc-addons, grottas/misc-addons-1, mucahitaz/misc-addons, naglis/misc-addons, njeudy/misc-addons-1, odoobgorg/misc-addons, prodax/misc-addons, sasakuma/misc-addons-1, sm2x/misc-addons-1, and versada/misc-addons

<h1 class="title">OpenProject Connector</h1> <p>OpenProject Connector is a unidirectional (OpenProject -&gt; Odoo) connector, compatible with Odoo 10.0 and <a class="reference external" href="https://www.openproject.org/">OpenProject</a> 7.3+.</p> <a name="what-can-be-synchronized"></a> <h2>What can be synchronized?</h2> <ul class="simple"> <li>Users -&gt; Users (<cite>res.users</cite>);</li> <li>Projects -&gt; Projects (<cite>project.project</cite>);</li> <li>Work Packages -&gt; Tasks (<cite>project.task</cite>);</li> <li>Time Entries -&gt; Timesheet Lines (<cite>account.analytic.line</cite>);</li> <li>Work Package Activities (comments, updates) -&gt; Messages (<cite>mail.message</cite> under <cite>project.task</cite>);</li> <li>Work Package Statuses -&gt; Stages (<cite>project.task.type</cite>).</li> </ul> <a name="installation"></a> <h2>Installation</h2> <p>To install this module, you need to:</p> <ol class="arabic simple"> <li>Install <a class="reference external" href="https://github.com/oca/connector">Odoo Connector</a> module.</li> <li>Install pip dependencies for this module (check the <em>requirements.txt</em> file at the top level in module repository).</li> </ol> <a name="configuration"></a> <h2>Configuration</h2> <a name="openproject-side"></a> <h3>OpenProject side</h3> <ol class="arabic simple"> <li>Create a limited role for Odoo synchronization, eg. <em>Odoo</em> with the following permissions:<ol class="arabic"> <li><em>Time tracking / View spent time</em>.</li> <li><em>Work package tracking / View work packages</em>.</li> </ol> </li> <li>Create an Odoo synchronization user (eg. <em>Odoo Bot</em>) and assign it with the <em>Odoo</em> role to all projects you will be syncing with Odoo.</li> <li>Generate an API key for the <em>Odoo Bot</em> user.</li> </ol> <a name="odoo-side"></a> <h3>Odoo side</h3> <ol class="arabic"> <li><p class="first">Configure the OpenProject Connector queue job channel in your Odoo configuration file, eg.:</p> <blockquote> <pre> <code lang="ini">[queue_job] channels = root:2,root.openproject:1</code> </pre> </blockquote> </li> <li><p class="first">Login to your Odoo instance with a user with <em>Connector Manager</em> access rights.</p> </li> <li><p class="first">In debug mode (<em>Settings -&gt; Activate the developer mode</em>) go to <em>Connectors -&gt; OpenProject -&gt; Backends</em> and create a new backend for your OpenProject instance, fill in the name, OpenProject instance URL and API key of the OpenProject synchronization user. Once finished, save the record.</p> </li> </ol> <a name="usage"></a> <h2>Usage</h2> <ol class="arabic simple"> <li>Login to your Odoo instance with a user with <em>Connector Manager</em> access rights.</li> <li>In debug mode go to <em>Settings -&gt; Technical -&gt; Automation -&gt; Scheduled Actions</em>, select <em>OpenProject Sync</em>) and click the <em>Run Manually</em> button or click the <em>Run Import</em> button on the OpenProject backend record.</li> <li>On the OpenProject backend record, click on the <em>Projects</em> button at the top - the projects from your OpenProject instance will appear here after synchronization finishes.</li> <li>Once all projects are created (no more pending jobs in <em>Job Queue -&gt; Queue -&gt; Jobs</em>), configure the projects and things you want to synchronize for each project (whether to sync work packages descriptions, and which types of activites to sync).</li> <li>Once done with the configuration, run the <em>OpenProject Sync</em> cron job again.</li> </ol> <a name="known-issues-roadmap"></a> <h2>Known issues / Roadmap</h2> <ul class="simple"> <li>OpenProject time entry API endpoint currently does not support <em>updatedAt</em> filtering. See also: <a class="reference external" href="https://goo.gl/Kst39h">https://goo.gl/Kst39h</a>.</li> </ul> <a name="faq"></a> <h2 class="with-subtitle">FAQ</h2> <h2 class="section-subtitle" id="are-you-planning-on-making-it-bidirectional"><span class="section-subtitle">Are you planning on making it bidirectional?</span></h2> <p>Personally, no, as currently I do not have a need for it. If you want to give a try yourself, please note that the current version of the OpenProject API (at the time of writing: API v3 on OpenProject 7.4) <a class="reference external" href="http://docs.openproject.org/apiv3-doc/#projects">does not support</a> creating projects via API, same goes for time entries, but at least for time entries <a class="reference external" href="https://community.openproject.com/projects/openproject/work_packages/26108/activity">create support is planned</a>.</p> <a name="credits"></a> <h2 class="with-subtitle">Credits</h2> <h2 class="section-subtitle" id="images"><span class="section-subtitle">Images</span></h2> <ul class="simple"> <li>Module icon by <a class="reference external" href="https://www.openproject.org/contact-us/">OpenProject Foundation</a>.</li> </ul>