UDOIT 2.5.0 "Dana"

tr_jbates
Community Champion
32
7524

This release is dedicated to the memory of Dana Danger Grey, a wonderful person and fierce proponent of accessibility.  Read more about Dana's life here.

The main focus for this release is adding the "first draft" of the admin panel.  This interface is accessible from the Account Navigation menu.  Here are its current features:

  • View all scans done in all courses at your institution.
  • View the most common errors found in courses.
  • Administer users.
  • View the growth of users over time

Because this feature is still experimental, we have disabled it by default.  However, it's very simple to enable, which is explained in the README.

Important Note:  If you are upgrading from an existing installation, there are some specific instructions you need to follow.  Refer to the full release notes.

PHP 7.3 Incompatibility:  If you are using PHP 7.3 on your servers, give yourself a pat on the back for keeping up with the latest versions!  Unfortunately, due to some issues we've had with PHP 7.3 on Heroku, we do not officially support it at this time.  More testing is needed to determine compatibility.

Bugs Fixed

  • Script tags are now stripped from HTML code snippets.  This was causing a number of rendering issues.
  • Heroku instances made within the last couple of months had many issues with UFIXIT.  This issue has been fixed, but if you are experiencing those issues, you will need to go through the Heroku instance creation process again.

Features Added

  • Admin interface
  • Images marked as decorative in the RCE are detected and ignored (no error or suggestion is thrown).
  • The date and time for old reports is now displayed in a more human-readable format.
  • Database options can now be passed through to the PDO constructor by way of the localConfig file.
  • The Job Queue table name is now configurable.
  • Removed compatibility with deprecated version of PHP (5.6 and 7.0)
32 Comments
Bobby2
Community Champion

Thanks for the update tr_jbates‌ and team. 

I am so sorry for your loss. Dana sounds like a very colourful person, great that she cared so much about accessibility. 

Chris_Hofer
Community Coach
Community Coach

Nice updates here, tr_jbates!  I am especially interested to see what the admin interface looks like.  I will let our IT staff know about this update.  Thanks!

Chris_Hofer
Community Coach
Community Coach

Hi tr_jbates...

I've been working with  @mmutz1 ‌ to get our UDOIT instance updated to 2.5.0.  Matt has enabled the admin panel using the directions in your README on GitHub.  We are currently in our Canvas "test" environment.  As an admin, I'm on our Account page, but I'm not seeing any reference to the UDOIT admin panel described above.  Can you help us with this?

tr_jbates
Community Champion
Author

Since you were upgrading from an older version, you will also need to remove and re-add UDOIT to your Canvas instance (after enabling the admin panel in the settings) using the udoit.xml.php URL.  This will add another placement for the LTI in the Account area.

Chris_Hofer
Community Coach
Community Coach

Thanks tr_jbates.  So, to be clear, we do not need to uninstall the LTI app from our Canvas account page...we just need to remove and re-add UDOIT using the udoit.xml.php URL?

Stay safe this weekend!!!

tr_jbates
Community Champion
Author

Basically, undo and redo these steps:  UDOIT/README.md - Installing the LTI in Canvas 

Make sure you use the "By URL" method and paste the url of the udoit.xml.php file.  This will ensure that you get the extra LTI placement.

Chris_Hofer
Community Coach
Community Coach

Hi tr_jbates‌...

We have installed 2.5.0 on our "test" environment of Canvas.  I've successfully scanned about five courses so far with this version.  I can also see the new "UDOIT Admin" panel in the administrative pages of Canvas.  When I click on the green "Display Results" button for any of the four tabs (sometimes putting in dates or Course IDs), I am getting the messages on the corresponding tabs:

  • Error retrieving Scans from database.
  • Error retrieving Users from database.
  • Error retrieving User Growth from database.

Any thoughts on what might be going on and how to fix?

(CC:  @mmutz1 ‌ and rleigh‌)

bdye
Community Participant

Hi Chris,

I'm just reporting we just ran into the same exact issue with 2.5.0. I understand the Admin side is beta.

I was hopeful that it would provide usage reports. 

Did you install 2.5.0 or 2.6.0?

Chris_Hofer
Community Coach
Community Coach

Hi bdye...

We upgraded to 2.5.0 in our "test" environment.  I wasn't aware there was a 2.6.0 version?  tr_jbates‌ usually posts a blog entry in this group once a new version is available.

tr_jbates
Community Champion
Author

The latest release of UDOIT is 2.5.0, but there is a development version of 2.6.0 on GitHub that we're planning to release this month.

Chris_Hofer
Community Coach
Community Coach

tr_jbates...

Thank you for the information.  Assuming that 2.6.0 would resolve the database issues that we're currently seeing with the "UDOIT Admin" panel in 2.5.0?

tr_jbates
Community Champion
Author

Some quick things to check:

      
  • Make sure you run the database migrations by running   
       php composer.phar migrate  
  •   
  • Make sure the database user has rights to select from those databases.  That's probably not the problem, but it's worth checking.
  •   
  • Please send me the name and version of your database software (MySQL, MariaDB, Postgres)
tr_jbates
Community Champion
Author

There are some syntax differences between MySQL and MariaDB that caused issues with the admin panel.  Those have been fixed in 2.6.0, But I want to make sure there aren’t other critical issues before we release it.

Edit:  The first issue is how MariaDB likes a different syntax for offset.  The second is that we accidentally hardcoded the table names in 2.5.0, meaning that it will not work properly with custom table names.

