Mifos 2 Configuration Guide

Mifos Configuration

The following topics are for system administrators and Mifos specialists configuring Mifos who are deploying Mifos.

Overview

The topics assume that you have installed Mifos and configured its third-party applications as described in Installing Mifos, and that you are ready to configure the administrative settings in Mifos. After you configure these settings, your Mifos deployment will be ready for you or someone else to create loan and savings products, add new clients and groups, open accounts for clients and groups, and configure reporting.

The administrative configuration process involves two groups of settings, which should be configured at two different times:

  • Before you run Mifos: Certain administrative settings can only be configured when Mifos is not running. Among them are settings whose default values you have only one opportunity to change-before you run Mifos for the first time.
  • Before your users access Mifos: There are also administrative settings you should configure before your users access Mifos. You configure these settings via the Mifos user interface, on the Admin tab.

Note for version 1.0 users: Changes since Mifos version 1.0 include moving install-time settings out of the database and into plain-text files. If you are using Mifos version 1.0, see Configuring Mifos version 1.0.

 

Before you run Mifos...

This section describes the install-time settings in Mifos, or those that can only be configured when Mifos is not running. It also describes install-time settings whose values can only be changed to non-default values once, before you run Mifos for the first time.

Using a Custom Chart of Accounts

The Chart of Accounts used by Mifos can be customized to exclude certain General Ledger (GL) accounts or use a different hierarchy of accounts. Note that you have only one opportunity to make these customizations, before you run Mifos for the first time.

To customize the Chart of Accounts:

  1. Create a copy of the default Chart of Accounts configuration file that ships with Mifos and name itmifosChartOfAccounts.custom.xml.
  2. Customize mifosChartofAccounts.custom.xml as described in Chart of Accounts.
  3. Mifos 1.6.x and earlier: Place your customized file on the app server classpath before you run your first instance of Mifos in your final, production environment.
  4. Mifos versions greater than 1.6.x and trunk development:: Place your customized file in one of the MifosConfigurationLocations before you run your first instance of Mifos in your final, production environment.

Note: Once Mifos is deployed, you won't be able to delete GL accounts or change the account hierarchy. See the bulleted lists below for more information.

After Mifos is deployed, you can only make the following changes to your GL accounts:

  • Add new GL accounts (excluding top-level accounts)
  • Change account names (excluding top-level accounts)

You cannot make the following GL account changes after Mifos is deployed:

  • Delete GL accounts
  • Create new top-level accounts
  • Modify top-level account names
  • Modify the account hierarchy (moving parents/children)
  • Modify GL codes
 

Creating your own Financial Action Mappings

Unlike the Chart of Accounts, financial action mappings can be customized any time Mifos is not running.

GL accounts are used in conjunction with particular actions. For example, when principal is added to a new loan account (a credit), Mifos choses a GL account based on a mapping. The default mappings that Mifos uses are stored in applicationContext.xml, a file that ships with Mifos. For Mifos to function correctly, all actions must be mapped to an existing GL account.

To customize the financial action mappings:

  1. Create a file named mifosBeanConfig.custom.xml.
  2. Customize mifosBeanConfig.custom.xml (see the example below).
  3. Mifos 1.6.x and earlier: Place your customized file on the app server classpath before you run your first instance of Mifos in your final, production environment.
  4. Mifos versions greater than 1.6.x and trunk development:: Place your customized file in one of the MifosConfigurationLocations before you run your first instance of Mifos in your final, production environment.
  5. The mappings will take effect once Mifos is restarted.

Example

Use the following as a starting point for creating your own mifosBeanConfig.custom.xml:

		<?xml version="1.0" encoding="UTF-8"?>
