Adam M's Wish List

Another name for this page might be: "we've got a long road ahead, but check out what we've done along the way!".

TODO

These are problems keeping Mifos from being truly awesome. Some of them have corresponding issues in our issue tracker. If you agree that they need to be fixed, please vote for them!

Build Mifos in under 10 minutes on reasonable hardware

A fast compile/fix cycle is essential for making code changes in a timely manner.

Assist user with database connection

Fast, useful feedback.

MIFOS-4921

Stuck on Struts 1.x

Migration to Spring MVC and Freemarker in progress!

Mifos does too much

We need to cull or pull out non-core functionality into plugins/extensions

Normalize all PPI source data

PPI source data is currently in many separate Word documents and Excel spreadsheets. Store it in a standard format that can be used to generate printed surveys as well as reports used by Mifos BI software.

24x7 availability

Eliminate exclusivity of batch jobs and OLTP activities

Use out-of-the-box i18n/L10n

Fix MIFOS-2018, others.

Improve startup

  • Fail faster. If we can't connect to a MySQL backend, we can't do anything. Do a quick check that we can connect to the database before anything else.
  • Fail nicer. If the first db connection check fails, alert the user with a clear message.
    • Help the user fix their MySQL connection.

Dynamic logger configuration

  • Provide UI to allow a Mifos admin to change log level(s) on the fly.
  • Persist (make these changes stick) in loggerconfiguration.xml or elsewhere.

Session abuse

The HTTP session is used much more than is really necessary.

DONE

These are issues I was particularly concerned about that have since been resolved. Yay!

Get off Plone ZWiki

Done! Thank you, Michael Vorburger!

See MIFOSADMIN-54.

Non-sequential database upgrades

Done by Kojo during the Google Summer of Code 2010. Yay!!

See MIFOS-2896.

Use a single issue tracker

Done June 2010. Yay!!

We currently use both JIRA and Mingle.

  • data in JIRA originated from the issue tracker at java.net, hence, contains historical data about all issues (bugs, enhancements, features, etc.) ever filed in Mifos
  • our JIRA instance is fast, and we get awesome support from Atlassian
  • Mingle provides hierarchical views of stories
  • Mingle provides us a way to track story points added and deleted from iterations--we haven't yet figured out how to do all this in JIRA
  • we manually enter and maintain issues in both systems

Distributed version control

Done mid-May, 2010. Thank you, Git!

Run Mifos web application from IDE

This is a huge win during development. Thank you to Adam Feuer and others for making it so that Mifos can be run without first building and deploying a war

Reliable system monitoring

Thank you, OpenNMS!

Decent Backups

Thank you, BackupPC!

Better build system

We realized many benefits after moving from Ant to Maven

  • better dependency management
    • we know what versions of software are used by Mifos, their licenses

Also, we moved from Bamboo to Hudson for our continuous integration server. Awesome!

Better version control

Moving our Subversion repository to SourceForge.net was a huge win after months of abuse from an unreliable repository at java.net. The next step is moving to distributed version control.

With sf.net, we gained

Better issue tracker

Thank you, Atlassian!

  • it's fast
  • awesome support
  • easy to mine information about issues

Make Mifos work in Firefox

Done! See FixFirefoxBugs.

Reliable release schedule

Almost every Mifos release is now on schedule or early.

Use a known and up-to-date version of Hibernate

Done! See UpgradeHibernate.

Automated pseudolocalization

Done! See AutomatePseudolocalization or MIFOS-2445.

Fix MySQL table name case problem

Marked "wont fix". It seems acceptable that Mifos requires table/column name case insensitivity.

See MIFOS-1513.

The original development platform was likely one where filenames are case-insensitive. On these platforms, MySQL allows referring to tables (and columns?!) in a case-insensitive way. This is a gotcha for Linux and OS X deployments, see issue 1513 for details.

Update: we ran into a problem using EC2: their RDS service only supports case-sensitive databases! Thanks to Udai, MIFOS-1513 is now fixed!

Make Mifos work in Tomcat

Mifos used to require JBoss. We've found Tomcat

  • faster
  • easier to develop with
  • reliable and stable in production

Awesome, useful live chat

Thank you, Freenode!

Customers are running known code

All customers now operate on known, frozen versions of released software that we have tested.