mmutz1
Community Novice

We're using MariaDB 10.2.8. I confirmed the user has select privileges. 
Is there somewhere I can see what fields are supposed to be on the tables to make sure they are there? I'm wondering if Composer is running as the same user as udoit, it may not have privileges to alter tables.

tr_jbates
Community Champion
Author

Since you're using MariaDB, I'm fairly certain this has to do with a syntax difference between it and MySQL.  If you have some experience with PHP, it's a fairly easy change to make.  Here are the changes required:  Issue/435 fix offset syntax by atarisafari · Pull Request #439 · ucfopen/UDOIT · GitHub 

You could even download that version of the file and replace the one in your current installation.  It doesn't rely on anything else.

mmutz1
Community Novice

Thank you - this worked for us. Should I make it part of my process to replace this file with future updates?

tr_jbates
Community Champion
Author

No, this will be fixed in UDOIT 2.6.0 out of the box, so no manual changes on your part will be required.

Chris_Hofer
Community Coach
Community Coach

tr_jbates...

This is a helpful admin interface...thanks for putting it together.  After  @mmutz1  downloaded the file you posted, I was able to see data populating in the "Scans", "Users", and "User Growth" tabs.  When I click on the "Display Results" button in the "Errors" tab, nothing happens.  Should we be seeing data displayed there, too?

Chris_Hofer
Community Coach
Community Coach

One thing I just noticed about viewing data in the admin panel is that if I selected to view courses with the most errors, it started populating the table with data.  After the first 10 courses showed, I moved to page two.  Then, I returned to page 1, and it started showing courses with fewer errors along with displaying my name under the User (ID) column twice and adding "null" to the Term and Course (ID) fields.

UDOIT 2.5.0 Admin Panel

tr_jbates
Community Champion
Author

I think we already dealt with that issue in 2.6.0, but I'll do some testing to make sure.  Please report any other issues you find.

Chris_Hofer
Community Coach
Community Coach

Hi tr_jbates‌...

Fingers crossed...I think we now have 2.5.0 successfully running in "production" along with the "UDOIT Admin" screen.  Confirming with you...in the new "UDOIT Admin" screen, should we be seeing data populate in the "Most Common Errors" ("Errors" tab) screen?  If so, nothing happens when clicking on "Display Results".  Or, will that be fixed with 2.6.0?

Chris_Hofer
Community Coach
Community Coach

Good afternoon, tr_jbates...

I have been using 2.5.0 to scan some of our "master" courses.  Things were scanning okay earlier today.  However, this afternoon I am scanning some more courses but getting the error message "UDOIT failed to scan this course."  Strangely, if I navigate over to the "View Old Reports" tab, the scan has been logged, and I can click on it to view the errors and the suggestions.  I can also save the PDF file to my local PC.  However, I cannot use the "U FIX IT!" button because those are disabled in this tab.  I'm not sure why the results are having difficulties showing in the "Scan Course" tab.  Any thoughts?

tr_jbates
Community Champion
Author

Is there anything suspicious showing up in the logs?  2.5.0 has fairly extensive server logging, so we should be able to figure out what UDOIT is having an issue with.  You can find the `log.log` file in the config folder of your installation.

Chris_Hofer
Community Coach
Community Coach

I don't have access to that, so I'll have to ping  @mmutz1 ‌ to see if he can help shed some light on things.

mmutz1
Community Novice

This is the error. Does this mean we need to allocate more memory for it to run?

Fatal Error (E_ERROR): Allowed memory size of 134217728 bytes exhausted (tried to allocate 1208320 bytes) {"code":1,"message":"Allowed memory size of 134217728 bytes exhausted (tried to allocate 1208320 bytes)","file":"/u01/apps/udoit/lib/UdoitStats.php","line":242,"trace":null}

tr_jbates
Community Champion
Author

While it looks like you may need to increase your memory allocation for PHP, that error is in the admin panel, not the scanning code.  Are there any other errors, possibly related to process.php?

mmutz1
Community Novice

I didn't see anything about process.php in the log, nor any other errors. We scanned again, and this time there was no error. I'm thinking perhaps we had a temporary memory issue

mdmace
Community Novice

Hi tr_jbates‌,

I've noticed on the GitHub that the PHP 7.3 fix looks like it's getting pushed back to 2.7.  Is this true?  Any time frame on that release?  We got forced into a PHP upgrade.

tr_jbates
Community Champion
Author

That's correct.  We still don't know what's causing the issue on Heroku.  We've tested UDOIT on PHP 7.3 on our own servers with no issues, though.  If you're self-hosting UDOIT, we would appreciate any testing you can do on 7.3.

Chris_Hofer
Community Coach
Community Coach

Good morning, tr_jbates...

Are you aware of any issues with the Errors tab (Most Common Errors) in the UDOIT Admin screen?  When I click on the "Display Results" button, nothing happens.

tr_jbates
Community Champion
Author

I'm not aware of any issues specifically.  I'll take a look and make sure there are no issues in the 2.6.0 release (which will be coming before the end of the year!).

tr_jbates
Community Champion
Author

I just released the BETA version of UDOIT 2.6.0.  I'm posting here because I don't want to create any confusion by making a new blog post.  I'll make a full post with release notes during the second week of January, when we plan to release 2.6.0 fully.  Check it out here:  Release v2.6.0 Beta · ucfopen/UDOIT · GitHub