Formations non visibles dans le calendrier

Bonjour,

Nous mettons en place FabManager pour le Fablab Pays d’Ancenis. Nous commençons à transférer nos membres vers cette nouvelle solution. La première étape est que les adhérents s’inscrivent, puis, en mode admin, nous leur affectons leur abonnement (qu’ils ont déjà payé).

Le problème que nous rencontrons est que ces membres ne voient pas les futures formations dans le calendrier dédié à la formation sélectionnée: Menu [Inscriptions formations] → [Réserver] ni dans le calendrier global des formations ‹ Planning Formations ›. Par contre, les formations + machines sont visibles dans le calendrier global: Menu [Calendrier].
Ceci est constaté par des membres nouvellement inscrits sans abonnement à jour et des membres avec abonnement.

Quel peuvent être les conditions (ou les paramètres) qui font que les formations ne soient pas visibles ?

Merci

Philippe du Fablab Pays d’Ancenis

Salut Philippe,

Quand tu es connecté comme administrateur, vérifié en premier lieu que [Suivi formation] → [Éditer], tout en bas du formulaire, « afficher dans la liste des formations » soit sur [Oui] et « désactiver la formation » soit sur [Non].

Ensuite, dans [Gestion du calendrier], il faut que tu crée un nouveau créneau à propos de la formation que tu veux programmer. À ce moment là, si tu renseigner quelque chose dans « restreindre ce créneau avec des étiquettes (optionnel) », seuls les utilisateurs avec ces mêmes étiquettes pourront voir et s’inscrire à cette session de formation.

Je viens de me créer un compte membre sur ton FM, et effectivement je ne vois pas la session de formation « programmez vos objets » du 21 mars dans le calendrier de réservation, je la vois seulement dans le calendrier général. SI tu n’a pas désactivé ou étiqueté la formation c’est très étrange…

Tiens nous au courant,

Bonne journée

Salut Sylvain,

Alors, je viens de vérifier mes 3 formations, et elles sont toutes bien paramétrées comme ceci:

Ensuite, j’ai effacé puis recréé la formation du 21 Mars avec les options suivantes (sans étiquettes)

Le résultat est le même.

Je l’ai effectivement vu marcher il y a quelques temps car nous avons fait une période de tests parmi les organisateurs du Fablab afin de bien s’approprier les différentes fonctions. Nous avons ensuite resetter le FM pour repartir à 0 et mettre au propre nos formations et machines et mettre nos clés de prod stripe. Je ne sais pas dire si j’ai vu les formations marcher depuis le reset.

Aurais-tu d’autre idées de test ?

Philippe

Autre point qui est peut-être lié:
Sur la page d’accueil, il y a un projet de publié (c’est le seul d’ailleurs). Mais on ne retrouve pas le projet dans le menu [Galerie de projets].

Je ne sais pas si ça peut faire avancer l’analyse.

Philippe

Tu pourrais préciser les actions que vous avez fait pour ça ? Il se pourrait bien que le problème vienne de là…

Si tu peux aussi regarder si tu as des erreurs dans la console javascript du navigateur (avec Ctrl+Maj+i > Console), au moment où tu consultes les formations ? Tu peux aussi regarder les logs serveur à la recherche d’une éventuelle erreur (avec quelque chose comme tail -f /apps/fabmanager/log/app-stdout.log)

Merci pour ton retour Sylvain.
Je vais laisser Cédric répondre, il sera plus pertinent que moi puisque c’est lui qui a installé FM chez nous.

Bonsoir,

Je viens de voir que c’est en fait dû au container « elasticsearch » qui n’arrive pas à démarrrer : « elasticsearch exited with code 78 »
J’ai l’impression qu’il s’agit d’un problème de mémoire. Je regarder de mon côté. Si vous avez des conseils / déjà rencontré ce type de problème, je suis preneur :slight_smile:

Merci !
Cédric.

OK, ElasticSearch back online :

root@vps766554:/apps/fabmanager# docker-compose ps
           Name                         Command               State                     Ports                   
