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,
Dmytro.

Sunday, July 10, 2016

GSOC Reports, Week 7: Finished UI

Hello, everyone! This is my report for 7-th week of GSOC, and my work under on the OpenMRS ID: User Dashboard project.

The most important thing of this week - is that UI part is finished, and I started to work on the integration of User Dashboard module to the main ID application. This week I've done next features:
  • Data pagination;
  • Added 'clear' filter button;
  • Added 'reset password' button;
  • Added option to update multiple users by one action.
Plans for next week: add logic for getting REAL data from LDAP/Mongo.

Thanks everyone for reading this blog :)

Dmytro.

Sunday, July 3, 2016

GSOC Reports, Week 6: Interactive view implemented

Hello everyone! This week I've done a huge progress with User Dashboard UI. Most of actions were implemented, such as:

  • Users search;
  • Filtering (by LDAP, Mongo, or other criteria)
  • DataGrid column configuration (ability to set, which columns will be displayed in grid)
  • User properties change (fix LDAP/Mongo existance, groups management, password reset)
Also react-router library was integrated, this library will be used for pagination (which development is in progress now).

So, for the next week I plan to finish pagination, and start integration of real data from ID dashboard (users, groups, etc).

Thanks!

Sunday, June 26, 2016

GSOC Reports, Week 5: Mostly finished UI


Hello everyone! This is my short post about current status of User Dashboard project.

This week I worked under FLUX architecture implementation (Alt framework), and improving UI.
After my mentor's UI review I also updated some of the components, and added separate view for editing one or multiple users properties (Such as, select group(s), LDAP/Mongo status, etc).

There are still issues with FLUX data updating, which I plan to fix next week, and start to work under data integration (from ID dashboard). Also there is new note from my mentor, to add new screen for log in, which is I also will add next week.

Thanks for reading my blog, good luck) 

Sunday, June 19, 2016

GSOC reports, Week 4: Flux implementation


Hello everyone! This is my next report, regarding my work on OpenMRS ID: User Dashboard project.

Last week I finished with UI components, (maybe some of them will be updated when we will work with real data, but as for now they are ready), and start working on data manipulation. In my previous projects (that mostly was built with AngularJS) I used MVC pattern for implementing UI. But for React there is another architecture - Flux, which I decided to use in our project. 


So, first I something changed project structure, (with adding directories 'app/actions' and app/stores') and make some refactoring. As Flux implementation I used popular alt library, and also I used immutable library for working with immutable data. Both libraries were added to package.json file of a module.

Then I implemented basic AppActions and AppStore modules, and integrated them for our Datagrid component.  

Next steps which I will do: integrate Alt for all components, and plan how to integrate real data from OpenMRS ID (MongoDb and LDAP) into the User Dashboard. Also, during next week I will make a short midterm presentation about the User Dashboard Module, and before that, will integrate it into the main OpenMRS ID application.

Thanks everyone for reading, good luck) 

Friday, June 10, 2016

GSOC reports, Week 3: focused on components


Hello everyone who read my blog! Here is my report for last GSOC week.

This week was much more productive than previous, because at the moment I'm well familiarized with React documentation, and can focus on making of components. 


First, I decided to use some grid system for UI components, it will much simplify component placement on the UI. Previously I worked with twitter bootstrap framework, which have great grid system, which is good documented and easy to use. React-toolbox library, which I am using for making components, doesn't support grid out of the box, but fortunately, I found another solution - react-flexbox-grid, which works well with react-toolbox components. This solution was integrated to our application.

Also I have implemented some components, such as DataGrid (for displaying list of users), Comboboxes (for selecting columns that will be displayed in the grid, and filters for users).

Plans for next week - implement pagination for DataGrid, and improving components.


Friday, June 3, 2016

GSOC reports, Week 2: problems with material-ui library and search of new solution

Hello everyone! There is my report for the second week of GSOC program.

This week was not such productive, as I expected, because I got a lot of problems with material-ui library, which I choose for our User Dashboard module, and especially with server side rendering. Details I leaved here. 

First I tried to setup an app with client side rendering, using browerify and babel plugins for gulp, but I didn't help. Finally, I used advice from my mentor Robert, and tried to setup an app with other React Material library. I choose react-toolbox with webpack module bundler, spent a lot of time for setup webpack configuration, but this solution works! I pushed updated module to my repo. 

So, as for now, there are no any blockers for continue developing, and I can focus on implementing UI components. This is my plan for next week.

Thanks for attention, good luck :)