Skip to content

Commit

Permalink
BAH-2881 | Add artefacts for DB backup images of 1.0.0-standard (#32)
Browse files Browse the repository at this point in the history
* BAH-2881 | Add. Database backup for stamdard 1.0.0

* BAH-2881 | Add. README file for 1.0.0-standard DB backups
  • Loading branch information
mohan-13 authored Sep 12, 2024
1 parent 72669b6 commit 6444158
Show file tree
Hide file tree
Showing 183 changed files with 60,459 additions and 0 deletions.
24 changes: 24 additions & 0 deletions demo/db-backups/1.0.0-standard/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Bahmni Standard 1.0.0 Database Backup Images
This directory contains the artifacts used to publish the database backup images for OpenMRS, OpenELIS and Odoo.

### Changes done on OpenMRS Database
Use mysql:8.0 as the database image while starting up Bahmni. The CIEL and other import happens from Initializer module.

- Navigate to OpenMRS --> Administration --> Manage Providers --> Neha Anand. Update practitioner type and set available for appointments to true.
- Assign roles for `doctor`, `registration` users.
- Set saleable attribute to procedures using the [script](../../../metadataScripts/openmrs/set_saleable_attribute.sh)


### Changes done on Odoo database
Use postgres:16 as the database image while starting up Bahmni. Odoo initializes all the required schema.

- Update Company Information --> Name, Currency
- Create a user named `emrsync` for Atomfeed sync
- Enable Custom toggles under Settings --> Bahmni
- Under Settings --> Sales, enable Unit of Measure and Advanced Pricelist
- Under Settings --> Inventory, enable Tracking by Lots and Expiration data and also Storage Locations


Once doing all these updates take backup using the `backup_bahmni_standard.sh` script in the bahmni-docker/bahmni-standard repository. Copy over all the required artefacts into respective resources directory of applications.

Note: Remove `bahmniforms` directory in the configuration_checksums directory.
4 changes: 4 additions & 0 deletions demo/db-backups/1.0.0-standard/odoo/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM postgres:16

COPY demo/db-backups/1.0.0-standard/odoo/resources/filestore /filestore
COPY demo/db-backups/1.0.0-standard/odoo/resources/*.sql.gz /docker-entrypoint-initdb.d/
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

/* /web/static/src/main.js */
odoo.define('@web/main',async function(require){'use strict';let __exports={};const{startWebClient}=require("@web/start");const{WebClient}=require("@web/webclient/webclient");startWebClient(WebClient);return __exports;});;

/* /web/static/src/start.js */
odoo.define('@web/start',async function(require){'use strict';let __exports={};const{makeEnv,startServices}=require("@web/env");const{legacySetupProm}=require("@web/legacy/legacy_setup");const{mapLegacyEnvToWowlEnv}=require("@web/legacy/utils");const{localization}=require("@web/core/l10n/localization");const{session}=require("@web/session");const{renderToString}=require("@web/core/utils/render");const{setLoadXmlDefaultApp,templates}=require("@web/core/assets");const{hasTouch}=require("@web/core/browser/feature_detection");const{App,whenReady}=require("@odoo/owl");__exports.startWebClient=startWebClient;async function startWebClient(Webclient){odoo.info={db:session.db,server_version:session.server_version,server_version_info:session.server_version_info,isEnterprise:session.server_version_info.slice(-1)[0]==="e",};odoo.isReady=false;const env=makeEnv();await startServices(env);await whenReady();const legacyEnv=await legacySetupProm;mapLegacyEnvToWowlEnv(legacyEnv,env);const app=new App(Webclient,{env,templates,dev:env.debug,translatableAttributes:["data-tooltip"],translateFn:env._t,});renderToString.app=app;setLoadXmlDefaultApp(app);const root=await app.mount(document.body);const classList=document.body.classList;if(localization.direction==="rtl"){classList.add("o_rtl");}
if(env.services.user.userId===1){classList.add("o_is_superuser");}
if(env.debug){classList.add("o_debug");}
if(hasTouch()){classList.add("o_touch_device");}
odoo.__WOWL_DEBUG__={root};odoo.isReady=true;const favicon=`/web/image/res.company/${env.services.company.currentCompany.id}/favicon`;const icons=document.querySelectorAll("link[rel*='icon']");const msIcon=document.querySelector("meta[name='msapplication-TileImage']");for(const icon of icons){icon.href=favicon;}
if(msIcon){msIcon.content=favicon;}}
return __exports;});;

/* /web/static/src/legacy/legacy_setup.js */
odoo.define('@web/legacy/legacy_setup',async function(require){'use strict';let __exports={};const{registry}=require("@web/core/registry");const{makeLegacyNotificationService,makeLegacyRpcService,makeLegacySessionService,makeLegacyDialogMappingService,makeLegacyCrashManagerService,makeLegacyCommandService,makeLegacyDropdownService,}=require("@web/legacy/utils");const{makeLegacyActionManagerService}=require("@web/legacy/backend_utils");const AbstractService=require("web.AbstractService");const legacyEnv=require("web.env");const session=require("web.session");const makeLegacyWebClientService=require("web.pseudo_web_client");const{templates}=require("@web/core/assets");const{Component,whenReady}=require("@odoo/owl");let legacySetupResolver;const legacySetupProm=__exports.legacySetupProm=new Promise((resolve)=>{legacySetupResolver=resolve;});(async()=>{AbstractService.prototype.deployServices(legacyEnv);Component.env=legacyEnv;const legacyActionManagerService=makeLegacyActionManagerService(legacyEnv);const serviceRegistry=registry.category("services");serviceRegistry.add("legacy_action_manager",legacyActionManagerService);const legacyRpcService=makeLegacyRpcService(legacyEnv);serviceRegistry.add("legacy_rpc",legacyRpcService);const legacySessionService=makeLegacySessionService(legacyEnv,session);serviceRegistry.add("legacy_session",legacySessionService);const legacyWebClientService=makeLegacyWebClientService(legacyEnv);serviceRegistry.add("legacy_web_client",legacyWebClientService);serviceRegistry.add("legacy_notification",makeLegacyNotificationService(legacyEnv));serviceRegistry.add("legacy_crash_manager",makeLegacyCrashManagerService(legacyEnv));const legacyDialogMappingService=makeLegacyDialogMappingService(legacyEnv);serviceRegistry.add("legacy_dialog_mapping",legacyDialogMappingService);const legacyCommandService=makeLegacyCommandService(legacyEnv);serviceRegistry.add("legacy_command",legacyCommandService);serviceRegistry.add("legacy_dropdown",makeLegacyDropdownService(legacyEnv));const wowlToLegacyServiceMappers=registry.category("wowlToLegacyServiceMappers").getEntries();for(const[legacyServiceName,wowlToLegacyServiceMapper]of wowlToLegacyServiceMappers){serviceRegistry.add(legacyServiceName,wowlToLegacyServiceMapper(legacyEnv));}
await Promise.all([whenReady(),session.is_bound]);legacyEnv.templates=templates;legacySetupResolver(legacyEnv);})();return __exports;});odoo.define(`web.legacySetup`,async function(require){return require('@web/legacy/legacy_setup')[Symbol.for("default")];});;

/* /mail/static/src/main.js */
odoo.define('@mail/main',async function(require){'use strict';let __exports={};const{ChatWindowManagerContainer}=require('@mail/components/chat_window_manager_container/chat_window_manager_container');const{DialogManagerContainer}=require('@mail/components/dialog_manager_container/dialog_manager_container');const{DiscussContainer}=require('@mail/components/discuss_container/discuss_container');const{PopoverManagerContainer}=require('@mail/components/popover_manager_container/popover_manager_container');const{messagingService}=require('@mail/services/messaging_service');const{systrayService}=require('@mail/services/systray_service');const{makeMessagingToLegacyEnv}=require('@mail/utils/make_messaging_to_legacy_env');const{registry}=require('@web/core/registry');const messagingValuesService={start(){return{};}};const serviceRegistry=registry.category('services');serviceRegistry.add('messaging',messagingService);serviceRegistry.add('messagingValues',messagingValuesService);serviceRegistry.add('systray_service',systrayService);serviceRegistry.add('messaging_service_to_legacy_env',makeMessagingToLegacyEnv(owl.Component.env));registry.category('actions').add('mail.action_discuss',DiscussContainer);registry.category('main_components').add('DialogManagerContainer',{Component:DialogManagerContainer});registry.category('main_components').add('ChatWindowManagerContainer',{Component:ChatWindowManagerContainer});registry.category('main_components').add('PopoverManagerContainer',{Component:PopoverManagerContainer});return __exports;});
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 6444158

Please sign in to comment.