Posts

Week 10

Image
Gsoc Week 10. This week started off with a continuation of addressing the pending reviews still on the pull request which did not get merged the following week. I went further and continued writing some tests. I also during this week had to make a presentiation of the work i've done so fare till date. This i made following some reviews of past works that i saw in past gsoc students. I started by creating a youtube channel then i went further to create a power point presentation after i got the presentation working. I had as a next challenge in making a video explaining what my presentation is talking about. Below is a front page of my presentation of the work i did. and the complete power point presentation of th work can be found here  .Aslso the link to the you tube presentaion can be found here Password Reset Via email Project -gsoc midterm presentation . Also the link to the openmrs talk page can be found here  talk page By the end of this week i still c...

Week nine

Image
Mid Term Evaluation This week begin with me continuing to fix the reviews that my mentor made during the previous week. I continued the reviews until even by the end of the week the work was still hanging on the review as along the line i encountered a blocker which was about writing a test and the test was time sensitive as such creating a data set was difficult. This i had addressed in the previous week by moving these test into the userDAOTest and everything worked fine but as a result of the reviews, I had to as well migrate these test from the DAO to the service layer. This is where the algorithm which i used in the DAO for writing the test did not hold as the Logincredential which i am supposed to use was not available in the service layer. I did fixed all the other sections of the reviews but this was a blocker as it took more time debugging and actually letting me learn alot from the process. By the end of the week i had a call with my mentor and he left me with some hints a...

Week 8

Today i started by Migrating the User activation key to the login credential Object, this is as a result of the design discussion i had last week with my mentor and the reason is to abstract the activation key from being return in the User object and instead return it in the LoginCredential object. This process entails migrating the fields, methods and carrying out the mapping for the LoginCredential object. Which these i took care of. immediately i did this i noticed a failing test which is that of getUserByActivation Key this is a sure case and of course normal as the user object does not have the activation key any longer. I added the setActivationKey method to persist the created token and hashed to form the activation Key. This came up after the refactoring of the user object by sending the activation key to the LoginCredential Object. After successfully completing the above i made a pull request and from the feedback i got just the very same day i started updating...

Week Seven

Monday beginning of week 7.  I started this week freshly after having my pull request merged during the week that just passed, I Needed to move to new things and I went straing to the Openmrs webservice to consume the methods that i just added, During t he process of adding this method, I Tried accessing the methods which i added into core and non of them was available , i tried compiling and it failed then i realized it is not sync with the core during the build so i had to after some googling and seeking for help on the irc channel resulted to the option of me sending and email to my mentor for help in addressing the concern. I therefore got a reply with instructions on how i can do to get pass this blocker. I quickly implimented as i was told and there i went with build success. After having a sucessful build,   Now i went straight away to adding the functionality i was about to add. Immediately i started i noticed I was alsmost exposing the alot of logic to the r...

Week Six

Week 6 of google summer of code. This week began not different from the other ones but as it enfolds it showed to be one of a kind as the entire activities of the week turned around monotonous and with me perfecting the one and only single task. that of fixing and finalizing the pull request i made and making sure that all the content with respect to my gsoc project that relate to the openMRS-core have been fixed and merged to the set up repository located Passwordreset . Addressing the core issues meant the beginning of a new dawn for me as the next phase will completely depend on the functionality just added to the core to function. As the week commenced and went further i keep receiving reviews and fixing them day after day and it went further until i finally before the week went to and end addressed all the issues and got my pull request merged. In the process of fixing the reviews and writing test for the added code i had some hard times as some of the tests were failing and deb...

Week Five

 Week Five of gsoc This week  I continued work on Reviewing the not yet  addressed reviews that were left. Model change Then i went further to add to the user table another field by name user activation_key. This newly added field came up again as a series of discurssion which i had with my mentors and   we deemed necessary to instead of having another table to keep track of the token, expiry date, and relate it to   the user we should rather introduce another field to the already existing user model and this field   have as content, The user token which has been hashed (reversible) also going to use the salt which already already exist and is used for password hashing. and combined to this hashed token will be the timestamp of when the request for password reset was made(to be used for knowing if the token has expired or not). The hashed token  which will be of the format Hashed_token:timeStamp (xyt354m8912ghx:1233455612) is...

Week four

Image
Gsoc week four. Week four of the summer work as all other weeks that have passed had a similar experience and it began by me Bringing up a design with functional requirements as was told by my mentors. I brought up the requirements having in mind to use a library which I have been studying and understanding and as such I had to use one of the UML(Unified Modelling Language ) tool to do the design which in this case I chosed the usecase diagram and came up with the following . I made this use case having in mind to implement using JWT(JSON Web Token) but when I presented it to my mentors. I had a lot of positive feedbacks which I did not see at the instance when I did my design. Most of the discursion and criticism on this is found on talk here . After the deliberations and the feedback I got I had to change my way of thinking about the JWT. New methodology was proposed that of adding another field to the user table (activation_key) which will contain the token and als...