UDOIT 2.6.3 - PHP 7.3 Compatibility!

tr_jbates
Community Champion
15
3706

This release fixes a number of issues, both new and old.  A huge thanks to escull‌ for figuring out so many of these.  If you've been having any trouble with tables, please test out this version and let me know if it your issues are resolved.

Upgrade Instructions

  • Download UDOIT version 2.6.3 now!
  • Test in a development or QA environment, not on production.
  • If you are still using PHP 7.1 or below, you must upgrade to 7.2 or 7.3.
  • (Self-Hosted) Update your localConfig.php file to make sure it's up to date with localConfig.template.php
  • (Heroku-Hosted) Update your Config Vars to include the new variables
  • Run "php composer.phar install"
  • If you're coming from a version older than 2.6.2, back up your database and run "php composer.phar migrate"
  • (Heroku-Hosted) Follow the instructions in HEROKU.md

Bugs Fixed

  • If you've been having trouble with detecting and fixing table headers, we may have fixed the issue:
    • UFIXIT for tables fixed for PHP 7.3. So, that means UDOIT is now compatible with PHP 7.3!
    • UFIXIT for tables now works when selecting "first column" or "both".
    • One institution reported that UFIXIT added an empty row to a table when a space is present in the HTML. This was fixed.
  • The status page accurately reports status of the Developer Key.
  • Decreased memory usage when generating "Most Common Errors" report in the admin panel.

Enhancements

  • A list of all the tests UDOIT looks for was added to the README
  • The YouTube Terms of Service and Google Privacy Policy were added to footer in order to comply with the YouTube API usage requirements. This feature is able to be enabled, disabled, and customized.
  • A less expensive endpoint used for testing the Google API key in the status page.
15 Comments
elarin
Community Participant

Good morning. We run a self-hosted instance of UDOIT on CentOS 7. We are finally upgrading our old UDOIT system from 2.3.1 to 2.6.3. I've updated our PHP to version 7.3. I'm getting an error when running the "php composer.phar install" command:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file


[ErrorException]
"continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

Can someone shed any light on this? Thanks!

Erick

elarin
Community Participant

In the meantime, I've downgraded our PHP to version 7.2. Now I'm able to install UDOIT.

tr_jbates
Community Champion

That warning is from one of the external libraries we use.  I have updated the one I suspect is causing this.  Do you have a QA or Testing instance of your server where you can try out this version to see if it works in PHP 7.3 for you?  GitHub - ucfopen/UDOIT at issue/527-update-html-minifier 

elarin
Community Participant

I stood up a test CentOS instance and downloaded the updated files. I still get the same error. 

tr_jbates
Community Champion

Is there any other output that might give a hint as to where this is coming from?

tr_jbates
Community Champion

Actually, nevermind.  I see that this is an issue with Composer itself, and requires updating to the latest version of Composer.  I have updated it in that same branch.  Pull down the latest from that branch and let me know if you still have the problem:  GitHub - ucfopen/UDOIT at issue/527-update-html-minifier 

elarin
Community Participant

Ok, the 

php composer.phar install --no-dev

command worked this time. When I try to run it without "--no-dev", it's trying to download dependencies now but I'm being prompted for a token. It's probably embedded in the normal composer.phar file. I think this updated version is going to work fine minus the token prompt.

Erick

tr_jbates
Community Champion

Hmm.  I'll look into the token thing.  I've never had that pop up for me, but I'll do some experimentation and see if I can get it to show up.

johnsone3
Community Member

Good afternoon tr_jbates‌,

We are running a self-hosted UDOIT instance on Windows Server 2016, with Apache 2.4, PHP 7.2 and PostgreSQL 11.

 

We are currently running UDOIT 2.6.0, and when I try to upgrade to UDOIT 2.6.2 or 2.6.3 we get an error "Authentication problem: Please contact support." when trying to Authorize UDOIT for a user in Canvas. Taking a look at the test pgsql database we use to test updates nothing is getting saved in the user table for authorizations.

Rolling back to 2.6.0 works fine and user authorizations get saved in the test database. Seems like it could possibly be an issue with PostgreSQL 11 and the newer 2.6.2 and 2.6.3 updates. Have you hear of any similar issues or have any suggestions?

tr_jbates
Community Champion

We haven't made any changes to the database since 2.6.0, and I haven't encountered an issue like what you're describing.  You view the difference between 2.6.0 and 2.6.3 on GitHub.  For reference, the error you are encountering is called here:  UDOIT/oauth2response.php at cdfa365613e35076635f77357215586a0641870b · ucfopen/UDOIT · GitHub 

Do you see any errors in `config/log.log`?

johnsone3
Community Member

Just tried a re-install this morning and these are the 2 entries that get added to the config/log.log after I try to Authorize UDOIT app for my Canvas account:

[2020-05-21 14:30:02] udoit.WARNING: Vimeo API Key empty. Videos will be marked for manual inspection.

[2020-05-21 14:30:32] udoit.ERROR: Authentication problem: Please contact support.

When updating to 2.6.2/3 it doesn't pickup any prior app Authorizations from the database and asks each user to Authorize app again. When clicking Authorize, nothing gets saved in the users table, and you are redirected to the error page, and when you refresh the page its right back to the "Authorize" screen again.

I will take a look at the links you provided and see if I can find out what might be happening on our end.

elarin
Community Participant

Jacob,

Did you find anything more about the token thing?

Erick

tr_jbates
Community Champion

Unfortunately, I haven't encountered it, and I haven't heard from anyone else with the same issue.  What kind of token is it asking for?  Do you know what dependency it's trying to install when it asks for the token?

elarin
Community Participant

Here's the message I see when I run "sudo php composer.phar install":

Installing escapestudios/symfony2-coding-standard (dev-master 78e3b0b): Cloning 78e3b0b683
...
Token (hidden):

When I run it without sudo, I get this error:


[RuntimeException]
/opt/udoit/vendor/escapestudios/symfony2-coding-standard does not exist and could not be created.

tr_jbates
Community Champion

You shouldn't need to run Composer with sudo, since it's only installing dependencies into the vendor folder, and not system-wide.  Does your user have permissions to write to the vendor folder?  If you were previously running composer with sudo, it's possible the symfony2-coding-standard folder can't be created because the permissions on escapestudios doesn't allow it.