Rendre récurent des créneaux machines

Bonjour à tous,

Je suis en train d’entrer nos heures de réservation machine sur le calendrier. Cependant suis-je obligé de les entrer manuellement chaque semaine de l’année ??? Est-il possible de rendre « récurent » les horaires de réservation machine?

Merci d’avance et bonne journée !

Noé

Hello,

Malheureusement, il n’existe pas encore de fonctionnalité de récurrence sur ce point.

C’est effectivement une fonctionnalité vivement souhaitée.

@sleede @Sylvain : La non prise en charge des récurrences reste extrêmement problématique et surtout chronophage sur un mois avec toutes les formations et les machines cela prend un temps de fou à un stagiaire qui peut passer une après-midi entière à faire cela.

De plus, la non possibilité d’exposer le calendrier en iCal péjore la visibilité du Fab Lab sur les calendriers nationaux en tous cas en Suisse.

Combien de temps, respectivement d’argent il faudrait compter pour résoudre ces deux aspects ? Pourriez vous établir une offre si cela est nécessaire svp (tout en sachant que les fonds proviendraient d’institutions à but non lucratif) ?

Bien cordialement

Matthieu

Et si on permettait, via option par exemple, de faire une inversion de dépendances ? Genre l’iCal est maître de ce qui est affiché sur le Fab Manager et pas l’inverse. Qqch de plus aisé ?

Bonjour,

Je vais tenter de présenter ce que nous imaginons pour cette fonctionnalité. Il s’agit ici de déterminer si cela peut convenir fonctionnellement.

Après avoir sélectionné un créneau dans le calendrier administrateur, une fenêtre de dialogue s’ouvre sur un assistant permettant de paramétrer le créneau. L’idée serait de rajouter un écran, après le dernier écran actuel, se présentant de la façon suivante :

Tous les champs sont obligatoires (surtout la date de fin), les périodes possibles sont : « toutes les semaines », « tous les mois », « tous les ans ». Le nombre de périodes doit être un entier naturel supérieur ou égal à 1.

En cliquant sur suivant, au bas de cet écran, un dernier écran de confirmation s’afficherait récapitulant les différents créneaux qui vont être créés, après validation :

Une confirmation va créer, en base de données, plusieurs créneaux de disponibilité du type choisi (machine, espace ou formation). Ces créneaux seront donc ensuite gérés individuellement (impossible de les supprimer/modifier tous d’un coup).


Concernant iCal, j’aurais besoin de confirmer ton besoin :

  • Primo, est-ce qu’il s’agit bien du format iCalendar décrit ici ?
  • Deuxio, est-que tu as plutôt besoin d’un accès via une API (l’accès se faisant via l’open API existante) ou plutôt d’un export sous forme de fichier, téléchargeable manuellement par un admin ?
2 « J'aime »

Pour la récurrence ça serait top ainsi ! Un très bon workaround pour palier à ce problème.

Pour l’iCal le téléchargement par un admin comme tu le décris serait tout à fait acceptable.

Cordialement

Et concernant le format, tu confirmes ?

Si je ne racontes pas de conneries oui :smiley: D’ailleurs comme évoqué par tes soins le but serait vraiment :

(…) pouvoir alors importer directement l’url dans Google Calendar par ex, pour avoir un calendrier qui restera à jour.

J’ai émis sur Github la possibilité de cofinancer ce projet et le redis ici à nouveau :

At3flo (Fab Lab à but non lucratif s’il faut le mentionner :smile:) serait prêt à financer une partie des deux fonctionnalités suivantes :

Récurrence

  • interface (voir post forum) + API (controlleur)
  • méthode de création des récurrences (côté serveur)

iCal

  • Création d’un permalien permettant de générer un fichier au format Ical à jour (url type fablab-xxx.com/calendar.ics) avec les données suivantes : formations, espaces, machines, évènements
  • Affichage d’un bouton iCal sur la vue « Calendrier général » de Fabmanager permettant de récupérer le lien/fichier ics.
    => Vous pourrez alors importer directement l’url dans Google Calendar par ex, pour avoir un calendrier qui restera à jour.

Est-ce que d’autres entités seraient prêtes à se joindre à l’effort ? Soit pour une partie ou l’autre ? Ou tout simplement par soutien au développement du projet ?

Je pense notamment à @pascalmoutet, @GuillaumeLCN, d’autres ?

acceptable pour du cour terme,
mais pas gérable sur du long terme,
car une chose de plus a gérer manuellement en plus de tout ce qu’on fait déjà. :wink:

puis corruption des événements dans la base de données postgresql quand mise à jour sur le calendrier intégré (owncloud / google calendar / whatever)

les gens qui gère le calendrier utilisent tous leurs smartphone
(et leur applis préférés) pour gérer rapidement les calendrier,
pendant le flux des visiteurs, et des autres demandes,
pas tous au calme devant un pc sur fab-manager.

un bout de code pour mettre a jour la base de données par rapport au calendrier ICS.

