diff --git a/base_external_system/README.rst b/base_external_system/README.rst index 174de9fd..6874e904 100755 --- a/base_external_system/README.rst +++ b/base_external_system/README.rst @@ -1,10 +1,29 @@ -.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg - :target: http://www.gnu.org/licenses/lgpl.html - :alt: License: LGPL-3 +==================== +Base External System +==================== -====================== -Base - External System -====================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/licence-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%2Fserver--backend-lightgray.png?logo=github + :target: https://github.com/OCA/server-backend/tree/12.0/base_external_system + :alt: OCA/server-backend +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_system + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/253/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| This module provides an interface/adapter mechanism for the definition of remote systems. @@ -14,15 +33,25 @@ it is recommended you use another module (such as `keychain` or `red_october` to encrypt things like the password and private key). This is not done here in order to not force a specific security method. -Implementation -============== +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Configure external systems in Settings => Technical => External Systems + +Usage +===== The credentials for systems are stored in the ``external.system`` model, and are to be configured by the user. This model is the unified interface for the underlying adapters. Using the Interface -------------------- +~~~~~~~~~~~~~~~~~~~ Given an ``external.system`` singleton called ``external_system``, you would do the following to get the underlying system client: @@ -41,7 +70,7 @@ the file system interface in `OCA/server-tools/external_file_location `_. Creating an Adapter -------------------- +~~~~~~~~~~~~~~~~~~~ Modules looking to add an external system adapter should inherit the ``external.system.adapter`` model and override the following methods: @@ -50,47 +79,43 @@ Modules looking to add an external system adapter should inherit the * ``external_destroy_client``: Destroy the connection, if applicable. Does not need to be defined if the connection destroys itself. -Configuration -============= - -Configure external systems in Settings => Technical => External Systems - -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/11.0 - Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smash it by providing detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* LasLabs Contributors ------------- +~~~~~~~~~~~~ * Dave Lasley +* Alexandre Díaz -Maintainer ----------- +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - 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. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/server-backend `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/base_external_system/__manifest__.py b/base_external_system/__manifest__.py index b1bcf852..7e10c32c 100644 --- a/base_external_system/__manifest__.py +++ b/base_external_system/__manifest__.py @@ -4,10 +4,11 @@ { "name": "Base External System", "summary": "Data models allowing for connection to external systems.", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "category": "Base", - "website": "https://laslabs.com/", - "author": "LasLabs, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/server-backend", + "author": "LasLabs, " + "Odoo Community Association (OCA)", "license": "LGPL-3", "application": False, "installable": True, diff --git a/base_external_system/readme/CONFIGURE.rst b/base_external_system/readme/CONFIGURE.rst new file mode 100644 index 00000000..0efcd867 --- /dev/null +++ b/base_external_system/readme/CONFIGURE.rst @@ -0,0 +1 @@ +Configure external systems in Settings => Technical => External Systems diff --git a/base_external_system/readme/CONTRIBUTORS.rst b/base_external_system/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..2a95bd4b --- /dev/null +++ b/base_external_system/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Dave Lasley +* Alexandre Díaz diff --git a/base_external_system/readme/DESCRIPTION.rst b/base_external_system/readme/DESCRIPTION.rst new file mode 100644 index 00000000..c06b0818 --- /dev/null +++ b/base_external_system/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This module provides an interface/adapter mechanism for the definition of remote +systems. + +Note that this module stores everything in plain text. In the interest of security, +it is recommended you use another module (such as `keychain` or `red_october` to +encrypt things like the password and private key). This is not done here in order +to not force a specific security method. diff --git a/base_external_system/readme/USAGE.rst b/base_external_system/readme/USAGE.rst new file mode 100644 index 00000000..7f358b53 --- /dev/null +++ b/base_external_system/readme/USAGE.rst @@ -0,0 +1,32 @@ +The credentials for systems are stored in the ``external.system`` model, and are to +be configured by the user. This model is the unified interface for the underlying +adapters. + +Using the Interface +~~~~~~~~~~~~~~~~~~~ + +Given an ``external.system`` singleton called ``external_system``, you would do the +following to get the underlying system client: + +.. code-block:: python + + with external_system.client() as client: + client.do_something() + +The client will be destroyed once the context has completed. Destruction takes place +in the adapter's ``external_destroy_client`` method. + +The only unified aspect of this interface is the client connection itself. Other more +opinionated interface/adapter mechanisms can be implemented in other modules, such as +the file system interface in `OCA/server-tools/external_file_location +`_. + +Creating an Adapter +~~~~~~~~~~~~~~~~~~~ + +Modules looking to add an external system adapter should inherit the +``external.system.adapter`` model and override the following methods: + +* ``external_get_client``: Returns a usable client for the system +* ``external_destroy_client``: Destroy the connection, if applicable. Does not need + to be defined if the connection destroys itself. diff --git a/base_external_system/static/description/index.html b/base_external_system/static/description/index.html new file mode 100644 index 00000000..14d4ed7e --- /dev/null +++ b/base_external_system/static/description/index.html @@ -0,0 +1,465 @@ + + + + + + +Base External System + + + +
+

Base External System

+ + +

Beta License: LGPL-3 OCA/server-backend Translate me on Weblate Try me on Runbot

+

This module provides an interface/adapter mechanism for the definition of remote +systems.

+

Note that this module stores everything in plain text. In the interest of security, +it is recommended you use another module (such as keychain or red_october to +encrypt things like the password and private key). This is not done here in order +to not force a specific security method.

+

Table of contents

+ +
+

Configuration

+

Configure external systems in Settings => Technical => External Systems

+
+
+

Usage

+

The credentials for systems are stored in the external.system model, and are to +be configured by the user. This model is the unified interface for the underlying +adapters.

+
+

Using the Interface

+

Given an external.system singleton called external_system, you would do the +following to get the underlying system client:

+
+with external_system.client() as client:
+    client.do_something()
+
+

The client will be destroyed once the context has completed. Destruction takes place +in the adapter’s external_destroy_client method.

+

The only unified aspect of this interface is the client connection itself. Other more +opinionated interface/adapter mechanisms can be implemented in other modules, such as +the file system interface in OCA/server-tools/external_file_location.

+
+
+

Creating an Adapter

+

Modules looking to add an external system adapter should inherit the +external.system.adapter model and override the following methods:

+
    +
  • external_get_client: Returns a usable client for the system
  • +
  • external_destroy_client: Destroy the connection, if applicable. Does not need +to be defined if the connection destroys itself.
  • +
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • LasLabs
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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/server-backend project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/base_external_system/views/external_system_view.xml b/base_external_system/views/external_system_view.xml index e1ed17cb..809bc4f4 100755 --- a/base_external_system/views/external_system_view.xml +++ b/base_external_system/views/external_system_view.xml @@ -77,12 +77,15 @@