Mifos X
Mifos X
Mifos X
Step-by-step guide
Java 7
1. Click on this link Java 7 website 2. On the Java website, select the latest version of Java 7 for Runtime Environment
3. Accept the license agreement and select the appropriate version (likely Windows x64) in the Runtime Environment section
4. Click yes when asked if you would like to "run" the program
MySQL
1. Click on the MySQL link 2. Click on MySQL Community Server
9. 10. Select your computer's operating system and click on the first download button
17. 1. Click http://dev.mysql.com/downloads/connector/j/ and click download button, once downloaded click on the mysql-connector button on the bottom left. Click run and yes on the next two pop up screens
18.
Apache Tomcat 7 1. Click on the Apache website link and click on the 7.0.42 link
6.
Download MIFOS 1. Click on the MIFOS website 2. Click on the Download Mifos X Platform 1.10
3. 4. Click on the zip file download at the bottom of the screen Windows is often the OS of some of our most non-tech savvy users so an installer that reduces the need to manually install and configure the various dependencies for Mifos X:
Detailed install instructions on Mifos X are found at https://github.com/openMF/mifosx/blob/master/INSTALL.md and Getting started Contributing to MifosX
Approaches:
A while back there was a lengthy discussion on the mailing list which outlined various degrees and approaches towards an installer including various tools like IzPack or BitRock that could be used. While this pertained to Mifos 2.x - much of the discussion is relevant here because Mifos X is built on the same technology stack. Ideally, we'd want to make this a one-step process for users so we'd like to fully embed and configure all the dependencies within reason.
Step-by-step wizard-style self-extracting .exe file: A good example of a wizard-style installer as a reference is for self-extracting Windows Installer for open source software, OrangeHRM.
Executable jar file (launcher package)
This is the approach that has previously been proposed by Michael Vorburger for Mifos 2.x which he outlined and documented at MIFOS-5157 - Mifos Installer, or simply EXE Launcher Development In Progress . Michael first went about creating an executable WAR file, and then looked into the various ways to embed MySQL. Embedding of MySQL could have some FOSS licensing issues which we will explore.
OpenMRS Standalone
A good example of a launcher using an executable .jar is OpenMRS standalone which they describe as "A self-contained ZIP archive that includes an embedded database and application server, as well the option to install demo data for 5,000 sample patients. Expand the ZIP archive and run the .jaar file to start OpenMRS." OpenMRS Standalone is thoroughly documented at https://wiki.openmrs.org/display/docs/OpenMRS+Standalone
Proposal from Michael Vorburger
Possibility of Mifos self-contained demo package Simple / easy launch of integration/acceptance testing, without requiring an external DB (ideally in an automatically created RAM Disk...) Development without manual MySQL installation
This sub-project would port / apply our MIFOS-5157 Installer-free simple launcher from classic Mifos to Mifos X, and then look at how to extend such a package to run without any existing external database as planned in MIFOS4926 (which MIFOS-5157 doesn't cover). The first thought that comes to mind is to achieve this with a pure-Java in-memory database such as H2 or Derby. However, in order to avoid maintaining & supporting 2 different databases for Description Mifos, we'd like to base this on https://github.com/vorburger/MariaDB4j. While we are at it, we should also replace the classic GPL mysql driver by the LGPL MariaDB Client Library. Do some Googling, Search Mifos JIRA, mailing list for more information. Identify some small problems related to this project and submit patch (if possible), Come up with a good plan and start a discussion on developer mailing
Hibernate as ORM (must have good experience with Hibernate) Liquibase as Database refactoring tool DbUnit as test dataset maintenance