Back to Top

Odoo SAAS Kit Technical FAQs

Updated 6 March 2024

Also Read Odoo Saas Kit User Manual to know how to set up the module.

INTRODUCTION

The following technical document acts as a supplement technical doc for the Odoo SaaS Kit User Guide. However, presents answers to general and specific client queries on the usage of the Odoo SaaS Kit module.

Furthermore, to Set Up the module, please read Odoo SaaS Kit User Guide

Questions Addressed:

1.) How to add custom modules.
a.) To all existing customers’ instances at once using Common Addon Path.
b.) For a Specific Customer using a Specific Addon Path.

2.) How to provide different access levels to clients on their Instances.
a.) Admin Access to clients
b.) User Access to clients

Searching for an experienced
Odoo Company ?
Find out More

3.) How to install a Python library in a client DB.
a.) For all clients in a Plan using Common Path
b.) For a specific client using Client Specific Path

4.) How to Add Custom Domain in a Saas Contract

a.) Add same_base_url domains
b.) Add custom domains

5.) Managing Saas Contract life cycle

a.) Enable renew mails for Expired Saas Contract
b.) Set Automated action for expired Saas Contract

If you have any other query that is not answered in this guide please contact Our Support Team.

PROVIDING CUSTOM MODULES TO THE CUSTOMERS

Here, all other modules apart from Odoo’s default modules are Custom modules.

There are two methods to install custom modules in the customer’s SaaS instance as mentioned below:

a.) Using Specific Addon Path

Use this method to install a custom module into the Odoo SaaS instance of any particular client.

i.) Navigate through SaaS Kit >> SaaS >> Saas Clients. Then, Open the client details.

a1

ii.) Here, You will see the field- ‘Extra Addon path’. For example: – /opt/odoo12/Odoo-SAAS-Data//MOHITTEST1.demo.com/data-dir/addons/12.0

A2

iii.) Then, Paste the module inside this path folder.

iv.) Once done, log in to your client’s instance using the button.

a3

v.) Now, Run the Developer mode in the client’s instance.

vi.) Then, Go to Apps and click on ‘Update Apps List’ to install the module in the client’s instance.

A4

b.) Using Common Addon Path

Use this method to add a custom module to all the customers at once.

This method also adds the module to every existing SaaS DB_template on your server.

Also, it will be included in any new DB template that you create.

i.) Copy the file for the module(s) and paste it under the following path folder : /opt/odoo12/common_addon/

ii.) This step will add the module to every DB_template on your server. Therefore, it will be automatically added to any new templates and any new clients you create on your server.

iii.) However, To install the module on the SaaS instance of existing customers, you need to install it separately for each customer.

iv.) Open the client form and login to the client’s database.

v.) Run the developer mode, go to apps, and then click on ‘Update Apps List’ to install the module.

TYPES OF ACCESS LEVELS TO THE CLIENTS

You can choose to provide admin access or User Access to your SaaS customers on their SaaS instances.

Admin access would entitle the customer to full access to all the Odoo backend features such as settings, apps, etc.

In User access, you can choose to restrict the customer to only accessing the defined settings and menu.

a.) Give Admin Access to the client on his SaaS Instance

i.) Open any SaaS plan.

ii.) If the field- ‘Use Specific User Template’ is unticked, then the customers will be provided with admin access to their instance when they buy the plan.

b1

b.) Give restricted access

In order to designate the clients’ access to ‘User’ in Odoo, you can follow these steps:

i.) Open the SaaS plan and then login into the DB template.

b2

ii.) Now, go to settings >> users & companies >> users.

b3

iii.) Create a new user and accordingly choose what type of privileges you wish to grant this user. And then save the user.

iv.) After that, carefully copy the ID of the user from the URL.

b4

v.) In the next step, go back to the plan and tick the checkbox next to the field – ‘Use Specific User Template’.

vi.) Then, Paste the ID of the user in the field- ‘Database template User ID’. click save.

b5

vii.) As a result, all the clients who buy this plan can access only those settings that you have allowed.

INSTALLING CUSTOM PYTHON LIBRARY

In order to install an external Python library, already not included with Odoo, first you need to create a file requirements.txt including the list of libraries you wish to install in the instance(s).

Then you need to place the file in the appropriate path based on the SaaS instances where you wish to install the libraries.

There are two possible scenarios:

a.) Common path

Placing the ‘requirements.txt’ file in the Common Addons Path will install the Python libraries in all the DB Templates in your SaaS server and in the SAAS instances of all the respective clients.

i.) List all the Python libraries in the requirements.txt file and then place the file in the common add-ons path.
For example: /opt/odoo12/common_addon/

