web-dev-qa-db-fra.com

La meilleure façon d'afficher et de trier par dates lorsque l'élément peut être répété / récurrent?

Actuellement, ce site Web a une liste de FooBars, qui peuvent être triés par date:

List of FooBars sorted by date

J'ajoute des fonctionnalités pour permettre la répétition d'un FooBar ou d'un FooBar récurrent, par exemple.

  • Toutes les semaines les lundis et mardis
  • Jours de la semaine
  • Tous les mois le 3ème mardi de chaque mois
  • Mensuellement le 11 de chaque mois

Ce site n'est pas un calendrier.

Je suppose que j'aurai juste besoin d'ajouter les informations récurrentes au champ de date, comme ceci:

Extra recurring info added to the date column

Dois-je afficher chaque instance du FooBar?

Si elle se répète tous les jours de la semaine, est-ce que je ne montrerai que le FooBar sous le prochain jour de semaine, ou est-ce que je montrerai plusieurs instances chaque jour de semaine? (il semble que cela deviendrait assez polluant).

Comment pourrais-je gérer de très longues descriptions de la récurrence?

"Mensuellement les 1er, 2e, 3e, 4e, 5e, 6e, 7e, 8e, 9e, 11e, 15e, 21e, 22e, 23e, 24e, 25e et 29e"

Je n'imagine pas que ce sera très courant, mais cela pourrait se produire.

De bons exemples de sites qui font déjà quelque chose comme ça?

Edit: je devrais clarifier un peu plus le site. Un exemple similaire serait un service de type "craigslist" de tonte de pelouse. Quelqu'un peut publier une annonce (FooBar) pour un travail de tonte de pelouse, ou il peut publier une annonce pour tondre les pelouses chaque semaine/mois. Si un utilisateur "achète" l'annonce, il achètera toutes les instances de l'annonce.

Ainsi, un utilisateur peut vouloir rechercher des travaux de tonte de gazon qu'il peut effectuer, classés par date, et vouloir voir des annonces pour des emplois ponctuels, ainsi que des emplois en cours

3
elwyn

J'ajouterais une colonne Récurrence. Pour les éléments uniques, il serait vide et pour les éléments récurrents, il contiendrait l'un des deux types de données. Dans le cas où le schéma de récurrence est typique, par ex. en semaine, tous les mois, etc. - c'est ce que vous écrivez. Dans le cas où c'est personnalisé, comme l'exemple "long" que vous avez fourni, vous dites quelque chose comme "Personnalisé" et fournissez un "?" dans le champ, qui afficherait le motif de récurrence en survol.

Concernant si les éléments doivent se répéter ou non - si je peux agir sur une instance d'un élément récurrent, par exemple uniquement l'instance du mercredi d'un travail récurrent en semaine, puis elles doivent être affichées pour chaque jour où elles se produisent. Si seul l'ensemble complet est significatif, affichez simplement l'ensemble entier comme un seul élément.

3
Vitaly Mijiritsky

Vous devez afficher chaque instance d'un FooBar extensible. Si un utilisateur commande par date, il ne veut probablement pas simplement voir la date du premier FooBar, mais tout FooBar sur le calendrier.

Je dirais avoir un drapeau "repeating" sur tout FooBar extensible. Cliquer sur le drapeau révélerait des détails sur la façon dont l'événement se répète.

1
DorkRawk

Je l'ai fait une fois. Au lieu de cela:

"Mensuellement les 1er, 2e, 3e, 4e, 5e, 6e, 7e, 8e, 9e, 11e, 15e, 21e, 22e, 23e, 24e, 25e et 29e"

Je l'ai affiché comme ceci:

"Chaque mois à partir du 1er - 11ème et 21ème - 25ème; également le 15ème et 29ème"

Je me suis assuré que j'utilisais un tiret légèrement plus grand (em dash) pour démarquer les plages, et les couleurs étaient plus importantes que le reste du texte (c'était aussi des liens.) J'avais utilisé "vers le" au lieu d'un tiret mais mes utilisateurs ont tendance à l'ignorer et à manquer le fait qu'il s'agissait d'une plage.

Dans mon cas, les liens ont fait autre chose, mais dans votre cas, vous pouvez afficher un mini-calendrier (indice?) Avec les dates sélectionnées en surbrillance.

1
Leonardo Herrera