Create a bidirectional link between two items
Description
Allow users to link an item to others, into a new "Description" section. This can help highlight similarities between two or more items. A small text can describe what the link is used for.
Deliverables status
Phase 1
- [ ] Scenarios (Gherkin)
- [ ] Mockups
- [ ] Implementation strategy
Phase 2
- [ ] Acceptance tests (Capybara)
- [ ] Implementation
Phase 3
- [ ] Screencast
Mock-up attached :
It can be emulated by posting a comment with a link in it (see feature #47). However this is not bidirectional and you don't have the thumbnail in it.
Studying Abroad : It would be interesting to allow students to have access to suggestions of UEs based on one another to help them find other UEs that might be of interest to them.
Dans le cadre de l'Archéologie Grecque, cela pourrait être utile de lier des vitraux du même artiste, ou du même lieux.
Dans le cadre de l'Archéologie Grecque, cela pourrait être utile de lier des vitraux du même artiste, ou du même lieux.
@hebertquentin Des vitraux ?!
Notez que s'il s'agit du même artiste, comme il s'agit d'une catégorie, le lien est déjà disponible (voir https://github.com/Hypertopic/Porphyry/blob/v7/features/items_with_same_topic.feature). Pour le même lieu (mais reste à savoir ce que ça veut dire exactement), vous devez chercher le ticket qui correspond (sachant que le lieu est un attribut).
@benel Des vases*
Hum... Je pense supprimer cette carte alors. J'avais mal compris la fonctionnalité.
@hebertquentin Vous pouvez laisser votre commentaire, ça rendra peut-être service à d'autres équipes pour ne pas faire la même erreur.
Pour le partage d'expériences cela permettra de définir des compétences transversales à certaines expériences, qui permettront de faire le lien entre plusieurs articles de domaines différents
Pour le partage d'expériences cela permettra de définir des compétences transversales à certaines expériences, qui permettront de faire le lien entre plusieurs articles de domaines différents
@Ocynox Pourquoi pas, mais vérifiez que le fait d'utiliser une catégorie transversale ne règle pas déjà le problème.
Projet Approche par compétences de la formation : Lien entre UE qu'il faut déjà avoir fait pour en faire une autre
Projet sur les vitraux: Cette fonctionnalité serait utile pour pouvoir faire le lien et circuler entre les vitraux ayant des points communs intuitivement sans devoir repasser par la recherche à chaque fois
@Morillev Faites bien la différence entre une interface plus simple et une nouvelle fonctionnalité. Là présentement, il n'existera de lien que si quelqu'un le crée. La structure des données sera différente.
Pour l'équipe Approche par compétences de la formation :
Le binôme @MartiSalty et @tinidec s'occuperont du livrable Stratégie d'implémentation de ce ticket (#188).
Le binôme @ChloeChamaillard et @gabyseg s'occuperont du livrable Scénario de ce ticket (#188).
Fonctionnalité : À partir d'un item, obtenir ceux qui sont similaires
Scénario :
Soit l’utilisateur consulte un item « IF05 » Et la liste des items « GL02, EG23, IF14 » similaires est visible dans la rubrique « Voir aussi » Quand l’utilisateur choisit l’item « GL02 » dans la rubrique « Voir aussi » Et l'item « GL02 » est affiché Et l'item « IF05 » est visible dans la rubrique « Voir aussi »
Fonctionnalité : Ajouter un item similaire à un autre item
Scénario :
Soit l’utilisateur créer un item « IF05 » Et l’attribut « items similaires » dans la rubrique « Voir aussi » vide Quand l’utilisateur indique « GL02 » comme valeur pour l’attribut « items similaires » dans la rubrique « Voir aussi » Et l’item « GL02 » est visible dans la liste des « items similaires »
Rédigé par @ChloeChamaillard et @gabyseg
@Hypertopic/approche-par-competences-de-la-formation Je me suis occupé de la partie CouchDB (Hypertopic/Argos#58) comme ça vous pouvez vous concentrer sur la partie React (Porphyry#188).
Stratégie d'implémentation
Quelle partie du code sera impactée (classes, méthodes) ? Le composant “Item” sera modifié. Une section “Objet en liens” sera ajouté en dessous des “Viewpoints”. Le composant “LinkedItems” sera ajouté dans “itemPage”.
Y aura-t-il des difficultés d'un point de vue algorithmique ? Avez-vous des pistes pour les résoudre ? Nous n’aurons pas d'algorithme dans notre intégration, nous utiliserons seulement de la récupération.
Les données dont vous avez besoin sont-elles déjà chargées par la page ? Si non, quelle sera la requête la plus efficace et comment allez-vous récupérer dans la structure de données précisément celles qui vous intéressent ? Il faudrait ajouter dans la base de données un nouvel attribut multivalué à “Item”. Cette attribut contiendrait une référence à un Item existant ainsi qu’un petit texte de description. Comme dans notre séance sur le développement, vous pouvez tester des petits bouts de code indépendants et les associer à votre stratégie (avec éventuellement des exemples de données, voire même des temps d'exécution).
Existe-t-il des bibliothèques qui pourraient simplifier l'implémentation ? Non, nous avons pas besoin de bibliothèques.
Doit-on intégrer des services extérieurs (ex : cartographie) ? De quelles fonctionnalités en particulier aura-t-on besoin ? Est-ce que le service choisi les propose ou doit-on passer chez un concurrent ? Comment s'utilisent ces fonctionnalités ? avec quels paramètres ? Des services extérieurs ne seront pas nécessaires non plus.
Chaque item pourra être relié à un ou plusieurs autres items avec un petit texte expliquant la relation.
Rédigé par @MartiSalty et @tinidec

Les liens se trouveront au dessus des commentaires dans une section "Voir aussi".
Il faudrait ajouter dans la base de données un nouvel attribut multivalué à “Item”. Cette attribut contiendrait une référence à un Item existant ainsi qu’un petit texte de description.
Avez-vous bien noté que c'est déjà fait ? Avez-vous pu le tester en faisant des requêtes comme je vous y avais invité•e•s ?
Oui on a bien noté que c'est déjà fait, on avait juste pas changé ce qui avait été rédigé. Et on est en train de le tester.
Nous rencontrons un problème lors de l'ajout d'un item lié. Nous aimerions savoir pourquoi l'item pourquoi nous n'arrivons pas ajouter un item dans Argos. Voici le code qui permet d'ajouter un item à un autre item.
_setLinkedItem = async (linkedItem) => {
if (linkedItem!=='') {
let hypertopic = new Hypertopic((await conf).services);
return hypertopic
.get({
_id: this.props.match.params.item,
item_corpus: this.props.match.params.corpus
})
.then(x => Object.assign(x, {item: linkedItem}))
.then(hypertopic.post)
.catch((x) => console.error(x.message));
} else {
console.error('Créez un attribut non vide');
return new Promise().fail();
}
}
@gabyseg @LeonVongphanith @MartiSalty
J’ai réécrit les scénarios pour qu’ils correspondent aux Vitraux pour les tests, ce qui donne cela : Fonctionnalité : Créer un lien bidirectionnel entre deux items
Scénario : À partir d'un item, obtenir ceux qui sont similaires Soit "SNZ 006" l'item affiché Et la liste des items "SM 008" similaires est visible dans la rubrique "Voir aussi" Quand l’utilisateur choisit l’item "SM 008" dans la rubrique "Voir aussi" Alors l'item "SM 008" est affiché Et l'item "SNZ 006" est visible dans la rubrique "Voir aussi"
Scénario : Ajouter un item similaire à un autre item Soit l’utilisateur créer un item "SNZ 006" Et l’attribut "items" dans la rubrique "Voir aussi" vide Et l'utilisateur "alice" connecté Quand l’utilisateur indique "SM 008" comme valeur pour l’attribut "items" dans la rubrique "Voir aussi" Alors l’item "SM 008" est visible dans la liste des "items"
Ils ont été mis dans un nouveau fichier dans le dossier features et ensuite il faut modifier les fichiers context.rb, event.rb et outcome.rb pour chaque ligne des scénarios qui n’est pas déjà présente dedans. Est-ce bien cela ?
@MartiSalty
Nous rencontrons un problème lors de l'ajout d'un item lié. Nous aimerions savoir pourquoi l'item pourquoi nous n'arrivons pas ajouter un item dans Argos.
Quel genre de problème ? Message d'erreur ? Code et messages de retour HTTP ?
@MartiSalty Quelle est la structure de votre linked_item ?
@gabyseg @LeonVongphanith @MartiSalty
Est-ce que vous avez noté la structure que ça doit avoir dans le document stocké ?
https://github.com/orgs/Hypertopic/teams/approche-par-competences-de-la-formation/discussions/26?from_comment=6#discussion-26-comment-6
Ce n'est pas la même structure que dans les vues : le champ a pour clef items (et non item) et sa valeur est une sorte de hashmap (plus compacte en stockage et plus efficace pour les recherches) :
"items":{"710a9531a5f6991321d3f27b637648c0cd5b7926":{"corpus":"Vitraux - Bénel"}}
@MartiSalty
Nous rencontrons un problème lors de l'ajout d'un item lié. Nous aimerions savoir pourquoi l'item pourquoi nous n'arrivons pas ajouter un item dans Argos.
Quel genre de problème ? Message d'erreur ? Code et messages de retour HTTP ?
Nous n'arrivons pas à ajouter une valeur à items de corpus. Nous n'avons pas non plus de message d'erreur. De plus, nous n'arrivons pas à effectuer des updates sur runkit.
@MartiSalty Quelle est la structure de votre
linked_item?
'linked_item' n'avait pas de structure mais nous avons pris note de votre dernier message.
De plus, nous rencontrons depuis cette après-midi soit une 'internal error' ou une 'TypeError: Cannot read property 'value' of undefined' sur nos tests de requête sur runkit.
@gabyseg @LeonVongphanith @MartiSalty
@MartiSalty J'ai un peu de mal à relier dans ma tête tous les messages pour avoir l'ensemble de l'histoire... Si j'ai bien compris, vous essayez de tester un bout de code à part (indépendant de Porphyry) qui crée (ou modifie ?) un item avec un item relié. C'est ça ?
Si c'est le cas pourriez-vous me mettre le code complet ?
Notez bien, si vous êtes en binôme sur ce ticket, qu'un autre étudiant peut s'occuper pendant ce temps de l'affichage de ces items reliés (l'un est indépendant de l'autre).
@Hypertopic/etudes-a-l-etranger-1
Bonjour,
Nous allons voir pour intégrer cette fonctionnalité dans le projet d'étude à l'étranger. Cela nous servirait à relier des matières entre elles. Par exemple, nous pourrions indiquer que des UEs en France possède des équivalents à l'étranger, et relier ces matières entre elles. De plus, nous pourrons lier des matières avec leur prérequis lorsqu'elles en ont.
@Hypertopic/competences-eut
Cette fonctionnalité est intéressante pour notre projet étant donné que nous avons deux items (UE et Compétences), cela nous permet de relier une UE avec ces compétences ou inversement.
Cette fonctionnalité est intéressante pour notre projet étant donné que nous avons deux items (UE et Compétences), cela nous permet de relier une UE avec ces compétences ou inversement.
@cedfre @Hypertopic/competences-eut Comme discuté ce matin, ce catalogue mixte UE/compétences correspondrait à une troisième approche (la première étant un catalogue des UE avec une catégorisation notamment par compétence, et la seconde étant un catalogue des compétences avec catégorisation entre autres par UE). Cette troisième approche n'est pas la plus facile à imaginer : je ne vois pas bien encore ce que seront les catégories dans un tel cas...
Pour le projet Graines d'artistes , l'idée est d'ajouter des liens de quelques tableaux dans la page d'afficher un tableau. L'idée est de permettre aux visiteurs de voir directement les tableaux de le même concours ou de le même thème annuel.