Admin pour les émissions #121

Open
opened 2023-09-28 10:48:08 +00:00 by dtactic · 22 comments
Collaborator

Les émissions devraient avoir accès uniquement à la modification de leurs émissions.

Il faudrait donc sans doute uniquement

  • Un point de menu qui permet de modifier son émission.
  • Un point de menu qui liste leurs épisodes et permet d'en rajouter
  • Un point de menu qui liste leurs actualités et permet d'en rajouter
  • Le menu django n'est accessible qu'aux admins
Les émissions devraient avoir accès uniquement à la modification de leurs émissions. Il faudrait donc sans doute uniquement - Un point de menu qui permet de modifier son émission. - Un point de menu qui liste leurs épisodes et permet d'en rajouter - Un point de menu qui liste leurs actualités et permet d'en rajouter - Le menu django n'est accessible qu'aux admins
Author
Collaborator

@jfhenrion tu confirmes qu'on part là-dessus ?

@jfhenrion tu confirmes qu'on part là-dessus ?
dtactic changed title from Ne pas montrer l'admin django pour les émissions to Admin pour les émissions 2023-09-28 10:48:53 +00:00
Owner

oui, ce serait l'idéal !

oui, ce serait l'idéal !
dtactic added the
backend
label 2023-09-28 11:58:42 +00:00
Owner

Concernant les menus, normalement ils sont déjà dispos dans l'admin. Si ce n'est pas le cas pour les personnes non-admin => Issue+MR

image

Concernant les menus, normalement ils sont déjà dispos dans l'admin. Si ce n'est pas le cas pour les personnes non-admin => Issue+MR ![image](/attachments/7436df30-3758-4958-85c9-fa6ba9c5e194)
Author
Collaborator

@thomas L'idée est donc justement de limiter l'accès à son émission et de supprimer le menu django qui de ce que j'ai comme info est accessible à tous. A moins que je n'aie un accès différent d'une émission.

@thomas L'idée est donc justement de limiter l'accès à son émission et de supprimer le menu django qui de ce que j'ai comme info est accessible à tous. A moins que je n'aie un accès différent d'une émission.
Owner

My bad, j'avais mal compris l'énoncé. En fait ce qui avait été convenu avec @jfhenrion c'était qu'on laisse pour le moment l'accès à tous les user histoire de pouvoir permettre que quelqu'un qui remplace à la technique ou autre puisse éditer l'émission.

Si finalement on change de méthode, ce sera pour la version suivante.

My bad, j'avais mal compris l'énoncé. En fait ce qui avait été convenu avec @jfhenrion c'était qu'on laisse pour le moment l'accès à tous les user histoire de pouvoir permettre que quelqu'un qui remplace à la technique ou autre puisse éditer l'émission. Si finalement on change de méthode, ce sera pour la version suivante.
thomas added the
amélioration
label 2023-10-02 14:11:01 +00:00
thomas added the
proposition
label 2023-10-02 14:12:07 +00:00
Author
Collaborator

@thomas j'ai l'impression que ce sera beaucoup plus simple pour les utilisateurs de ne voir que son émission. @jfhenrion tu en penses quoi ? On fait ça pour le lancement ou pour plus tard ?

@thomas j'ai l'impression que ce sera beaucoup plus simple pour les utilisateurs de ne voir que son émission. @jfhenrion tu en penses quoi ? On fait ça pour le lancement ou pour plus tard ?
Collaborator

@dtactic: thomas me disait qu'il y a des cas d'usage où le technicien d'une émission doit pouvoir modifier les contenus d'autres émissions.

Une évolution potentielle serait de mettre en évidence ses propres émissions, et de continuer à avoir accès aux émissions des autres animateurs, à préciser.

@dtactic: thomas me disait qu'il y a des cas d'usage où le technicien d'une émission doit pouvoir modifier les contenus d'autres émissions. Une évolution potentielle serait de mettre en évidence ses propres émissions, et de continuer à avoir accès aux émissions des autres animateurs, à préciser.
Author
Collaborator

@ctactic Voyons ce qu'en pense Jean-François. J'ai l'impression qu'on peut jouer avec un statut "admin" pour ces cas là plutôt que de les donner à tout le monde.

