Hey , I am Sanyam and i want to contribute in OpenMRS Standalone project. Can someone please help me how can i start?
Hey @sanyamjain09, you can start from here.
Also checkout this video for GSoC related doubts.
thanks @sanyamjain09 for bring this up, I also have an interest in this project and for a better understanding in Leveraging Docker have done some initial work on this and calling out some guidelines on how this project targets can be attained
In this project simply have leveraged Docker compose and below are steps to use
How to Use
- Download and unzip
openmrs-standalone-run.zip
.- Double-click
start-openmrs.bat
(Windows) orstart-openmrs.sh
(MacOS/Linux).- For Mac users: Open a terminal in the unzipped folder and run the following command to make the script executable:
chmod +x start-openmrs.sh chmod +x stop-openmrs.sh
- If Docker isn’t installed, the script will attempt to install it (follow prompts).
- Select an OpenMRS version from the menu:
- Platform 2.6.14
- Platform 2.7.0
- Reference Application 2.12.0
- Reference Application 2.13.0
- O3 3.0.0-beta.20
- O3 3.0.0-SNAPSHOT
- Wait for OpenMRS to start (first run may take a few minutes to download images).
- Open your browser and go to
http://localhost:8080/openmrs
.- Log in with
admin/Admin123
(default credentials).- To stop, press
Ctrl+C
in the terminal or runstop-openmrs.bat
/stop-openmrs.sh
.
cc @ibacher @dkayiwa could this be the desired approach however to note in the project language outlined, there is Java
All we want is for the end user to download the standalone, extract it, and then double click to run. The only requirement is having Java installed on their computer.
According to @ibacher here
Could using H2 + Spring Boot
be ideal for this project?
Comparison Table: Old vs. New Standalone
Feature | Old Standalone (MXJ) | New Standalone (H2 + Spring Boot) |
---|---|---|
Database | Embedded MySQL (MXJ) | Embedded H2 |
Application Server | Embedded Tomcat | Embedded Tomcat (via Spring Boot) |
ARM Support | No | Yes |
Version Selection of Openmrs (Platform,RefApp,03) | Single version | Multiple versions via script |
Requirements | Java only | Java only |
Maintenance | Discontinued, unsupported | Current, community-supported |
The advantage that we had with a standalone based on MySQL/MariaDB database was that for those who started with the standalone and then migrated to the enterprise version, the data migration was obvious.
Interesting… am thinking creating a migration script to export data to MySQL/MariaDB
format
could work however this could introduce a new requirement of MySQL locally to be installed on the PC or server doing the migration
Is that because we are not able to have a standalone based on MySQL/MariaDB?
Not really, we can use MariaDB4j
since MySQL Connector/MXJ
was discontinued and not supported since 2011 according to there dependency https://mvnrepository.com/artifact/mysql/mysql-connector-mxj
However with arm64 (Mac m1, Mac m2s) creating a jar compatible files may need some tweaks get a look a problem caused here java - Is it possible to get MariaDB4J to work on an M1 Mac? - Stack Overflow
Could there be a best approach more than this?
That is part of whoever takes this up, will have to investigate and look for a solution.
Still concerning this project … Is it based on improving the existing or its gonna require a new repo?
just came across OpenMRS Standalone - Issues - OpenMRS Issues and wondering in the meantime if its about modifying this existing repo … i can be contributing to some tasks here and getting familiar with the codebase
cc @dkayiwa
It is going to be based on the existing repository. Starting from the work done here: STAND-109 Replace the embedded mysql with mariadb4j by k4pran · Pull Request #66 · openmrs/openmrs-standalone · GitHub