Graphiques de répartition des notes dans Centre SIS

Publié le 09 juin 2012 par Menerve
Centre SIS ne propose pas par défaut une fonctionnalité intéressante pour les professeurs: des graphiques de répartition des notes, pour un test, ou une matière.
Mais, Focus SIS, un fork de Centre SIS (une copie qui a ensuite évoluée indépendamment), qui était Open Source, disposait de cela.
Il est téléchargeable ici: http://arborrow.jesuitscholar.com/focus_2.3.zip
Nous allons tout d'abord copier le fichier en question depuis l'archive de Focus: modules/Grades/GradebookBreakdown.php
Premièrement, il convient d'activer le fichier en base via la table profile_exceptions: une instruction à executer via phpPgAdmin:
INSERT INTO profile_exceptions (profile_id, modname, can_use, can_edit) VALUES (
2, 'Grades/GradebookBreakdown.php', 'Y', 'Y');

Ensuite, il convient d'ajouter ce fichier au menu des enseignants: dans modules/Grades/Menu.php, on ajoute à la ligne 36:
//modif: add Grade Breakdown
	'Grades/GradebookBreakdown.php'=>_('Grade Breakdown'),

Commencent les problèmes au niveau du code PHP:
1. Remplacer "_FOCUS_PDF" par "_CENTRE_PDF".
2. Des différences entre les bases SQL de Focus et Centre font que l'on doit modifier les trois premières requêtes du fichier GradebookBreakdown.php, sous peine de rencontrer des erreurs SQL:
La première:
$course_id = DBGet(DBQuery("SELECT cp.COURSE_ID,cp.TITLE,c.TITLE AS COURSE_TITLE,c.SHORT_NAME AS COURSE_NUM,cp.GRADE_SCALE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='".UserCoursePeriod()."'"));
La deuxième:
$grades_RET = DBGet(DBQuery("SELECT ID,TITLE FROM REPORT_CARD_GRADES WHERE GRADE_SCALE_ID='".$grade_scale_id."' AND SYEAR='".UserSyear()."' AND SCHOOL_ID='".UserSchool()."' ORDER BY SORT_ORDER"));
La troisième:
$config_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_USER_CONFIG WHERE USER_ID='".User('STAFF_ID')."' AND PROGRAM='Gradebook'"),array(),array('TITLE'));

On y est enfin!
Pour ceux qui se sentent un peu perdus, voici l'archive pour ajouter les graphiques de répartition des notes à télécharger. Il suffira ensuite d'executer les instructions de install_Grade_Breakdown.sql via phpPgAdmin.