<beans
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
         " title="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">">http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean id = "financialRules"
       class="org.mifos.accounts.financial.util.helpers.FinancialRules"
       abstract="false" factory-method="getInstance">
       <property name="actionToDebitAccount">
           <map>
               <entry key="PRINCIPALPOSTING" value="11201"/>
               <entry key="INTERESTPOSTING" value="11201"/>
               <entry key="FEEPOSTING" value="11201"/>
               <entry key="PENALTYPOSTING" value="11200"/>
               <entry key="ROUNDING" value="31401"/>
               <entry key="MANDATORYDEPOSIT" value="11201"/>
               <entry key="VOLUNTARYDEPOSIT" value="11201"/>
               <entry key="MANDATORYWITHDRAWAL" value="24000"/>
               <entry key="VOLUNTARYWITHDRAWAL" value="23000"/>
               <entry key="SAVINGS_INTERESTPOSTING" value="41000"/>
               <entry key="DISBURSAL" value="13101"/>
               <entry key="MISCFEEPOSTING" value="11201"/>
               <entry key="MISCPENALTYPOSTING" value="11201"/>
               <entry key="CUSTOMERACCOUNTMISCFEESPOSTING" value="11201"/>
               <entry key="MANDATORYDEPOSIT_ADJUSTMENT" value="24000"/>
               <entry key="VOLUNTARYDEPOSIT_ADJUSTMENT" value="23000"/>
               <entry key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="11201"/>
               <entry key="VOLUNTARYWITHDRAWAL_ADJUSTMENT" value="11201"/>
               <entry key="WRITEOFF" value="13201"/>
               <entry key="RESCHEDULE" value="11201"/>
           </map>
       </property>
       <property name="actionToCreditAccount">
           <map>
               <entry key="PRINCIPALPOSTING" value="13100"/>
               <entry key="INTERESTPOSTING" value="31100"/>
               <entry key="FEEPOSTING" value="31300"/>
               <entry key="PENALTYPOSTING" value="31102"/>
               <entry key="ROUNDING" value="31401"/>
               <entry key="MANDATORYDEPOSIT" value="24000"/>
               <entry key="VOLUNTARYDEPOSIT" value="23000"/>
               <entry key="MANDATORYWITHDRAWAL" value="11201"/>
               <entry key="VOLUNTARYWITHDRAWAL" value="11201"/>
               <entry key="SAVINGS_INTERESTPOSTING" value="24100"/>
               <entry key="DISBURSAL" value="11201"/>
               <entry key="MISCFEEPOSTING" value="31301"/>
               <entry key="MISCPENALTYPOSTING" value="31102"/>
               <entry key="CUSTOMERACCOUNTMISCFEESPOSTING" value="31301"/>
               <entry key="MANDATORYDEPOSIT_ADJUSTMENT" value="11201"/> 
               <entry key="VOLUNTARYDEPOSIT_ADJUSTMENT" value="11201"/>
               <entry key="MANDATORYWITHDRAWAL_ADJUSTMENT" value="24000"/>
               <entry key="VOLUNTARYWITHDRAWAL_ADJUSTMENT" value="23000"/>
               <entry key="WRITEOFF" value="13101"/>
               <entry key="RESCHEDULE" value="13101"/>
           </map>
       </property>
   </bean>
</beans>

You may notice that other unrelated sections from applicationContext.xml have been omitted. This is intentional. The code that parses this XML configuration file allows for partial changes, and only those settings specific to financial action mappings inmifosBeanConfig.custom.xml can be customized.

Action names are actually constants in the FinancialActionConstants enum class. All actions must be mapped (except, currently, PENALTYPOSTING and REVERSAL_ADJUSTMENT) because Mifos assumes they are. For example, Mifos expects the mapping to contain a ROUNDING account. If the mapping doesn't exist, the application may crash or corrupt data because it cannot find an account with which to resolve rounded amounts.

Values may be changed, but they must point to GL account codes as specified in the Chart of Accounts.

 

Customizing the Application Configuration File

Mifos ships with a default application configuration file (applicationConfiguration.default.properties) that controls many aspects of how Mifos is set up, including which currency and locale it uses, its accounting rules, and many other important settings. You should never edit this default configuration file directly. Instead, use the file applicationConfiguration.custom.properties to override the values you want to change:

To use the custom application configuration file:

  1. Open the file applicationConfiguration.custom.properties in the conf folder of the Mifos install package. This file contains all the same properties and values as the default version.
  2. Uncomment the properties whose values you want to change and edit the values. Pay special attention to TRAPDOOR properties.
  3. Mifos 1.2.x and earlier: create a file named applicationConfiguration.custom.properties and place it on the app server classpath .
  4. Mifos versions greater than 1.2.x and trunk development: create a file named applicationConfiguration.custom.properties in one of the MifosConfigurationLocations.
 

Locale

The following settings in your applicationConfiguration.custom.properties file control locale in Mifos.

Accounting

The accounting settings in applicationConfiguration.custom.properties tell Mifos which currency you want to use and provide information it needs to calculate repayment schedules, including how many decimal places of precision should be used, and how repayments should be rounded and adjusted.

