Follow by Email

Tuesday, December 27, 2011

More Mifos Dev on Ubuntu

It's been a while since the last update, mainly due to finals and the holiday, so this is a general update to cover the last few weeks.

Jon and I managed to get our work spaces set up on Ubuntu, which was a little less annoying than doing so on Windows, but still we ran into issues. It seems to me that too much time is spent just trying to get the environment set up ( or fixing it when something goes wrong ) and thus too little is spend actually working on what we want to. And with such a complex project such as Mifos, things can go wrong pretty often.

Since getting the environment set up, Jon and I have been working on a feature request that adds comma separators to some monetary values. This was a request that some users made because large numbers were getting a bit confusing to enter since you couldn't put commas in with them.

We started working by dividing the task up, Jon took on the task of implementing a jquery feature that automatically puts commas in and could also be called  to display them. However this only works on the pages that use the template engine. Since some of the important pages still use JSP, I've been working on those to figure out ways to fix them. Some are easy, simply changing how the page formats the number by changing the type. However some are a lot more complex, going all the way to the root money class to be displayed. This causes a pretty big issue because these pages may require some changes to important classes that need to be handled carefully.

As of now, we have managed to fix a few pages. Though things are going a bit slow with finals, the holiday, job-searching, and many interviews taking up time.

Thursday, November 3, 2011

More Mifos Dev on Ubuntu

During the past week both Jon and I have been working on getting our Ubuntu VM's setup for doing Mifos Development. The previous issue we were stuck on, which was the initial mvn clean install not working, we worked around, Jon found a way to suppress the warning by editing one of the java classes. Originally we have sent the issue to the mailing list, however we didn't get a useful response as the dev team seems preoccupied with current events. While this probably isn't the solution to the problem, it does let us move on to actual development and testing. Jon typed up a detailed set of instructions that's on our wiki now, and as of this post, they work correctly, though I did add one section just now. So, now that we have the project setup, the next step is to get the acceptance tests to the point where we can run, edit, and hopefully create them. Since Mifos uses the old Selenium for testing, we will need to find the old Firefox (3.0) to run some of the tests.

On a side note, I was asked to setup an instance of the OpenEMR medical system on a flash drive for use by a part of Drexel's medical college. It was extremely easy to do, and I put the instructions up on our wiki as well. Basically, you download the pre-setup Xampp, place it on the flash drive, and then run Xampp's configuration to make it portable.

Sunday, October 23, 2011

Mifos Dev on Ubuntu

Due to some trouble with using the development setup, selenium tests, and mainly because Ubuntu is Mifos's primary OS, I've been working on getting the development setup on a Virtual Box Ubuntu system rather than the Windows 7 system I've been using. So far the process is going much quicker than it did on Windows. I've been helping Jon to get caught up as well as setup the environment as well. Unfortunately, we hit a snag this weekend because the current master branch of Mifos doesn't build successfully. So until it gets fixed or we figure out how to use git to get an older version, we can't move forward with the setup.

 So far though, we've installed Maven, Java, Git, MySql and Eclipse, all of which seem to be working fine (if not better now on Ubuntu). Hopefully the build will get fixed this week and we can finish the 'mvn clean install' and start working on the actual project again.

Wednesday, September 28, 2011

Mifos Involvement Update

With the semester starting my progress on Mifos work has slowed down a bit. On a better note though, I have found some things in my skill range (at least I think) that I can handle. I spoke with Udai, one of the dev team members, and he suggested working with acceptance tests. Currently Mifos uses Selenium 1.5 (an older version) to run it's tests and there are plenty of tests yet to be made. It seems like it's not going to be too time consuming to learn how to use Selenium, the hardest part will most likely be seeing how it works within Mifos code. Actually, I've already spent some time reading documentation on it, and looking at basic tutorials. In his e-mail Udai sent me some links to help me get started, so I'll be working on that for the upcoming week.

In addition I've been trying to keep attending the weekly developer meetings, though I don't always have access to Skype on campus I can still join the call from my cell which I thought was pretty neat. I don't have much yet to say on the meetings other than 'hi' and 'I've been working on this...' but it's still nice to be able to listen in and see what the devs are up to each week.

For anyone interested in the 'bigger picture' of my experience so far, I've started to see things I've been learning doing open-source work come back to help me in the classroom. Just to name a few; Unix, SRS, version control, and other aspects of software development are all subjects that I've noticed my experience has helped me with. Prior to doing this open-source work I didn't have much experience in these areas, and would most likely be devoting a lot more time to studying them than I have to now, which is a nice feeling!


Wednesday, September 14, 2011

Slow Progress

Over the last few days of working on Mifos bugs I've started to hit roadblocks/limitations that have brought my progress on bug fixes almost to a halt. Most of these limitations are just inexperience with the software Mifos uses, such as Free Marker template, Spring Source framework, and just the overall style of large systems like Mifos. I began looking into these subject more in depth to get a better understanding of them and identify how long it may be before I fully understand how they work with Mifos. My first impression is that these systems seem pretty complex, and I assume one should have more experience/education than I do at the moment to even begin to work with them. None the less, I have started to explore more into how/why they are used, and will in the next days/weeks begin to make connections from what I read to what I see in the Mifos code.

In relation to this, this week I received a list of projects/items to work on from Udai at Mifos. Some of the tasks seem a little out of my range currently, mainly because of the reasons above, but I am going to start working on one of the items, which is making acceptance tests. It seems like this task is something I would be able to learn quickly and hopefully be able to learn more about the structure of Mifos as I go.

In the next few days I will be starting to learn to use Selenium which is what Udai said to make acceptance tests with in his e-mail.

Friday, September 9, 2011

More Mifos Bug Fixing

Tuesday I was notified the my bug fix for MIFOS-4200 was accepted, they did have to make a few changes to it first though. Surprisingly, they were nice enough to take the time to e-mail me the changes and explain to me why they were made and how they made the fix better. It definitely gave me a much better understanding of how CSS works, specifically within Mifos, but also in general as well.

This week I've been working on sorting through the bug list to find more bugs that are at my experience level and that I could work on. So far I have two specific ones I am looking at; MIFOS-4500 and MIFOS-4207. I started work on the first one and made some progress but hit a roadblock, I'm probably going to have to do some research in how JSP works, specifically with Mifos. I posted a comment under the bug, hopefully someone will see it and point me in the right direction, if not I'll keep trying anyway and if I still am stuck I'll send an e-mail out to the dev mailing list.

Thursday, September 1, 2011

Finishing bug fix and videos

 This week I wrapped up the last of the videos for the Mifos Dev series. The full set of videos alone should help anyone to be able to quickly setup the Mifos development environment and get started developing and contributing. The videos are all available here.

In addition to finishing up the videos I've been working on a bug fix for Mifos, specifically Mifos-4200. I've come up with a simple fix using html and submitted to them via e-mail. Though was told to submit it in patch form. So I've been learning about Git to do so. So far I've learned a lot about just using git in general, but using it together with Eclipse and the Mifos project has been a bit confusing. Whenever I used 'egit' from inside Eclipse to make the patch, the patch would include other changes that I didn't make. I tried re-cloning the project and making the fix alone but I still got the same result. The only way I got it to work ( possibly ) was to re-clone the project, replace the file I changed with the fixed version, then use command line git to commit and format a patch. That patch seemed to only include the change I made so I re-submitted to the developer mailing list to see if I did it right and if they planned on accepting it. So far I haven't heard back from anyone about it.

For now I will be reading more Git documentation to learn how to test patches so I can see if I did it right, and if not, how to do so.