@ctactic Voyons ce qu'en pense Jean-François. J'ai l'impression qu'on peut jouer avec un statut "admin" pour ces cas là plutôt que de les donner à tout le monde.
Owner

Okay, si vous êtes chaud pour gérer ça c'est cool :)

Quelques notes/info qui peuvent vous aider:

  • Documentation sur le système de permission de Django: https://docs.djangoproject.com/en/4.2/topics/auth/default/ l'idée étant de tester sur base de permissions fournies à l'utilisateur via ses groupes.
  • il faudrait un autre group qu'admin, histoire de ne pas confondre les rôles. L'admin dans Django a vraiment tous les droits.
  • Niveau permissions et groupes, dans aircox.conf.Settings.DEFAULT_USER_GROUPS, des groups peuvent permissions sont applicable par défaut aux groupes utilisateurs
  • Ces permissions sont assignées pour le moment uniquement quand:
    • un utilisateur est enregistré (aircox.models.signals.user_default_group)
    • quand le groupe n'a pas encore été créé
    • le groupe est assigné à l'utilisateur en question
  • je penses que dans django il est possible de fournir de groupes et des permissions par défaut, mais je ne peux pas l'affirmer 100%. Après il y a potentiellement une autre méthode: soit par migration, soit par fixtures (manage.py loaddata).
  • il faudrait un autre groupe qu'admin pour donne accès aux users
Okay, si vous êtes chaud pour gérer ça c'est cool :) Quelques notes/info qui peuvent vous aider: - Documentation sur le système de permission de Django: https://docs.djangoproject.com/en/4.2/topics/auth/default/ l'idée étant de tester sur base de permissions fournies à l'utilisateur via ses groupes. - il faudrait un autre group qu'admin, histoire de ne pas confondre les rôles. L'admin dans Django a vraiment tous les droits. - Niveau permissions et groupes, dans `aircox.conf.Settings.DEFAULT_USER_GROUPS`, des groups peuvent permissions sont applicable par défaut aux groupes utilisateurs - Ces permissions sont assignées pour le moment uniquement quand: - un utilisateur est enregistré (`aircox.models.signals.user_default_group`) - quand le groupe n'a pas encore été créé - le groupe est assigné à l'utilisateur en question - je penses que dans django il est possible de fournir de groupes et des permissions par défaut, mais je ne peux pas l'affirmer 100%. Après il y a potentiellement une autre méthode: soit par migration, soit par fixtures (`manage.py loaddata`). - il faudrait un autre groupe qu'`admin` pour donne accès aux users
thomas added this to the 1.0 milestone 2023-10-11 10:01:57 +00:00
ctactic was assigned by dtactic 2023-10-11 10:40:27 +00:00
Collaborator

gros morceau parce que ça touche à la gestion des utilisateurs qui avait été pensée différemment :)

merci @thomas pour les notes explicatives.

j'ai ajouté aux Épisodes un attribut `editors = models.ForeignKey(Group, ...)" qui est peuplé automatiquement lors d'un enregistrement, accompagné de permissions pour la modification.

prototype poussé dans la branche wip-1.0-121.

