Offline Data Entry
UPDATE: we are now tracking the creation of an offline module for Mifos X, please refer to this page:Â
Â
Project Resources
Mentor | Â |
---|---|
Assigned Contributor |
Background
Read to understand what Collectionsheet means.
- Collection sheet entry functional spec
- Mifos Collection Sheet Interface
- How to enter collection sheet data/
Read this page to understand Customer Offline Requirements including a summary of the data requested and returned for the module and all open issues provided by Binny..Â
Introduction
Mifos current requires a direct Internet connection, even when doing data entry. This is impossible for many MFIs, as their branches do not have good Internet connectivity.
This project is to develop a prototype that shows it is possible to do data entry for the main workflow in Mifos - Collection Sheet Entry - while not connected to the Internet. Loan officers visit borrowers on bicycle or motorcycle, collecting payments and noting discrepancies on a printed sheet. After they are done with their rounds, they take the sheet back to the branch, where the sheets are collected by a data entry person. The data entry person enters data from many loan officers using Mifos. The user should be able to select an XML file that is emailed to them, or gotten from the Internet. This file contains the data for the day's Collection Sheets for several loan officers. The plugin should read the XML file, and display a screen that allows the user to select which Collection Sheet they want to enter. Then, they should be able to enter the data, and save it to local storage. They should be able to do this with all Collection Sheets in the file. They should also be able to return to previous Collection Sheets and correct data entry errors. When all sheets have been entered, and they connect to the Internet, they should be able to send the data to Mifos to be entered. Doing this part is optional for the prototype. The prototype should be able to run on Windows and Linux.
Please let us know if you want to work on this project, or if you have questions, by emailing the Mifos Developer list:
You can see the Collection Sheet Entry page on the Mifos demo server. (Log in, select the Clients tab, select Collection Sheet Entry form, and follow the prompts to get to a particular Center to do data entry for).
Status
There has been two major efforts to create a prototype.
Mifos Offline Client by Conflux Technologies (India) (May 2011)
https://github.com/vishwasbabu/Mifos-Offline-Client
Jquery, XUL based client
http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.1.19/
Initial development was done by Vishwas and Nayan using Text editor. :) (sounds cool, but not productive if we continue with XUL)
Looking at the recent releases of XULRunner it seems like it's very active. There are some good documentation about how one can setup development of XUL app.
- https://developer.mozilla.org/en/XULRunner_FAQ
- https://developer.mozilla.org/en/Getting_started_with_XULRunner
- https://developer.mozilla.org/en/Debugging_a_XULRunner_Application
- https://developer.mozilla.org/en/XULRunner_tips
- https://developer.mozilla.org/en/XULRunner/What_XULRunner_Provides
- http://www.kodewerx.org/wiki/A_Brief_Introduction_To_XULRunner:_Part_1
- http://www.kodewerx.org/wiki/A_Brief_Introduction_To_XULRunner:_Part_2
TECH-DEBT
- Automate build and binary/package generation.
- Replace XUL with regular HTML for Chrome extension/app or Firefox plugin portability.
- Update XULRunner dependency to latest (7, 8b)
- Create documentation on XUL development
- Refactor JS to be more modular and replace string (repeated) and XPath/XQuery string with contants
- REST API to remove mifos-live from the picture
Mifos Light by Logica (Kenya) (Sept 2009)
- Original functional specs from Mifos Light Project lead by Logica in Kenya.
- Mifos Light review discussion
- Mifos Light code review notes
Other discussions
Steps
Read the Developer Kick Start page for information on contributing and getting set up. Follow the steps under
- Introduce yourself to the community on our developer mailing list and IRC channel
- Fill out the Contributor Agreement
- Set up your machine for development
- If you are blocked, post questions (and an in-work patch, if applicable) to (a) the IRC channel ( http://pastey.net can be used for sharing patches) and/or (b) the mifos-developer mailing list.
- For any code changed which is not covered by tests: (a) consider creating a unit test (see AccountingRulesTest for an example). If a unit test is not practical, consider creating an integration test or an acceptance test.