For the project i decided (after getting no response on IRC) to work on a new feature proposed in the issues category (#1016). The feature that was requested was to make it so you could display more map markers on the map using the side menu filters. Starting out this seemed like it would be a decent task for a new participant of the project. Or so i thought.
Again, it is important to remember that i do not know nor pretend to know everything about this project. The first problem i hit was trying to figure out how the pages were wired together as i had never worked with the Kohana framework before. I read through their documentation and after a couple of hours playing with Google Chromes inspect object i was able to determine how the main_js.php view is hooked into the Json.php and main.php controllers. Unfortunately this is where things started to become more problematic.
I originally found it strange that the main_js.php view was not actually found under the views folder but rather was placed in themes folder. To a new project coder this made it difficult to figure out how pages were constructed. Another thing i found problematic is that there was very little documentation on how pages were put together. Even when i looked at the documentation for the Kohana framework i found that there were many points where method names did not seem to show up under Ushahidi's Models or Controllers nor under Kohana's built in options.
Up to this point i was able to commit and add some code to the main GUI page and JSON get methods that allowed the filters to have a multiple select option. This was however the end of my success.
I went on the IRC again in hopes that i would be able to get some help in determining how Ushahidi calls Event::run methods but unfortunately there was no reply. Additionally when i looked back at the features section i had noticed that many of the features being requested were being added to Ushahidi's version 3 feature list. This lead me to believe they were more then likely not working on version 2 as much anymore.
Overall i found working on this open source project to be rather frustrating as the lack of beginners documentation and limited communication on the IRC channel left me trying to figure out the project using 'black box' testing. This is not to say i would not work on this project in the future when i have more time. For now though i am too busy (being a student) to continue working on this project blindly in light of a newer version being released potentially at anytime.


No comments:
Post a Comment