(note : les permissions apportées par django.contrib.auth conviennent bien pour des modèles/contentype, moins pour des instances d'objet amha. La présente implémentation risque de faire croître fortement le nombre de permissions.)

gros morceau parce que ça touche à la gestion des utilisateurs qui avait été pensée différemment :) merci @thomas pour les notes explicatives. j'ai ajouté aux Épisodes un attribut `editors = models.ForeignKey(Group, ...)" qui est peuplé automatiquement lors d'un enregistrement, accompagné de permissions pour la modification. prototype poussé dans la branche wip-1.0-121. (note : les permissions apportées par django.contrib.auth conviennent bien pour des modèles/contentype, moins pour des instances d'objet amha. La présente implémentation risque de faire croître fortement le nombre de permissions.)
Owner

Okay cool :) Je regarde à ça asap (sorry j'ai eu pas mal de taf ces dernières semaines).

Okay cool :) Je regarde à ça asap (sorry j'ai eu pas mal de taf ces dernières semaines).
Collaborator

petit avertissement aux gestionnaires de projet (@jfhenrion) : les changements induits par le présent ticket sont conséquents (cfr #132) et pourraient retarder/impacter la mise en production prévue en décembre, cela concerne uniquement le volet édition des contenus par les animateurs d'émission.

petit avertissement aux gestionnaires de projet (@jfhenrion) : les changements induits par le présent ticket sont conséquents (cfr #132) et pourraient retarder/impacter la mise en production prévue en décembre, cela concerne uniquement le volet édition des contenus par les animateurs d'émission.
Collaborator

Voici un prototype pour que vous puissiez valider la direction que nous prenons :

Capture vidéo du 2023-11-13 15-03-57.webm

  • chaque émission est associée à un groupe d'édition (afin de définir qui a le droit d'éditer le descriptif et d'ajouter des podcasts)
  • une fois authentifié chaque utilisateur/animateur d'émission dispose d'une page personnelle "gestion" laquelle liste les émissions qu'il peut éditer
  • une fois authentifié l'utilisateur peut éditer une émission en cliquant sur le bouton "éditer" qui s'affiche dès lors dans l'espace du menu.
Voici un prototype pour que vous puissiez valider la direction que nous prenons : [Capture vidéo du 2023-11-13 15-03-57.webm](/attachments/93197b2d-3a83-4b08-9afa-9861b720f3ff) - chaque émission est associée à un groupe d'édition (afin de définir qui a le droit d'éditer le descriptif et d'ajouter des podcasts) - une fois authentifié chaque utilisateur/animateur d'émission dispose d'une page personnelle "gestion" laquelle liste les émissions qu'il peut éditer - une fois authentifié l'utilisateur peut éditer une émission en cliquant sur le bouton "éditer" qui s'affiche dès lors dans l'espace du menu.
Owner

@ctactic

oui, cela semble parfait

@dtactic

je comprends que, vu les changements soient conséquents, la mise en production soit retardée.
Serait-il possible de nous communiquer un nouveau calendrier même provisoire ?

@ctactic oui, cela semble parfait @dtactic je comprends que, vu les changements soient conséquents, la mise en production soit retardée. Serait-il possible de nous communiquer un nouveau calendrier même provisoire ?
Collaborator

salut @thomas, dans la branche #131 il y a :

  • un début de changement des permissions par défaut
  • l'association des épisodes avec des groupes d'édition
  • l'ajout d'une interface de gestion (non-admin) pour les animateurs

peux-tu y regarder prochainement ?

salut @thomas, dans la branche https://git.radiocampus.be/rc/aircox/pulls/131 il y a : - un début de changement des permissions par défaut - l'association des épisodes avec des groupes d'édition - l'ajout d'une interface de gestion (non-admin) pour les animateurs peux-tu y regarder prochainement ?
Collaborator

Bonjour @jfhenrion

Serait-il possible de nous communiquer un nouveau calendrier même provisoire ?

Vu de mon côté il y a surtout le ticket #121 qui est conséquent. Je pense que nous n'avons pas encore obtenu les retours sur la maquette graphique. Je fais confiance à Thomas pour une série d'aspects que je ne maîtrise pas comme la gestion de flux radio.

Bonjour @jfhenrion > Serait-il possible de nous communiquer un nouveau calendrier même provisoire ? Vu de mon côté il y a surtout le ticket #121 qui est conséquent. Je pense que nous n'avons pas encore obtenu les retours sur la maquette graphique. Je fais confiance à Thomas pour une série d'aspects que je ne maîtrise pas comme la gestion de flux radio.
Collaborator

Ajouté la possibilité pour un animateur d'éditer ses émissions et d'y téléverser des podcasts.

Ajouté la possibilité pour un animateur d'éditer ses émissions et d'y téléverser des podcasts.
Owner

Salut Chris, bravo pour l'avancement du taf et bon travail (je jetterais si possible un coup d'oeil cette semaine plus en détail). C'est pas mal aussi l'idée d'une page utilisateur (qui pourrait éventuellement être rendue publique à son autorisation).

Concernant l'interface que tu es en train de développer, je pense cependant qu'on sort du scope du ticket. Ici re-créer une interface d'admin supplémentaire risque de rallonger et complexifier la finalisation de la v1 (test, dev, debug, etc). En vrai je pensais qu'il s'agissait ici d'intégrer au système de permission et dans l'admin existante la limitation des droits des utilisateurs à leurs émission.

En fait, je vois que ça répond à une des propositions de features pour la prochaine version: développer et améliorer le back-office plus en profondeur.

  • Actuellement on intègre celui-ci dans django-admin histoire de réduire une grosse partie du taf à fournir. Un exemple d'intégration d'outils est celui de monitoring fournit par aircox-streamer, ou encore l'éditeur de playlists;
  • L'idée serait de redévelopper complètement le back-office en utilisant également un combo django+vue-js+REST API histoire d'avoir un truc qui soit fluide niveau UX;
  • Cela permettrait dans le cas présent, d'intégrer dans une interface unifiée le travail que tu as entamé;

Ce que je te propose, c'est qu'éventuellement on se limite au niveau du scope de cette issue-ci, histoire d'avoir fini la v1 assez tôt, et que l'on intègre le reste dans une feature pour la v2. Que penses-tu que l'on s'appelle cette semaine histoire d'en discuter plus en détail?

Salut Chris, bravo pour l'avancement du taf et bon travail (je jetterais si possible un coup d'oeil cette semaine plus en détail). C'est pas mal aussi l'idée d'une page utilisateur (qui pourrait éventuellement être rendue publique à son autorisation). Concernant l'interface que tu es en train de développer, je pense cependant qu'on sort du scope du ticket. Ici re-créer une interface d'admin supplémentaire risque de rallonger et complexifier la finalisation de la v1 (test, dev, debug, etc). En vrai je pensais qu'il s'agissait ici d'intégrer au système de permission et dans l'admin existante la limitation des droits des utilisateurs à leurs émission. En fait, je vois que ça répond à une des propositions de features pour la prochaine version: développer et améliorer le back-office plus en profondeur. - Actuellement on intègre celui-ci dans django-admin histoire de réduire une grosse partie du taf à fournir. Un exemple d'intégration d'outils est celui de monitoring fournit par `aircox-streamer`, ou encore l'éditeur de playlists; - L'idée serait de redévelopper complètement le back-office en utilisant également un combo django+vue-js+REST API histoire d'avoir un truc qui soit fluide niveau UX; - Cela permettrait dans le cas présent, d'intégrer dans une interface unifiée le travail que tu as entamé; Ce que je te propose, c'est qu'éventuellement on se limite au niveau du scope de cette issue-ci, histoire d'avoir fini la v1 assez tôt, et que l'on intègre le reste dans une feature pour la v2. Que penses-tu que l'on s'appelle cette semaine histoire d'en discuter plus en détail?
Collaborator

salut thomas,

par rapport au contenu, la documentation recommande de ne pas exposer l'interface d'administration aux utilisateurs, c'est vraiment trop complexe pour 90% des animateurs qui sont uniquement concernés/intéressés par les infos de leur propre émission. Sortir aircox aujourd'hui en leur imposant d'apprendre une interface admin complexe, et ensuite leur retirer l'accès dans 2 mois n'a pas beaucoup de sens.

au niveau de la gestion de projet, j'avertissais il y a 4 semaines dans le présent ticket, ainsi que dans le #132, que le direction proposée (gestion intégrée des contenus) est conséquente et nécessite d'être validée par le chef de projet. Pour être franc je pense que le retard potentiel est aussi lié à ta disponibilité à relire les propositions ou à y réagir, et je suis bien conscient que c'est un travail complexe et exigeant.

ceci étant je m'alignerai évidemment sur ce qui est décidé et demandé.

salut thomas, par rapport au contenu, la documentation recommande de ne pas exposer l'interface d'administration aux utilisateurs, c'est vraiment trop complexe pour 90% des animateurs qui sont uniquement concernés/intéressés par les infos de leur propre émission. Sortir aircox aujourd'hui en leur imposant d'apprendre une interface admin complexe, et ensuite leur retirer l'accès dans 2 mois n'a pas beaucoup de sens. au niveau de la gestion de projet, j'avertissais il y a 4 semaines dans le présent ticket, ainsi que dans le #132, que le direction proposée (gestion intégrée des contenus) est conséquente et nécessite d'être validée par le chef de projet. Pour être franc je pense que le retard potentiel est aussi lié à ta disponibilité à relire les propositions ou à y réagir, et je suis bien conscient que c'est un travail complexe et exigeant. ceci étant je m'alignerai évidemment sur ce qui est décidé et demandé.
Owner

Bonjour @jfhenrion

Serait-il possible de nous communiquer un nouveau calendrier même provisoire ?

Vu de mon côté il y a surtout le ticket #121 qui est conséquent. Je pense que nous n'avons pas encore obtenu les retours sur la maquette graphique. Je fais confiance à Thomas pour une série d'aspects que je ne maîtrise pas comme la gestion de flux radio.

À ce sujet, les avancements sont disponibles ici: ici.

salut thomas,

par rapport au contenu, la documentation recommande de ne pas exposer l'interface d'administration aux utilisateurs, c'est vraiment trop complexe pour 90% des animateurs qui sont uniquement concernés/intéressés par les infos de leur propre émission. Sortir aircox aujourd'hui en leur imposant d'apprendre une interface admin complexe, et ensuite leur retirer l'accès dans 2 mois n'a pas beaucoup de sens.

@ctactic Ben pour le moment niveau interface utilisateur, oui ce n'est pas la plus canon niveau UX. Si c'est vraiment nécessaire et que finalement niveau délais c'est op pour les gens, dans le fond moi c'est ok -- de toute façon voilà

@jfhenrion, tu en dis quoi?

au niveau de la gestion de projet, j'avertissais il y a 4 semaines dans le présent ticket, ainsi que dans le #132, que le direction proposée (gestion intégrée des contenus) est conséquente et nécessite d'être validée par le chef de projet. Pour être franc je pense que le retard potentiel est aussi lié à ta disponibilité à relire les propositions ou à y réagir, et je suis bien conscient que c'est un travail complexe et exigeant.

@ctactic De ce genre de situation ou si besoin est, n'hésite pas à me contacter par téléphone. Je t'ai appelé à plusieurs reprise également aucune réponse. J'ai appris cette semaine qu'on devait recevoir des notifications sur Gitea mais je ne les recevais pas. Ce devrait être corrigé.

Après oui, effectivement je ne suis plus aussi disponible qu'auparavant, et cela peut poser des problèmes niveau gestion/avancements. C'est notamment pour cela qu'après le design, je lâche la main du projet.

ceci étant je m'alignerai évidemment sur ce qui est décidé et demandé.

Ceci dit, n'hésite pas à me dire quoi si tu veux qu'on s'appelle pour qu'on s'aligne d'un point de vue technique.

> Bonjour @jfhenrion > > > Serait-il possible de nous communiquer un nouveau calendrier même provisoire ? > > Vu de mon côté il y a surtout le ticket #121 qui est conséquent. Je pense que nous n'avons pas encore obtenu les retours sur la maquette graphique. Je fais confiance à Thomas pour une série d'aspects que je ne maîtrise pas comme la gestion de flux radio. À ce sujet, les avancements sont disponibles ici: [ici](https://dev.aircox.radiocampus.be/). > salut thomas, > > par rapport au contenu, la documentation recommande de ne pas exposer l'interface d'administration aux utilisateurs, c'est vraiment trop complexe pour 90% des animateurs qui sont uniquement concernés/intéressés par les infos de leur propre émission. Sortir aircox aujourd'hui en leur imposant d'apprendre une interface admin complexe, et ensuite leur retirer l'accès dans 2 mois n'a pas beaucoup de sens. > @ctactic Ben pour le moment niveau interface utilisateur, oui ce n'est pas la plus canon niveau UX. Si c'est vraiment nécessaire et que finalement niveau délais c'est op pour les gens, dans le fond moi c'est ok -- de toute façon voilà @jfhenrion, tu en dis quoi? > au niveau de la gestion de projet, j'avertissais il y a 4 semaines dans le présent ticket, ainsi que dans le #132, que le direction proposée (gestion intégrée des contenus) est conséquente et nécessite d'être validée par le chef de projet. Pour être franc je pense que le retard potentiel est aussi lié à ta disponibilité à relire les propositions ou à y réagir, et je suis bien conscient que c'est un travail complexe et exigeant. > @ctactic De ce genre de situation ou si besoin est, n'hésite pas à me contacter par téléphone. Je t'ai appelé à plusieurs reprise également aucune réponse. J'ai appris cette semaine qu'on devait recevoir des notifications sur Gitea mais je ne les recevais pas. Ce devrait être corrigé. Après oui, effectivement je ne suis plus aussi disponible qu'auparavant, et cela peut poser des problèmes niveau gestion/avancements. C'est notamment pour cela qu'après le design, je lâche la main du projet. > ceci étant je m'alignerai évidemment sur ce qui est décidé et demandé. Ceci dit, n'hésite pas à me dire quoi si tu veux qu'on s'appelle pour qu'on s'aligne d'un point de vue technique.
Owner

Hello tout le monde,

tout d'abord, désolé pour mon retard dans les réactions : je remarque que j'ai laissé longtemps des points en suspens.

Si vous n'avez pas de réponse n'hésitez pas à appeler la radio en journée et en semaine au 02/640.87.17

@ctactic @dtactic @thomas

J'ai eu Thomas au tél et on est tous d'accord : c'est mieux d'avoir une interface utilisateurs où chacun n'a accès qu'à la partie qui concerne son émission.
donc, une interface admin simple où les utilisateurs peuvent décrire leurs émissions, éditer un épisode, éditer un article ou ajouter un podcast.

Thomas travaille à une maquette graphique visible ici

dev.aircox.radiocampus.be

Demain, il y a une réunion du comité exécutif à la radio où on discutera de la maquette graphique.

Je ferai une compilation des avis et je l'intégrerai dans le ticket #118

Hello tout le monde, tout d'abord, désolé pour mon retard dans les réactions : je remarque que j'ai laissé longtemps des points en suspens. Si vous n'avez pas de réponse n'hésitez pas à appeler la radio en journée et en semaine au 02/640.87.17 @ctactic @dtactic @thomas J'ai eu Thomas au tél et on est tous d'accord : c'est mieux d'avoir une interface utilisateurs où chacun n'a accès qu'à la partie qui concerne son émission. donc, une interface admin simple où les utilisateurs peuvent décrire leurs émissions, éditer un épisode, éditer un article ou ajouter un podcast. Thomas travaille à une maquette graphique visible ici dev.aircox.radiocampus.be Demain, il y a une réunion du comité exécutif à la radio où on discutera de la maquette graphique. Je ferai une compilation des avis et je l'intégrerai dans le ticket #118
Collaborator

Salut,

J'ai poussé la branche 121 qui ajoute l'interface de gestion simplifiée.

L’interface de gestion simplifiée permet aux animateurs de personnaliser la description de leurs émissions et de tenir à jour leurs épisodes (descriptif, listes de lecture, vignettes et podcasts). Concrètement les animateurs authentifiés voient des boutons "éditer" à côté des contenus qu'iels peuvent modifier.

Afin d’accorder à un animateur les permissions relatives à une émission, ajoutez cellui-ci dans le groupe d’autorisations correspondant. J'ai ajouté un paragraphe à ce sujet dans la documentation.

note : pour se connecter il faut actuellement renseigner l'adresse manuellement https://aircox.radiocampus.be/gestion/ (ou admin), je pense qu'un lien dans dans la page "À propos" faciliterait l'accès.

@thomas @jfhenrion @dtactic

Salut, J'ai poussé la branche 121 qui ajoute l'interface de gestion simplifiée. L’interface de gestion simplifiée permet aux animateurs de personnaliser la description de leurs émissions et de tenir à jour leurs épisodes (descriptif, listes de lecture, vignettes et podcasts). Concrètement les animateurs authentifiés voient des boutons "éditer" à côté des contenus qu'iels peuvent modifier. Afin d’accorder à un animateur les permissions relatives à une émission, ajoutez cellui-ci dans le groupe d’autorisations correspondant. J'ai ajouté un paragraphe à ce sujet dans la documentation. note : pour se connecter il faut actuellement renseigner l'adresse manuellement https://aircox.radiocampus.be/gestion/ (ou admin), je pense qu'un lien dans dans la page "À propos" faciliterait l'accès. @thomas @jfhenrion @dtactic
Sign in to join this conversation.
No description provided.