Exception - Call to undefined method flexible_table::get_download_menu()

Exception - Call to undefined method flexible_table::get_download_menu()

by Martin Meadows -
Number of replies: 3

After upgrading to Moodle3.2.1+ (Build: 20170202), I started getting this warning message as I tried to upgrade plugins: 

Exception - Call to undefined method flexible_table::get_download_menu()

At first, the site loaded, but Site Administration (accessed from the Administration block) would not open when I clicked on the triangle that expands the Site Admin menu. 

There are still some plugins that I can upgrade and, after adding them to the server, I am able to see the page that displays plugins needing my attention and follow the upgrade process. However, when the upgrade finishes, I get the above warning and an option to "Continue", but when I try to do so, the page goes blank. Nothing but a white screen is displayed. 


I can't find any reference to this on the net, so I post here in the hope that someone may be able to help me. 

Thanks.

Average of ratings: -
In reply to Martin Meadows

Re: Exception - Call to undefined method flexible_table::get_download_menu()

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Start by turning on Developer Debugging to get a stack trace identifying the code that is calling it.  Then if a contributed plugin then can remove or contact the developer.  If core then a chance of raising a Moodle Tracker issue / seeing if there is one already.

In reply to Martin Meadows

Re: Exception - Call to undefined method flexible_table::get_download_menu()

by Ken Task -
Picture of Particularly helpful Moodlers

You might have to navigate to locations if the Site Admin menu not working until
the issue is resolved.   All below require using http://yoursite/ in front o them.

Plugins Overview - which has a button for Check for Available updates and
links to All plugins + Additional Plugins
/admin/plugins.php

Additional Plugins
/admin/plugins.php?updatesonly=0&contribonly=1

All Plugins
/admin/plugins.php?updatesonly=0&contribonly=0

Available Updates
/admin/plugins.php?updatesonly=1

Environment Check
/admin/environment.php

Debugging
/admin/settings.php?section=debugging

PHP Info
/admin/phpinfo.php

Purge All Caches
admin/purgecaches.php

In previous postings, it appears you've had issues before in upgrading.
What is your process?

Might help to know something about server environment and if it's hosted on
a shared server or not.  PHP version?

If you have addons that are not core, upgrading many of them might attempt
to show new settings which Moodle is asking you to review and set.
In the past, too many of those screens for the individual plugins would
cause Moodle to behave such as you've described.
You might have to visit the url for All Plugins and check settings for plugins
that have been updated ... especially any non-core plugins.

If you added plugins to the server, how did do that?   Manually?
If so are you sure owership/permissions are correct for your environment?

'spirit of sharing', Ken

In reply to Ken Task

Re: Exception - Call to undefined method flexible_table::get_download_menu()

by Ken Task -
Picture of Particularly helpful Moodlers

As we know, Moodle config requires the wwwroot variable which negates 'relative addressing'.   Good for security reasons, but a pain when having issues where Admin user can login but cannot navigate the Site Admin menu for some reason.

In order to address problems, one could navigate directly to certain areas in the /admin/ interface, but who remembers those URL's?   Certainly NOT I :\

So to help, attached is an sos.html page (Save Our Site)  that uses relative addressing to get to some of those site admin areas related (feel free to add your own relative URLs).   Any link on the sos.html page still requires the admin level person to login to the Moodle.  This to say it is safe to use n troubleshooting situations.  (after problems resolved one could remove the file and if needed one could upload the same page again ...  in the same location ... the root of your Moodle code.  It isn't 'pretty' but it doesn't need to be ... using pre tag.

'Install' of the sos.html page isn't a Moodle install ... just upload the sos.html page to the root of your Moodle code where the config.php file resides.   There is nothing to change in Moodle configuration.

See attached page.

'spirit of sharing', Ken


Average of ratings: Useful (1)