Monday, August 22, 2016

GSOC 2016 Results

This is my post, devoted to the results of my work during GSOC 2016 program.

This year I worked on the User Management Dashboard module for OpenMRS ID (here is the description of my project)

My project is a React application, built with using of such libraries and technologies as react-toolbox, ExpressJS, AltJS, webpack, babel

List of my commits during this summer:

Also I submitted 2 Pull Requests to main OpenMRS ID project repository, with improvements, required for my module:

Sunday, August 21, 2016

GSOC Reports, Week 13: Final GSOC Week

Hi, guys! Here is my last GSOC report regarding my work under User Dashboard module for OpenMRS ID, but not last generally :)
This week I've implemented huge number of features, such as:

  • Re-implemented update, re-save, delete users API, make it more stable, fixed bugs;
  • Added option to edit user email list;
  • Implemented RegExp search;
  • Implemented URL params for search (for example, we can open url: user-dashboard?user=someusername, and it will search for selected user;
  • Changed 'Yes/No' fields on UI to boolean true/false;
  • Added error handling to REST API;
  • Added Messages component for status messages (user update, delete, errors, etc)
  • Added ability to change 'locked' attribute;
  • Added option 'sort by';
  • Re-implemented UI controls, design;
  • Added option to set email from email list as primary.
 User Dashboard became more stable, and get a lot of functions. It still in development, but I believe, that as a result of my work we will have a stable and functional user management dashboard, which will make life of ID Dashboard Administrators much easier!

Sunday, August 14, 2016

GSOC Reports, Week 12: Finalizing things

Hello, everyone! This is one of my last reports about GSOC. Summer ending, and I am finalizing features for OpenMRS ID User Dashboard. So, lets see what I've done during last week:

  • Implemented REST for deleting, updating users, and integrated it into UI;
  • Fixed group list on UI;
  • Added user permissions middleware;
  • Updated possible columns for view list;
  • Added option to update rest of user fields (username, firstName, lastName, etc)
  • Updated UI components, fixed React warnings.
Next week - is a final GSOC week, so my plans for it:

  • Add option to update user email list;
  • REST for users search (by username, primaryEmail, firstName, lastName)
  • Integrate Mongo & LDAP registering (fixing missed entries)
  • UI improvements (styles, useability)
  • Errors hangling and notifications on events (save/update/delete user, etc)

Saturday, August 6, 2016

GSOC Reports, Week 11: Data integration, API updates

Hello everyone!

This week I've successfully integrated users list from Mongo/LDAP into User Dashboard, using axios library, so now we have actual user list. Group list also integrated, but turned off for now due to some bug with React Toolbox Dropdown component, which I will fix later. Also we changed User Dasboard REST API to /admin/user-dasboard/api. So, now we have everything to finish API integration into User Dashboard.

Plans for next week:
  • Finalize API integration;
  • Fix bug with groups/dropdown component;
  • Finish Search, one/mutiple user update;
  • Think about feature of Regex search for users (proposed by my mentor Robert).

Sunday, July 31, 2016

GSOC Reports, Week 10: REST Updates

Hi everyone!

Here is my next report about my work on GSOC 2016 Project "User Management Dashboard".
Last week I make some improvements into REST API for User Dashboard, First of all, I added new functionality to ID Dashboard: method getAllUsers to ldap.js file (see the PR), and also tests for this.

Then I've implemented getAllUsers in the User Dashboard API. Also there were implemented options for user activation and password reset.

Sunday, July 24, 2016

GSOC Reports, Week 9: Real user data integration

Hello everyone! 

As I wrote in my last report, there was some problems with ID instance. Fortunately, My mentor Robert helped me to solve them, so now we can work with ID users data. As for now, I have implemented REST API for getting user data (users list), next plans:
  • Integrate all REST methods for getting and updating user data;
  • Integrate that methods on client side.
On a server side we will use collections library, on a client side - fetch API. We will use collections (FastMap) for combining data from LDAP and Mongo, to find entries which registered only in one of these storages.

Check out my next posts, thanks for reading my blog


Sunday, July 17, 2016

GSOC Reports, Week 8: Start of User Dashboard Integration

Hello, everyone! This is my next report, about last work week under OpenMRS ID: User Dashboard project. This week I worked in 2 ways:

  • Launching OpenMRS ID instance with integrated User Dashboard module;
  • Implementing skeleton for API methods (get user list, update user, etc)
Unfortunately, as for now, I have problems with launching ID instance, that I described here, so as for now, I didn't get list of users from Mongo/LDAP, but I hope to fix problems soon, and continue development.

Thanks for reading my blog,