web-dev-qa-db-fra.com

Où naviguer lorsqu'une ressource est supprimée

J'ai un site Web où les utilisateurs peuvent rechercher des ressources, qu'il s'agisse d'autres utilisateurs ou de comptes, etc. et lorsqu'ils obtiennent une liste de résultats, ils peuvent cliquer sur cette ressource et accéder à une page contenant des informations à son sujet. Si possible, j'aimerais y penser sans utiliser JavaScript.

Sur la page contenant des informations, il y a un bouton de suppression. Ma question est similaire à celle-ci , mais la deuxième partie est restée sans réponse. Ma question est: lorsque l'on clique sur la suppression, vers quelle page l'utilisateur doit-il naviguer?

Doivent-ils revenir aux résultats de la recherche? S'ils reviennent, la ressource supprimée sera toujours dans la liste car le navigateur a mis en cache la requête GET. Et s'ils naviguaient directement vers la ressource via l'URL et ne la recherchaient pas? Est-ce un problème?

Sinon, devraient-ils être redirigés vers une page avec un message disant que l'utilisateur a été supprimé? Si c'est le cas et qu'ils cliquent de nouveau dans le navigateur, ils iront à la page avec la ressource supprimée.

Je me rends compte que cette question est influencée par l'implémentation du navigateur et la sémantique Web, mais j'ai l'impression qu'il y a une solution simple à faire avec la suppression qui nous manque. Peut-être que le bouton Supprimer ne devrait pas du tout être sur la page de la ressource ...

1
NickL

La question que vous avez citée traite des confirmations et des annulations, donc j'espère que vous avez l'une ou l'autre pour supprimer quelque chose qui va être complètement supprimé, comme vous le dites.

En dehors de cela, vous êtes tombé sur un problème auquel tout le monde est confronté lors de la création d'applications transactionnelles (changement d'état/de données, je veux dire) sur le Web, qui a été inventé pour être un réseau hyperlien (sans actions à modifier, ce qui n'est généralement pas indiqué explicitement). ). Donc, toute solution que vous créez (et nous pouvons recommander) est une solution de contournement car les transactions ne fonctionnent pas bien sur le Web.

Je suppose que ma recommandation serait de changer la page des ressources pour indiquer qu'il s'agit désormais d'une ressource supprimée (inactive, non modifiable, avec un bouton Annuler?!), Et de laisser le choix de la navigation à l'utilisateur: si BACK est utilisé ou autre lien de navigation sur la page, l'utilisateur saura quelle tâche est la suivante. Après avoir déclenché la suppression, la ressource ne sera plus joignable ailleurs, mais l'utilisateur déclenchant la suppression peut toujours annuler. Une fois cette page laissée sans annuler la suppression, la ressource peut enfin être supprimée.

Le problème ici est que l'état "supprimé" de la page ne doit pas avoir de bouton RETOUR qui mène à l'état "normal". Ajax devrait permettre de construire ce comportement.

0
virtualnobi

Une fois la tâche terminée, l'utilisateur doit être ramené à l'endroit où il avait déclenché la tâche. La navigation doit être le résultat de la sélection de l'utilisateur, plutôt qu'un choix du système. Cela est également fait pour permettre à l'utilisateur de continuer à utiliser d'autres options sur la page, d'où il a commencé.

Je vois que vous avez un problème technique, généralement lorsque vous êtes renvoyé à une page, la page s'actualise. Il peut y avoir un paramètre qui vous permette de surmonter le problème de mise en cache.

1
Rohan Sandeep

Recherchez le modèle Post-Redirect-Get.

Une fois la ressource supprimée, vous devez rediriger vers l'URL d'où elle était, comme déjà indiqué. Cela entraînerait une nouvelle demande GET pour cette URL, qui dans ce cas serait la page de résultats de recherche. La page de résultats de recherche ne doit pas être mise en cache, car c'est une nouvelle demande, et ne se fait pas en appuyant sur le bouton de retour dans le navigateur.

S'ils entrent l'URL manuellement de la ressource supprimée, cela doit être traité pour fournir une page de ressource introuvable ou similaire.

1
jamiebarrow