Git Product home page Git Product logo

moodle-block_grade_me's People

Contributors

dakotaduff avatar lougroshek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-block_grade_me's Issues

Investigate/fix problems with duplicate index on mdl_block_grade_me.id column

Per comment from Moodle.org user Matteo Ricci, the following issue needs to be investigated and fixed to resolve problems with potential duplicate index on the column mdl_block_grade_me.id. Noting issue was originally happening on Oracle DB, and will need to be tested there to accurately reproduce:

Hi,
we have tried to install grade me on Moodle 3.0 version
with ORACLE DB and during the installation we have received this error:

ORA-01408: such column list already indexed
CREATE INDEX q_blocgradme_id_ix ON q_block_grade_me (id)
Error code: ddlexecuteerror

For the same type of error (ORA-01408) we have found in the web site
http://www.techonthenet.com/oracle/errors/ora01408.php ,
This explanation:
You tried to create an index on a set of columns in a table, but you've already indexed this set of columns.

If we comment this line in install.xml
KEY NAME="id" TYPE="foreign" FIELDS="id" REFTABLE="grade_items" REFFIELDS="id" PREVIOUS="primary" NEXT="courseid"
the installation goes ahead.

Using Mysql installation in phpmyadmin we have found the following warning:
The indexes PRIMARY and mdl_blocgradme_id_ix seem to be equal and one of them could possibly be removed.`

List ignores clicked-on users

Grade Me Version 3.1.0.2 running on Moodle 3.3.1

When you click on a student under grade me to mark an assignment or quiz and don't, the list does not rebuild during the cron.php job indicating student still requires marking. But if you go into the assignment or quiz itself it still shows under requires grading.

This is a much loved block that teachers really like. It would be great if this issue could be fixed. Many thanks.

Support for Moodle 3.3/3.4

Please forgive my forwardness, and my complete lack of understanding of the usage of GitHub, but I would like to reach out to the developers and ask if there's a plan to support Moodle 3.3 or 3.4 anytime soon. Grade Me was recommended to me by a project manager for an industrial Moodle application, and although my deployment is miniscule in comparison, I'm hoping to be able to use this plugin with a newer version of Moodle. Thank you.

Event observer queries are too slow on InnoDB with a large amount of rows

As stated in the title, DELETE queries from the event observer take too long on InnoDB database with a large amount of records and cause manual quiz grading to timeout.

Moodle version: any (running 4.1.5 (Build: 20230814))
Plugin version: 2022112800

I'll submit a PR with fixes, where DELETE queries are run in chunks of 10000 (which improves loading time from ~300s / timeout to ~4s with 5825844 rows in block_grade_me_quiz_ngrade table)

"Collapse/Expand All" string is harcoded

The string "Collapse/Expand All" is harcode so it can't be translated.

I think it would be useful to move the string into a variable and change the code in this way:

$expand = ''.get_string('collapse_expand','block_grade_me').'';

Bye
Sara

Unit tests broken in > Moodle 4.1

Since https://tracker.moodle.org/browse/MDL-64600 and https://tracker.moodle.org/browse/MDL-67673 lots of the tests are not running properly.

This is because of the removal of DB unit, so functions such as createXMLDataSet are not longer allowed.

e.g.

5) block_grade_me_testcase::test_query_glossary with data set "test1" ('glossary.xml', array(array(0, '0', 'glossary', 0, 'glossaryitem1', 0, 0, 0, 1424354368, 1), array(0, '0', 'glossary', 1, 'glossaryitem2', 1, 0, 0, 1424354369, 2), array(0, '0', 'glossary', 2, 'glossaryitem3', 2, 0, 0, 1424354370, 3)))
Error: Call to undefined method phpunit_dataset::getTableNames()

/var/www/ec-41/blocks/grade_me/tests/grade_me_test.php:56
/var/www/ec-41/blocks/grade_me/tests/grade_me_test.php:665
/var/www/ec-41/blocks/grade_me/tests/grade_me_test.php:595
/var/www/ec-41/lib/phpunit/classes/advanced_testcase.php:80

Many ungraded assignments not showing and some graded ones showing

We have found the grade me menu to be a fantastic and invaluable module; however, having had the row num issue and upgrading to resolve it, we are now finding that some student's submitted assignments are not appearing, yet others that have already been graded are appearing in the menu as ungraded.

The "Grading Summary" on each assignment page correctly shows the number of participants, the number submitted and the number in need of grading.

Our tutors have come to depend on this module, as it is so useful and we really would like to continue using it.

Kind Regards

Keiron

All Roles can see this block -- should only be seen by Teachers or Above

My suggestion is to ensure this block can only bee seen by the Teacher role (and higher).

Currently, when this block is added to the course, all site & course roles can view this block. Teacher role & higher can see submissions within the block, and Student role and lower can see the "You have Nothing to Grade" message.

The only way around this currently is to edit the block permissions and remove the Guest, Authenticated User, Authenticated User on Front Page, and Student roles, per course.

Screen Shot 2020-08-23 at 11 44 01 AM

Postgres unit test failing

The unit test, "test_get_content_multiple_user" fails when using Postgres. The test expects to find the regex "//mod/quiz/review.php?attempt=4/", but the closest match in the content is "/mod/quiz/review.php?attempt=2".
I expect this is caused by an order assumption in the data set?

Quizzes with the same timesubmitted (timemodified) aren't being displayed

Version: 2015060411
Release: 2.9.0.8

When a learner has a quiz that requires grading this appears on the block ok.
When multiple learners have attempts for the same quiz that require grading this appears ok.
When someone bulk modifies multiple learner quiz attempts (i.e. bulk regrades attempts) the last quiz attempt for that time the quiz attempt was modified is displayed in the grade me block.

To reproduce the error do the following:

You will need the grade me block on the /my page.

  1. Have a course
  2. Add a quiz
  3. Make some questions with the essay type question
  4. Make some learners
  5. Attempt the quiz as the learners
  6. As an admin check that the quiz attempts appear for grading on the grade me block
  7. As an admin, regrade all the quiz attempts
  8. As an admin, check the grade me block on the /my dashboard

If this works as expected only the last processed user in the record set will appear as a learner that requires grading for that quiz.

The attempts disappear because in the function block_grade_me_array() when a gradeable is stored in the array the key is 'timesubmitted'. Looking at the plugins/quiz/quiz_plugin.php function to get the sql for quizzes that require grading the timesubmitted is actually the quiz_attempts field 'timemodified'.

I have a fix that in my repo. If you wouldn't mind having a look. I am not sure how this all works but I am hoping it is along the lines of a fix.

I have added the timefinish field to the sql query in plugins/quiz/quiz_plugin.php and in the lib.php file I have used a different key then timesubmitted, added time finish to the users submission data and finally in the function block_grade_me_tree() set $timesubmitted = $submission['meta']['timesubmitted'];

Cheers

Grade-me Changes not saved

This was reported by a user after updating to the latest version of Grade-me.

I have upgraded to the latest version and clicking on a submission now shows the correct submission as it used to.
However, this update issued a new problem, because for every assignment I try to grade through grade me, I get the following error:

The grade changes were NOT saved, as it was not possible to determine which submission they were for.

According to moodle, this is an error of the type: error/mod_assign/useridlistnotcached
If use the other method of going to the assignment, then manually find the correct submission and then grading it, the grading works as usual.

Clicking on red check mark icon in Grade Me block takes teacher to incorrect student

We have found that after the upgrade to Moodlerooms 3.0, when teachers click on the red check mark icon in Grade Me block for a submitted assignment they are taken to the incorrect student in the course. This is happening in all the courses we have checked. Can this issue be corrected?

Grade me version : 3.0.0.0 (2015102400)

Moodle version : 3.0

I believe someone has also reported the same issue, please advise if there is any fixes for that.

Thanks,
Srini

Abnormally (and problematically) large number of database queries

We noticed that the bin logs on our Moodle install had started growing at an increased rate since our last maintenance (when we installed the Grade Me block). The logs were becoming problematically large, and when we grepped the strings available in a 1 GB bin log file, we found the following:


A total of 2097733 mentions of 'mdl_'.
About 33% were mentions of mdl_block_grade_me.

A total of 1021964 Moodle SQL queries ("INSERT INTO mdl_ | UPDATE mdl_ | DELETE FROM mdl_")
About 68% were operating on mdl_block_grade_me.

About 89% of those queries were UPDATE queries.
About 76% of those UPDATE queries were operating on mdl_block_grade_me.


This is an abnormally large number of UPDATE queries for a single block. After some searching, here is my current theory:

In the scheduled task cache_grade_data, which calls the lib function block_grade_me_cache_data, there is a call to DB->update_record on the block_grade_me table. It is the only place the block runs an UPDATE (that I can see, anyway). This query is made for each item in a set of records based on grade items. It seems that the query is run under the following conditions:

  1. The item is in an active course
    AND
  2. The grade item "itemtype" is "mod"
    AND
  3. The module is grade_me enabled (one of assign, assignment, data, forum, glossary, or quiz)
    AND
  4. The grade item has been modified since "$coursemod"

Here is the code that defines $coursemod:

if ($lastrun == '0') {
    $coursemod = '0';
} else {
    if ($coursemod > $lastrun) {
        // This handles the case if the course was hidden and made visible.
        $coursemod = '0';
    } else {
        $coursemod = $lastrun;
    }
}

If I am interpreting this correctly, if the course has been altered at all since the last time this task is run, then $coursemod will be set to 0, thus causing the $DB->update_record call to run for every single grade item that matches the first three criteria (which is likely a LOT of grade items).

I could be mistaken about the source of this problem -- but it clearly exists, regardless.

Assignment not showing in Grade me block

hi,

We are using grade me block 3.1.0.2 on Moodle 3.1 and apparently the assignment which needs grading is not showing on grade me block. Upon further research I found that the query failed to choose the assignment on below condition

SELECT bgm.courseid, bgm.coursename, bgm.itemmodule, bgm.iteminstance, bgm.itemname, bgm.coursemoduleid, bgm.itemsortorder, asgn_sub.id submissionid, asgn_sub.userid, asgn_sub.status FROM mdl_assign_submission asgn_sub JOIN mdl_assign a ON a.id = asgn_sub.assignment LEFT JOIN mdl_block_grade_me bgm ON bgm.courseid = a.course AND bgm.iteminstance = a.id LEFT JOIN mdl_assign_grades ag ON ag.assignment = asgn_sub.assignment AND ag.userid = asgn_sub.userid AND asgn_sub.attemptnumber = ag.attemptnumber WHERE a.grade <> 0 AND (ag.id IS NULL OR asgn_sub.timemodified > ag.timemodified) AND bgm.courseid = 37333 AND bgm.itemmodule = 'assign' and bgm.iteminstance='177990

_asgn_sub.timemodified and ag.timemodified seems to be same date time so that query failed _

ag.timemodified is modified when ran the Moodle cron with the below record

id assignment userid timecreated timemodified grader grade attemptnumber
793 519 12 1485174949 1485174312 2 -1.00000 0

Please check and let us know the workaround

Add GDPR support

As of 3.5 Moodle requires GDPR support to be implemented for all installed plugins. See https://docs.moodle.org/311/en/GDPR

Failing core unit tests:

root@cf7f7c4e89bd:/var/www/site# vendor/bin/phpunit --testsuite='core_privacy_testsuite'
Moodle 3.9.11 (Build: 20211108), 2f59059095d9a1779195e2d3df6c19b399413ed3
Php: 7.4.25, pgsql: 9.6.16, OS: Linux 5.4.0-89-generic x86_64
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

.............................................................   61 / 1525 (  4%)
.............................................................  122 / 1525 (  8%)
.............................................................  183 / 1525 ( 12%)
.............................................................  244 / 1525 ( 16%)
.............................................................  305 / 1525 ( 20%)
.............................................................  366 / 1525 ( 24%)
.............................................................  427 / 1525 ( 28%)
.............................................................  488 / 1525 ( 32%)
.............................................................  549 / 1525 ( 36%)
.............................................................  610 / 1525 ( 40%)
.............................................................  671 / 1525 ( 44%)
.............................................................  732 / 1525 ( 48%)
................................................F............  793 / 1525 ( 52%)
.............................................................  854 / 1525 ( 56%)
.............................................................  915 / 1525 ( 60%)
.............................................................  976 / 1525 ( 64%)
............................................................. 1037 / 1525 ( 68%)
............................................................. 1098 / 1525 ( 72%)
............................................................. 1159 / 1525 ( 76%)
............................................................. 1220 / 1525 ( 80%)
............................................................. 1281 / 1525 ( 84%)
............................................................. 1342 / 1525 ( 88%)
............................................................. 1403 / 1525 ( 92%)
.....................F....................................... 1464 / 1525 ( 96%)
............................................................. 1525 / 1525 (100%)


Time: 49.83 seconds, Memory: 161.00 MB

There were 2 failures:

1) provider_testcase::test_all_providers_compliant with data set "block_grade_me" ('block_grade_me', 'block_grade_me\privacy\provider')
Failed asserting that false is true.

/var/www/site/privacy/tests/provider_test.php:178
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80

To re-run:
 vendor/bin/phpunit "provider_testcase" privacy/tests/provider_test.php

2) provider_testcase::test_table_coverage
The following tables with user fields must be covered with metadata providers: 
  - block_grade_me_quiz_ngrade (userid)

/var/www/site/privacy/tests/provider_test.php:327
/var/www/site/lib/phpunit/classes/advanced_testcase.php:80

To re-run:
 vendor/bin/phpunit "provider_testcase" privacy/tests/provider_test.php

FAILURES!
Tests: 1525, Assertions: 10872, Failures: 2.

Grade me plugin not working with Moodle Workplace and multi-tenancies

I have just worked out that if using Moodle Workplace, that is set up with multi-tenancies, then this plugin stops working.

The tutor will only see items related to individuals that are in the same tenancy as themselves, even though they can see all the assignments within the course, and grade all the assignments within the course, for people in a different tenancy to themselves.

The plugin works for a site admin (who can see all users in all tenancies) even if the site admin changes their role to tutor.

This would be a wonderful fix to apply if possible.

PHP Notice that obscures log file with numerous messages

Get the following notice when debug is ON.

PHP Notice: Invalid get_string() identifier: 'settings_confighiddencourses' or component 'block_grade_me'. Perhaps you are missing $string['settings_confighiddencourses'] = ''; in /var/www/html/sritoni/blocks/grade_me/lang/en/block_grade_me.php?

  • line 353 of /lib/classes/string_manager_standard.php: call to debugging()
  • line 7283 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
  • line 26 of /blocks/grade_me/settings.php: call to get_string()
  • line 99 of /lib/classes/plugininfo/block.php: call to include()
  • line 81 of /admin/settings/plugins.php: call to core\plugininfo\block->load_settings()
  • line 8857 of /lib/adminlib.php: call to require()
  • line 19 of /admin/settings.php: call to admin_get_root()
in /var/www/html/sritoni/lib/weblib.php on line 3257, referer: https://hset.in/sritoni/admin/settings.php?section=debugging

Cron task error when using Oracle DB

The following query from the lib.php produces a "missing keyword" error when running against an Oracle database, because 'user' is a reserved word in Oracle.

270         $sqlcourse = "SELECT count(enrol.id)
  271                       FROM {user_enrolments} enrol
  272                       LEFT JOIN {user} user ON enrol.userid = user.id
  273                       LEFT JOIN {enrol} en ON enrol.enrolid = en.id
  274                       WHERE en.courseid = ?
  275                       AND user.deleted = 0";

Would suggest changing the 'user' reference to just 'u' or 'usr' to avoid the issue.

Clicking on red check mark in Grade Me block does not take user to current assignment grading screen

(Sorry for the additional post - this seems like it should be posted as a new issue)

We are finding that clicking the red check mark in front of student's name for a submitted assignment in the Grade Me block takes the user to the old assignment interface without the PDF preview. We are using Moodlerooms 3.1 Maintenance Pack 2.

On our site, clicking the red check mark in front of the user name for a submitted assignment takes the user to:
http://centralcc2.mrooms.net/mod/assign/view.php?id=1751474&action=grade&rownum=0&useridlistid=17514741492710031
(Screenshot attached)

The actual current assignment grading interface is at:
http://centralcc2.mrooms.net/mod/assign/view.php?id=1751474&action=grader

capture

With 3.7 - GradeMe Block not working

Hi,
Thanks in advance.

I just got an issue where if I logged in via admin I can grade assignments or in other words if I click on grade me then I am seeing submitted assignment. but if I logged in with a user who has a role of "Advisor All Access, Advisor" then clicking on grade me button is not displaying assignment submitted by students.
Really appreciate if you could have a look at this issue.

Here is the link of the issue: https://drive.google.com/file/d/1Pl16kQrgMWVVZXkEpjSD2lsTP2urIwk2/view

Thanks, Dipak

Font size in block too large Moodle 3.11+

After a recent update (either of Grade Me or to a new Moodle 3.11+ weekly build) the font sizes of the course name and assignment name have become larger (and bold, perhaps), which causes more courses and assignments to display below the current screen: at present, only five assignments are visible on a Chrome screen with zoom set at 80% on a 27-inch monitor, whereas two weeks or so ago 9 or 10 (depending on whether the assignment name wraps or not) fit.

Moodle 3.11+ (current build as of this writing)
Fordson theme
Ubuntu 20.04 LTS/Nginx
Mariadb 10.5.11
PHP 7.4.3
all recommended/required php extensions

fullname function

Please use fullname function. I want to use in Japanese (lastname+firstname)

Grade Me doesn't work in 4.3

I understand (now), that the current version of Grade Book (4.1.0.0) isn't really supported for 4.2 or 4.3.
I'd like to request the following:

  1. Update Grade Me to work with Moodle 4.3
  2. Update Grade Me to work with Forums and Journals.

We would be willing to provide financial support to this project if it can be addressed immediately.

Feature request - Clicking the student's name would lead to his submission and not to his profile

Hi,
Currently (Version 3.11.0.2 of the plugin), When the teacher clicks on the student name, the profile page of the student is shown.
Only when clicking the "V" sign besides the name, the student's submission is shown.
UX-wise, I think it's better to show the submission when clicking the student's name, or at least create a plugin setting for it and let the administrator decide about the expected behavior of the plugin.

Please consider it :-)

When adding Grade me to a category, the category breaks (Moodle 4.1.2)

When trying to add Grade me to a category, there is "Gateway timeout" after some time.
The category breaks and cannot be opened.

I moved the courses in the broken category to another category, and the subcategories and courses are intact, bud the Grade me block is not added.

I also tried to add Grade me to an empty category, same thing happened: The category broke and could not be opened.

Moodle version 4.1.2+ (Build: 20230324)
Grade me version 4.1.0.0 (2022112800)

Moodle 3.7.3 assign using Marking Allocation

Hi there!

Can this block be used for mod/assign, which are using Marking Allocation and Marking Workflows. I am testing this plugin at the moment and would like to know if this plugin right for us.

Groups not working in 3.8

I have this block on teachers dashboard pages. We have courses with multiple teachers and students, where students are separated into groups and teachers are only a member of one group, however the block is still shows each teacher all assignments that need grading for all students in all groups, not just their own. All assignments have been set-up with Group mode = Separate groups. Grouping in all core areas of the site (e.g. on the grading pages) works correctly.

The info on the Moodle plugin page states that the block is configured to work with groups (that is, teachers will only see the assignments submitted by students if they are both members of the same group) but that doesn't appear to be working.

I'm on Moodle V3.8 running the latest version of the block: 3.8.0.0

Database schema issue missing index 'id' (not unique (id))

Database PostgreSQL 14.0.

root@2886180ea26f:/var/www/vanilla-401# php admin/cli/check_database_schema.php 
-------------------------------------------------------------------------------
block_grade_me
 * Missing index 'id' (not unique (id)). 
CREATE INDEX mdl_blocgradme_id_ix ON mdl_block_grade_me (id);
-------------------------------------------------------------------------------

Inspecting the table mdl_block_grade_me with psql (PostgreSQL interactive terminal) we see that a index does actually already exist, however instead of the expected name mdl_blocgradme_id_ix it is actually called mdl_blocgradme_id3_ix.

vanilla-401=# \dS+ mdl_block_grade_me
                                                                   Table "public.mdl_block_grade_me"
     Column     |          Type          | Collation | Nullable |                    Default                     | Storage  | Compression | Stats target | Description 
----------------+------------------------+-----------+----------+------------------------------------------------+----------+-------------+--------------+-------------
 id             | bigint                 |           | not null | nextval('mdl_block_grade_me_id_seq'::regclass) | plain    |             |              | 
 itemname       | character varying(255) |           |          |                                                | extended |             |              | 
 itemtype       | character varying(30)  |           | not null | ''::character varying                          | extended |             |              | 
 itemmodule     | character varying(30)  |           |          |                                                | extended |             |              | 
 iteminstance   | bigint                 |           |          |                                                | plain    |             |              | 
 itemsortorder  | bigint                 |           | not null | 0                                              | plain    |             |              | 
 courseid       | bigint                 |           | not null | 0                                              | plain    |             |              | 
 coursename     | character varying(255) |           | not null | ''::character varying                          | extended |             |              | 
 coursemoduleid | bigint                 |           | not null | 0                                              | plain    |             |              | 
Indexes:
    "mdl_blocgradme_id_pk" PRIMARY KEY, btree (id)
    "mdl_blocgradme_cou2_ix" btree (coursemoduleid)
    "mdl_blocgradme_cou_ix" btree (courseid)
    "mdl_blocgradme_couite_ix" btree (courseid, itemmodule)
    "mdl_blocgradme_id3_ix" btree (id)                         <-- NOTE:  The missing index
    "mdl_blocgradme_ite_ix" btree (itemsortorder)
Access method: heap

Upgrade Moodle 3.11.01 to 3.11.12 not working

I upgraded my moodle from 3.11.01 to 3.11.12 and the GradeMe block stopped working.

It showing items to be graded, but when you clock on there is hows there is nothing to be graded.

Error only occured after the upgrade.

Too many older courses in the block on main page

If there a way to hide courses? Or only show current courses?

If I add the block on the main starting page; I'll get courses from years ago which still have some remaining assignements. I would love to see only the current courses that I want to see. Maybe even hide courses I don't want to see, like you can with the "eye" on the main page of Moodle.

Testing-Version 3.8-API secret missing

When testing the block on Moodle 3.8, when I click the assignment name to go to the grading section from the plugin I receive the following error message: "Coding error detected, it must be fixed by a programmer: API Secret not set!" I have never seen this error before.
grademe_error

I can't install last version con Moodle 3.10.4

I'm having trouble installing the last version ot this plugin (2021051700) on a Moodle 3.10.4
Our Moodle is running on a debian 10.10. We use docker for this Moodle.
Our DB is MariaDB 10.4.13

I have tryed the installation in the regular way from UI and here I have two options:

  1. If I download the zip and upload it to the server (which is one of the ways as I was trying last week) then a validation error occurs when loading the .zip:
    [OK] External module version [2021051700]
    [Error] Moodle version required [2021051700]
  2. If I install from the moodle extensions directory (by clicking that button) then it does install correctly but "tricking" the system a bit, modifying the moodle version in the list of my sites to 3.9, then it does install but the version 2020061502 (3.9.0.2) and not the latest one (3.11.0.0). If in the same way I modify the version of my moodle to 3.11 in the list of my sites, it also does not install the latest version of the plugin, appearing the same error as in the case of zip.

I have tryed to install also using moosh and it returns the same message about incompatibility of versions.
Thanks.

Error to view and write to the database 3.8.0.0

Hello i got some problem with the plugin
My environnement :
Moodle 3.8.4 +
Plugin grade_me 3.8.0.0
MSSQL / IIS / PHP 7.4.7

My problem is when the schedule task running i got an error :
Execute scheduled task: Activités à noter (block_grade_me\task\cache_grade_data)
... started 15:22:02. Current memory use 19.7Mo.
... used 8 dbqueries
... used 0.027261018753052 seconds
Scheduled task failed: Activités à noter (block_grade_me\task\cache_grade_data),Error reading database

My test is i got a course with 1 teacher and 1 student in manuel inscription. The student upload a new homework. When i connect to the teacher and try to saw in the plugin if i got a notification with this student but nothing appear.

Submitted Date on Grade Me bLock

Moodle version 3.3.2, latest grade me version.

We have noticed for quite some time, that the date attached to the Assessment on the grade me block will change as soon as the marker starts to grade the assessment. For example, a student submits an assessment on the 17th August and this date is displayed under the assessment on the grade me block, the trainer then views the assessment and grades a question in the assessment on the 26th August. The date on the grade me block now changes to the 26th August. It only seems to change once the assessor grades it, if it is just viewed it doesn't change.

This is a problem for our students as we have a turnaround marking time of 2 weeks, and a lot of marking to be done in that time, thus the dates are very important for seeing which assessments need to be graded as a priority and in which order.

Thanks for your help

Assignment submission link directs to incorrect user

The useridlistid loads incorrect user.

$submissionlink .= "/mod/assign/view.php?id=$coursemoduleid&action=grade&rownum=$rownum&useridlistid=$useridlistid";

The following solves issue.

$submissionlink .= "/mod/assign/view.php?id=$coursemoduleid&action=grade&userid=$userid";

Moodle 3.10 issue after update

PHP 7.4
Moodle 3.10
Grade Me 3.9

-Student submit Assignment.
-With Grading, the Teacher submit feedback, but do not Grade the learner anything.

At this stage the Assignment still shows "waiting for grading" (Before reverting to draft to allow for a re-submission.)

The Grade Me for the Assignment does not appear on the Grade Me block anymore.

block_grade_me_cache_data causes duplicate instances and huge number of database operations

block_grade_me_cache_data was taking quite a long time to run and causing a huge number of database operations. In our server with thousands of courses the result was this:

737589 reads,
120516 writes,
4 min 34 sec

The number was exactly the same compared to reset_block script so it seems that the block_grade_me_cache_data script does not just update the new information into cache but is doing the full reset. In other words, block_grade_me_cache_data and reset_block are currently basically doing the same thing.

Our IT department decided to remove whole plugin from our Moodle server after it got stuck couple of times. This was sad because from my opinion the Grade Me plugin is one of the best blocks available and will help my day-to-day teaching tasks a lot.

I investigated the code, and it seems that there are two small bugs in block_grade_me_cache_grade_data function in lib.php which will make the script to (instead of updating) reset the whole block_grade_me table and create dublicates from every quiz answer instance to block_grade_me_quiz_ngrade table. By default the script is run from cron every 15 minutes, which means lots of unnecessary database operations and the size of the database is growing quite much during the day.

The root causes for these problems are:

  1. $lastrun = $DB->get_field('task_scheduled', 'lastruntime', array('classname' =>'cache_grade_data'));
    Classname is incorrect. It should have the full name '\block_grade_me\task\cache_grade_data'. This means that the $lastrun is always empty and the course is always updated even though it has not changed at all.

  2. After correcting the classname we still have problems when updating the ungraded quiz attempts to block_grade_me_quiz_ngrade. Currently we are building the quiz table from scratch every time when the script is run. This is correct behavior if we reset the whole cache (in other words if the function is called from reset_block script). If we want to do the normal update, we should not touch the block_grade_me_quiz_ngrade table at all. Especially because currently we just add new instances blindly into database without checking if they already exist which will cause creating multiple duplicates after each 15 minutes. New attemps are anyway updated to the table by event handlers right away after created. So, this one needs conditions to check if we are doing the whole reset or only the update.

I have corrections for these two issues and will create a pull request soon.

Grade Me - Nothing to Display

Plugin versions. 4.0.0.0 (2022041900)

Moodle version. Moodle 4.0.1

Detailed instructions of what went wrong and how to reproduce the problem. Everything went well with the installation process. I checked all the boxes to enable all activities to be shown in the block. There is nothing displayed, not for any group or individual activities.

Any error messages encountered. None.

PHP version. 7.4.33

Database software and versions. GeoLite2 City MaxMind DB

Any other environmental information available.

image

no group filtering

Hello, we are using version 3.0.0.1 of the plugin and it is really helpful. However, the plugin does not recognize any groups and shows all assignment.

Teacher is in Group A
Student is in Group B
Assignment is configured to use groups

Nevertheless, the teacher sees the assignments of Student within grademe. Or do we have to take something special into account when using groups?

Thanks in advance

Adding Assignment Due Dates to the Block

This is an idea for a feature request. We had an instructor suggest it, and I thought it was worth asking about. I can see the utility in it.

Have you considered adding the assignment due date to the block? It wouldn't take up too much real estate, so I can see it implemented in a way that keeps the block simple and clean. Feel free to close this out if you've already decided this is something you don't want to add to the plugin.

Thanks for your input!

-Mike

Error to view and write to the database Moodle 3.9.5+ (Build: 20210312)

Environment:

  • Moodle 3.9.5+ (Build: 20210312)
  • PostgreSQL 11.10 (Debian 11.10-0+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
  • Additional plugins (all installed from Moodle Plugins directory, except where noted)
    • Edumy theme (installed manually)
    • Restriction by relative date
    • Restriction by course completion
    • Level up!
    • Grade Me
    • Custom certificate
    • BigBlueButtonBN
    • Attendance

Steps to Reproduce

  • I installed this plugin from the Moodle Plugins Directory using the Install button.
  • The first cache_grade_data task completed successfully.
  • I added the block to my dashboard.
  • I saw "Nothing to grade" when there should be something.
  • I used the "Refresh quiz" link on the block configuration page.
  • I saw "Nothing to grade", still.
  • The content of the log for the task shows this message:
Execute scheduled task: Grade Me (block_grade_me\task\cache_grade_data)
... started 09:48:01. Current memory use 19.6MB.
... used 11 dbqueries
... used 0.035485029220581 seconds
Scheduled task failed: Grade Me (block_grade_me\task\cache_grade_data),Error reading from database

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.