Robert-2 / Robert2

Application web de gestion de parc de matériel destiné à la location ou au prêt
https://robertmanager.org
Other
42 stars 14 forks source link

Calendrier public au format iCal (permettant de s'y abonner dans Google Agenda, macOS Calendrier, etc.) #326

Closed Donov4n closed 2 years ago

Donov4n commented 2 years ago

L'idée étant ici de fournir, dans l'interface, un lien vers un calendrier au format iCal. Calendrier auquel on pourra s'abonner dans des applications comme Google Agenda, Apple Calendrier ou autre.

L'URL devra être suffisamment complexe pour qu'on ne puisse pas "deviner" l'URL du calendrier publique d'une instance (via un UUID par exemple), il faudra peut-être voir pour désactiver cette fonctionnalité par défaut d'ailleurs.

En effet, ce type d'URL de calendrier à laquelle on peut s'abonner n'a pas de système d'authentification donc sur le principe, toute personne ayant l'URL pourra s'y abonner anonymement et voir les événements du calendrier (en read-only seulement).
(à l'avenir, si financé / éventuellement fonctionnalité premium, il pourra être possible de s'abonner à son propre calendrier, avec identification, et il sera possible d'éditer / supprimer les événements mais ceci est hors du cadre de ce ticket et cette fonctionnalité ne remplace d'ailleurs pas celle de ce ticket (cf. le fonctionnement de Google drive pour le partage))

Le "calendrier" en question contiendra tous les événements futurs et les événements passés limités à 1 mois de la date courante, à l'exclusion des événements archivés. Ceci pour éviter de fournir tous les événements depuis la nuit des temps dans l'unique fichier iCal (sauf s'il y a la possibilité de "paginer" la liste des événements).

Il est à noter que pour ce type d'URL avec abonnement, les providers de calendrier appliquent une politique d'actualisation qui leur est propre. Ceux qui auront la nécessité d'avoir une vue précise des événements à un "Moment M" devront continuer de passer par la vue "Calendrier" de Loxya. Pour exemple, Apple permet de configurer le délai de rafraichissement (max toutes les 5 minutes), Google Agenda, par contre, ne le permet pas et actualise seulement toutes les 24 heures (!!).


L'URL public, globale à l'application donc, pourra être récupérée via (à voir) :

Quoi qu'il en soit, que ce soit dans la modale / dropdown ou dans la nouvelle des sections des paramètres :