Currency

The currency that Mifos uses.

This setting causes Mifos to use currency set internally, in its calculations and database. Externally, you will see no effect. The user interface does not display currency symbols ($, £, etc.). This is a known issue.  This sets the default currency in Mifos.  All accounting rules without a currency code on the property applies to the default currency.

Property name: AccountingRules.CurrencyCode
MutabilityTRAPDOOR
Options: 3 letter Alphabetical codes from this list - `ISO 4217 currency codes <http://www.iso.org/iso/support/currency_codes_list-1.htm>`_
Default: INR

ExampleAccountingRules.CurrencyCode=INR causes Mifos to use the Indian rupee as the currency.

 If you want to use an additional currency for loan products, the setting is used to set an additional currency code.  Use the currency code to set specific rounding rules below for that currency.
Property name: AccountingRules.AdditionalCurrencyCodes
MutabilityTRAPDOOR
Options: any currency code
Default: none
Number of digits after decimal

The number of digits after the decimal that Mifos will carry for the currency.

This setting interacts with the rounding mode settings: Rounding mode for currencyRounding mode for repayments, and Rounding mode for final payment.

While most MFIs use a value that represents the currency's finest level of precision, some do not. For example, the Tunisian dinar's smallest denomination is the milem, which is 1/1000 of a dinar. Instead of setting AccountingRules.DigitsAfterDecimal to 3, which would represent the dinar's finest level of precision, a Tunisian MFI might set AccountingRules.DigitsAfterDecimal to 2 (1/100 of a dinar).

Property name: AccountingRules.DigitsAfterDecimal
Mutability: Always
Options: 0 - 5
Default: 1

Example: If AccountingRules.CurrencyCode=USD and AccountingRules.DigitsAfterDecimal=2, the number of digits Mifos will carry represents the currency's finest level of precision (1/100 of a dollar, or a penny).

If you want to set a different digits after decimal that Mifos will carry for an additional currency, set another property with the currency code in the property name.  For example, if Mifos has been configured with an additional currency LBP, to set a different digits after decimal that Mifos will cary for LBP, use the property name AccountingRules.DigitsAfterDecimal.LBP.
Minimum interest rate

The minimum allowable interest rate.

Unless you're advised otherwise by a Mifos specialist, use the default value for this setting (0).

ExampleAccountingRules.MinInterest=0 means that the interest rate Mifos uses for its calculations can be as low as 0%.

Minimum Cash Flow Threshold

The minimum allowable cash flow threshold

ExampleAccountingRules.MinCashFlowThreshold=0 means that the minimum allowed cash flow threshold for a loan product is 0.

Minimum Cash Flow Threshold

The maximum allowable cash flow threshold

ExampleAccountingRules.MaxCashFlowThreshold=99 means that the maximum allowed cash flow threshold for a loan product is 99.

Rounding mode for currency

How Mifos rounds currency amounts.

This setting interacts with Number of digits after decimal.

Property name: AccountingRules.CurrencyRoundingMode
Mutability: Always
Options: HALF_UP, FLOOR, CEILING
Default: HALF_UP

Example: Assuming that Number of digits after decimal is set to 1, a value of...

  • HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.45 rounds to 42.5. 42.44 rounds to 42.4.
  • FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.45 rounds to 42.4.
  • CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.41 rounds to 42.5.
 
Rounding mode for repayments

How Mifos rounds repayment amounts when it calculates repayment schedules except for the last scheduled repayment.

This setting interacts with Number of digits after decimal.

Property name: AccountingRules.InitialRoundingMode
Mutability: Always
Options: HALF_UP, FLOOR, CEILING
Default: HALF_UP

Example: Assuming that Number of digits after decimal is set to 2, a value of...

  • HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.485 rounds to 42.49. 42.481 rounds to 42.48.
  • FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.486 rounds to 42.48.
  • CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.481 rounds to 42.49.
 
Rounding precision for repayments

The decimal place repayments are rounded to when Mifos calculates the loan repayment schedule.

The precision you use must be equal to or less precise than what you specify for Number of digits after decimal. This setting does not affect the last repayment use Rounding precision for final payment instead.

Property name: AccountingRules.InitialRoundOffMultiple
Mutability: Always
Options: 1, 0.5, 0.1, 0.01, 0.001
Default: 1

