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 :)