Le fichier manifest d'un module permet de définir les éléments à mettre en place (fichiers, requêtes SQL, ...) lors de l'installation d'un module mais il permet aussi de supprimer des fichiers installés par des versions antérieurs de ce même module.
Deux syntaxes sont possibles pour ce type de component :
- une syntaxe où les fichiers à supprimer sont définis directement dans le fichier manifest,
- une syntaxe où les fichiers à supprimer sont définis dans un fichier texte accompagnant le module.
Je me pencherais plus particulièrement sur cette seconde syntaxe. Pour mon cas précis j'avais besoin de supprimer des dossiers et leur contenu, j'avais bien vu à droite à gauche sur le web que cela était possible mais sans vraiment savoir comment.
Je me suis finalement décidé à aller directement à la source pour trouver la réponse à mes questions, rien ne vaut un petit tour dans le code.
J'ai trouvé ma réponse dans la fonction DeleteFiles de la classe FileSystemUtils, cette dernière est appellée par la fonction ProcessCleanFile de la classe CleanupInstaller. Pour pouvoir supprimer le contenu du dossier il suffit de définir dans notre fichier texte utilisé par le cleanup la syntaxe suivante :
Dossier1\Dossier2\
Version de DNN utilisée : 5.4.1
Aucun commentaire:
Enregistrer un commentaire