FM_MarksReports

Overview

FM_MarksReports is a one-off FiLMS module designed for Marks. It is used to display employees completion report based on regions, districts and stores.

Installation & Configuration

N/A

Adding Phases to Reporting

Due to the frequency of this request made, the module is rewritten so that this can be managed in the database.

To add phases, you need:

  • phase name - can be a course / curriculum name. Note that it will be displayed on drop-down menu for Phase in the reporting tool.
  • curriculum id - this must be from English curriculum. The reporting tool will be including French course completions since FM_MarksLanguageSync handles the language enrollment sync.
  • (OPTIONAL) role id - only if client specifies the roles for the phases

Run these SQL queries on the database (replace the red-coloured text with either phase name, curriculum id or role id before running):

#ADD PHASES
INSERT INTO fm_marksreports_phases(`name`) 
SELECT "PHASE NAME"
FROM fm_marksreports_phases
WHERE NOT EXISTS (SELECT `name` FROM fm_marksreports_phases WHERE fm_marksreports_phases.name = "PHASE NAME")
LIMIT 1;
#ADD CURRICULUM ASSN
INSERT INTO fm_marksreports_phase_curriculum_assn 
SELECT fm_marksreports_phases.id, CURRICULUM_ID
FROM fm_marksreports_phases
WHERE fm_marksreports_phases.name = "PHASE NAME" 
LIMIT 1;
#ADD ROLES ASSN (IF SPECIFIED BY THE CLIENT)
INSERT INTO fm_marksreports_phase_role_assn 
SELECT fm_marksreports_phases.id, ROLE_ID
FROM fm_marksreports_phases
WHERE fm_marksreports_phases.name = "PHASE NAME" 
LIMIT 1;

Removing Phases from Reporting

Run these SQL queries on the database (replace the red-coloured text with phase name):

DELETE FROM fm_marksreports_phase_role_assn

WHERE phase_id IN

(

SELECT id FROM `fm_marksreports_phases`

WHERE name = '___PHASE_NAME___'

);

DELETE FROM fm_marksreports_phase_curriculum_assn

WHERE phase_id IN

(

SELECT id FROM `fm_marksreports_phases`

WHERE name = '___PHASE_NAME___'

);

DELETE FROM fm_marksreports_phases

WHERE name = '___PHASE_NAME___';

FAQ / Troubleshooting

1) I would like to add [INSERT MODULE NAME] modules into the reporting tool.

See Adding Phases to Reporting on how to do it.

2) A French enrollment is marked as completed in the enrollment list or Report Builder, but not in Marks' Report (i.e. marked as incomplete).

This is because the user has completed the French course before (s)he is enrolled to the English course. When a user has completed a French course, FM_MarksLanguageSync will checks if (s)he is enrolled to the English course. If yes, force complete on the English course, otherwise do nothing. The Marks Report only grabs the completion from English enrollments thus it relies on FM_MarksLanguageSync.

To fix this, reinstall FM_MarksLanguageSync (client calls it language syncing) . Note that reinstalling may takes a while as it has to check through every enrollment.

To prevent this from happening, advise the client to enroll both English and French course to the users at the same time.

3) I have completed the [INSERT COURSE NAME] course but the [INSERT PHASE NAME] Mark's Report is still showing as incomplete.

Find out the curriculum(s) associated to the phase (suite of curriculums) by clicking this link (this will run a custom report on Mark's FiLMS and you need to log in as sysadmin). If the link is broken, run the following SQL query:

#Phase and Curriculums Mapping
SELECT 
fm_marksreports_phases.id AS 'Phase ID',
fm_marksreports_phases.name AS 'Phase Name',
curriculums.id AS 'Curriculum ID',
curriculums.name AS 'Curriculum Name'
FROM fm_marksreports_phase_curriculum_assn
LEFT JOIN fm_marksreports_phases ON fm_marksreports_phase_curriculum_assn.phase_id = fm_marksreports_phases.id
LEFT JOIN curriculums ON fm_marksreports_phase_curriculum_assn.curriculum_id = curriculums.id
ORDER BY fm_marksreports_phases.id

Find out if the learner has completed his/her enrollment of that curriculum. Also check his/her enrollment of its French version. If both English and French enrollments are marked as incomplete, then it makes sense for the report to mark as incomplete. See 2) if French enrollment is marked as completed while the English one isn't.