Wrapped
Cette application montre les statistiques annuelles des utilisateur·ice·s et/ou des clubs.
Modèles
Bde
Le modèle Bde
contient des informations relatifs à un BDE :
name
:CharField
, nom du BDE.date_start
:DateField
, date de prise de fonction du bureau BDE considéré.date_end
:DateField
, date de démission du bureau BDE considéré.
Wrapped
Contient les informations sur un wrapped :
generated
:BooleanField
, indique si le wrapped a été généré ou non.public
:BooleanField
, indique si le wrapped est visible de tous les utilisateur·ice·s ou non.bde
:ForeignKey(Bde)
, BDE auquel le wrapped correspond.note
:ForeignKey(Note)
, note à laquelle le wrapped correspond.data_json
:TextField
, diverses statistique concernant les notes durant le mandat BDE considéré ou sur la NoteKfet dans sa globalité.
Graphe des modèles
Fonctionnement
Création d’un BDE
Seul un⋅e respo info peut créer un BDE. Pour cela, se rendre dans l’onglet « Admin »., puis « BDE » et enfin « + Ajouter BDE ». Iel doit renseigner, les dates de début et de fin du bureau BDE ainsi que le nom de la liste.
Génération des wrappeds
Seul un·e respo info peut générer des wrappeds. Pour une utilisation annuelle classique, iel exécute la commande :
./manage.py generate_wrapped -b "bde_name" -u adh -c active
Pour une utilisation plus technique de cette commande se référer à sa documentation
./manage.py help generate_wrapped
Le script prend une dizaine de minutes pour générer tous les wrappeds.
Créer ses propres wrappeds
Cette section est plus technique et s’addresse plutôt à des respos infos en cours de mandat qui voudrai faire les wrappeds de leur propre BDE.
Contenu
Il est fortement conseillé de bien réfléchir à ce que l’on souhaite mettre sur un wrapped, plusieurs critères sont à prendre compte :
compréhension, est-ce que la donnée fait sens auprès des utilisateur·ice·s.
pertinence, est-ce que la donnée fonctionne pour un grand nombre d’utilisateur.
faisabilité, est-ce que le temps de calcul est suffisament rapide.
complexité, est-ce que c’est trop compliqué à coder.
Script
Le script generate_wrapped fonctionne de la manière suivante :
convert_to_note
: en fonction des arguments d’entrée, il récupére toutes les notes dont le·s wrapped·s va/vont être généré·s ou regénéré·s.global_data
: le script génére ensuite des statistiques globales qui concernent pas qu’une seule
note (nombre de soirée, classement, etc).
unique_data
: le script génére les statitiques uniques à chaque note, et rajoute des données globales si nécessaire, pour chaque note on souhaite avoir un json avec toutes les données qui seront dans le wrapped.make_wrapped
: enfin, le cas échéant, pour chaque bde, et pour chaque note, le wrapped est crée ou modifié, et enregistré, s’il est crée il est par défault non public.
Seules les fonctions global_data
et unique_data
sont à modifier, pour implementer un nouveau
BDE.
Template
Il y a au moins deux templates a écrire pour chaque bde :
templates/wrapped/{bde_id}/wrapped_view_club.html
: le template pour les wrappeds des clubstemplates/wrapped/{bde_id}/wrapped_view_user.html
: le template pour les wrappeds des utilisateur·ice·s
Il est conseillé de suivre la même arborescence pour les fichiers statics (fonts personnalisées,
images, css, etc). De même, il est conseillé de créé un fichier
templates/wrapped/{bde_id}/wrapped_base.html
et d’étendre cette template.