Système de modifications en attente de validation

a marqué ce sujet comme résolu.

Coucou,

Je suis en train de développer une application de gestion de fédération de Krav Maga dans laquelle les instructeurs peuvent modifier leur profil. Mais toute modification passe par l'approbation d'un Administrateur.

Concrètement, comment gérer les informations "en attente" ? Je pense enregistrer les modifs en attente dans un fichier, et une fois ces modifs validées, updater la base de données ?

Je me dis que mettre ça dans un fichier m'évite de devoir faire une table en plus dans la bdd, d'autant plus que ce système sera mis en place pour à peu près tout (les profils, les fiches des clubs, les évènements, les news…).

Le système a bien évidemment pour but d'empêcher une personne malveillante de modifier son profil avec des choses indésirables qui seraient publiées directement sur le site vitrine.

Qu'en pensez-vous ?

Pourquoi ne pas simplement mettre un marqueur en plus dans ta table disant si c'est un contenu publique on non, lorsqu'un utilisateur édite une fiche cela crée un nouvel enregistrement avec ce marqueur et un lien vers l'enregistrement original. Cet enregistrement n'étant évidement pas publique sur le site vitrine.

Une fois approuvé on copie cet enregistrement temporaire dans le publique voir carrément supprime le publique et active le temporaire définitivement (faut voir pour les clé étrangère évidement)

+0 -0

Salut !

Pour ma part, je pense que j'enregistrerais tout en base de données aussi. J'imagine avoir deux enregistrements par utilisateur, et l'un est actif tandis que l'autre ne l'est pas. Avec une date d'édition, voire de demande de validation, on peut savoir si c'est à valider ou non, et on duplique les informations vers l'actif en cas de besoin. Les deux "versions" servent toujours à la même chose : l'une à l'affichage public, l'autre à l'édition.

+0 -0

Je dois dire que je me suis à plusieurs reprise posé la question…

Compliquer les requête -> clairement oui ! surtout que c'est facile après coup de faire une nouvelle requête en oubliant qu'il faut prendre cela en compte.

Dégrader les perfs -> Je ne crois pas, puisqu'en général on va faire une requête sur la table via une clé étrangère donc sa va rien changer. Par contre si tu fais une requête "Donne moi toute la liste" alors oui… faudra mettre un index sur la colonne discriminante.

Bref, dans ton cas je pense que doublé les tables serait sans doute plus simple.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte