Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
746 commits
Select commit Hold shift + click to select a range
ef4dfe9
Invalid cache in write method only if the state is in the value to up…
Jun 2, 2015
935b13c
Update docstrings by Guewen (c2c)
Jun 2, 2015
25cfa0d
Set Odoo path from travis environ
guewen Jun 1, 2015
48ab89d
Use odoo-sphinx-autodoc to build correctly the doc
guewen Jun 2, 2015
776dd94
New test: check if the cache is different for different modules
guewen Jun 3, 2015
ed39c80
Rename module.py to ir_module_module.py
guewen Jun 3, 2015
9d52d3f
Test the cache invalidation on 'base' instead of 'connector'
guewen Jun 3, 2015
37ed53c
Remove useless trick in is_module_installed
guewen Jun 3, 2015
5bb6ab2
[IMP] job view
bealdav Jun 4, 2015
5fc19b8
[FIX] common.DB is gone in 8.0 stable
sbidoul Jun 12, 2015
768d34f
[DOC] small improvent
mathi123 Jun 16, 2015
1a78a2e
manage retryable job with runner
Jul 2, 2015
a615e74
Add an index on queue_job.worker_id
Jul 2, 2015
5845d00
[IMP] Add retry pattern for jobs
JosDeGraeve Jun 1, 2015
8494f45
FIX: sort the retry dictionairy by retry count
JosDeGraeve Jun 1, 2015
e19aab8
Keep the retry pattern on the @job definition rather than in jobs
guewen Jun 2, 2015
0a52730
Use seconds of the higher retry count of the retry pattern
guewen Jun 2, 2015
1d6d3f4
Remove field queue_job.retry_pattern
Jun 9, 2015
4caa398
Add line in the changes file
Jul 3, 2015
bbf3a9a
Mapper: add modifier to follow m2o relations
LeartS Jul 14, 2015
896e8d1
Add simple test case and fix PEP8
LeartS Jul 14, 2015
d349e05
Move fields to avoid jobs view overflows
Jul 23, 2015
a505c9e
A None capacity means infinite. Fix logging error
Jul 24, 2015
9665f0d
Do not pass self as 'message' of set_pending()
Jul 24, 2015
2fedbd0
[FIX] seconds defaults to RETRY_INTERVAL when no retry_pattern is spe…
Jul 24, 2015
303b4f9
[FIX] retry_pattern in job decorator.
Jul 27, 2015
edf9260
create environment with a classmethod
Aug 20, 2015
8cf934f
FIX: pep8
Aug 20, 2015
531303d
Added unittests
Aug 20, 2015
4686b78
FIX: Make sure kwargs is instantiated
Aug 20, 2015
48be558
FIX: documentation / ADD: authors and changes
Aug 20, 2015
f6b4360
FIX: Typo in CHANGES.rst / DOC: py:meth instead py:class
Aug 20, 2015
be173ff
OCA Transbot updated translations from Transifex
oca-transbot Sep 1, 2015
d6601a1
Implemented a default binder to avoid reimplementing it in each conne…
ccomb Jun 2, 2015
e2a5576
Mention the default implementation is the doc
ccomb Jun 2, 2015
b6b06cf
Correct flake8 warning: long line
Jul 3, 2015
07915f4
Slight changes in the docstrings
Jul 3, 2015
66b2a89
Binder.to_openerp() always returns a recordset
Jul 3, 2015
0de33ee
Add a line in the changes file
Jul 3, 2015
8cd13c3
Release 3.2.0
Sep 10, 2015
5f86bd2
Correct the authors list: missing company
Sep 11, 2015
0add819
OCA Transbot updated translations from Transifex
oca-transbot Sep 13, 2015
5432a57
Add OCA icon
flotho Aug 21, 2015
316da82
[IMP] improve job runner documentation
sbidoul Sep 26, 2015
b1c9ed7
[IMP] mention web_kanban in the --load option as it is the odoo default
sbidoul Sep 26, 2015
c111351
[IMP] answer another jobrunner FAQ in the documentation
sbidoul Sep 28, 2015
8157055
Allow to define seconds when raising RetryableJobError
Oct 6, 2015
bbbc02e
Allow to ignore the retry counter when raising RetryableJobError
Oct 6, 2015
7afa30b
Exception should be raised with arguments
Oct 7, 2015
c57e3df
[UPD] prefix versions with 8.0
sbidoul Oct 9, 2015
8fe2853
OCA Transbot updated translations from Transifex
oca-transbot Oct 11, 2015
c4e0fde
Add WooCommerce connector link in documentation
Oct 13, 2015
ff630f6
[MIG] Make modules uninstallable
pedrobaeza Oct 14, 2015
a082af7
Check if a module is installed from the registry
Oct 15, 2015
c83a6ab
OCA Transbot updated translations from Transifex
oca-transbot Oct 18, 2015
7eae36f
Add 'mock_job_delay_to_direct' to ease tests on jobs
Oct 1, 2015
7735fb3
[FIX] Set job to failed after non-retryable OperationalError
npiganeau Oct 26, 2015
d47cc38
[FIX] Yield session in a clear_upon_failure() environment
npiganeau Oct 21, 2015
24895b3
Update mailing list address
Oct 30, 2015
0214fbd
[8.0][FIX] when a job fails, inactive users are added to its followers
Olivier-LAURENT Oct 30, 2015
1ab38e5
Context manager to acquire Postgres advisory locks
Nov 2, 2015
e77305b
Rename try_advisory_lock to advisory_lock_or_retry
Nov 3, 2015
56f9021
OCA Transbot updated translations from Transifex
oca-transbot Nov 8, 2015
4f39af5
Update index.rst
maxime-c2c Nov 16, 2015
72c2174
Set job back to 'pending' in case of exception
mdietrichc2c Nov 18, 2015
fdbc546
Fix bug introduced in c97ebbd in jobrunner
Nov 27, 2015
0b126fe
Fix the fix c3fefd2 :-(
Dec 3, 2015
334557a
[FIX] correctly obtain the list of database with odoo is started with…
sbidoul Dec 27, 2015
801d2ad
[FIX] ignore dbfilter containing %d or %h, fixes #58
sbidoul Dec 27, 2015
fcc6e2a
Manage non-ascii PG errors
npiganeau Dec 28, 2015
1cb4557
Removed trailing whitespace
npiganeau Dec 28, 2015
842e53b
Use tools.ustr() instead of unicode()
npiganeau Jan 4, 2016
b961bbc
OCA Transbot updated translations from Transifex
oca-transbot Jan 16, 2016
731faf0
Prevent to unpickle globals which are not jobs
Feb 8, 2016
aac1787
Fix too long line
Feb 22, 2016
f648186
Release 8.0.3.3.0
Feb 29, 2016
11e5459
Update mailing list address
Oct 30, 2015
fe6ef9a
Update index.rst
maxime-c2c Nov 16, 2015
9632f45
[FIX] ignore dbfilter, fixes #58
sbidoul Jan 4, 2016
59cc03a
[MIG] Make module installable
lmignon Feb 15, 2016
0dd847f
[MIG] Use python standard lib unittest in place of unittest2
lmignon Feb 15, 2016
f01e03e
[MIG] email followers are instance of model 'mail.followers'
lmignon Feb 15, 2016
a05ff4d
[MIG] value returned by _company_default_get is a BrowseRecord
lmignon Feb 15, 2016
1d75be3
[DEL] Remove the old connector worker
lmignon Feb 15, 2016
e549508
[PEP8]
lmignon Feb 15, 2016
2f507ec
[FIX] In the last release of Odoo related partner created from an ina…
lmignon Feb 15, 2016
d164519
[FIX] The first version is 9.0.1.0.0
lmignon Feb 15, 2016
e1aa811
[FIX] fix path of odoo for doc build
lmignon Feb 18, 2016
58459d3
[DEL] Remove deprecated APIs
lmignon Feb 29, 2016
cfbac6b
remove remnants of workers
sbidoul Mar 3, 2016
88ec993
enable the jobrunner by default
sbidoul Mar 3, 2016
aee550d
bump version
sbidoul Mar 3, 2016
28bb843
remove unused import
sbidoul Mar 3, 2016
b0bbdea
update changelog
sbidoul Mar 3, 2016
143c081
adapt to upstream api change to obtain db connection
sbidoul Mar 3, 2016
cc29a97
Bump version number
sbidoul Mar 3, 2016
8e7ce3f
Move connector settings menu to technical
lasley Apr 29, 2016
252a30a
Fix backend_to_m2o to extract id of the binding
Dec 1, 2015
33b65cc
[DOC] fix highlight of license
yvaucher Jun 29, 2016
e0987ee
OCA Transbot updated translations from Transifex
oca-transbot Aug 13, 2016
b75fe8f
Add job_uuid in context
YannickB Mar 2, 2016
407d7b8
Added test for job uuid in session context.
nicolas-petit Mar 11, 2016
6d55924
Removing log traces.
nicolas-petit Mar 11, 2016
220efa9
[FIX] remove en.po that was erroneously created by transbot
sbidoul Aug 15, 2016
e4ade4c
OCA Transbot updated translations from Transifex
oca-transbot Aug 20, 2016
2ca3aa2
[FIX] error handling bug
sbidoul Aug 20, 2016
f3f9957
[DOC] remove mention of v9 crowdfunding
sbidoul Aug 20, 2016
0a70cac
[REF] remove old code that was there for backward compatibility
sbidoul Aug 20, 2016
4865ae3
[ADD] first implementation of channel delay
sbidoul Aug 20, 2016
006470e
[IMP] to be consistent, use the same 'now' concept everywhere
sbidoul Aug 20, 2016
2004f8a
[IMP] more precise wakeup at the end of delays between jobs
sbidoul Aug 22, 2016
cffcbe6
rename delay key as throttle
sbidoul Aug 23, 2016
a75acf6
Fix wrong recordset returned when no binding found
Sep 6, 2016
61c225b
[FIX] connector: Zero value assertion
lasley Sep 14, 2016
3f57317
Remove cancellation of jobs and their active flag
May 24, 2016
796d095
OCA Transbot updated translations from Transifex
oca-transbot Sep 17, 2016
09ad53a
Set addons uninstallable
Oct 3, 2016
4682b81
Make the connector addon installable
Oct 3, 2016
82b203b
Replace 'select=True' by 'index=True'
Oct 3, 2016
7462160
Rename openerp to odoo in Python files
Oct 3, 2016
6e7b818
Rename xml files with odoo instead of openerp
Oct 3, 2016
6868930
Rename openerp to odoo in docs
Oct 3, 2016
7a2d514
Replace monkey-patch by a proper inherit
Oct 3, 2016
32ab9ab
Remove usage of @api.one
Oct 3, 2016
c838a64
Upgrade version number
Oct 4, 2016
362e47e
Replace ConnectorSession by odoo.Environment
Oct 4, 2016
e5d1d2c
Merge JobStorage into Job
Oct 4, 2016
976ab69
Extract the queue_job from connector
Oct 4, 2016
03cbfa7
Remove ConnectorSession
Oct 4, 2016
736d804
Typo
Oct 4, 2016
952e4a4
Remove migration code for a previous odoo version
Oct 4, 2016
539d658
Use short license headers
Jan 12, 2017
842054d
Add is_module_installed function
Jan 12, 2017
c20de7f
Rework slighty the default Binder
Jan 12, 2017
a3dbdc1
Add a test_connector addon
Jan 12, 2017
e71dee5
Start to actualize documentation
Jan 12, 2017
4c3148a
Remove 'env' argument from ConnectorEnvironment
Jan 12, 2017
86135f5
Remove application flag, not an application
Jan 12, 2017
fa309f9
str to ustr
leemannd Feb 17, 2017
7b78658
Tentative to build docs
Mar 6, 2017
e696756
Remove invalid URL
Mar 9, 2017
9063e15
OCA Transbot updated translations from Transifex
oca-transbot Mar 11, 2017
f9afedd
[FIX] mapper: Remove orphan method _map_children
lmignon Jun 8, 2017
b136bcf
OCA Transbot updated translations from Transifex
oca-transbot Jul 15, 2017
121e090
Start prototype of a component system
Jan 12, 2017
64fddfb
Start to implement the collection system
Jan 12, 2017
721178a
Improve on the collections, work, ...
Jan 15, 2017
882e179
Extract 'components' into an individual addon
Jan 15, 2017
fdfb703
Add test_component
Jan 15, 2017
c807483
Start to use 'components' in connector
Feb 27, 2017
b79edfa
Add core components in connector
Jun 12, 2017
b77f5f6
Add AbstractComponent
Jun 13, 2017
8b5aec7
Remove overrides of attributes
Jun 13, 2017
c06cc14
Replace unit_for by components
Jun 13, 2017
e5e06ca
Instanciate the component returned by name
Jun 13, 2017
c32aa3a
Get rid of MetaMapper
Jun 14, 2017
844ba9b
Make unwrap_binding compatible with components
Jun 14, 2017
158bd57
Use 2 different methods for single/many lookup
Jun 15, 2017
dfde693
Add tests for connector mapper
Jun 16, 2017
1f6e68b
Add deprecation comments
Jun 16, 2017
e3d1277
Remove some Mapper duplication
Jun 16, 2017
d2fad52
Add/move tests for advisory locks
Jun 16, 2017
07cce4a
Update documentation
Jun 17, 2017
922d562
Start to write a migration guide
Jun 17, 2017
fb1d765
Draft new component_event addon
Jun 17, 2017
5533385
Move test_producer in deprecated
Jun 19, 2017
859b521
Continue the migration guide
Jun 19, 2017
cc50ae2
Rewrite some parts of the doc, notably code overview
Jun 19, 2017
0a80249
Fix test: post_install
Jun 19, 2017
d0dedde
We have now the 3 parts with a new API :)
Jun 20, 2017
57b84d6
Add Manager group on partner view connector's tab
Jun 21, 2017
06ad988
Add @skip_if decorator to skip events
Jun 22, 2017
26424ec
Change Collection.work_on() to a context manager
Jun 22, 2017
37c14db
Remove required on the version field
Jun 23, 2017
b194061
Simplify tests by loading modules components
Jun 30, 2017
0b3746a
Add new TestCase classes to test connectors
Jul 4, 2017
c0210cb
Exclude current addon in ComponentRegistryCase setup
Jul 6, 2017
8c6ed42
Add a content index in the migration guide
Jul 10, 2017
dddc405
Checkpoint wizard is too slow
Jul 11, 2017
dd44075
Add readme files
Jul 11, 2017
25d9d9a
Bump connector version
Jul 11, 2017
cdde031
Add links for versions in doc
Aug 22, 2017
10c5c19
[10.0][FIX] connector : Avoid creating void child values
rousseldenis Sep 20, 2017
ba7e798
[MIG] Set modules uninstallable
Oct 3, 2017
7e43202
Make addons installable
Oct 3, 2017
b206b0e
PY3: apply automated changes by 2to3 on addons
Oct 3, 2017
299f517
Remove ConnectorUnit features
Oct 3, 2017
0db2f6e
Apply odoo renaming of models or methods in connector
Oct 3, 2017
1bd570d
PY3: hashlib.hasher takes bytes
Oct 3, 2017
2344758
Use the conventional module layout
Oct 3, 2017
41c93b9
Fix build of docs
Oct 4, 2017
821366a
Build 11.0 docs
Jan 10, 2018
b3ae8f8
Fix connector docs dotted path to models
simahawk Mar 30, 2018
27f7e9b
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
b3fd350
Translated using Weblate (French)
Jun 27, 2018
1158215
Improve documentation of APIs
Mar 30, 2018
42c94e4
Add RecordLocker component
Jul 18, 2018
83f3f00
Translated using Weblate (Portuguese (Brazil))
Aug 3, 2018
38762ba
Fix documentation build
Nov 6, 2018
b911547
Migrate connector to 12.0
Nov 26, 2018
bfda670
[IMP] add generic exporter extracted from Magento connector
Oct 9, 2017
2417fb4
Make connector checkpoint compatible in multi company environment
florian-dacosta May 8, 2019
07e454d
[IMP] connector: Add Infor and Voicent connectors
max3903 Jul 1, 2019
914ce85
Translated using Weblate (Portuguese (Brazil))
Aug 26, 2019
4fed82a
Translated using Weblate (Chinese (Simplified))
liweijie0812 Aug 29, 2019
7c5d9fd
Set modules uninstallable
Oct 10, 2019
816ff1f
[UPD] make the sphinx config version independent
gurneyalex Oct 11, 2019
74a066e
[12.0][CHG] connector: Use more permissive licence: AGPL-> LGPL
lmignon Oct 14, 2019
2c18301
[MIG] connector and test_connector: Migration to 13.0
Oct 22, 2019
de70ee0
connector, test_connector: black isort
lmignon Oct 25, 2019
2e3678f
Translated using Weblate (Chinese (Simplified))
liweijie0812 Dec 13, 2019
f5ef4b4
Translated using Weblate (Portuguese (Brazil))
Mar 21, 2020
940bd0c
[doc] build 13.0 as main documentation
May 19, 2020
248b6e5
[doc] fix links
May 19, 2020
8e6b48b
connector: Delete 12.0 migrations in module 13.0
Jun 17, 2020
5c36af5
Translated using Weblate (Chinese (Simplified))
liweijie0812 Jul 8, 2020
bcff31a
[IMP] connector: black, isort, prettier
eantones Oct 16, 2020
1b49292
[MIG] connector: Migration to 14.0
eantones Oct 16, 2020
e31f8a8
Remove connector checkpoints
guewen Mar 26, 2021
2a541d0
connector: add web_icon to root menu item
ruuter Dec 7, 2020
5d8068d
connector: new app icon
ruuter Dec 7, 2020
871ab23
connector 14.0.1.1.0
OCA-git-bot Aug 16, 2021
196968e
Initialize 15.0 branch
lmignon Nov 25, 2021
a8493a5
[MIG][15.0] component
i-vyshnevska Dec 2, 2021
b418adf
connector: fix collections.Callable warning
simahawk Apr 13, 2022
79c1753
connector 15.0.1.0.1
OCA-git-bot Apr 14, 2022
cc04f54
Use built-in callable()
florentx May 5, 2022
7ac7cd2
connector 15.0.1.0.2
OCA-git-bot May 6, 2022
2a50190
[REF] remove explicit 'object' inheritance
florentx Jan 27, 2022
08d2882
[REF] obsolete coding cookie
florentx Feb 2, 2022
6c77850
[FIX] typos in connector.mapper docstrings
florentx Feb 2, 2022
eb37298
[FIX] connector: restore binder context
danielduqma Sep 9, 2020
d867e7f
connector 15.0.1.0.3
OCA-git-bot Aug 1, 2022
a41394d
[IMP] connector: bump icon style
ivantodorovich Sep 5, 2022
704dbe0
connector 15.0.1.0.4
OCA-git-bot Sep 5, 2022
219683e
[16.0][MIG] connector + test_connector: Migration to 16.0
asierneiradev Sep 28, 2022
9abe019
Translated using Weblate (Spanish)
Ivorra78 Aug 2, 2023
3459503
[IMP] connector: black, isort, prettier
nguyenminhchien Nov 27, 2023
0c47a65
[MIG] connector: Migration to 17.0
nguyenminhchien Dec 11, 2023
0320cec
Translated using Weblate (Italian)
mymage Feb 4, 2024
18a257b
[FIX] connector: Pre-commit fixes
pedrobaeza May 1, 2024
6deb0a4
[MIG] connector: Migration to 18.0
thienvh332 Sep 19, 2024
4eb8d64
Update translation files
weblate Oct 17, 2024
65f5865
[IMP] update dotfiles
OCA-git-bot Oct 20, 2024
6805001
[FIX] connector: Do not depend on demo data
etobella Jan 28, 2026
1364c49
[IMP] connector: pre-commit auto fixes
mkoeck Nov 26, 2025
7af14cd
[MIG] connector: Migration to 19.0
mkoeck Mar 1, 2026
df04ecc
Merge PR #531 into 19.0
OCA-git-bot May 20, 2026
0e78cbb
[UPD] Update connector.pot
May 20, 2026
ce58b61
[BOT] post-merge updates
OCA-git-bot May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ addon | version | maintainers | summary
--- | --- | --- | ---
[component](component/) | 19.0.1.0.0 | <a href='https://github.com/guewen'><img src='https://github.com/guewen.png' width='32' height='32' style='border-radius:50%;' alt='guewen'/></a> | Add capabilities to register and use decoupled components, as an alternative to model classes
[component_event](component_event/) | 19.0.1.0.0 | | Components Events
[connector](connector/) | 19.0.1.0.0 | | Connector

[//]: # (end addons)

Expand Down
170 changes: 170 additions & 0 deletions connector/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=========
Connector
=========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:30cbe64d4740cd41efde4fdbf0d417de356437298f8e0b638275c997d0e6e63e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fconnector-lightgray.png?logo=github
:target: https://github.com/OCA/connector/tree/19.0/connector
:alt: OCA/connector
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/connector-19-0/connector-19-0-connector
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/connector&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This is a framework designed to build connectors with external systems,
usually called ``Backends`` in the documentation.

Documentation: http://odoo-connector.com

It features:

- A jobs queue

In which the connectors can push functions (synchronization tasks)
to be executed later.

- An event pattern

The connectors can subscribe listener functions on the events,
executed when the events are fired.

- Connector base classes

Called ``ConnectorUnit``.

Include base classes for the use in connectors, ready to be
extended:

- ``Synchronizer``: flow of an import or export
- ``Mapper``: transform a record according to mapping rules
- ``Binder``: link external IDs with local IDS
- ``BackendAdapter``: adapter interface for the exchanges with the
backend
- But ``ConnectorUnit`` can be extended to accomplish any task

- A multi-backend support

Each ``ConnectorUnit`` can be registered amongst a backend type
(eg. Magento) and a backend version (allow to have a different
``Mapper`` for each backend's version for instance)

It is used for example used to connect
`Magento <http://odoo-magento-connector.com>`__ and
`Prestashop <https://github.com/OCA/connector-prestashop>`__, but also
used with Solr, CMIS, ...

**Table of contents**

.. contents::
:local:

Usage
=====

This module does nothing on its own. It is a ground for developing
advanced connector modules. For further information, please go on:
http://odoo-connector.com

Changelog
=========

Next
----

12.0.1.0.0 (2018-11-26)
-----------------------

- [MIGRATION] from 12.0 branched at rev. 324e006

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/connector/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/connector/issues/new?body=module:%20connector%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Camptocamp

Contributors
------------

- Guewen Baconnier at Camptocamp
- Alexandre Fayolle at Camptocamp
- Benoit Guillot at Akretion
- Nicolas Bessi at Camptocamp
- Joël Grand-Guillaume at Camptocamp
- Arthur Vuillard at Akretion
- Sebastien Beau at Akretion
- Laurent Mignon at Acsone
- Leonardo Pistone at Camptocamp
- David Béal at Akretion
- Christophe Combelles at Anybox
- Stéphane Bidoul at Acsone
- Malte Jacobi at IBO / HTW
- Laetitia Gangloff at Acsone
- David Lefever at Taktik S.A.
- Jos de Graeve at Apertoso NV
- Jean-Sébastien Suzanne at Anybox
- Leonardo Donelli at MONK Software
- Mathias Colpaert
- Yannick Vaucher at Camptocamp
- Nicolas Piganeau at NDP Systèmes
- Florent Thomas at Mind And Go
- Matthieu Dietrich at Camptocamp
- Olivier Laurent at Acsone
- Eric Antones at NuoBiT Solutions S.L.
- Asier Neira at Factor Libre S.L.
- Nguyen Minh Chien at Trobz.

Other credits
-------------

The migration of this module from 17.0 to 18.0 was financially supported
by Camptocamp.

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/connector <https://github.com/OCA/connector/tree/19.0/connector>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions connector/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import components
from . import models
18 changes: 18 additions & 0 deletions connector/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2013 Camptocamp SA
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)

{
"name": "Connector",
"version": "19.0.1.0.0",
"author": "Camptocamp,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/connector",
"license": "LGPL-3",
"category": "Generic Modules",
"depends": ["mail", "queue_job", "component", "component_event"],
"data": [
"security/connector_security.xml",
"views/connector_menu.xml",
"views/res_partner_views.xml",
],
"installable": True,
}
7 changes: 7 additions & 0 deletions connector/components/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from . import core
from . import backend_adapter
from . import binder
from . import mapper
from . import listener
from . import locker
from . import synchronizer
64 changes: 64 additions & 0 deletions connector/components/backend_adapter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Copyright 2013 Camptocamp SA
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)

"""

Backend Adapter
===============

An external adapter has a common interface to speak with the backend.
It translates the basic orders (search, read, write) to the protocol
used by the backend.

"""

from odoo.addons.component.core import AbstractComponent


class BackendAdapter(AbstractComponent):
"""Base Backend Adapter for the connectors"""

_name = "base.backend.adapter"
_inherit = "base.connector"
_usage = "backend.adapter"


# pylint: disable=W8106
class CRUDAdapter(AbstractComponent):
"""Base External Adapter specialized in the handling
of records on external systems.

This is an empty shell, Components can inherit and implement their own
implementation for the methods.

"""

_name = "base.backend.adapter.crud"
_inherit = "base.backend.adapter"
_usage = "backend.adapter"

def search(self, *args, **kwargs):
"""Search records according to some criterias
and returns a list of ids"""
raise NotImplementedError

def read(self, *args, **kwargs):
"""Returns the information of a record"""
raise NotImplementedError

def search_read(self, *args, **kwargs):
"""Search records according to some criterias
and returns their information"""
raise NotImplementedError

def create(self, *args, **kwargs):
"""Create a record on the external system"""
raise NotImplementedError

def write(self, *args, **kwargs):
"""Update records on the external system"""
raise NotImplementedError

def delete(self, *args, **kwargs):
"""Delete a record on the external system"""
raise NotImplementedError
Loading
Loading