DMS won't list all users

DMS won't list all users

by Phil Brown -
Number of replies: 6
I have over 1000 users in my test site. When I list all users ( as Admin) by clicking on the User Folders it only list about 300 users and then gives the error message;

Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp\www\moodle\dms\inc\inc.OutUtils.php on line 92

Line 92 of the inc.OutUtils.php file says:

$displayfolders = count(array_intersect($subfolderkeys, $displayedkeys)) > 0 || in_array($root, $expanded) && count($subfolders) > 0;

I'm not a programmer and I can't see any reference to a time out. Is this the problem?

Phil
Average of ratings: -
In reply to Phil Brown

Re: DMS won't list all users

by Michael Penney -
Hi Phil, that sounds like a php setting:
max_execution_time 30 30
30 seconds is the default.

You can change it by changing the number in your php.ini file and then restarting apache.

Back up your php.ini file first, of coursewink.
In reply to Phil Brown

Re: DMS won't list all users

by W Page -
Hi Phil

After you have added users run the "setup.php" file for the DMS feature [like when you initially installed the DMS] and new users should be added.

WP1
In reply to Phil Brown

Re: DMS won't list all users

by John Papaioannou -
Phil, your question is very logical and the technical answer from Michael is correct.

I 'd like to confess, however, that the real problem is that DMS is just too slow when the students start numbering several hundreds. This is a design flaw, which I only noticed when trying to use DMS in a site with 1500 students.

Obviously this is a priority for DMS. When progress is made, I will post here again. In the meantime, I 'm really sorry it fails to meet your needs.

Jon
In reply to John Papaioannou

Re: DMS won't list all users

by Phil Brown -
I adjusted the php.ini timer setting up to 120 seconds and now I get a different message.

Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp\www\moodle\dms\inc\inc.OutUtils.php on line 92

I think the module is great and is worth persevering with
In reply to Phil Brown

Re: DMS won't list all users

by W Page -
Hello!

I see you are using "easyPHP".  Maybe this will help,

There are a few lines in "php.ini" that control timeouts.  They can be increased to 300 sec (5 min).  I think the default for Apache is 5 min

To fix the time-outs, there is a few lines in the php.ini file which control the timeout. You can increase these to 300 seconds or so (5 minutes). The default for Apache is already 5 minutes.

Look at the following places in "php.ini".
----------

max_execution_time = 30 ; Around line 244

max_input_time = 60     ;  Around line 245

default_socket_timeout = 60 ; Around line 514

mysql.connect_timeout = 60 ; Around line 613, you can set this to -1


I hope this helps.

WP1

In reply to Phil Brown

Re: DMS won't list all users

by John Papaioannou -
Phil, from this message it seems that the setting wasn't taken into account. You have to (at the least) restart the web server before it will use the updated setting.