ii.) Once this is done just restart both, the SAAS instances of all the clients and all the DB Templates to install the libraries. This can be done after clicking the Restart button in the Plan and in the clients’ records.

b.) Client Specific Path

Placing the requirements.txt file in the Client Specific Path will install the Python libraries only to the Odoo SAAS instance of that particular client.

i.) You need to Navigate through SaaS Kit >> SaaS >> Saas Clients and then open the client details.

ii.) Then, You will see the field- ‘Extra Addon path’.
For example:- /opt/odoo12/Odoo-SAAS-Data//MOHITTEST1.demo.com/data-dir/addons/12.0

A2-1

iii.) Now, Place the file inside this directory and then restart the particular client instance through the Restart Button. Therefore, this will install the library in that particular client’s instance.

c2

MAPPING CUSTOM DOMAIN WITH THE SAAS KIT

To map your custom domain with your SAAS contract, make sure your custom domain is mapped with the main SAAS server IP(or should be mapped with the SAAS instance server IP).

Click on the “Add Domain” button on the Saas Contract Page, and then a wizard will open to add a subdomain for the Saas Client container.

1-13

a.) Add domain with same base URL

i.) First, you need to enter the Domain name with the same base URL (selected SAAS server domain)

2-13

ii.) Afterwards, this additional domain will point to the container correctly with SSL.

b.) Add Custom Domain

i.) Here, Enable a check-box(Boolean field) “Use Custom Domain” to map your custom domain with the SAAS contract.

3-9

ii.) The respective DNS entry must be done before mapping the custom domain. In the case of custom domain mapping, the custom domain must be mapped with the main SAAS server IP(or should be mapped with the SAAS instance server IP).

iii.) Then, enter the Domain name with the Custom domain.

4-8

iv.) As a result, this additional domain points to the container correctly with SSL.

Manage Saas Contracts with Expiry Warning

With the help of this feature, the “SaaS Admin” can schedule the Expiry Warning mail for the expired “SaaS Contract”.

You can find the “Odoo Saas KIT” menu in settings where you can enable/disable ‘Automated actions for Expired SaaS Contracts’.

Navigate through Settings>>Odoo Saas KIT

image

a.) Configuration of automated actions

After enabling the checkbox “Set automated actions for Expired SaaS contracts” you need to enable the checkbox “For Paid Contract” in order to manage actions for your Paid SAAS contracts.

image-1

You need to set the “Renew Reminders ends after” i.e. the number of days for which Renew Reminder emails would be sent to the expired Paid SaaS Contracts partners and then set the number of emails you wish to send within this period in “No of renew mails” as per requirement.

For example – If a paid contract is expiring on 1st day of the Month and we have assigned 10 days to Renew Reminder days that means for the next 10 days after the contract expiry, the renewal emails will be sent to the paid SAAS clients till 11th Day of the month and 3 to Number of mails then the total of 3 renew reminder mail will be sent till 11th Day of Month.

image-2

b.) Manage Automated actions for Saas Client Containers

Using this feature “Saas Admin” can automatically stop the Saas Client containers for expired Saas Contract.

Furthermore, A checkbox is there “Automatic Disable expired Saas Client Instances” to activate the automatic stop feature for the expired Saas Clients.

Navigate through Settings>>Odoo Saas KIT >>and then Enable the “Set automated actions for Expired SaaS Contracts” Check-box>>Enable the “For Paid Contract” checkbox.

image-3

After enabling the checkbox “Automatic Disable expired Saas Client Instances” the expired Saas Client container will automatically get stopped after the last renewal mail.

If the “Automatic Disable expired Saas Client Instances” is checked, then you get another checkbox “Delete Client Instances”, you need to configure “Buffer period” to delete the expired Saas contracts.

Using this check box you can configure the Auto delete of the Saas client after a “Buffer period”.

Note: Buffer Period is the number of days after which Client Container and Database would be dropped and cannot be recovered, hence, it must be set with Caution.

image-4

For example – If a paid contract is expiring on the 1st day of the Month and we have assigned 5 days to Renew Reminder days and 5 days to buffer period then the client will be in an ‘inactive’ state on the 11th day of the month and the container and Db will be dropped automatically.

Note – The same actions we can perform for the Trial SAAS contracts.

Need Support?

Thank You for reading this Blog!

For further more interesting blogs, keep in touch with us. However, if you need any kind of support, simply raise a ticket at https://webkul.uvdesk.com/en/.

For further help or queries, please contact us or raise a ticket.

Supported Framework Version - Odoo

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home

Table of Content