Example: If the currency is...

  • INR, a value of 1 rounds to the closest whole rupee.
  • GBP, a value of 0.5 rounds to the closest 50 pence.
  • USD, a value of 0.1 rounds to the closest dime. If Number of digits after decimal is set to 1, this is the limit of precision, even though this currency has a smaller denomination (the penny).

How rounding interacts with Number of digits after decimal: The value you use for Rounding precision for repayments cannot be more precise than what you use for Number of digits after decimal. For example, you cannot specify 2 for Number of digits after decimal and 0.001 (which requires three digits after the decimal) for Rounding precision for repayments. You can specify 3 forNumber of digits after decimal and 0.01 for Rounding precision for repayments. Note that in this latter situation, the amounts stored in the database will use three decimal places but the amounts that you view in the Mifos user interface will use two.

If you want to set a different Initial Round Off Multiple in an additional currency, set another property with the currency code in the property name.  For example, if Mifos has been configured with an additional currency LBP, to set a different Initial Round Off Multiple, use the property name AccountingRules.InitialRoundOffMultiple.LBP.
Rounding mode for final payment

How Mifos rounds the final scheduled repayment.

See Rounding rules for loan payment schedules for a discussion of why you may choose to use a different rounding mode for the final repayment versus other repayments.

Property name: AccountingRules.FinalRoundingMode
Mutability: Always
Options: HALF_UP, FLOOR, CEILING
Default: CEILING

Example: Assuming that Number of digits after decimal is set to 2, a value of...

  • HALF_UP means that if the discarded digit is 5 or greater, the next digit is rounded up. 42.485 rounds to 42.49. 42.481 rounds to 42.48.
  • FLOOR rounds the amount down to the nearest digit even if the discarded digit is 5 or greater. 42.486 rounds to 42.48.
  • CEILING means that if the discarded digit is anything but zero, the next digit is rounded up. 42.481 rounds to 42.49.
 
Rounding precision for final payment

The decimal place the final repayment is rounded to when Mifos calculates the loan repayment schedule.

The decimal place you choose can't have a greater precision than what you specify for Number of digits after decimal. In addition, the degree of precision used for the final repayment cannot be greater than what you use for the other repayments see the examples.  Also, the setting must be greater or equal precision than InitialRoundingOffMultiple.

Property name: AccountingRules.FinalRoundOffMultiple
Mutability: Always
Options: 1, 0.5, 0.1, 0.01, 0.001
Default: 1

Example: If the currency is...

  • INR, a value of 1 rounds to the closest whole rupee.
  • GBP, a value of 0.5 rounds to the closest 50 pence.
  • USD, a value of 0.1 rounds to the closest dime. If Number of digits after decimal is set to 1, this is the limit of precision, even though this currency has a smaller unit (the penny).

How rounding interacts with Number of digits after decimal: The value of Rounding precision for repayments cannot be more precise than that of Number of digits after decimal. For example, you cannot specify 2 for Number of digits after decimal and0.001 (which requires three digits after the decimal) for Rounding precision for repayments. You can specify 3 for Number of digits after decimal and 0.01 for Rounding precision for repayments. Note that in this latter situation, the amounts stored in the database will use three decimal places but the amounts that you view in the Mifos user interface will use two.

About the precision used for final repayments: The precision you use for Rounding precision for final payments must be equal to or less precise than the precision you use for Rounding precision for repayments. For example, if you set Rounding precision for repayments to 0.5, you can only set Rounding precision for final repayments to 0.5 or 1 you can't set Rounding precision for final repayment to a finer degree of precision (0.1, 0.01, 0.001).

If you want to set a different Final Round Off Multiple in an additional currency, set another property with the currency code in the property name.  For example, if Mifos has been configured with an additional currency LBP, to set a different Final Round Off Multiple, use the property name AccountingRules.FinalRoundOffMultiple.LBP.

 

Calendar

In Mifos, the fiscal year starts on January 1 and ends December 31. Use the Calendar section ofapplictionConfiguration.custom.properties to configure other aspects of the MFI's calendar, including which days are working days and how repayment meetings should be handled if a meeting falls on on a non-working day.

Clients

Use the Client section of applicationConfiguration.custom.properties to refine how Mifos represents the MFI's hierarchy and control which entities can apply for loans.  This section also has settings on client information.

Center hierarchy exists

Does the MFI have one or more centers in its hierarchy? By default, Mifos assumes that an office is at the top of the hierarchy, followed by centers, groups, then clients.

