Resolving 2.8.3 to 2.9.0 Upgrade Issues

mike-h30 wrote on Saturday, September 27, 2008:

I am still ironing out some OpenEMR-2.8.3 to 2.9.0 upgrade issues. (1) My ACL does not work from within OpenEMR-2.9.0 although it works outside of 2.9.0 just like when I was on 2.8.3.  (2) I am unable to change calendar styles. 

Rather than continue to trouble shoot.  I was considering starting from a clean install of OpenEMR-2.9.0. and importing my updated database into the clean install of 2.9.0.  (I have already upgraded my openemr database with the "2_8_3-to-2_9_0_upgrade.sql.")  Then I would setup ACL at that point.

QUESTIONS
I.) Does anyone see any potential pitfalls by doing this?

II.)  Do I need to be concerned that my OpenEMR-2.8.3 to OpenEMR-2.9.0 upgraded version of the openemr database is missing 3 tables from the openemr database created from a fresh install of OpenEMR-2.9.0?  The three missing tables are:

1. automatic_notification
2. notification_log
3. notification_settings.

Regards,

-Mike

sunsetsystems wrote on Saturday, September 27, 2008:

Did you run acl_upgrade.php?  If not, you need to.

Rod
www.sunsetsystems.com

mike-h30 wrote on Saturday, September 27, 2008:

Hi Rod,

I ran the acl_upgrade.php when I first upgraded to 2.9.0.  That is where the trouble started.  My output is below for both Apache and the acl_upgrade.php script.
Note that my production web root is still called openemr-2.8.3 because I did not remove the version number when I first installed openemr.   However, I copied the new files into the directory per the upgrade instructions.

Should I continue to spin my wheels on this or just do a clean install of 2.9.0 and bring in my data from the upgraded database and then install a fresh ACL?

-Mike

******************Apache Error Log****************************************************************************************************************

Sun Aug 31 16:13:06 2008] [error] [client XXX.XXX.X.XX] PHP Fatal error: Call to undefined function acl_get_group_titles() in /srv/www/htdocs/openemr-2.8.3/library/auth.inc on line 68, referer: http://XXX.XXX.X.XX/openemr-2.8.3/interface/login/login.php

******* "acl_upgrade.php" Script Output*******

Checking to ensure all the proper ACL(access control list) are present:
‘Administrators’ group ‘write’ ACL is present.
‘Physicians’ group ‘write’ ACL is present.
‘Clinicians’ group ‘write’ ACL is present.
‘Clinicians’ group ‘addonly’ ACL is present.
‘Front Office’ group ‘write’ ACL is present.
‘Accounting’ group ‘write’ ACL is present.

Adding new object sections
The ‘Sensitivities’ object section already exist.

Adding new objects
The ‘Normal’ object in the ‘Sensitivities’ section already exist.
The ‘High’ object in the ‘Sensitivities’ section already exist.
The ‘Pharmacy Dispensary’ object in the ‘Administration’ section already exist.
The ‘ACL Administration’ object in the ‘Administration’ section has been successfully added.
The ‘Price Discounting’ object in the ‘Accounting’ section has been successfully added.

Upgrading objects
The ‘High’ object in the ‘Sensitivities’ section has already been updated.

Updating the ACLs(Access Control Lists)
The ‘Superuser’ object of the ‘Administration’ section is already found in the ‘Administrators’ group ‘write’ ACL.
The ‘High’ object of the ‘Sensitivities’ section is already found in the ‘Administrators’ group ‘write’ ACL.
The ‘Normal’ object of the ‘Sensitivities’ section is already found in the ‘Administrators’ group ‘write’ ACL.
The ‘High’ object of the ‘Sensitivities’ section is already found in the ‘Physicians’ group ‘write’ ACL.
The ‘Normal’ object of the ‘Sensitivities’ section is already found in the ‘Physicians’ group ‘write’ ACL.
The ‘Normal’ object of the ‘Sensitivities’ section is already found in the ‘Clinicians’ group ‘addonly’ ACL.
The ‘Pharmacy Dispensary’ object of the ‘Administration’ section is already found in the ‘Administrators’ group ‘write’ ACL.
The ‘Pharmacy Dispensary’ object of the ‘Administration’ section is already found in the ‘Physicians’ group ‘write’ ACL.
Successfully placed the ‘Pharmacy Dispensary’ object of the ‘Administration’ section into the ‘Clinicians’ group ‘write’ ACL.
Successfully placed the ‘ACL Administration’ object of the ‘Administration’ section into the ‘Administrators’ group ‘write’ ACL.
Successfully placed the ‘Price Discounting’ object of the ‘Accounting’ section into the ‘Administrators’ group ‘write’ ACL.
Successfully placed the ‘Price Discounting’ object of the ‘Accounting’ section into the ‘Accounting’ group ‘write’ ACL.
Successfully placed the ‘Price Discounting’ object of the ‘Accounting’ section into the ‘Physicians’ group ‘write’ ACL.

