PhpGacl

From OpenEMR Project Wiki

Lineage

Since OpenEMR version 3.0.0, access controls (php-GACL) is included in OpenEMR, thus requiring no separate installation or configuration. In OpenEMR versions 2.9.0 and earlier, php-GACL was actually installed separately.

Usage

Administration of access controls is performed within OpenEMR in the admin->acl menu.

Adding new ACO/ACLs

If you add a new Access Control Object (or group or ACL) to the OpenEMR codebase, then also add it to the following three places:

  1. For documentation purposes: Header notes of the src/Common/Acl/AclMain.php file
  2. For installation purposes: install_gacl() function in library/classes/Installer.class.php file
  3. For upgrade purposes: acl_upgrade.php file
  • Also need to increment the $v_acl in version.php file to the '$upgrade_acl' value that you used in the acl_upgrade.php script.

Important Documentation

The below information is detailed and for developers to learn how php-GACL was integrated and how to use it when modifying code.

Within the OpenEMR directory, check out:
openemr/Documentation/README.phpgacl
openemr/INSTALL
openemr/src/Common/Acl/AclMain.php
install_gacl() function in openemr/library/classes/Installer.class.php file
openemr/acl_upgrade.php
There are several threads at the forums on SourceForge:
http://sourceforge.net/forum/forum.php?thread_id=1844870&forum_id=202506
http://sourceforge.net/forum/forum.php?thread_id=1899619&forum_id=202506
http://sourceforge.net/forum/forum.php?thread_id=2045980&forum_id=202506