Difference between revisions of "Development Policies"
Bradymiller (talk | contribs) |
Bradymiller (talk | contribs) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Submitting Patches to Upstream = | |||
Place the patch in the [http://sourceforge.net/tracker/?group_id=60081&atid=493003 tracker's patches section], with an explanation. Please also place an explanation of the patch in the [http://sourceforge.net/forum/forum.php?forum_id=202506 developer forum] so we know its in the tracker. | Place the patch in the [http://sourceforge.net/tracker/?group_id=60081&atid=493003 tracker's patches section], with an explanation. Please also place an explanation of the patch in the [http://sourceforge.net/forum/forum.php?forum_id=202506 developer forum] so we know its in the tracker. | ||
Line 5: | Line 5: | ||
All text files for the project should have Unix-style line endings (i.e. no carriage returns). Developers who use a Windows desktop should also use a suitable text editor that respects this (last checked, EditPad Lite was one free example). | All text files for the project should have Unix-style line endings (i.e. no carriage returns). Developers who use a Windows desktop should also use a suitable text editor that respects this (last checked, EditPad Lite was one free example). | ||
==PHP Sessions and Browser Windows== | |||
= General Development Best Practices = | |||
== Copywright and Licensing == | |||
Each file in the source tree should begin with a copywright declaration, and information about what license the file is released under. | |||
== PHP == | |||
Many of the practices at http://www.odi.ch/prog/design/php/guide.php appear to be good rules when working with the OpenEMR source. | |||
== HTML == | |||
Each page in OpenEMR should be valid HTML. the validator at http://validator.w3.org/ is useful for ensuring compliance. XHTML 1.1 compliant documents are preferred. | |||
== CSS == | |||
it is preferred that CSS stylesheets contain all style related contents of our html forms. css stylesheets should also validate. | |||
= OpenEMR Specific Development Best Practices = | |||
== PHP Sessions and Browser Windows == | |||
You must include a JavaScript call to top.restoreSession() wherever you invoke a PHP script that requires current session data (which is most of them). How to do this is discussed in more detail in the [[OpenEMR System Architecture#PHP_Sessions_and_Browser_Windows|architecture discussion]] wiki page. | You must include a JavaScript call to top.restoreSession() wherever you invoke a PHP script that requires current session data (which is most of them). How to do this is discussed in more detail in the [[OpenEMR System Architecture#PHP_Sessions_and_Browser_Windows|architecture discussion]] wiki page. | ||
== Internationalization == | |||
== Input Collection == |
Revision as of 19:06, 18 December 2009
Submitting Patches to Upstream
Place the patch in the tracker's patches section, with an explanation. Please also place an explanation of the patch in the developer forum so we know its in the tracker.
Carriage Returns / Line Feeds
All text files for the project should have Unix-style line endings (i.e. no carriage returns). Developers who use a Windows desktop should also use a suitable text editor that respects this (last checked, EditPad Lite was one free example).
General Development Best Practices
Copywright and Licensing
Each file in the source tree should begin with a copywright declaration, and information about what license the file is released under.
PHP
Many of the practices at http://www.odi.ch/prog/design/php/guide.php appear to be good rules when working with the OpenEMR source.
HTML
Each page in OpenEMR should be valid HTML. the validator at http://validator.w3.org/ is useful for ensuring compliance. XHTML 1.1 compliant documents are preferred.
CSS
it is preferred that CSS stylesheets contain all style related contents of our html forms. css stylesheets should also validate.
OpenEMR Specific Development Best Practices
PHP Sessions and Browser Windows
You must include a JavaScript call to top.restoreSession() wherever you invoke a PHP script that requires current session data (which is most of them). How to do this is discussed in more detail in the architecture discussion wiki page.