WeBWorK Main Forum

OPL update on 2.16

OPL update on 2.16

by Sean Fitzpatrick -
Number of replies: 13

I've got two WeBWorK servers running 2.16 (one is a PreTeXt backend, and the other is my production server, which I just upgraded during a week of downtime between semesters.)

On both of them, I've noticed that although I've just run OPL-update, on the admin course I have the message:

Your current branch of the Open Problem Library is up to date.
The library index is older than the library, you need to run OPL-update.

Should I be concerned there are undiagnosed database issues? I didn't migrate from MySQL to MariaDB.

I also get a message that there are upgrades available for WeBWorK but I assume that's just because 2.16 is not yet merged into master.

In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Nathan Wallach -
The message is triggered by code in webwork2/lib/WeBWorK/ContentGenerator/CourseAdmin.pm which compares 2 dates. I suggest checking the dates shown on your server:
  • In the webwork2 directory
    • ls -l htdocs/DATA/library-directory-tree.json
  • In the OPL directory:
    • git log -1
    • git log -1 --pretty=format:%at
If the data from the last OPL commit is newer than that of of htdocs/DATA/library-directory-tree.json the the message you mentioned is triggered.
In reply to Nathan Wallach

Re: OPL update on 2.16

by Sean Fitzpatrick -

Thanks. On one server, which is used only as a PreTeXt backend, the library-directory-tree.json file hasn't been modified since May 1, 2020 (which is around when this server was set up). That server was moved to the development branch almost immediately. 

On my production server, it hasn't changed since January 4th of this year. (My guess is that I would have run OPL-update at the start of the semester, and again recently, after upgrading to 2.16).

So my best guess is that after upgrading to 2.16, OPL-update no longer updates that json file.

I'm running it right now. Almost immediately it saves the taxonomy to the tagging-taxonomy.json file.

But it does not have any effect on the library-directory-tree.json file. It seems to miss that step?


It goes through the processing files part, from 100 up to 37600.

After that it goes to Updating Library Statistics ("Importing Statistics for 95 courses")

I think there used to be a step in between where the directory tree is updated.

In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Peter Staab -

Currently nothing in webwork uses the library-directory-tree.json file.  It was experimental on a different branch of webwork, but was never integrated in the codebase.  Because of this, we stopped automatically calling the production of the file.  If needed, there is a new script called updateOPLextras.pl which rebuilds it. 

In reply to Peter Staab

Re: OPL update on 2.16

by Sean Fitzpatrick -

Ok thanks for that info.

But if that file is no longer being updated, and it's the cause of the warning message you see when you log into the admin course, then I suppose it would be nice to remove the code that produces that message. Or would that have unintended consequences?

In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Peter Staab -
I think removing that code is the right thing to do. I'll add an issue to GitHub for this (or write a patch). If you change

$enableGitUpgradeNotifier = 1;

in localOverrides.conf to 0, then it will skip the code. However, if you want to check for updates, then you'll want the 1.
In reply to Peter Staab

Re: OPL update on 2.16

by Kyle Besing -

I'm also seeing this issue. Did something change in the code for the 2.16 branch? The functionality worked fine on the master branch, but fails to detect that OPL-update has been run on the 2.16 branch.

In reply to Peter Staab

Re: OPL update on 2.16

by Sean Fitzpatrick -
Hi Peter,
I am noticing (and apologies if this has been fixed -- I haven't pulled on my server in a couple of weeks) that things have gotten worse with the Upgrade Notifier: it is still looking for the master branch, and WeBWorK has switched to using main. So now it says "Can't find Master branch" for both webwork and pg.
In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Glenn Rice -

You should check your localOverrides.conf and defaults.config files.  If your git repository is up to date with the main branch then defaults.config should contain

$gitWeBWorKRemoteName = "origin";
$gitWeBWorKBranchName = "main";
$gitPGRemoteName = "origin";
$gitPGBranchName = "main";
$gitLibraryRemoteName = "origin";
$gitLibraryBranchName = "master";

on lines 147-152.

In localOverrides.conf those variables should all be commented out.  Those variables are at lines 72-77 in localOverrides.conf.dist.

In reply to Glenn Rice

Re: OPL update on 2.16

by Sean Fitzpatrick -

Ah, thanks! I updated to 2.16 when it was still on a feature branch, and updated my config files at that time.

I didn't think to check again when the branch structure changed.

In reply to Glenn Rice

Re: OPL update on 2.16

by Sean Fitzpatrick -

Actually, these lines are correct! In localOverrides.conf (and .conf.dist) it still points to master as the branch, but these lines are commented out.

Odd.

In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Glenn Rice -

All of the lines in localOverrides.conf should be commented out (unless you want to use a different branch for updates).  The lines in defaults.config should not be, and should be set to main (with the exception of the OPL branch).

In reply to Glenn Rice

Re: OPL update on 2.16

by Sean Fitzpatrick -

Yes, that's what I have.

Uncommented, and set to main in defaults.config, and everything is commented out in localOverrides.conf, except for the showUpgradeNotifier=1 line.

Server is up to date and rebooted. I'll poke around in the other conf files to see if I've missed something.

In reply to Sean Fitzpatrick

Re: OPL update on 2.16

by Glenn Rice -

Is it possible that you have one of these settings changed in the course.conf file of your admin course?  Or in the simple.conf file of the admin course?  I don't know how those settings would get into those files, and they shouldn't be there, but if these settings are there it would override what is in the defaults.config and localOverrides.conf files.