2014-06-26 Developers Forum
How to Join
Agenda
Quickly review previous meeting minutes (5 min)
Reviewing Developer Conventions
Review next meeting agenda
Minutes
Attendees
Daniel Kayiwa
Rafal Korytkowski
Win Ribeka
Alexis
Ryan Yates
Ada Yeung
Geoff
James Power
Karl Wurst
Roger Friedman
Vaclav Krpec
Elliott Williams
Darius Jazayeri
Saptarshi Purkayastha
Aniketha
Agenda
Review of Developer Conventions
Notes
Our "conventions" are behaviors – documented or not – of the OpenMRS Developer Community that are predictable and/or expected. We use "conventions" instead of "rules" because we sometimes need to behave differently. Rules would say that this shouldn't be done; conventions make it explicit when we are straying without saying that it's necessarily wrong.
We have witnessed from successes like Ruby, Grails, and even within areas of OpenMRS that conventions can be a powerful tool for a community. Tools & scripts are easier to build. The learning curve is lowered. Entropy is reduced. Development can be more efficient.
Documented developer conventions
Coding Conventions <https://openmrs.atlassian.net/wiki/x/cQJYAQ>
Module Conventions <https://openmrs.atlassian.net/wiki/x/CQlYAQ>
Javascript Conventions <https://openmrs.atlassian.net/wiki/display/docs/Javascript+Conventions>
Versioning <https://openmrs.atlassian.net/wiki/x/VwhYAQ>
GitHub Code of Conduct <https://openmrs.atlassian.net/wiki/x/awRYAQ> Or https://openmrs.atlassian.net/wiki/display/docs/Using+Git ??
OpenMRS 2.0 Style Guide <https://openmrs.atlassian.net/wiki/x/mg5YAQ>
Ticket related conventions - https://openmrs.atlassian.net/wiki/display/docs/Tickets#Tickets-Ticket-relatedConventions
Release Conventions???
Documentation Conventions???
...
Questions for Discussion
What conventions should be seen by a new developer? How do they see them? Did this year's GSoC interns see them?
Elliott: I have seen various convention pages. (I think I ended up at them from other Getting Started pages.)
"Getting Started as a Developer" links to "Code Conventions" (https://openmrs.atlassian.net/wiki/display/docs/Getting+Started+as+a+Developer)
Vaclav: Coding conventions (via google)
alexis: In my point of view; I looked for OpenMRS convention but its not easy to find them; I searched on OpenMRS wiki
Karl Wurst: I was pointed to some of them by the developer's guide (Floss Manuals) but have not seen all of the pages listed in the minutes yet.
Saptarshi: https://openmrs.atlassian.net/wiki/display/docs/Getting+Started+as+a+Developer - I generally point new devs here and I'm glad that the conventions is listed here
I'm using ctrl + shift + f for coding conventions and the using git page, I didn't look at other pages for a long time
Daniel: I only look back to make sure something is written here before I point someone else to the page
Wyclif: (same as Daniel)
Saptarshi: I've been and seen it improve over the yrs...; Its so much better now!!
Roger: we do not have well-documented where someone should create a github repo and if/when it is appropriate to transfer to the OpenMRS github space
Darius: +1
Are there existing conventions that need to be changed or retired?
Javascript Conventions (https://openmrs.atlassian.net/wiki/display/docs/Javascript+Conventions)
Elliott and plypy have established JS conventions for the OpenMRS ID GSOC Project
TODO: Elliott to draft a proposed set of Javascript conventions for others to review, and incorporate
Are we missing some conventions (e.g., where are there differences on how people do things that cause problems)?
Sonar brings a lot of code conventions; we should document the important ones. E.g. we should include a link on the Code Conventions page that takes you to a Sonar page showing the Blocker, Critical, and Major checks that it applies
Darius: I don't like our @should conventions anymore.
Darius: we should have a short code snippet in the Code Style page showing what nice code looks like (instead of just describing it)
Wyclif: document that liquibase changesets should include comment and precondition
Are there conventions for developing in OpenMRS 2.0? Is it clear where to find these?
Not very clear where to find these. Searching for "OpenMRS 2.0" on the wiki shows a lot of stale pages
There is a "2.x Developer Documentation" page under Developer Guide: https://openmrs.atlassian.net/wiki/x/eSdYAQ
Two separate things here:
1. How modules fit together to form OpenMRS 2.x, and how you should add to that