Plugin Management
Mifos has a rudimentary plugin infrastructure. Here's how to install, remove, update, use, and create plugins. This guide applies to Mifos versions later than 1.4.0 and the latest development version running on Tomcat 6.x.
Install
copy plugin (a jar file) into
$MIFOS_CONF/pluginsfolder (see MifosConfigurationLocations for details onMIFOS_CONF)
Remove
stop Tomcat
delete plugin from
$MIFOS_CONF/pluginsstart Tomcat
Update
Use
Each plugin will have its own set of usage instructions. For example, here are instructions on how to use the Audi Bank USD loan payment import plugins.
#Install plugin (a .jar file) for importing loan payment transactions in tab-delimited or Excel format
navigate to Admin → Define Lookup Options. Add Payment Mode "Bank Audi sal".
navigate to Admin → Define accepted payment types. Add "Bank Audi sal" to Loan Repayments.
set "External ID" for an existing loan account
disburse loan
navigate to Admin → Import Transactions
Configure
Some plugins read values configured in applicationConfiguration custom properties
By convention, plugin-specific configuration setting(s) use the fully-qualified plugin class name, followed by a dot ("."), followed by the configuration setting name.
For example, if you're using the M-PESA XLS import plugin, you might want to configure the order in which account(s) should be paid off, in which case you'd add the following to applicationConfiguration custom properties
ke.co.safaricom.MPesaXlsImporter.ImportTransactionOrder=AL1,NL1,SP1
if the short names of the products you want to apply are AL1, NL1, and SP1. See details for ImportTransactionOrder property in applicationConfiguration custom properties
Create
implement desired functionality using the API (application programming interface) and SPI (service provider interface)
for example code, see AudiBankTsvLoanPaymentImporter and AudiBankXlsLoanPaymentImporter in the "/spikes/plugins/trunk" directory in source control.
Known Issues
See all known import/export issues in the issue tracker.
Design choices/limitations
written in Java
plugin API version/usage mismatch may go undetected
no fully automated acceptance test(s)
Historical information
Old/deprecated information follows.
In Mifos v1.4.x (and all versions prior to trunk r16471 wherein MIFOS-2545 was fixed), the process was more complex...
Install (v1.4.x)
deploy Mifos (copy Mifos jar into
$CATALINA_HOME/webapps)start Tomcat
login (ie: make sure Tomcat has properly Mifos basic functionality is working)
stop Tomcat
copy plugin into
$CATALINA_HOME/webapps/mifos/WEB-INF/lib(if the webapps/mifos directory is not present, ensure that unpackWARs is set to "true" in$CATALINA_HOME/conf/server.xml)start Tomcat
This process must be repeated if the exploded war directory ($CATALINA_HOME/webapps/mifos) ever disappears, such as when upgrading Mifos.
Remove (v1.4.x)
delete the plugin from
$CATALINA_HOME/webapps/mifos/WEB-INF/lib