Bonjour,
Derrière ce titre imprécis, faute de mieux, je vais essayer d'expliquer au mieux mon problème...
Ce que je souhaite faire :
L'idée c'est qu'un Administrateur puisse créer des patrons de processus et que des utilisateurs puissent s'en servir. Sachant que :
Un processus, c'est :
- jusqu'à n étapes
- n fichiers
- chaque étape doit être terminée pour que le processus soit considéré comme terminé
- chaque processus peut hériter d'un processus père (limité à 1 héritage)
Une étape, c'est :
- n conditions
- une étape est terminées si toutes les conditions sont remplies
- une date de début et de fin (planifiée et réelles)
- chaque étape d'un processus est ordonnées (1ère, 2ème, etc...)
Une condition, c'est :
- n acteurs qui peuvent remplir la condition (et uniquement eux)
- n fichiers du processus à déposer (facultatif)
- n champs textes
- n éléments à vérifier (document valide, action effectuée, label qualité, etc.)
Ce que j'ai fait :
Pour le moment pas grand chose, j'ai défini plusieurs tables sur le papier : ProcessPattern, EtapesPattern, ConditionsPattern, UtilisateurPattern, FichiersPattern.
Comme chaque processus est très différent et que je ne vais pas créer une table pour chaque processus (sinon ça va très vite devenir le bazar). Aussi, je ne pense pas que stocker la structure des processus et leurs implémentation dans la même table soit une bonne idée...
Donc j'ai pensé à l'héritage : je conserve les tables créées et pour chacune je fais une table qui hérite : Process, Etapes, Conditions, Utilisateurs, Fichiers et qui contient les champs propres à chaque nouvelle implémentation du processus : les urls des fichiers effectivement déposés, les dates de débuts, de fin, les labels, champs personnalisés
Ma question :
Est-ce là la bonne démarche où est-ce qu'il y a plus simple/performant ?
Je vous remercie d'avance pour votre aide
Partager