ExampleClientRules.CenterHierarchyExists=false causes Mifos to use a hierarchy of 1. Office, 2. Groups, and 3. Clients instead of 1. Office, 2. Centers, 3. Groups, and 4. Clients. In other words, with a value of false, Center is excluded from Mifos' representation of the MFI's hierachy. Options involving centers are also removed from the Mifos user interface. For example, the Create new center option is removed from the left navigation bar of the Clients & Accounts tab. 

Client can exist outside group

Can clients be independent of groups or must all clients belong to a group? By default, Mifos assumes that a new client can be created without that client needing to be part of a group. Instead, the client need only belong to an office.

ExampleClientRules.ClientCanExistOutsideGroup=true allows you to create a new client that is assigned directly to an office instead of to a group, then to an office. To use this capability, when you are prompted to select a group in the new client creation process, click the link that reads "Click here to continue if group membership is not required for your client".

 

Process

Use the Process section in applicationConfiguration.custom.properties to include or exclude optional steps when Mifos creates clients, groups, and accounts.  These settings will be DEPRECATED in the release after Mifos 2.0.

Client pending approval state enabled

Workaround for setting to false In the Mifos database, execute the following command: UPDATE CUSTOMER_STATE SETCURRENTLY_IN_USE=0 WHERE STATUS_ID=2;

To approve a newly added client:

  1. After you create a client in Mifos, click View client details now > Edit client status.
  2. In the <client name> - Change status pane, select Active then enter a Note.
  3. Click Preview > Submit
 
Group pending approval state enabled

If you use the default setting (true), an approval step is added to the process of adding a new group. Specifically, instead of a newly added group going straight to Active status, it goes to an Application Pending Approval status. Because of a problem with this property (issue 2252), don't use the properties file to set it to false. Instead, use the workaround below.

Property name: ProcessFlow.GroupPendingApprovalStateEnabled
MutabilityTRAPDOOR
Options: true (yes), false (no)
Default: true

Workaround for setting to false In the Mifos database, execute the following command: UPDATE CUSTOMER_STATE SETCURRENTLY_IN_USE=0 WHERE STATUS_ID=8

To approve a newly added group:

  1. After you create a group in Mifos, click View group details now > Edit group status.
  2. In the <group name> - Change status pane, select Active and enter a Note.
  3. Click Preview > Submit.

Workaround for setting to false In the Mifos database, execute the following command: UPDATE ACCOUNT_STATE SETCURRENTLY_IN_USE=0 WHERE ACCOUNT_STATE_ID=2

To approve a newly created loan account:

  1. After you create the account in Mifos, click View loan account details now > Edit account status.
  2. In the <account name> - Change status pane, select Application Approved then enter a Note.
  3. Click Preview > Submit.
Savings pending approval state enabled

If you use the default setting (true), an approval step is added to the process of creating a new savings account for a group or client. Because of a problem with this property (issue 2252), don't use the properties file to set it to false. Instead, use the workaround below.

Property name: ProcessFlow.SavingsPendingApprovalStateEnabled
MutabilityTRAPDOOR
Options: true (yes), false (no)
Default: true

Workaround for setting to false In the Mifos database, execute the following command: UPDATE ACCOUNT_STATE SETCURRENTLY_IN_USE=0 WHERE ACCOUNT_STATE_ID=14

To approve a newly created savings account:

  1. After you create the account in Mifos, click View savings account details now > Edit account status.
  2. In the <account name> - Change status pane, select Application Approved then enter a Note.
  3. Click Preview > Submit.
 

Reporting

Use the Reporting section in applictionConfiguration.custom.properties to customize some of the reporting- and repayment-related capabilities in Mifos.

Upload Storage Directory

Allows Mifos to upload both admin documents and report templates at a non-volatile location. A custom upload storage directory is reflected on the System Information page.

Example:  GeneralConfig.UploadStorageDirectory=C:/reports 

Branch Manager name

This setting is currently invalid.

Property name: RolesAndPermissions.BranchManager.RoleName

Import Transaction Order

If you are using a plugin in Mifos that needs an order of accounts set for which the transactions should be applied, use this setting. 

This example is for the MPESA plugin

Property name: ke.co.safaricom.MPesaXlsImporter.ImportTransactionOrder
Mutability: Always
Default: none

Example:  ke.co.safaricom.MPesaXlsImporter.ImportTransactionOrder = AL1, NL1, SP1

