From 0ad9b9535f48a9042a3e8e419e3cf595212e1390 Mon Sep 17 00:00:00 2001 From: tiku-odoo Date: Wed, 14 Feb 2024 13:39:50 -0500 Subject: [PATCH] [IMP] iot: windows iot worldline exception closes odoo/documentation#7836 X-original-commit: 4dc8875b42edded4699880a6b752ccd2f034bd55 Signed-off-by: Zachary Straub (zst) Signed-off-by: Timothy Kukulka (tiku) --- .../productivity/iot/config/windows_iot.rst | 117 +++++++++++++++++- .../config/windows_iot/advanced-settings.png | Bin 0 -> 16250 bytes .../iot/config/windows_iot/inbound-rules.png | Bin 0 -> 34806 bytes .../iot/config/windows_iot/new-rule.png | Bin 0 -> 5684 bytes .../iot/config/windows_iot/protocol-port.png | Bin 0 -> 39505 bytes .../iot/config/windows_iot/radio-port.png | Bin 0 -> 17638 bytes 6 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 content/applications/productivity/iot/config/windows_iot/advanced-settings.png create mode 100644 content/applications/productivity/iot/config/windows_iot/inbound-rules.png create mode 100644 content/applications/productivity/iot/config/windows_iot/new-rule.png create mode 100644 content/applications/productivity/iot/config/windows_iot/protocol-port.png create mode 100644 content/applications/productivity/iot/config/windows_iot/radio-port.png diff --git a/content/applications/productivity/iot/config/windows_iot.rst b/content/applications/productivity/iot/config/windows_iot.rst index 80b439f44..4d027f3c2 100644 --- a/content/applications/productivity/iot/config/windows_iot.rst +++ b/content/applications/productivity/iot/config/windows_iot.rst @@ -29,7 +29,7 @@ installation. - Windows computer (laptop, desktop, or server). - Odoo :abbr:`IoT (Internet of Things)` subscription. Refer to: :ref:`iot/iot-eligibility`. -Connect the Windows virtual Iot box to an Odoo database +Connect the Windows virtual IoT box to an Odoo database ======================================================= The Windows virtual IoT box is simple to setup in just a few easy steps. Follow this process when @@ -44,7 +44,7 @@ and setup the Odoo :file:`.exe` file. After the instructions screen, click :guil the installation and agree to the :abbr:`TOS (Terms of Service)`. During the next step of the installation, select :guilabel:`Odoo IoT` from the :guilabel:`Select the -type of install` dropdown. +type of install` drop-down menu. .. example:: For reference, the following should be installed: @@ -68,13 +68,13 @@ To complete the installation, select the :guilabel:`Destination Folder` and clic the hard drive. .. warning:: - Odoo's Windows virtual IoT software shouldn't be installed inside any of the Window's User's - directories. Doing so won't allow for Nginx to initialize. + Odoo's Windows virtual IoT software should not be installed inside any of the Window's User's + directories. Doing so will not allow for Nginx to initialize. The installation may take a few minutes. When complete, click :guilabel:`Next` to continue. Ensure that the :guilabel:`Start Odoo` box is checked and click :guilabel:`Finish`. After -installation, the Odoo server will run and automatically open `http://localhost:8069` on your web +installation, the Odoo server will run and automatically open `http://localhost:8069` on a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage. .. seealso:: @@ -160,7 +160,7 @@ firewall program. Windows has their own firewall as do other virus protection pr Making an exception on Windows Defender ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -It's possible to allow other devices to access the Windows virtual :abbr:`IoT (Internet of Things)` +It is possible to allow other devices to access the Windows virtual :abbr:`IoT (Internet of Things)` box while keeping the firewall on. This is done by creating a rule on *Windows Defender* and allowing communication through port `8069`. The following process describes the steps to take in order to make this exception. @@ -196,6 +196,111 @@ add a brief description in the :guilabel:`Description` field. Click :guilabel:`F the :guilabel:`Rule Configuration` wizard. Now, the new rule is active and devices can connect to the Windows virtual :abbr:`IoT (Internet of Things)` box. +Worldline exception +~~~~~~~~~~~~~~~~~~~ + +*Worldline* is a payment terminal that can be connected to Odoo's *PoS* (point of sale) system. It +allows for a comprehensive and fluid payment experience for customers. Worldline is available in +Benelux (coalition of Belgium, the Netherlands, and Luxembourg). + +When using the Windows IoT server to connect the Worldline payment terminal, it is necessary to +create an exception in the Windows firewall so that a connection can be made between the Odoo +database/:abbr:`IoT (Internet of Things)` box and Worldline. + +.. seealso:: + :doc:`../../../sales/point_of_sale/payment_methods/terminals/worldline` + +To create the exception, first, open the *Windows Defender Firewall* app on the Windows machine. +This can be accomplished by typing `windows defender` in the :guilabel:`Search` bar. + +Next, click :guilabel:`Advanced settings` in the left menu. + +.. image:: windows_iot/advanced-settings.png + :align: center + :alt: Advanced settings option highlighted in the left pane of the Windows Defender Firewall app. + +In the left menu, choose :guilabel:`Inbound Rules`. + +.. image:: windows_iot/inbound-rules.png + :align: center + :alt: Windows Defender left window pane with inbound rules menu item highlighted. + +After selecting :guilabel:`Inbound Rules`, select :guilabel:`New Rule` in the far right menu. + +.. image:: windows_iot/new-rule.png + :align: center + :alt: New rule dropdown shown with new rule option highlighted. + +Then, for the :guilabel:`Rule Type`, select the radio button for :guilabel:`Port`. Click +:guilabel:`Next` to continue to the rest of the configuration. + +.. image:: windows_iot/radio-port.png + :align: center + :alt: Rule Type window open, with the radio button next to port highlighted. + +On the :guilabel:`Protocols and Ports` page, choose the radio button for :guilabel:`TCP`, under +:guilabel:`Does this rule apply to TCP or UDP?`. + +Next, under :guilabel:`Does this rule apply to all local ports or specific ports?`, select the radio +button for :guilabel:`Specific local ports`. Then, enter `9050`, and click :guilabel:`Next` to +continue. + +.. image:: windows_iot/protocol-port.png + :align: center + :alt: Protocol/port configuration window with TCP, specific port (9050) and Next highlighted. + +The next screen is the :guilabel:`Action` page. Under :guilabel:`What action should be taken when a +connection matches the specified conditions?`, choose the radio button for :guilabel:`Allow the +connection`. Then, click :guilabel:`Next` to continue. + +A :guilabel:`Profile` page appears. Under :guilabel:`When does this rule apply?`, leave the three +boxes checked for: :guilabel:`Domain`, :guilabel:`Private`, and :guilabel:`Public`. Click +:guilabel:`Next` to continue to the naming convention page. + +On the :guilabel:`Name` page, enter `Odoo Worldline`, under the :guilabel:`Name` field. Enter a +:guilabel:`Description (optional)`. Finally, once ready, click :guilabel:`Finish`. + +The final :guilabel:`Inbound rule` should appear as follows: + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + + * - + - Odoo Worldline + * - Profile + - All + * - Enabled + - Yes + * - Action + - Allow + * - Override + - No + * - Program + - Any + * - Local Address + - Any + * - Remote Address + - Any + * - Protocol + - TCP + * - Local Port + - 9050 + * - Remote Port + - Any + * - Authorized Users + - Any + * - Authorized Computers + - Any + * - Authorized Local Principals + - Any + * - Local User Owner + - Any + * - PolicyAppld + - None + * - Application Package + - Any + Uninstalling Windows IoT ------------------------ diff --git a/content/applications/productivity/iot/config/windows_iot/advanced-settings.png b/content/applications/productivity/iot/config/windows_iot/advanced-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..64e87ae2dc5e7bd67a92382139fe5c099c162931 GIT binary patch literal 16250 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