Thanks to everyone (whether you posted to the list or privately) for
the feedback to the initial Mifos X API. Some people really gave it a
pretty thorough look-over.
Terry's post covers much of the feedback we received so I'll just give
a few responses to that post.
The intention is to keep a 'demo' site available so that people can
test out things or build an app or a bit of an app without having to
install the platform locally (especially if people aren't set up for
java or tomcat and they shouldn't have to be). We are expecting to
move it to a mifos domain name at some point rather than the current
ec2 instance. Also, we're currently converting our Individual Lending
app so that it runs completely off html/javascript (currently it is a
java app). This should bring it to a wider audience and be a better
source of example code for app development.
Reseting the db is a good idea :) I played around with adding and
changing roles myself and had to restore... so we need to do something
here.
Terry: "Should the UPDATE Additional Field example's URL be escaped in
the docs?" - no, it shouldn't... I think its a browser thing... it was
fine for me using Firefox, but I got the same "break" when copying and
pasting from Chrome.
Good spot on the current way report data is returned. There certainly
can be a more normal JSON option as you showed (i.e. Its on the
roadmap). There is 'method in the madness' though as the format
currently returned (a generic resultset) fits nicely in with JQuery
Data Tables which we use for generic screen based reporting in the
individual lending app. As it happens 'a report' is also one of the
ways we use to extend the usefulness of the API beyond what is coded.
This is because SQL can be run to get arbitary data with arbitary
rules e.g. for building MFI specific pages or for handling condition
checking workflow variations. Anyhow, it makes even more sense for
these uses to provide the JSON option you suggested.
It is very true that we didn't build out a number of Admin type
functions (around permissions but also around reports and additional
data). This is only because we didn't need to do so first off but
have them 'on the roadmap' for sure.
There absolutely will be more 'search' functionality around clients
and loans like you suggest as there is a need to extract and import
'bulk' data and also to limit the data returned to certain conditions.
In addition to this the 'report' functionality currently provides a
way of getting arbitary data back based on setting up the report sql
(whether using the current resultset output or the normal object
output). Even doing some specific 'bulk' optimisations is absolutely
fine... mainly cos its easy to do so and we should do it if it makes
life easier (besides offline uses many MFIs import repayments). We
wanted to provide a platform that you can get data in and out of
easily... and that requires providing a number of methods... we're not
fully finished with that yet and of course some things will be
implemented as the need arises for them rather than upfront.
I don't have a good understanding on "language binding" so I'll leave
that to others to comment on.
Currently, as mentioned before, we have an Individual Lending
(browser) app... which is soon to be totally javascript. We'll send
out a post to the dev list when that's ready. So that's just the start
but obviously we want more apps to be built and the API extended.
We're keen to extend the API so it covers other microfinance
methodogies.
John