where AL1, NL1, and SP1 are short names of the products to which you want to apply the transactions to. 

 
MPESA Max Disbursal Limit

If you are using the MPESA plugin in Mifos for Loan Disbursals, MPESA has a maximum limit for Loan Disbursals.  The default is at 50000 right now.

Property name: MPESA.DisbursalMax
Mutability: Always
Default: 50000

Example: MPESA.DisbursalMax=50000
 

Batch Jobs

Use the Batch Jobs section in applicationConfiguration.custom.properties to customize the batch job settings in Mifos.

 

Batch Size for Batch Jobs

You can set Hibernate cache size for batch jobs. 

Customizing your Database Connection

Mifos version 1.2.x and older

You can customize various aspects of your database connection, such as which host to connect to, the database name, your user name and password, as well as the connection pool settings, by placing a file called deploymifosDB.properties on the app server classpath while Mifos is not running. A sample of this file is in the Mifos install package, in the conf folder.

Note: The file deploymifosDB.properties is based on hibernate.properties. If the latter changes in a future release of Mifos, your copy of deploymifosDB.properties may also require changes.

Mifos versions greater than 1.2.x and upgrades

See MigratingToPostV12DatabaseConfiguration for modifying your database connection if you upgrade from version 1.2.x to 1.3.x (or later). See LocalPropertiesFile if you've started with Mifos version 1.3.x (or later, including trunk development builds).

 

Database-Configured Settings

Some Mifos features are configured directly in the database. The settings described below are located in the config_key_value_integertable in the Mifos schema:

  • The value for Minimum Days Between Disbursal and First Repayment is used when Loan Schedule Independent of Meeting is enabled. This setting determines how tight the interval can be between disbursing a loan and requiring the first repayment for same. The default value is 1, which ensures that a loan disbursal and the first repayment can never be less than one day apart.
  • The value for Maximum Days Between Disbursal and First Repayment Day is used when Loan Schedule Independent of Meeting is enabled. This setting limits the number of days that can pass between disbursing a loan and requiring the first repayment for same. The default value is 365.
  • Loan with Individual Monitoring can be used when a group opens a loan account. It lets you specify, at disbursal time, how much of the total loan amount each group member will receive. This feature is disabled by default. To enable it, set the flag forloanIndividualMonitoringIsEnabled to 1.
 
 

Before your users access Mifos...

After you define the administrative settings that can only be configured when Mifos is not running (including the one-time settings), it's time to configure some of the settings on the Admin tab in Mifos. Not every setting on the Admin tab is described here, just the fundamental ones that must be configured before another Mifos system user defines items like products, clients, groups, accounts, meeting schedules, and surveys.

 

Customizing the User Interface

The options in the Data Display and Rules group allow you to customize certain labels and list-box items, hide or require certain fields, and define new fields for additional information you want to collect.

Information on Reporting and PPI Surveys

As a system administrator you may also be reponsible for setting up reports for your users and adding a PPI survey to your deployment. Use the following links for more information:

  • Reporting in Mifos: Describes how to use BIRT (Business Intelligence Reporting Tools) to build and upload non-standard reports.
  • PPI Survey Conventions: Adding a PPI survey must be done at the source code level and requires assistance from a Mifos specialist. Use this link to learn about some of the requirements.

Configuring Mifos to work with Cloud Foundry

Cloud Foundry is an open platform as a service, providing a choice of clouds, developer frameworks and application services. You can place there your application so others may see it in web. Thanks to Cloud Foundry you don't have to worry about infrastructure such as servers. If you want to provide data access to your database created in cloud, you need to  configure your system variables.

There is a JSON array under VCAP_SERVICES that has complete information for the bound services. System variable which contains JSON document looks like following:

export VCAP_SERVICES='{"mysql-5.1":[
    {
        "name":"mysql-4f700",
        "label":"mysql-5.1",
        "plan":"free",
        "tags":["mysql","mysql-5.1","relational"],
        "credentials":{
            "name":"mifos",
            "hostname":"localhost",
            "host":"localhost",
            "port":3306,
            "user":"mifos",
            "username":"mifos",
            "password":"mifos"
        }
    },
]}'

AttributeExplanation
nameThe name of database
hostname/hostDatabase address
portNumber of port
username/userName of user
passwordPassword

 

Note: Variable VCAP_SERVICES has priority (before properties).