Difference between revisions of "Zend"

From OpenEMR Project Wiki
 
(16 intermediate revisions by the same user not shown)
Line 2: Line 2:
:On 6/28/14, code requiring the Zend library was incorporated into the OpenEMR codebase. This was brought in by ZH Healthcare for a Module feature which is a large part of the [[OpenEMR_Certification_Stage_II_Meaningful_Use|Meaningful Use 2]] project.
:On 6/28/14, code requiring the Zend library was incorporated into the OpenEMR codebase. This was brought in by ZH Healthcare for a Module feature which is a large part of the [[OpenEMR_Certification_Stage_II_Meaningful_Use|Meaningful Use 2]] project.
<br>
<br>
== Initial Import ==
== Codebase Import ==
On 6/28/14, imported the following commits (in chronologic order):
:On '''2/13/16''' (for OpenEMR version 4.3.1), upgraded the embedded Zend 2 library to version 2.4.9 (this was necessary to support PHP7):
* [https://github.com/openemr/openemr/commit/212e69fc2d84f9ad905e87c58d328d0964e74a02 212e69] - Main Zend Module Commit.
:*https://github.com/openemr/openemr/commit/8b4faf94210dc68d562539a18fd0fda12080d0fb
** WhyModulesInstaller.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/WhyModulesInstaller.pdf
:On '''6/28/14''', imported the following commits (in chronologic order):
** ModuleInstaller-DeveloperGuide.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/ModuleInstaller-DeveloperGuide.pdf
:* [https://github.com/openemr/openemr/commit/212e69fc2d84f9ad905e87c58d328d0964e74a02 212e69] - Main Zend Module Commit.
** Refer line no.26 in zend_modules/init_autoloader.php for setting up ZF2 Library Path Settings.
:** WhyModulesInstaller.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/WhyModulesInstaller.pdf
* [https://github.com/openemr/openemr/commit/6e36d20be03bbeef7ba4f92387fd29a5be81b15f 6e36d2] - Removed a function in prior commit that is dangerous and not used.
:** ModuleInstaller-DeveloperGuide.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/ModuleInstaller-DeveloperGuide.pdf
* [https://github.com/openemr/openemr/commit/4befb72b2a3832449dd4a5289e58e2e403367d43 4befb7] - Set correct permissions for application.config.php file
:** Refer line no.26 in zend_modules/init_autoloader.php for setting up ZF2 Library Path Settings.
** Required changes in the installation script and ubuntu/debian scripts
:* [https://github.com/openemr/openemr/commit/6e36d20be03bbeef7ba4f92387fd29a5be81b15f 6e36d2] - Removed a function in prior commit that is dangerous and not used.
* [https://github.com/openemr/openemr/commit/88be3cf83214eecd110ffe2d14b385d7d11e1373 88be3c] - Zend 2 library
:* [https://github.com/openemr/openemr/commit/4befb72b2a3832449dd4a5289e58e2e403367d43 4befb7] - Set correct permissions for application.config.php file
** This is the actual Zend 2 library. This may be only temporary as developers learn to use this and if can figure out way for end users to install as an external dependency.
:** Required changes in the installation script and ubuntu/debian scripts
:* [https://github.com/openemr/openemr/commit/88be3cf83214eecd110ffe2d14b385d7d11e1373 88be3c] - Zend 2 library
:** This is the actual Zend 2 library(version 2.2.5). This may be only temporary as developers learn to use this and if can figure out way for end users to install as an external dependency.
<br>
 
== Configuring Zend ==
===PHP===
Need to use php version 5.3.3 or greater.
:*(Note that if we upgrade Zend to 2.5.0 or greater in future(which is likely at some point), then will need php 5.5+)
===Apache===
This section is to document best way to configure Zend with apache. It appears following two things need to be completed in apache for zend stuff to work:
*enable "rewrite" mod in apache
*allow "AllowOverride" in apache
**There are some security considerations here(this allows use of .htaccess files). Ideally would have following set up:
***Apache's main config file would turn this off.
***Turn this on in OpenEMR directory
***Turn this off in the OpenEMR directories that allow uploaded files (such as sites/default/documents)
**Need to test above setup and if works, then need to place in the setup.php instructions and also set up for the ubuntu/mint/debian package.
 
Above is discussed on the following threads:
*[https://sourceforge.net/p/openemr/discussion/202506/thread/b515b5bd ubuntu setup discussed]
*[https://sourceforge.net/p/openemr/discussion/202506/thread/58761dee windows setup discussed]
<br>
<br>


== TO DO ==
== TO DO ==
* Document how to get Zend configured for all OS's.
* Document how to get Zend configured for all OS's (see above "Configuring Zend" section for details).
** Discussed in [https://sourceforge.net/p/openemr/discussion/202506/thread/b515b5bd this forum thread].
* Get it working correctly on the [[Ubuntu-Debian_Package_Developers_Page|ubuntu/debian package]].
<br>
<br>
== Related Forum Threads ==
== Related Forum Threads ==
* [https://sourceforge.net/p/openemr/discussion/202506/thread/b515b5bd Zend Module Installer]
* [https://sourceforge.net/p/openemr/discussion/202506/thread/b515b5bd Zend Module Installer Main Thread]
* [https://sourceforge.net/p/openemr/discussion/202506/thread/58761dee Zend Module installer problem in windows]
<br>
<br>
[[Category:Developer Guide]]
[[Category:Developer Guide]]

Latest revision as of 08:10, 8 August 2016

Overview

On 6/28/14, code requiring the Zend library was incorporated into the OpenEMR codebase. This was brought in by ZH Healthcare for a Module feature which is a large part of the Meaningful Use 2 project.


Codebase Import

On 2/13/16 (for OpenEMR version 4.3.1), upgraded the embedded Zend 2 library to version 2.4.9 (this was necessary to support PHP7):
On 6/28/14, imported the following commits (in chronologic order):


Configuring Zend

PHP

Need to use php version 5.3.3 or greater.

  • (Note that if we upgrade Zend to 2.5.0 or greater in future(which is likely at some point), then will need php 5.5+)

Apache

This section is to document best way to configure Zend with apache. It appears following two things need to be completed in apache for zend stuff to work:

  • enable "rewrite" mod in apache
  • allow "AllowOverride" in apache
    • There are some security considerations here(this allows use of .htaccess files). Ideally would have following set up:
      • Apache's main config file would turn this off.
      • Turn this on in OpenEMR directory
      • Turn this off in the OpenEMR directories that allow uploaded files (such as sites/default/documents)
    • Need to test above setup and if works, then need to place in the setup.php instructions and also set up for the ubuntu/mint/debian package.

Above is discussed on the following threads:


TO DO

  • Document how to get Zend configured for all OS's (see above "Configuring Zend" section for details).


Related Forum Threads