----------------------------------------------------------------------------------------------------------------
fabmanager_elasticsearch_1   /docker-entrypoint.sh elas ...   Up      9200/tcp, 9300/tcp                        
fabmanager_fabmanager_1      /usr/bin/supervisord -c /e ...   Up      3000/tcp                                  
fabmanager_nginx_1           nginx -g daemon off;             Up      0.0.0.0:444->443/tcp, 0.0.0.0:8000->80/tcp
fabmanager_postgres_1        docker-entrypoint.sh postgres    Up      5432/tcp                                  
fabmanager_redis_1           docker-entrypoint.sh redis ...   Up      6379/tcp                                  
root@vps766554:/apps/fabmanager# 

Cela dit sur la page « Galerie de projets », toujours aucun projet visible et une erreur 500 dans les devtools :

application-b5fa11097fe38cde7dd49d80f2c74a90.js:40 Possibly unhandled rejection: {"data":{"status":"500","error":"Internal Server Error"},"status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/api/projects/search","params":{"search":{"q":""},"page":1,"per_page":16},"headers":{"Accept":"application/json, text/plain, */*","X-XSRF-TOKEN":"Rwl2zB9DV/vlBfPZ8i3DaaDwh5Coj8+0i9r4MtmCwVHwLCiTTYgbuCxa99tIGs/0cAeNh/46N+VOKzGodM525w=="},"cached":false},"statusText":"Internal Server Error","xhrStatus":"complete","resource":{}}

Possiblement quelque chose à relancer au niveau elasticsearch étant donné qu’il semble avoir été offline pendant un moment ?

Dans les logs fabmanager (/apps/fabmanager/log/app-stdout.log) :

  Project Search (28.0ms) {index: "fablab", type: "projects", body: {query: {bool: {must: [], should: [{term: {state: "published"}}, {term: {author_id: 2}}, {term: {user_ids: 2}}], filter: []}}, sort: {created_at: {order: :desc}}}, size: 16, from: 0}
Completed 500 Internal Server Error in 41ms (ActiveRecord: 5.3ms | Elasticsearch: 28.0ms)

Elasticsearch::Transport::Transport::Errors::NotFound ([404] {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"fablab","index_uuid":"_na_","index":"fablab"}],"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"fablab","index_uuid":"_na_","index":"fablab"},"status":404}):
  app/controllers/api/projects_controller.rb:58:in `search'

Merci pour votre aide.

Cédric.

Pour répondre à « comment on a reset fabmanager », j’ai supprimé tout le contenu de /apps/fabmanager et suis reparti à zéro en reprenant les fichiers de config de l’installation précédente

EDIT

Bonsoir,

Je vous informe que le problème est réglé.
Le fait d’avoir réglé le problème d’elasticsearch qui était planté a réglé le soucis.
Pour l’erreur identifiée, j’ai réglé le problème en suivant les instructions ici : https://techoverflow.net/2019/03/11/how-to-fix-elasticsearch-exited-with-code-78/

Ensuite, je ne sais pas si cela a été utile ou pas, mais j’ai lancé cette commande :

docker-compose run --rm fabmanager bundle exec rake fablab:es:build_stats

Le problème n’a pas été corrigé immédiatement, mais dans la journée, de manière assez magique le calendrier et les projets sont apparus correctement dans fabmanager. Une synchro a potentiellement été faite sur elasticsearch à l’occasion d’un enregistrement fait par un utilisateur ou bien un process automatique, je ne sais pas dire.

En tous cas c’est tout bon :slight_smile:

Merci beaucoup @Sylvain pour ton aide !

A bientôt.
Cédric.

1 « J'aime »

Salut,

Je confirme que c’est bon maintenant:

  • le projet d’affiche bien
  • les formations sont visibles dans le calendrier

Au chose qui a aidé: l’option de visibilité dans les paramètres : elle était pas défaut a 1 mois pour les abonnés de moins d’un an. Or c’est la majorité des cas pour nous (pour l’instant) car nous transférons tous nos membre de l’ancien système vers FM. Nous créons donc des abonnement plus courts pour cette fois (abonnements que nous desactivons après).
Cette option a été passée a 3 mois pour tout le monde.

Merci Sylvain & Cédric !

Philippe

1 « J'aime »

Salut,

Super que vous ayez réussi à régler les problèmes. Vu les symptômes je n’aurais pas du tout pensé à elasticsearch ! Bizarre, il faudra que je creuse un peu…

Bonne journée,

Sylvain