(Ok, ok, we all know that its THAT time of the year. So no trumpeting is required…)
During tomorrow’s OpenMRS Dev forum, I’ll be leading a discussion on GSoC project ideas. This will be a time to talk about our plans for the upcoming GSoC!
So if you are,
A GSoC aspirant who wants to listen to how we’re planning to do things
An implementer with a project idea that they would like someone to work on
A community member / domain expert who wants to mentor students working on projects
Please feel free to join in with us tomorrow, to discuss how you can get better involved, and work with us to make your endeavors a success!
Also, friends from Bahmni and all other downstream projects or distributions that work with OpenMRS; yes, you are also eligible to take part, and have a project/s as part of GSoC. So please feel free to join in!
Please feel free to join in, and share your ideas!
Thanks for leading us in this effort, @surangak. GSoC is not only an opportunity to think about projects, it’s an opportunity to discover great talent and make new friends. I’m sorry that I won’t be able to make the dev forum tomorrow; I hope many others will join to help brainstorm on project ideas for this summer.
Some thoughts for GSoC 2016:
OpenMRS is in a unique position to connect developers with active implementations (write code, save lives). I would encourage us to strive for projects that can produce meaningful features or tools for implementations and get the minimum viable product deployed by or near midterm. This could have the triple benefit of (1) better student experience, (2) real benefits for implementations, and (3) more GSoC projects getting used in the field. The best projects would be non-mission critical “nice to haves” for implementations that had a good chance to reach a “1.0” state in ~4-6 weeks.
While we don’t need to require it, I would encourage projects to aim for RESTful backends and Angular-ish frontends – i.e., focus on RefApp 2.0+ rather than developing more modules for the Legacy UI. To this end, I’d imagine @maany, @wyclif, @dkayiwa, @raff, and others could come up with projects around Platform 2.0 and getting RefApp modules (community-supported or popular modules) to run atop Platform 2.0.
Atlas and Modulus are ripe for iterative improvements.
We should consider project(s) that would help automate aspects of CI. While scripting & setting up CI plans wouldn’t be a GSoC project, I gotta believe there are some tools (maybe even SDK features) that could help us better automate CI.
Perhaps @darius could mentor a student on a “Developer Metrics” project, advancing his developer analytics from node-into-local-elasticsearch into a node-bots-to-stream-data-into-Google-BigQuery-tables approach.
Beyond a dev forum, we should (perhaps with help from @janflowers) survey implementers for small projects or tools that would be nice to have and that they would use immediately if they were available. Again, setting an expectation of delivering a minimum viable product with the least functionality that would be useful early in the summer and then iteratively adding functionality to it.
Please make sure ideas and any action items are captured in the notes!
I was planning to attend the meeting, but couldn’t unfortunately. However going through, I found “Prototype Angular 2.x UI for Modulus and general code clean up and general TLC”, an interesting project. I got familiar with Angular like 7 months ago. So I would like to use that in this kind of project. I started to digging in to modulus and have a feeling that I am going to enjoy this. Your advice are welcome to clarify the current problems, our targets on this. Also if there are existing related tickets I would like to pick them after finishing the current ones.
“OpenMRS ID Dashboard User management dashboard” is also a brilliant project. But I would like to work with Modulus. OAuth is something that I know well and love. We can discuss about it.
Also very much interested about OpenMRS on MariaDB and PostgreSQL. While the projects are not finalized yet, I hope to get your input meanwhile, to plan a good project completion this year.
I know @r0bby said something about this but still want to make sure him and i were thinking of the same thing (OpenMRS IDE). When i first joined OpenMRS i realized that we have a lot of developer tools scattered all over. So i started thinking of something like an OpenMRS IDE. My idea was to put all eclipse plugins and the openmrs sdk in one software installation. And maybe add some more developer stuffs that will be helpful to openmrs devs.
I was also thinking of something like an openmrs chatting app. Such that a nurse, data entry clerk, doctor, lab personals can communicate live. That is all those involved with an openmrs instance can communicate in real time.
Since you are designing, I felt bit lazy and waiting to see the design. But may I know the scope of this. I mean the functionalities. What I am basically thinking about is which “roles” are going to use this dashboard. Is it only developers?
(I beg your pardon if I am going to say a stupid thing to hammer your head)
In an organization perspective we can build a very simple dashboard, but with all the functionalities needed by all in the organization, based on their roles. We may consider non technical people in an organization such as HR as well. (If openmrs has such sections)
Yes I sense, that the idea is related to “Developers.”
But while going through few dashboards used by organizations, I saw one which was simple but with all sections, surely visibility managed based on the user’s role. Again it depends on various things like the size of organization, organization category, users and their likes and dislikes etc.
IntelliJ IDEA Ultimate Edition is not free/open source software; in fact at USD $500 per year, it is a very expensive proprietary software product. We should not be recommending it as a default for our developers. (Caveat: Gratis licenses are available but only for established OpenMRS contributors.)
Regarding the IDE, I had a talk with @darius. He actually had a point where he said that supporting one particular IDE would not be taking us in the right direction. Also, do you think it’s all that interesting a project? He said that we should be focusing on tools that are common between several developers. Here’s an IRC log of the same:
djazayeri: Hmm correct. What do you think of the bundled intellij package?
bholagabbar: or else tooling that makes it easier to deploy
bholagabbar: personally I don’t like that idea (custom IDE) very much, because I think it takes us in the wrong direction
djazayeri: Hm yeah. I’ll try and dig deeper!
bholagabbar: i.e. we should work to make it easy for people to develop for OpenMRS in their own preferred IDE and workflow, not investing in a custom IDE that’s specifically for OpenMRS.
bholagabbar: standard tooling >> custom tooling, as far as making it easier for a wide audience to participate in OpenMRS.
Regarding thinking of more projects, I’ve started my development and research on the Telecommunication module I mentioned during the dev meeting.
I’ve even been thinking of calling up centers listed on OpenMRS Atlas and asking them what do they specifically think is sort of missing. What do you think? @r0bby@ivange94@burke ?
Sure. My apologies if I wasn’t able to convey my message clearly.
What I suggested was that we create a module that can integrate voice and video calling. The client can interact through an app of sorts. Also, as you suggested on IRC, we can also think of using the facebook API and try integrating the voice and chat services there
In addition to the @darius point of view are @burke thoughts, through which it might be clear that implementing an IDE might not be a priority for this GSOC as he was proposing that we should strike for projects that can produce meaningful features and tools for implementation and get the minimum viable product deployed by or near midterm.
We should try to make the OpenMRS development process as easy as possible, and also as standard as possible.
(The underlying reason is that building a custom IDE once is doable, but maintaining it is lots of work, and it’s “overhead” that I’d rather not make the OpenMRS community responsible for.)
If we are requiring special IDE configurations, this is a bad thing. And if someone is going to spend 3 months of effort, they should spend it on moving us towards standards, not on customizing a particular IDE (just one!) that we’ll need to invest effort in maintaining.
As a specific example, instead of maintaining the “unit test generator” (and potentially trying to expand it to more IDEs), we should actually get rid of this plugin, and shift towards using a standard code coverage tool, and standard TDD approaches.