|
|
@ -28,7 +28,8 @@ |
|
|
|
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;"> |
|
|
|
Automatic |
|
|
|
Database Backup</h1> |
|
|
|
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Automatic Database Backup To |
|
|
|
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Automatic Database |
|
|
|
Backup To |
|
|
|
Local |
|
|
|
Server, Remote Server, Google Drive, Onedrive And Dropbox.</p> |
|
|
|
<!-- END OF APP HERO --> |
|
|
@ -116,6 +117,14 @@ |
|
|
|
Using Automatic Database Backup module user can generate and store database backups to multiple |
|
|
|
location. |
|
|
|
</div> |
|
|
|
<br/> |
|
|
|
<div> |
|
|
|
This module uses an external python dependency 'dropbox'.Before installing the module install the python package |
|
|
|
first.The required python package can be installed using the following command, |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<i>pip install dropbox</i> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- END OF OVERVIEW SECTION --> |
|
|
|
|
|
|
@ -198,7 +207,8 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Crate New Database Backup |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Crate New Database |
|
|
|
Backup |
|
|
|
Configuration</h3> |
|
|
|
<p |
|
|
|
style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important;"> |
|
|
@ -208,7 +218,8 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to Remote |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to |
|
|
|
Remote |
|
|
|
SFTP Server</h3> |
|
|
|
<p |
|
|
|
style="font-family: 'Roboto', sans-serif !important; font-weight: 400 !important; color: #282F33 !important; font-size: 1rem !important;"> |
|
|
@ -219,33 +230,41 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to Remote |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to |
|
|
|
Remote |
|
|
|
FTP Server</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup destination |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup |
|
|
|
destination |
|
|
|
as FTP, enter credentials. |
|
|
|
Test connection button to check whether the connection is successful.</p> |
|
|
|
<img src="assets/screenshots/backup4.png" class="img-thumbnail"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to Google |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to |
|
|
|
Google |
|
|
|
Drive</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">you'll need to create a new |
|
|
|
Google API project and enabling the Google Drive API, Go to the <a href="https://console.developers.google.com/" |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">you'll need to create a |
|
|
|
new |
|
|
|
Google API project and enabling the Google Drive API, Go to the <a |
|
|
|
href="https://console.developers.google.com/" |
|
|
|
target="_blank">Google API Console</a> and log into your |
|
|
|
account. |
|
|
|
While creating the project, for the Redirect URI restrictions, copy your Odoo database URI followed by |
|
|
|
/google_drive/authentication. Example:</p> |
|
|
|
<img src="assets/screenshots/drive1.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Enable Google Drive API</p> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Enable Google Drive |
|
|
|
API</p> |
|
|
|
<img src="assets/screenshots/drive2.png" class="img-thumbnail"> |
|
|
|
<img src="assets/screenshots/drive3.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Create Credentials, Follow |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Create Credentials, |
|
|
|
Follow |
|
|
|
the steps, select Website application for the Application Type.</p> |
|
|
|
<img src="assets/screenshots/drive4.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Under the Authorized |
|
|
|
JavaScript Origins section, click + Add URI and type your company’s Odoo URL address. |
|
|
|
Under the Authorized redirect URIs section, click + Add URI and type your company’s Odoo URL address followed |
|
|
|
Under the Authorized redirect URIs section, click + Add URI and type your company’s Odoo URL address |
|
|
|
followed |
|
|
|
by <i>/google_drive/authentication</i>. |
|
|
|
After all the steps are completed, A client ID and Secret will be given, copy the credentials |
|
|
|
</p> |
|
|
@ -253,7 +272,8 @@ |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Configure Backup, Copy |
|
|
|
Client ID and Client Secret from Google Drive API Credentials page into their respective fields.</p> |
|
|
|
<img src="assets/screenshots/backup5.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Setup Tokens, it will be |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Setup Tokens, it will |
|
|
|
be |
|
|
|
redirected to an authorization page.</p> |
|
|
|
<img src="assets/screenshots/backup6.png" class="img-thumbnail"> |
|
|
|
<img src="assets/screenshots/backup7.png" class="img-thumbnail"/> |
|
|
@ -264,11 +284,14 @@ |
|
|
|
|
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to Dropbox |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to |
|
|
|
Dropbox |
|
|
|
</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup destination |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup |
|
|
|
destination |
|
|
|
as Dropbox. Enter the App key and App secret. |
|
|
|
you'll need to register a new app in the <a href="https://www.dropbox.com/developers/apps" target="_blank">App |
|
|
|
you'll need to register a new app in the <a href="https://www.dropbox.com/developers/apps" |
|
|
|
target="_blank">App |
|
|
|
Console</a>. |
|
|
|
Select Dropbox API app and choose your app's permission (files.content.write and files.content.read |
|
|
|
permissions |
|
|
@ -279,55 +302,68 @@ |
|
|
|
<img src="assets/screenshots/backup9.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Setup refresh token</p> |
|
|
|
<img src="assets/screenshots/backup10.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Get the authorization code |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Get the authorization |
|
|
|
code |
|
|
|
and click confirm.</p> |
|
|
|
<img src="assets/screenshots/backup11.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Reset the refresh token if |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Reset the refresh token |
|
|
|
if |
|
|
|
required</p> |
|
|
|
<img src="assets/screenshots/backup12.png" class="img-thumbnail"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to Onedrive |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Store Backup to |
|
|
|
Onedrive |
|
|
|
</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup destination |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Select backup |
|
|
|
destination |
|
|
|
as onedrive. Enter the App key and App secret. |
|
|
|
you'll need to register a new app in the <a href="https://portal.azure.com/" target="_blank">Microsoft Azure |
|
|
|
you'll need to register a new app in the <a href="https://portal.azure.com/" target="_blank">Microsoft |
|
|
|
Azure |
|
|
|
portal</a>. |
|
|
|
While registering the app for the Redirect URI restrictions, copy your Odoo database URI followed by |
|
|
|
/onedrive/authentication. Example:</p> |
|
|
|
<img src="assets/screenshots/onedrive1.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Copy the Client ID</p> |
|
|
|
<img src="assets/screenshots/onedrive2.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Generate Client Secret.</p> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Generate Client |
|
|
|
Secret.</p> |
|
|
|
<img src="assets/screenshots/onedrive3.png" class="img-thumbnail"> |
|
|
|
<img src="assets/screenshots/onedrive4.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">get onedrive folder ID, |
|
|
|
where need to store the backup files.</p> |
|
|
|
<img src="assets/screenshots/onedrive5.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Configure the backup</p> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Configure the |
|
|
|
backup</p> |
|
|
|
<img src="assets/screenshots/onedrive6.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Setup Tokens, it will be |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Setup Tokens, it will |
|
|
|
be |
|
|
|
redirected to an authorization page.</p> |
|
|
|
<img src="assets/screenshots/onedrive7.png" class="img-thumbnail"> |
|
|
|
<img src="assets/screenshots/onedrive8.png" class="img-thumbnail"> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Reset the token if required |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Reset the token if |
|
|
|
required |
|
|
|
</p> |
|
|
|
<img src="assets/screenshots/onedrive9.png" class="img-thumbnail"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Automatically Remove Old |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Automatically Remove |
|
|
|
Old |
|
|
|
Backups</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">TEnable auto remove option, |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">TEnable auto remove |
|
|
|
option, |
|
|
|
specify number of days to remove backups.</p> |
|
|
|
<img src="assets/screenshots/backup13.png" class="img-thumbnail"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Notify User on Success |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Notify User on |
|
|
|
Success |
|
|
|
and Failure of Backup Generation</h3> |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Enable notify user option, |
|
|
|
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">Enable notify user |
|
|
|
option, |
|
|
|
and select a user to notify. An email notification will be sent to the selected user on |
|
|
|
backup successful and failure. |
|
|
|
</p> |
|
|
@ -341,7 +377,8 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div style="display: block; margin: 30px auto;"> |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Notification email when |
|
|
|
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Notification email |
|
|
|
when |
|
|
|
backup generation failed</h3> |
|
|
|
<img src="assets/screenshots/backup17.png" class="img-thumbnail"> |
|
|
|
</div> |
|
|
@ -379,21 +416,24 @@ |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/dynamic_accounts_report/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/1.png"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/1.png"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/custom_gantt_view/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/2.png"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/2.png"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/project_custom_gantt/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/3.png"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/3.png"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
@ -402,21 +442,24 @@ |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/account_reports_xlsx/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/4.png"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/4.png"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/base_accounting_kit/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/5.gif"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/5.gif"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|
|
|
<a href="https://apps.odoo.com/apps/modules/15.0/hr_payroll_community/" target="_blank"> |
|
|
|
<div style="border-radius:10px"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/6.png"> |
|
|
|
<img class="img img-responsive center-block" style="border-radius: 0px;" |
|
|
|
src="assets/modules/6.png"> |
|
|
|
</div> |
|
|
|
</a> |
|
|
|
</div> |
|
|
@ -717,7 +760,8 @@ |
|
|
|
</div> |
|
|
|
<div class="row"> |
|
|
|
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center"> |
|
|
|
<img src="assets/misc/logo.png" width="144" height="31" style="width:144px; height: 31px; margin-top: 40px;" /> |
|
|
|
<img src="assets/misc/logo.png" width="144" height="31" |
|
|
|
style="width:144px; height: 31px; margin-top: 40px;"/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|