Wikini

SupprimerUnePage

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-44-200-23-133.compute-1.amazonaws.com
Avec WikiNi, il est possible de supprimer une page sous quelques conditions :
Lorsque vous êtes propriétaire d'une page l'option "Supprimer" s'affiche alors en bas de page : un clic sur cette option supprime définitivement la page.

[Note : actuellement, les commentaires liés à une page ne sont pas supprimés.]


Il peut y avoir un problème pour effacer une page par laquelle on en a crée d'autres. Même après l'avoir rendu orpheline, il peut-être marqué qu'elle ne l'est pas. La solution que j'ai trouvé est bête est méchante : re-sauver (sans forcément modifier) toutes les pages qui ont ce lien d'héritage.
--
NoooZ


Discussions

[à effacer : j'ai déplacé et remanié le contenu pour plus de lisibilité]

Affichage conditionnel de l'option "Supprimer"

Serait-il possible de ne pas afficher "Supprimer" en bas de la page quand elle n'est pas orpheline ? En effet, un message d'erreur (en anglais) nous l'indique ensuite, mais c'est inquiétant de le voir dans le bas quand on se promène dans nos propres pages, puisque cette opération est sans appel si on clique dessus par mégarde !
-- BernardMorineau

[...] c'est une bonne idée, mais qui risque d'augmenter la charge de travail pour l'affichage d'une page. Une solution serait d'ajouter une colonne orphan à la table wikini_pages qui serait mise à jour quand il faut (pas trivial, mais pas trop dur non plus je pense) et qui permettrait de tester cet état sans charge de travail supplémentaire, à l'affichage tout du moins.
-- ProgFou


Non affichage de l'option "supprimer" et action spéciale

Si le besoin de BernardMorineau est d'éviter les bourdes, il est possible de ne jamais afficher l'option "Supprimer" et de réserver cette fonctionnalité à une action, où l'utilisateur renseignerai à la main le nom de la page à supprimer : la procédure est un peu plus lourde, mais la suppression de page est assez rare.
Avantages :
Inconvénients :
-- CharlesNepote


Suppression non définitive


Solution 1 : ajout de la date de suppression au modèle de données

Pour ma part je réfléchis à une solution simple qui consisterait à ne pas supprimer réellement les pages, mais les marquer effacées via une colonne deleted dans la table wikini_pages que l'on fixerait à NOW() au moment du clic sur Supprimer. Ainsi, même avec quelqu'un de mal-intentioné (on peut faire un script pour virer des pages en les rendant orpheline de force !), la base ne serait pas vraiment vidée. Ensuite, un nettoyage de la base serait possible (pour les administrateurs uniquement) via une fonction PurgeDeleted($date) qui permettrait de purger toutes les pages effacées avant la date indiquée. Juste une idée comme ça, histoire d'augmenter un peu la sécurité sans ajouter de contrainte pour les utilisateurs psp parts ...
-- ProgFou

Dans ce cas, il faut aussi penser au renommage d'une page. Puisque la solution actuelle est d'en créer une nouvelle en copiant son contenu, puis effacer l'ancienne quand les liens ont été mis a jour.
-- BernardMorineau

J'y réfléchis aussi vu que je viens de rencontrer le problème de renommage aussi ... Pour le moment je pense qu'une solution simple pourrait passer par la création d'un handler /renamepage qui fonctionnerait exactement comme /deletepage (test de l'accès puis test de page orpheline) mais qui renommerait au lieu de supprimer. À l'avenir il faudrait voir si ça vaut vraiment le coup d'implémenter quelque chose qui irait "toucher" le contenu des autres pages pour modifier tous les liens sur cette page (ouhlala, brulant comme sujet ça ps3 parts), moi je suis pas trop pour ...
-- ProgFou

Solution 2 : sans modification du modèle de données : latest = 'N'

En ce qui concerne l'option de ne pas supprimer réellement une page, il suffit simplement de mettre la colonne latest de la table wikini_pages à "N" .... et la page est "supprimée". Cela devrait donner l'équivalent sans modifier les tables. Et du coup on obtient la purge automatique des pages supprimer après un "certain temp" (comme pour les anciennes archives). Mais cela ne supprime pas le problème des pages non orpheline, car si tu supprime une page qui a des liens vers elle, tu casse des liens....et ca c'est surement pire que le reste ! --GarfieldFr

J'y ai pensé aussi, mais ce qui m'embête dans ce cas là, c'est qu'on ne sait pas quand la page a été effacée (depuis longtemps, ou aujourd'hui), et on risque donc d'effacer une très bonne page qui n'a pas été modifiée depuis longtemps, juste parce qu'on aura cliqué par mégarde sur Supprimer et que le nettoyage automatique la déclarerait obsolète ; d'où mon idée de colonne deleted qui conserverait cette précieuse information console parts.
-- ProgFou

Pour reprendre la solution de GarfieldFr, et pour que cette page ne subisse la purge qu'au bout du temps réglementaire, n'est-il pas possible de faire une nouvelle ligne dans la table wikini_pages (comme pour une modification), mais en mettant directement la colonne latest de cette table à "N". Ainsi, cette page ne serait pas purgée trop rapidement. Une nouvelle ligne, c'est moins coûteux en espace qu'une nouvelle colonne. En ce qui concerne les liens sur cette page, on peut continuer à réserver cette procédure aux pages orphelines uniquement. Reste à voir la procédure de récupération de cette page.
-- BernardMorineau

C'est tout à fait possible, mais dans ce cas c'est l'information de dernière révision que l'on perd (ou plus exactement que l'on rend plus subtile à retrouver) !
-- ProgFou

Je suis plutôt favorable à la solution 2. J'admire le perfectionnisme de ProgFou mais je pense qu'il faut être pragmatique : la solution 2 apporte presque tout ce que nous souhaitons... l'information de dernière révision ne me paraît pas fondamentale. -- CharlesNepote

Et c'est aussi plus simple à implémenter... :) C'est finalement ce que j'ai fait sur mon Wiki. -- ProgFou



bonsoir je cherche à savoir comment supprimer les comentairs d'une page ? et comment faire pour retirer l'option "commenter cette page" pour moi les commentaires sont plus que superflux et intenpestif sur mes pages... je n'arrive pas à les gerer donc je preferais supprimer l'option une bonne fois pour toute...
d'avance merci
-- crack4lod


Commentaires [Cacher commentaires/formulaire]