jazkarta / edx-platform-for-isc

fork of the edx platform for development w/ isc
GNU Affero General Public License v3.0
1 stars 2 forks source link

/sysadmin grade report numbers #4

Closed cewing closed 9 years ago

cewing commented 9 years ago

Hi all, I noticed an inconsistency and I am wondering if you know why this is. When looking at the Enrollment Information (under the Instructor tab) for each course and comparing it to the new sysadmin page, I noticed these differences:

Course Sysadmin Instructor tab # staff
DTL 28 26 1
Mgmt Portal 21 20 2
Zen Mojo for Web Apps 33 32 1

Do you know why?

(from Jenny Ames)

cewing commented 9 years ago

@natea perhaps a couple of words about the goal here might be appropriate?

natea commented 9 years ago

@cewing @cguardia the customer wants to be able to generate reports about the # of students enrolled in each course, and Jenny is reporting that the instructor tab (right within the course) shows a different number of enrolled students than the # of students when you look at the report at /sysadmin.

The scope of this ticket is to find out why there is a discrepancy and determine the correct number of students enrolled. If it's determined that there's a bug, create the bug fix and submit it as a patch to edx-platform.

skleinfeldt commented 9 years ago

So I'm thinking this means we need admin access to their current production installation - or better, to a staging environment with a copy of production where we can do debugging? @cewing would you agree?

natea commented 9 years ago

the staging environment has the same un/pw as the production environment, and that would be the best place to poke around. let me know if you need SSH access to the server and I can provide that as well.

On Thu, Jun 4, 2015 at 11:06 AM, Sally Kleinfeldt notifications@github.com wrote:

So I'm thinking this means we need admin access to their current production installation - or better, to a staging environment with a copy of production where we can do debugging? @cewing https://github.com/cewing would you agree?

— Reply to this email directly or view it on GitHub https://github.com/jazkarta/edx-platform-for-isc/issues/4#issuecomment-108927966 .

skleinfeldt commented 9 years ago

@natea please provide @cguardia and @cewing with username/password for staging/prod and SSH access to staging.

natea commented 9 years ago

ok, i'll send this info Lockify.

On Fri, Jun 5, 2015 at 2:47 PM, Sally Kleinfeldt notifications@github.com wrote:

@natea https://github.com/natea please provide @cguardia https://github.com/cguardia and @cewing https://github.com/cewing with username/password for staging/prod and SSH access to staging.

— Reply to this email directly or view it on GitHub https://github.com/jazkarta/edx-platform-for-isc/issues/4#issuecomment-109395261 .

nate@appsembler.com +1 (617) 517-4953 http://twitter.com/natea | http://linkedin.com/in/natea

cguardia commented 9 years ago

@natea , lockify?

natea commented 9 years ago

@cguardia send me your public key and i'll add you the authorized_keys.

natea commented 9 years ago

@cguardia @bryanlandia i added your public keys to the staging server, so you should be able to login now using the 'ubuntu' user.

bryanlandia commented 9 years ago

Confirmed that at least one course shows a discrepancy between # enrolled shown on Instructor tab and /sysadmin page.

ISC1007 Zen Mojo for Web-based Applications http://staging-lms.learning.intersystems.com/courses/InterSystems/ZM01/2015/instructor#view-course_info : 20 enrolled http://staging-lms.learning.intersystems.com/sysadmin/staffing : 21 enrolled

Other courses show same number of enrollees between pages, so it's not a consistent "off by #" issue.

bryanlandia commented 9 years ago

/sysadmin's count of enrolled students includes inactive students, while the Instructor tab's count does not, thus the discrepancy. Not exactly a bug, but confusing. I'm going to do a little research on what is meant by inactive students. Should the Instructor's tab include inactive student? It displays number of students by category (verified, audit, or honor). @natea Is it useful for an instructor to know the number of inactive students? Or would a better approach be to break out active and inactive students as separate columns on the /sysadmin page?

bryanlandia commented 9 years ago
mysql> select user_id, is_active, mode from student_courseenrollment where course_id = 'InterSystems/ZM01/2015';
+---------+-----------+-------+
| user_id | is_active | mode  |
+---------+-----------+-------+
|      22 |         1 | honor |
|      30 |         1 | honor |
|      27 |         1 | honor |
|      54 |         1 | honor |
|      56 |         1 | honor |
|       6 |         1 | honor |
|      52 |         0 | honor |
|     122 |         1 | honor |
|     123 |         1 | honor |
|      18 |         1 | honor |
|     124 |         1 | honor |
|     126 |         1 | honor |
|     125 |         1 | honor |
|     131 |         1 | honor |
|     121 |         1 | honor |
|     158 |         1 | honor |
|     133 |         1 | honor |
|     161 |         1 | honor |
|     134 |         1 | honor |
|      19 |         1 | honor |
|     211 |         1 | honor |
+---------+-----------+-------+
21 rows in set (0.00 sec)
bryanlandia commented 9 years ago

The enrollment CSV report generated by task or directly on the page also exclude the inactive students (http://staging-lms.learning.intersystems.com/courses/InterSystems/ZM01/2015/instructor#view-data_download)

Also, confirmed that another course (InterSystems/TrakCare/2014) with 1 inactive student counts 22 students at /sysadmin and 21 on the Instructors tab.

The is_active field is set to 0 when an enrolled user is unenrolled from the Course. Their record in student_courseenrollment isn't deleted, it's made inactive. From the comments in on the CourseEnrollment class in common/djangoapps/student/models.py:

# If is_active is False, then the student is not considered to be enrolled
# in the course (is_enrolled() will return False)

I think it is definitely a bug that the /sysadmin tab shows a count including inactive users. A student with an is_active value of 0 for that Course should not show up in the total number of enrolled students for anyone. This is a bug with edx-platform. Continuing investigation...

bryanlandia commented 9 years ago

I fixed the numbers in the sysadmin enrollment table so that they don't include inactive/unenrolled students. @natea - Please review.

bryanlandia commented 9 years ago

This would be a good PR for edx-platform, too.

natea commented 9 years ago

@bryanlandia i think this /sysadmin feature was contributed by MITx, so might be good to have someone on their team take a look at it.

oh, and how does the system define an "inactive" student?

bryanlandia commented 9 years ago

@natea - re: how system defines 'inactive', see https://github.com/jazkarta/edx-platform-for-isc/issues/4#issuecomment-111649306 above (basically, when student unenrolls they become 'inactive'). Do you have a contact already with MITx?

bryanlandia commented 9 years ago

Deployed and working on staging so closing issue, but will follow up with MITx and/or look and see if it's been fixed anyhow in Cypress.