ALL DONE

sunsetsystems wrote on Sunday, September 28, 2008:

Upgrading can be tricky, and is usually difficult for a non-programmer.  This is an area that needs work.

That “undefined function” error looks troubling.  Perhaps you have the old acl.inc in there?  Beware that you generally can’t blindly copy old config files (globals.php, config.php, etc.) into the upgraded directories; instead, edit the new versions of those files and plug in your settings manually.

Rod
www.sunsetsystems.com

mike-h30 wrote on Sunday, September 28, 2008:

Yes, I believe I copied the old config files in there when I upgraded.  When that did not work I put the new config files back  and hand edited them to get openemr to work again.  However, I must have missed something along the way as ACL is not working within OpenEMR and I cannot change the calendar styles.  We have been using 2.9.0 for a little over a month now.  The data seems to be intact.

So to remedy this my plan was to start from a clean install of 2.9.0.  Then I will hand edit the config files and import our production data.  After I get that working I will set up ACL from scratch.  Do you advise doing this or should I still try to trouble shoot my current ACL and calendar issues? This seems like it would work but I wanted to check with you first.

-Mike

sunsetsystems wrote on Sunday, September 28, 2008:

Offhand your plan sounds reasonable.  But you might instead try renaming your current openemr directory, then unpack the new distribution to create a new web directory, then hand-edit the config files again.  That would be easier if it works.  Be sure to make backups.

Rod
www.sunsetsystems.com

mike-h30 wrote on Wednesday, October 01, 2008:

Hi Rod,

I completed a fresh install of OpenEMR-2.9.0 on my test box.  I then installed phpGACL and verified that I had ACL working from within the Admin section of OpenEMR-2.9.0.  I kept the default admin user and password.  Next I imported a copy of my production data (openemr.sql) via phpMyAdmin.  The import was successful.  However, now I am unable to log into my test version of OpenEMR-2.9.0 with any user ( admin with "pass" as the password or user from my production data).  I then went into phpGACL outside of OpenEMR-2.9.0 and attempted to manually enter a user from my production data and I am still unable to log in.   Please advise.

-Mike

gutiersa wrote on Wednesday, October 01, 2008:

I’ve been following your thread
I wanted to say don’t reinstall, to avoid risking all that work and ending up at the same place, but I did not know how to get around the installations directory name thing. So you’re better off for reinstalling.
did you ever see this thread?

http://sourceforge.net/forum/forum.php?thread_id=2181049&forum_id=202505

look at the last two posts
your problem sounds familiar to me, it may be this issue

mike-h30 wrote on Thursday, October 02, 2008:

Thanks Dr. G.  It seems similar but I am not sure.

I am puzzled though because I have ACL 100% working with a clean install of OpenEMR-2.9.0.   The problem occurs when I import my production data.    I am unable to log into my new installation.   I am locked out.  The default user- admin and password - pass does not let me in.  Also, the user id’s from my imported data do not let me in.  I am trying to figure out where the link is broken.

-Mike

mike-h30 wrote on Tuesday, October 07, 2008:

I solved this by following Rod’s suggestion (
"I usually avoid this problem and other complications by using the same database for both applications (in this case, specify something like “gacl_” for the table prefix in phpgacl). " )
in the thread you referred me to (http://sourceforge.net/forum/forum.php?thread_id=2181049&forum_id=202505 ).

Thanks for steering me in the right direction Dr. G!

-Mike