Source code language

vihrao wrote on Wednesday, December 01, 2010:

I am new to this. What language is this written in and what development tools should I be using to develop application using the EMR package.

stephen-smith wrote on Wednesday, December 01, 2010:

The vast majority of the source code is PHP and HTML.  There is also a good amount of JavaScript and SQL.  We use Git as our VCS.  I generally use vim to edit source code, deploy/test using PHP5+Apache2 in a KVM virtual machine, and use the core Git command-line tools plus QGit to manage (backport, forward-port, generate patches from, etc.) changes.

That said, OpenEMR is already quite customizable after installation without any development expertise.  There are at least two tools for creating custom forms and having the system use them, there are a number of features that can be enabled / disabled from the configuration UI, and some of the UI elements themselves can change: there are 3 layouts, and the colors are editable from the configuration UI.

tmccormi wrote on Wednesday, December 01, 2010:

I like a full IDE with syntax checking and integrated debugging… I use NetBeans, some of my team use Eclipse with PHP plugin and Xdebug.  FireBug for firefox awesome for viewing JavaScript internals at run time…

There is a smattering of Perl utility scripts scattered around as well.
-Tony


Tony

bradymiller wrote on Wednesday, December 01, 2010:

hey,

Depends on your operating system preference and your comfort level with command line. I mostly develop on linux with vim(command line text editor), but sometimes I do some development on windows with notepad (text editor). My preference is to avoid being a fancy lad (ie. full IDE), and just ensure the text editor has color syntax highlighting). Whatever Operating System you use: if plan to develop for OpenEMR, then a vital step is to start up a OpenEMR git repository, which is described here:
http://www.openmedsoftware.org/wiki/Git_for_dummies

-brady

vihrao wrote on Wednesday, December 01, 2010:

I was thinking of developing the front end with Python and Django. Will this be a problem to work with PHP source code? Is it even advisable to mix them?

vihrao wrote on Wednesday, December 01, 2010:

Also I want to leverage the OpenEMR and develop a new applcation. So is it ncessary to submit my application source code on OpenEMR git repository

bradymiller wrote on Wednesday, December 01, 2010:

miscellaneous - fancy lad reference describe here: http://www.youtube.com/watch?v=3X8istCTeQE :slight_smile:

Regarding Python/Django. Likely not a good idea, but really depends on what you plan on modifying/developing in OpenEMR?

-brady

tmccormi wrote on Wednesday, December 01, 2010:

Cute. :-)  I just happen to prefer that the editor tell me that I’ve made a syntax error or typo immediately instead of finding it with the white screen of death…

By the way, NetBeans will also tell you when the code you are looking at is deprecated, so you can fix it right then…  This is a real issue with the raw HTML that is all over the place.

-Tony, prefers to be a Fancy Lad

yehster wrote on Thursday, December 02, 2010:

big thumbs up to netbeans. and xdebug. Breakpoints and remote debugging are great. And having the tree of source files displayed and browsable in the IDE are huge when you are learning the system instead of trying to find something from the command line.

I also love that netbeans has a "“remote server” development mode. I have my IDE running under windows but connect to my virtual linux server through SSH/SFTP.

I am curious about the NetBeans git plugin.

tmccormi wrote on Thursday, December 02, 2010:

I haven’t tried the git plugin, I do prefer the command line for source control actions.  However NetBeans built in diff tool is the best I’ve ever seen.
-Tony