ou sinon un truc plus simple pour les utilisateurs :
quand on génère un événement, l’envoyer directement sur un calendrier ICS en écriture,
et intégration de ces événements dans fab-manager.
puisque de toute façon on peut pas modifier tout les éléments « evenements » de la base un par un pour modifier une récurrence. alors qu’on le peut sur un ical.
ça nécessite probablement de refondre le système des evenements,
et de l’implémenter entièrement,
plutôt qu’utiliser des evenements « stockés dans la base de données ». (plus facile a coder au début, et rapidement)
en gros que la base de données des evenements soit le Ical en écriture, et que fabmanageur ne soit qu’un publieur / recuperateur d’info via des hashtag dans les evenements du calendrier

on a pleins d’usagers qui demande a avoir acces sur leur téléphone pour les formations, les dispos des machines, les horaires d’ouvertures, etc, au format calendrier ICS. sachant qu’il y a plusieurs utilisation/intégration quand c’est interopérable :
smartphone, outlook, owncloud, etc etc. que ca soit en utilisation interne, pour les equipes/membres ou externe, pour la communication avec le public.

on avait deja fait la demande dans un autre post, c’et un besoin récurrent.
merci pour votre proposition de financement !

Bonjour,

nous essayons de mettre en place Fab-Manager dans un petit FabLab, à Chemillé … et en effet ce serais vraiment important comme avancée, suite aux tests que nous faisons.

Est ce que vous penser l’implémenter bientot ? Besoin d’un co-financement supplémentaire ? Le temps gagné sera extrêmement important pour nous avec une petite équipe :slight_smile:

Pour ical, pas vraiment besoin de notre coté ! Nous pensons lancer l’usage de FabManager dans le mois à venir !

cordialement,

Pareil, nous lançons bientôt l’application pour le FabLab Vosges :slight_smile: ça serait top ! :slight_smile:

J’ai l’impression que ces fonctionnalités sont assez demandés, peut-être que l’un d’entre vous pourrait prendre l’initiative de lancer un cahier des charges collaboratif (type Google doc) et un financement participatif (type HelloAsso) ?

Bonjour Sylvain,

j’avoue être aussi intéressé par la fonctionnalité de créneau récurent (maintenant que j’arrive à créer mes créneaux… :stuck_out_tongue: ).
Je n’ai pas beaucoup de machine (2 ou 3 P3D) que je dois partager entre beaucoup d’étudiants (environ 17 groupes de 5/6)…

Est-ce que les fonctionnalités tel que tu les présentent dans ton billet du 25 septembre 2017 serait très compliquer à mettre en œuvre pour vous (tel quel) ? De combien auriez-vous besoin comme « incentive » ?

Sinon, j’avais en tête de créer les créneaux directement dans la base de donnée (je veux créer des créneaux d’une heure, de 8h à 20h, tout les jours ouvrés, jusqu’à la fin de l’année pour 2 machines), mais j’avoue qu’autant je me débrouille en SQL, autant je suis dérouté par le docker/rails/postgreSQL.

J’ai réussi à trouver un lien dans le forum pour ouvrir la console rails :

Mais comment savoir quelle est le nom du bon objet à manipuler (Invoice pour les facture, User pour les utilisateur, mais pour les créneaux ???) et comment savoir quels sont les méthodes disponibles pour ces objets ?

N’y a-t-il pas un moyen simple pour moi de faire des requêtes SQL basiques ? SELECT * FROM XXX, INSERT INTO ?

Merci d’avance pour vos réponses,

Chaleureusement,

Antoine

Ce n’est pas si simple …

La table SQL centrale pour les créneaux est Availability mais en relation avec (MachinesAvailability | TrainingsAvailability | Event), éventuellement AvailabilityTag et Slot … c’est assez complexe à gérer manuellement, surtout que les créneaux sont aussi crées dans ElasticSearch (index: fablab, type: availabilities), notamment pour le calcul des statistiques.

Tu peux faire une recherche sur la table « Availability » dans ce diagramme (clic droit / afficher l’image) pour avoir une idée de la structuration de la base de données. Tu peux également regarder la méthode de création dans le controlleur ou le model rails correspondant pour te faire une idée. Tu peux aussi essayer de regarder ce qui se passe en front au moment de la création.

Dans tous les cas je pense que c’est une bien meilleure idée de passer par la console rails, qui gérera automatiquement tout ça, que directement en SQL. Peut-être que quelque chose comme

['2018-10-08', '2018-10-09'].each do |date|
  Availability.new({
    available_type: 'machines'
    start_at: DateTime.iso8601(date).change({ hour: 18 })
    end_at: DateTime.iso8601(date).change({ hour: 20 })
  }).save
end

Enfin, je ne te garanti rien, tu devrai monter un serveur de test pour essayer ça avant de te lancer sur la production. Et surtout test bien dans tous les coin de l’app pour voir si ça ne crée pas des effets de bord.

Dans tous les cas, fait nous savoir ce que ça donne :wink:

Bien à toi

Bonjour à tous,

Nous sommes entrain de créer un fablab dédié à l’écologie et au réemploi sur Rennes, et j’aurais voulu savoir où en était les modifications concernant la récurrence des créneaux machines ?!

De plus, autre petite question, est-il possible de réduire le temps minimum de réservation ?

A bientôt, bonne journée
Quentin