Difference between revisions of "Zend"

From OpenEMR Project Wiki
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Overview ==
== 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 [[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>
== 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):
:*https://github.com/openemr/openemr/commit/8b4faf94210dc68d562539a18fd0fda12080d0fb
:On '''6/28/14''', imported the following commits (in chronologic order):
:* [https://github.com/openemr/openemr/commit/212e69fc2d84f9ad905e87c58d328d0964e74a02 212e69] - Main Zend Module Commit.
:** WhyModulesInstaller.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/WhyModulesInstaller.pdf
:** ModuleInstaller-DeveloperGuide.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/ModuleInstaller-DeveloperGuide.pdf
:** Refer line no.26 in zend_modules/init_autoloader.php for setting up ZF2 Library Path Settings.
:* [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/4befb72b2a3832449dd4a5289e58e2e403367d43 4befb7] - Set correct permissions for application.config.php file
:** 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>


== Initial Import ==
== Configuring Zend ==
On 6/28/14, imported the following commits:
===PHP===
* 212e69fc2d84f9ad905e87c58d328d0964e74a02 - Main Zend Module Commit.
Need to use php version 5.3.3 or greater.
** WhyModulesInstaller.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/WhyModulesInstaller.pdf
:*(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+)
** ModuleInstaller-DeveloperGuide.pdf - http://sourceforge.net/p/openemr/code-review/232/attachment/ModuleInstaller-DeveloperGuide.pdf
===Apache===
** Refer line no.26 in zend_modules/init_autoloader.php for setting up ZF2 Library Path Settings.
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:
* 6e36d20be03bbeef7ba4f92387fd29a5be81b15f - Removed a function in prior commit that is dangerous and not used.
*enable "rewrite" mod in apache
* 4befb72b2a3832449dd4a5289e58e2e403367d43 - Set correct permissions for application.config.php file
*allow "AllowOverride" in apache
** Required changes in the installation script and ubuntu/debian scripts
**There are some security considerations here(this allows use of .htaccess files). Ideally would have following set up:
* 88be3cf83214eecd110ffe2d14b385d7d11e1373 - Zend 2 library
***Apache's main config file would turn this off.
** 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.
***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>


== 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 below forum thread.
<br>
* Get it working correctly on the [[Ubuntu-Debian_Package_Developers_Page|ubuntu/debian package]].


== 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>
[[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