vidjil issueshttps://gitlab.inria.fr/vidjil/vidjil/-/issues2019-05-24T18:12:55+02:00https://gitlab.inria.fr/vidjil/vidjil/-/issues/3920Supprimer les permissions associées quand on supprime une entrée2019-05-24T18:12:55+02:00Mikaël SalsonSupprimer les permissions associées quand on supprime une entréePermettrait d'éviter le genre de problème rencontré dans vdj#587 (https://gitlab.inria.fr/vidjil/vdj/issues/587#note_68238).Permettrait d'éviter le genre de problème rencontré dans vdj#587 (https://gitlab.inria.fr/vidjil/vdj/issues/587#note_68238).https://gitlab.inria.fr/vidjil/vidjil/-/issues/3947Proposer le mécanisme d'autocomplétion dans la recherche des sample sets2020-11-20T11:46:25+01:00Mikaël SalsonProposer le mécanisme d'autocomplétion dans la recherche des sample setsLe mécanisme d'autocomplétion utilisé lorsqu'on ajoute de nouveaux samples (pour l'attribuer à un sample set) devrait être réutilisé pour permettre la recherche rapide d'un patient/run/set.
Dans la barre de recherche, on propose l'autoc...Le mécanisme d'autocomplétion utilisé lorsqu'on ajoute de nouveaux samples (pour l'attribuer à un sample set) devrait être réutilisé pour permettre la recherche rapide d'un patient/run/set.
Dans la barre de recherche, on propose l'autocomplétion, si l'utilisatrice trouve l'entrée qui l'intéresse, elle la sélectionne et est redirigée vers cette entrée. Sinon il suffit de valider la recherche et cela lance la recherche normale.https://gitlab.inria.fr/vidjil/vidjil/-/issues/3991Certains caractères des mots de passes bloquent la création de compte2019-10-04T16:53:05+02:00Thonier FlorianCertains caractères des mots de passes bloquent la création de compteJe viens de tester de créer un compte. J'ai rempli le formulaire, validé. Mais elle n’apparaît pas dans la liste des utilisateurs, ni des groupes.
Après réflexion, j'ai décidé de changer le mot de passe car l'initial comprenait un `/` ...Je viens de tester de créer un compte. J'ai rempli le formulaire, validé. Mais elle n’apparaît pas dans la liste des utilisateurs, ni des groupes.
Après réflexion, j'ai décidé de changer le mot de passe car l'initial comprenait un `/` (`E/p47L7c}`, non retenu). Il se trouve que cette fois là ça a fonctionné sans souci.
Je comprends qu'il y a un souci dans les mots de passe. Je ne sais pas si c'est côté serveur que c'est mal interprété, ou bien si c'est côté interface que le contenu du formulaire est tronqué par ce caractère spécial.
Plusieurs point:
* Il faudrait à minima être capable de détecter sa présence dans la champs texte pour indiqué qu'il n'est pas possible de validé ce mot de passe et en spécifier la raison.
* Il existe probablement des attributs spécifiques aux champs password, côté client et serveur. Vérifié si ils sont correctement paramétrés.
Cela m'amène d'ailleurs à une autre idée que j'avais déjà évoqué: avoir un petit bouton qui génère automatiquement un password (#3744).https://gitlab.inria.fr/vidjil/vidjil/-/issues/4005Evaluer un fastq en amont des preprocess et analyse2019-10-11T11:19:05+02:00Thonier FlorianEvaluer un fastq en amont des preprocess et analyseJe suis tombé aujourd'hui sur des fichiers fastq comportant des erreurs :
```
@NB501924:75:HT525AFXY:1:11101:16318:8143 1:N:0:ATTGAGGA
+
```
Ni pear ni vidjil ne sont capable de prendre ces fichiers en l'état (#1723).
On pourrait im...Je suis tombé aujourd'hui sur des fichiers fastq comportant des erreurs :
```
@NB501924:75:HT525AFXY:1:11101:16318:8143 1:N:0:ATTGAGGA
+
```
Ni pear ni vidjil ne sont capable de prendre ces fichiers en l'état (#1723).
On pourrait imaginer l'appel d'un script qui se charge de vérifier que le format ou le contenu est correct et exploitable.
Dans certain cas, il pourrait aussi corriger certaines erreurs comme celle-ci (attention dans le cas d'un merge d’ailleurs à bien prendre en compte aussi l'équivalent R2/R3).
De plus, il faudrait dans ce cas rendre disponible un rapport depuis l'interface, qui indique que tout est bon pour passer à la suite de l'analyse, ou indiquer que non et l'indiquer clairement à l'utilisateur.
Je sais qu'il existe des scripts permettant de vérifier la conformité du formatage des fasta/fastq. Je ne sais pas si il existe un script tout fait permettant de vérifier ce type d'erreurs, et d'autres qui nous viendrait en tête.
A chaud:
* vérifier le format,
* vérifier des erreurs d'entrées,
* vérifier le nombre de lignes R1vsR2,
* vérifier les séquences vides,
* vérifier la présence de N ou autres caractères non souhaités
* ...
@magiraud @mikael-shttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4039Supprimer un process ne supprime pas le fichier résultat associé2019-11-06T17:06:39+01:00Mikaël SalsonSupprimer un process ne supprime pas le fichier résultat associéJe ne sais pas si c'est un bug ou une feature. Ça ne me choque pas (cf. #2163). Mais est-ce bien ce qu'on veut ?Je ne sais pas si c'est un bug ou une feature. Ça ne me choque pas (cf. #2163). Mais est-ce bien ce qu'on veut ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4051Tester la longueur du mot de passe et d'autres erreurs à la création2021-11-09T14:51:33+01:00Mikaël SalsonTester la longueur du mot de passe et d'autres erreurs à la créationLorsqu'on crée un nouvel utilisateur, la création peut échouer sans aucun message et en redirigeant vers la page du dernier utilisateur créé (vdj#939) si le mot de passe est trop court.
Ajouter un contrôle côté client ou serveur (mais p...Lorsqu'on crée un nouvel utilisateur, la création peut échouer sans aucun message et en redirigeant vers la page du dernier utilisateur créé (vdj#939) si le mot de passe est trop court.
Ajouter un contrôle côté client ou serveur (mais pas évident car géré par Web2py ?).
/cc @duezhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4110Afficher le changelog à la première connexion après update interface/algo2020-01-17T10:22:09+01:00Thonier FlorianAfficher le changelog à la première connexion après update interface/algoOn pourrait imaginer un panneau qui s'affiche si un utilisateur accède au service après une release algo ou client (un attribut connectedSinceLastRelease en bdd ?).
De même, on pourrait avoir un accès direct à une liste des changelogs ...On pourrait imaginer un panneau qui s'affiche si un utilisateur accède au service après une release algo ou client (un attribut connectedSinceLastRelease en bdd ?).
De même, on pourrait avoir un accès direct à une liste des changelogs via un bouton help, qui retracerait les changelogs pour remonter dans le temps et voir quand une modification est possiblement apparue, avec un indicateur algo/client (texte+code couleur ?), la date et la liste des modifs.
Cela va de pair avec la qualité pour le COFRAC qui indique qu'il doit y avoir un moyen efficace de connaître les modifications de nature à modifier les résultats ou la technique d'analyse (les manipulations dans l'interface par exemple). On a déjà les notifications, mais je ne suis pas certai que ce soit aussi efficace qu'un bon modal intrusif.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4159maj de la liste des patients/runs necessite un refresh de la page2020-01-24T09:24:37+01:00Thonier Florianmaj de la liste des patients/runs necessite un refresh de la pageAprès avoir créé un/des patient(s), run(s), il est parfois nécessaire de rafraîchir la page pour permettre de les voir apparaître dans la liste.
Il me semble que nous ne rafraîchissons pas toujours car cela est coûteux en terme d'accès ...Après avoir créé un/des patient(s), run(s), il est parfois nécessaire de rafraîchir la page pour permettre de les voir apparaître dans la liste.
Il me semble que nous ne rafraîchissons pas toujours car cela est coûteux en terme d'accès à la base (mais pas si long je crois). C'est ça ? De même, est-il possible de le lancer au moment ou l'on arrive sur la page d'ajout/édition d'un sample pour ne pas avoir à attendre dans ce cas ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4160Pouvoir ouvrir directement la page run sans passer par patient2020-07-07T02:31:15+02:00Thonier FlorianPouvoir ouvrir directement la page run sans passer par patienthttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4162Analysis valable pour tous les accès au sample2020-02-05T16:13:14+01:00Thonier FlorianAnalysis valable pour tous les accès au sampleJe pense qu'il y a une issue la dessus, mais je n'en retrouve pas de trace.
Maintenant que nous avons des utilisateurs qui regardent par run, nous nous retrouvons avec des annotations qui finissent dans le `.analysis` du run. Le souci e...Je pense qu'il y a une issue la dessus, mais je n'en retrouve pas de trace.
Maintenant que nous avons des utilisateurs qui regardent par run, nous nous retrouvons avec des annotations qui finissent dans le `.analysis` du run. Le souci est que ces informations ne sont pas disponible lorsque nous ouvrons les données par patient.
Les utilisateurs sont alors tentés de continuer à ouvrir le sample par l'accès au run.
Une solution naîve serait d'avoir un `.analysis` propre à chaque sample, accessible aussi bien lorsque l'on adccède au run qu'au patient. Mais nous avons alors un souci si un clone XXX du sample A est renommé xxx dans le sample B d'un run et yyy dans le sample C d'un patient. Ce n'est là qu'un exemple des nombreux effet de bords.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4164Add airr config: mixcr2023-06-28T17:09:12+02:00Thonier FlorianAdd airr config: mixcrSpecific issue for mixcrSpecific issue for mixcrhttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4174original_names ne peut pas être correctement renseigné avec des fichiers AIRR2020-03-03T10:46:21+01:00Mikaël Salsonoriginal_names ne peut pas être correctement renseigné avec des fichiers AIRRDans `default.py` on fait le lien entre le `original_names` d'un fichier et le sample auquel il correspond dans le sample set.
Sauf que pour les fichiers AIRR on ne peut pas avoir l'information du `original_names`. Tout ce qu'on peut re...Dans `default.py` on fait le lien entre le `original_names` d'un fichier et le sample auquel il correspond dans le sample set.
Sauf que pour les fichiers AIRR on ne peut pas avoir l'information du `original_names`. Tout ce qu'on peut renseigner, c'est au moment où on fait le `fuse.py`, on peut renseigner le nom du `results_file`. Pour cela on peut créer un autre champ (du genre `original_results_name`) qui stockerait cette information dans le fichier fused.
Ensuite dans la fonction de `get_data` de `default.py`, il faudrait un autre dictionnaire similaire à `query2` mais dont les clés soient les `results_file` de la BDD (qui sont déjà récupérés par la requête précédente).
Nécessaire pour #3591.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4189Le timeout des jobs ne semble pas correspondre au temps déclaré2020-02-18T16:06:04+01:00Thonier FlorianLe timeout des jobs ne semble pas correspondre au temps déclaréEn testant une config un peu longue, je suis tombé sur un timeout.
Pour rappel, ce temps est défini dans defs.py
```
TASK_TIMEOUT = 2 * 60 * 60
```
Dans le cas de `vdb`, on avait rallongé le temps à 5h (je viens de vérifier). Or, le la...En testant une config un peu longue, je suis tombé sur un timeout.
Pour rappel, ce temps est défini dans defs.py
```
TASK_TIMEOUT = 2 * 60 * 60
```
Dans le cas de `vdb`, on avait rallongé le temps à 5h (je viens de vérifier). Or, le lancement c'est fait à 10h46, et il n'est pas encore 15h46...
Il est utilisé dans le `task.py`, lors d'un ajout
```
task = scheduler.queue_task("pre_process", args, repeats = 1, timeout = defs.TASK_TIMEOUT)
```
Est-on certain que ce paramètre est bien pris en compte dans le docker ? je ne vois pour l'heure pas d'autres raison.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4227Le worker n'accede pas au dossier databases en écriture2020-06-25T20:01:29+02:00Thonier FlorianLe worker n'accede pas au dossier databases en écritureJe viens de tenter de refaire une nouvelle instance d'un docker de dev avec vidjil. Je suis retombé sur un bug comme lors de mes premiers essais. Je me suis alors souvenu que les premières fois, j'avais rajouté un `sudo chmod 777 /opt/vi...Je viens de tenter de refaire une nouvelle instance d'un docker de dev avec vidjil. Je suis retombé sur un bug comme lors de mes premiers essais. Je me suis alors souvenu que les premières fois, j'avais rajouté un `sudo chmod 777 /opt/vijil/databases` qui avait permis de rendre accessible le dossier à `docker_workers`.
Je ne sais pas comment faire autrement. On a pourtant bien `worker` qui récupère les volumes de `uwsgi`, qui les récupère lui-même de `fuse`.
Une idée @mikael-s @RyanHerb ?https://gitlab.inria.fr/vidjil/vidjil/-/issues/4233Avoir un contrôleur pour ajouter (ou renommer) une classification d'une config2020-06-25T20:35:22+02:00Mikaël SalsonAvoir un contrôleur pour ajouter (ou renommer) une classification d'une configSuite à #4219 il faut ajouter un contrôleur pour créer des classif.Suite à #4219 il faut ajouter un contrôleur pour créer des classif.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4260Pouvoir télécharger tous les résultats d'un coup2020-04-22T18:42:07+02:00Mikaël SalsonPouvoir télécharger tous les résultats d'un coupSi on veut récupérer tous les résultats d'un sample set, il faut les télécharger un à un.
On devrait prévoir un export plus simple des données. Nous avons des utilisateurs qui ne laissent pas leurs données sur le serveur et qui récupère...Si on veut récupérer tous les résultats d'un sample set, il faut les télécharger un à un.
On devrait prévoir un export plus simple des données. Nous avons des utilisateurs qui ne laissent pas leurs données sur le serveur et qui récupèrent leurs résultats avant de les effacer. Autant faciliter la tâche.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4328Account creation: Retour dans le client si l'adresse mail est déjà utilisée2021-02-09T16:15:37+01:00Thonier FlorianAccount creation: Retour dans le client si l'adresse mail est déjà utiliséeJe viens de me faire avoir a tenter une création de compte d'un utilisateur existant déjà. Lorsque j'ai fait validé, je suis tombé sur l'affichage du dernier compte créé, et comme j'avais switché de fenêtre pour faire le mail, je ne m'e...Je viens de me faire avoir a tenter une création de compte d'un utilisateur existant déjà. Lorsque j'ai fait validé, je suis tombé sur l'affichage du dernier compte créé, et comme j'avais switché de fenêtre pour faire le mail, je ne m'en suis pas aperçu.
Il faudrait avoir le bouton de validation de création de compte grisé si l'ensemble des champs ne sont pas rempli ou si l'adresse mail est déjà utilisée. Pour cela, il faudrait avoir une requête vers le serveur pour savoir si elle est déjà présente dans la base de données.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4330Avoir une date de péremption d'un utilisateur dans un groupe2020-06-10T22:16:51+02:00Thonier FlorianAvoir une date de péremption d'un utilisateur dans un groupeIl peut arriver que certaines équipes connaissent d'avance une date théorique de fin de contrat d'un membre (un CDD, un Phd ou un stagiaire).
On pourrait imaginer qu'un compte puisse avoir une date d'expiration à la création. Dans ce ca...Il peut arriver que certaines équipes connaissent d'avance une date théorique de fin de contrat d'un membre (un CDD, un Phd ou un stagiaire).
On pourrait imaginer qu'un compte puisse avoir une date d'expiration à la création. Dans ce cas, on fait une fois par jours/semaine le tour des comptes et on prévient/suspend un compte.
La suspension aurait pour effet de changer le mot de passe par un autre, bloquant ainsi l'exploitation du compte.
Tel que je le vois, on pourrait ajouter un champs dans la table des utilisateurs avec une date. Celle-ci pourrait être instancier à la création si on la connaît, ou laissé à nulle, (ou repoussée en cas de demande). On pourrait aussi l'utiliser pour prévenir les utilisateurs à X jours avant de l'appliquer. A la date, on a une tâche cron qui s'occupe de faire la manip.
Il y a probablement un mécanisme mixte avec ma proposition de supprimer les séquences d'un utilisateur non connecté depuis XX mois.https://gitlab.inria.fr/vidjil/vidjil/-/issues/4337Warning si version très ancienne de l'algorithme (et vue database)2020-06-11T09:52:07+02:00Thonier FlorianWarning si version très ancienne de l'algorithme (et vue database)Hier une utilisatrice qui n'avait pas utilisé vidjil depuis des années m'a demandé de réactiver son compte.
Dans le cas présent, il n'y avait pas de données. Mais si elle avait voulu rajouter un ou plusieurs samples dans ses run/sets, el...Hier une utilisatrice qui n'avait pas utilisé vidjil depuis des années m'a demandé de réactiver son compte.
Dans le cas présent, il n'y avait pas de données. Mais si elle avait voulu rajouter un ou plusieurs samples dans ses run/sets, elle aurait potentiellement voulu relancer les analyses avec la dernière version de l'algorithme.
Pour ce faire, il faudrait avoir l'information en base pour ne pas avoir a reparcourir le fichier de résultat, et l'information de la version courante du logiciel (le tag release à minima).
On a un warning potentiel non encore implémenté `W0x` qui indique si l'algo utilisé est outdated. Mais on pourrait aussi indiqué l'alerte en amont, dans la page patient/run.
De la même manière, on pourrait aussi imaginer que le bouton permettant de relancer toutes les analyses permette de relancer différentiellement en fonction de ce paramètre (une idée en l'air, dans la pratique l'option de tout relancer indifféremment me semble en réalité plus pertinente, mais je le mentionne au cas ou).
D'une manière générale, y-a-t-il d'autre informations/warnings qu'il serait pertinent de faire remonter avant l'ouverture ? Cela recoupe aussi des informations que l'on pourrait avoir potentiellement dans la vue statshttps://gitlab.inria.fr/vidjil/vidjil/-/issues/4372self.user non défini alors que l'utilisateur est loggé2020-06-23T11:03:26+02:00Mikaël Salsonself.user non défini alors que l'utilisateur est loggéOn a des erreurs serveur (en l'occurrence de @flothoni) quand il essaie d'accéder à [une URL](https://db.vidjil.org/vidjil/results_file/download?filename=079301.vdj.fa&results_file_id=79301), alors qu'il est bien connecté.
[L'erreur](ht...On a des erreurs serveur (en l'occurrence de @flothoni) quand il essaie d'accéder à [une URL](https://db.vidjil.org/vidjil/results_file/download?filename=079301.vdj.fa&results_file_id=79301), alors qu'il est bien connecté.
[L'erreur](https://db.vidjil.org/admin/default/ticket/vidjil/131.254.15.191.2020-06-23.10-21-33.239d60b6-68f2-42f5-b398-9e0f6ed1fa15) montre que `self.user` vaut `None`, ce qui est étonnant puisqu'il est bien loggé.
```
Traceback (most recent call last):
File "/usr/share/vidjil/server/web2py/gluon/restricted.py", line 219, in restricted
exec(ccode, environment)
File "/usr/share/vidjil/server/web2py/applications/vidjil/controllers/results_file.py", line 182, in <module>
File "/usr/share/vidjil/server/web2py/gluon/globals.py", line 421, in <lambda>
self._caller = lambda f: f()
File "/usr/share/vidjil/server/web2py/gluon/cache.py", line 645, in wrapped_f
rtn = func()
File "/usr/share/vidjil/server/web2py/applications/vidjil/controllers/results_file.py", line 120, in download
if auth.can_view_sample_set(sample_set_id) and not '..' in request.vars['filename']:
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 466, in can_view_sample_set
perm = self.get_permission(PermissionEnum.read.value, 'sample_set', sample_set_id, user)\
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 180, in get_permission
perm_groups = self.get_permission_groups(action, user)
File "/usr/share/vidjil/server/web2py/applications/vidjil/models/VidjilAuth.py", line 118, in get_permission_groups
user = self.user.id
AttributeError: 'NoneType' object has no attribute 'id'
```marc duezmarc duez