Hypertopic / Porphyry

Corpus analyses confrontation
https://hypertopic.org/porphyry
GNU Affero General Public License v3.0
21 stars 165 forks source link

Create a bidirectional link between two items #188

Open RobinLallier opened 5 years ago

RobinLallier commented 5 years ago

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

Phase 2

Phase 3

RobinLallier commented 5 years ago

Mock-up attached :

Capture d’écran 2019-06-20 à 08 57 14 Capture d’écran 2019-06-20 à 08 57 01
benel commented 4 years ago

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.

Damien71 commented 4 years ago

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.

hebertquentin commented 4 years ago

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.

benel commented 4 years ago

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).

hebertquentin commented 4 years ago

@benel Des vases*

Hum... Je pense supprimer cette carte alors. J'avais mal compris la fonctionnalité.

benel commented 4 years ago

@hebertquentin Vous pouvez laisser votre commentaire, ça rendra peut-être service à d'autres équipes pour ne pas faire la même erreur.

Gaetanherry commented 4 years ago

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

benel commented 4 years ago

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.

ChloeChamaillard commented 4 years ago

Projet Approche par compétences de la formation : Lien entre UE qu'il faut déjà avoir fait pour en faire une autre

ShovelBear commented 4 years ago

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

benel commented 4 years ago

@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.

ChloeChamaillard commented 4 years ago

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).

ChloeChamaillard commented 4 years ago

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

benel commented 4 years ago

@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).

ChloeChamaillard commented 4 years ago

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

ChloeChamaillard commented 4 years ago

image

Les liens se trouveront au dessus des commentaires dans une section "Voir aussi".

benel commented 4 years ago

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 ?

ChloeChamaillard commented 4 years ago

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.

MartiTM commented 4 years ago

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

ChloeChamaillard commented 4 years ago

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 ?

benel commented 4 years ago

@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 ?

benel commented 4 years ago

@MartiSalty Quelle est la structure de votre linked_item ?

benel commented 4 years ago

@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"}}
MartiTM commented 4 years ago

@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

benel commented 4 years ago

@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).

ThomasRitaine commented 3 years ago

@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.

cedfre commented 3 years ago

@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.

benel commented 3 years ago

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...

therealdarkflamemaster commented 3 years ago

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.

benel commented 3 years ago

@therealdarkflamemaster @Hypertopic/graines-d-artistes-1

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.

Notez que les liens bidirecetionnels sont de 1 à 1... Pour faire ce que vous ditez, pour 100 dessins, il vous faudrait 99+98+...+1 liens. Si je me souviens bien de mes cours de maths, ça fait 5000. En tout cas ça fait beaucoup de liens... Ce n'est visiblement pas la bonne manière de faire.

La manière la plus évidente pour faire ce que vous dites est d'avoir la même valeur d'attribut ou la même catégorie. Ces fonctionnalité existent déjà.

On voit qu'il est important de réfléchir d'abord à comment utiliser les fonctionnalités existantes avant de voir ce qu'il manque. Dans ce cas précis, d'ailleurs, la catégorie à laquelle vous avez pensé a déjà été mise dans votre preuve de concept par les étudiants de l'an dernier. Il s'agit de ce qu'ils ont appelé les "thèmes annuels" (le concours a en effet un sujet différent chaque année).

Capture d’écran 2021-03-17 à 06 55 28

Les étudiants de l'an dernier avaient d'ailleurs déjà pensé à cette catégorie (thème annuel)

therealdarkflamemaster commented 3 years ago

Merci pour votre réponse.

On voit qu'il est important de réfléchir d'abord à comment utiliser les fonctionnalités existantes avant de voir ce qu'il manque. Dans ce cas précis, d'ailleurs, la catégorie à laquelle vous avez pensé a déjà été mise dans votre preuve de concept par les étudiants de l'an dernier. Il s'agit de ce qu'ils ont appelé les "thèmes annuels" (le concours a en effet un sujet différent chaque année).

En fait, ce que j'ai envisagé est d'ajouter les autres tableaux du même "thèmes annuels" en format image dans un endroit de la page. Par exemple : 微信截图_20210317104717

benel commented 3 years ago

@therealdarkflamemaster @Hypertopic/graines-d-artistes-1

En fait, ce que j'ai envisagé est d'ajouter les autres tableaux du même "thèmes annuels" en format image dans un endroit de la page.

C'est intéressant, mais du coup ce serait un autre ticket.

Notez par ailleurs que le logiciel ne peut pas savoir quelle catégorie vous intéresse. Il faudrait tenir compte de toutes les catégories (l'une après l'autre, ou mélangées). Ce serait en fait l'union de tous les items correspondant à toutes les catégories.

Point importants à approfondir lors du maquettage :

therealdarkflamemaster commented 3 years ago

@Hypertopic/graines-d-artistes-1

  • La zone des items ayant le même nom n'est pas représentée sur votre maquette. Votre zone est-elle dessus ou dessous ? Y a-t-il la place des deux ?

Je voudrais placer cette zone seulement dans la page présentant un item/tableau ( la page qui a une zone Description). Dans ce cas, normalement, le tableau présenté est plus grand que la zone Description en gauche. Je trouvais que l'on peut placer la zone items liés en dessous. Exemple : 微信截图_20210323164347

  • Les images ne sont pas représentées sur votre maquette. Si elles l'étaient, comment éviter la confusion visuelle entre les deux ?

Je pense qu'il est possible de faire un filtrage complètement en Front-End, réalisé en JS. Au cas où il y a trop d'items dans un catégorie, on peut arrêter le filtrage quand on a obtenu les 3 premiers items.

  • Vous mettez des points de suspension, mais justement, que se passe-t-il quand il y a beaucoup d'items ?

Je pense qu'il vaut mieux d'avoir 3 items maximum. Quand il y a beaucoup d'items, on peut choisir les 3 premiers items.

  • Le titre indique "Tableaux liés". Attention, le logiciel est générique : il n'est pas fait que pour des tableaux.

Bien entendu.

benel commented 3 years ago

@therealdarkflamemaster @Hypertopic/graines-d-artistes-1

La zone des items ayant le même nom n'est pas représentée sur votre maquette. Votre zone est-elle dessus ou dessous ? Y a-t-il la place des deux ?

Je voudrais placer cette zone seulement dans la page présentant un item/tableau ( la page qui a une zone Description). Dans ce cas, normalement, le tableau présenté est plus grand que la zone Description en gauche. Je trouvais que l'on peut placer la zone items liés en dessous.

Je viens de comprendre pourquoi on ne se comprenait pas. En fait, comme dans votre site il n'y a pas d'items portant le même nom, vous ne voyez pas la zone correspondante. Par contre, elle apparaît dans d'autres sites :

Capture d’écran 2021-03-24 à 09 45 21

Comme votre fonctionnalité doit marcher sur tous les sites, il faudra quand même décider de placer votre zone dessus ou dessous la zone existante.

benel commented 3 years ago

@therealdarkflamemaster @Hypertopic/graines-d-artistes-1

Et n'oubliez pas de créer un autre ticket pour votre fonctionnalité puisque ce que vous prévoyez de faire ne correspond pas au lien bidirectionnel entre deux items.

TheoHoenen commented 3 years ago

Maquette fait avec @Antoine-thz. Ces maquettes permettent de visualiser la fonctionnalité "create a bidirectional link between two items". Nous avons illustré cela avec le liens bi directionnels entre les Itemps "UE". Une UE peut être pré requis d'une autre UE . Une UE peut être également une approfondissement d'une autre UE de sorte que si A est pré-requis de B alors A sera approfondissement de B

unknown2 unknown

benel commented 3 years ago

@TheoHoenen @Antoine-thz

Merci de cette nouvelle maquette.

TheoHoenen commented 3 years ago

Nous avons refait la maquette pour la création d'un lien bi directionnel ( Fait avec @Antoine-thz )

image

Il faut tout d'abord cliquer sur le bouton " + Ajouter un lien bi directionnel"

image

Ensuite rentrer les deux matières concernés par le lien en respectant l'ordre indiqué par la flèche

image

Puis valider

image

benel commented 3 years ago

Merci pour cette nouvelle maquette @TheoHoenen @Antoine-thz.

Vous avez effectivement besoin de saisir deux données complémentaires :

Une fois ce problème réglé, vous vous trouvez face à un autre problème : NF04 n'est qu'un nom, pas un identifiant... Si vous le tapez dans un champ de recherche, vous aurez possiblement plusieurs réponses. Il faudrait donc arriver à les distinguer, soit grâce à un identifiant (certains sites parlent "d'ADN" de l'objet) soit grâce à d'autres attributs (en espérant qu'il y en ait d'autres et qu'ils soient suffisamment différents).

antoinethz commented 3 years ago

Sans titre — 10 juin à 17 22 13

Nouvelle maquette pour la création du lien bidirectionnel avec @TheoHoenen

benel commented 3 years ago

Merci @Antoine-thz et @TheoHoenen.

L'idée de créer aussi des liens ayant non pas pour origine mais pour destination la page courante est intéressante mais elle pose de nouveaux problèmes. Je vous conseille d'en faire un autre ticket.

Rappelons les problèmes de conception à résoudre :

OK ?

majestyck commented 3 years ago

@benel Voici notre stratégie d'implémentation réalisée avec @maxpid pour cette fonctionnalité. Nous nous sommes d'avantage penchés sur le front-end et avons commencé à réfléchir au back-end. Nous attendons votre premier retour pour finaliser la partie backend.

La stratégie d’implémentation doit répondre aux points suivants :

  1. Il doit être possible de renseigner 2 étiquettes : celle de l’item actuel et celle de l’item de destination (ex : pour NF04 / NF05 → étiquette pré requis pour NF05 et étiquette cours suivant pour NF04)
  2. Afficher un InputWithSuggestions pour permettre de renseigner l’item de destination
  3. Afficher un bouton valider qui ajoutera l’attribut au clic si tout est bien valide
  4. récupérer la liste de tous les items (id et nom) afin de les afficher dans le InputWithSuggestions

Pour répondre à ces différents points, nous avons pensé aux stratégies de développement suivantes :

Tout d’abord, il faudra recréer un nouveau component React que l’on pourra nommer BidirectionnalLink.jsx

Ce composant react sera appelé dans Item.jsx au même endroit que les viewpoints Les étiquettes

On aura tout simplement 2 inputs sans aucunes suggestions avec comme placeholders :

On pourra utiliser le code suivant :

<div class="d-none d-sm-block"><form class="AttributeForm input-group inactive">
    <div class="attributeInput">
        <input id="new-attribute" class="form-control" placeholder="Renseigner l'étiquette de l'item actuel" type="text" value="">
    </div>
</form>
</div>

L’input avec les suggestions

Pour implémenter les inputs permettant de choisir les différents items, on pourra réutiliser le composant InputWithSuggestions

<div className="d-none d-sm-block">
  <InputWithSuggestions candidates={candidates}
    onSuggestionSelected={this.onSuggestionSelected}
    inputProps={inputProps}
    id={this.props.id}
  />
</div>

Les candidats seront récupérés avec le point 4.

Le bouton valider

On aura un bouton pour valider l’ajout, on pourra utiliser ce code suivant : <button type="button" className="btn btn-sm ValidateButton btn" onClick={() => {gestion du backend} qui s’occupera de vérifier que tout est OK et d’ajouter l’attribut si c’est bon

Récupérer la liste des items

Afin de permettre d’avoir un input avec des suggestions, on doit récupérer la liste des items pour la renseigner en tant que candidates dans le composant InputWithSuggestions. On pourra utiliser le code suivant :

  attributesCandidates = memoize(
    (items) => new Items(
      items
    ).getAttributes()
      .map(([key, value]) => key.concat(' : ', value))
      .map(x => ({id: x, name: x, type: 'attribute'}))
  );
benel commented 3 years ago

Merci pour cette première version de votre stratégie d'implémentation @dutoural et @maxpid

Il doit être possible de renseigner 2 étiquettes : celle de l’item actuel et celle de l’item de destination (ex : pour NF04 / NF05 → étiquette pré requis pour NF05 et étiquette cours suivant pour NF04)

Sur ce point, j'ai déjà dit aux autres binômes ayant travaillé sur ce ticket de ne prévoir qu'une seule étiquette et par contre d'indiquer dans l'interface dans quel sens on doit la lire.

Certes on aurait pu le concevoir différemment, mais ce n'est pas vous qui durant les 10 prochaines années devra expliquer ce qu'est une relation converse aux usagers. Déjà les étudiants en informatique ont parfois du mal à comprendre, alors je ne vous dis pas pour des personnes d'autres domaines...

OK ?

Afficher un InputWithSuggestions pour permettre de renseigner l’item de destination

Tout à fait.

Tout d’abord, il faudra recréer un nouveau component React que l’on pourra nommer BidirectionnalLink.jsx

Je n'ai pas compris si vous parliez du composant qui correspond à la primitive au singulier ou au pluriel. Je m'explique : si vous regardez la plupart des autres composants à gauche de la page des items : le composant au pluriel contient :

J'ai l'impression que vous aviez oublié d'afficher les liens existants, je me trompe ?

Afin de permettre d’avoir un input avec des suggestions, on doit récupérer la liste des items pour la renseigner en tant que candidates dans le composant InputWithSuggestions. On pourra utiliser le code suivant : (...)

C'est effectivement avec InputWithSuggestions et vous pouvez effectivement vous inspirer de son usage pour les attributes... mais aussi son usage pour les topics : cela vous permettra de monter en généralité. Car dans votre cas, ce ne seront pas des attributs mais des liens. La structure des données ne sera pas strictement la même.

(nous) avons commencé à réfléchir au back-end. Nous attendons votre premier retour pour finaliser la partie backend.

Notez bien qu'une première ébauche est déjà implémentée notamment son caractère bidirectionnel. Par contre, il n'y avait pas encore d'étiquette.

Je peux me charger d'ajouter la gestion de l'étiquette dans le backend. Par contre, il faudra que vous éclaircissiez la manière dont :

D'accord ?

benel commented 3 years ago

vous récupèrerez les données (en fait vous les avez déjà

On voit ici le lien entre SNZ 006 (à l'écran) et SM 008 dans les données du corpus (chargées par cette page) :

Capture d’écran 2021-06-16 à 20 00 33
majestyck commented 3 years ago

@benel Je suis d'accord avec vous pour l'ensemble des remarque sauf peut-être une.

Je ne vois pas comment à l'aide d'une seule étiquette il sera possible de généraliser les étiquettes à d'autres sujets que les matières. Certes il est très facile de mettre cours suivants / cours prérequis mais qu'en est-il pour des vitraux ou autres ? J'aimerai avoir votre avis avant de rédiger la stratégie d'implémentation finale

Edit :

Je n'ai pas compris si vous parliez du composant qui correspond à la primitive au singulier ou au pluriel.

Nous parlions du composant qui correspond à la primitive au singulier à l'instar de Resource.jsx ou encore Attribute.jsx

benel commented 3 years ago

@dutoural

Je ne vois pas comment à l'aide d'une seule étiquette il sera possible de généraliser les étiquettes à d'autres sujets que les matières. Certes il est très facile de mettre cours suivants / cours prérequis mais qu'en est-il pour des vitraux ou autres ? J'aimerai avoir votre avis avant de rédiger la stratégie d'implémentation finale

Je pense que vous n'avez pas compris ce que je disais. Voici un diagramme de classe du modèle dont je vous parle : Hypertopic link

Est-ce plus clair ? Ou avez-vous besoin d'exemples ?

benel commented 3 years ago

En modèle relationnel ça donne ceci :

link(origin, label, destination) 

Exemple :

link('NF05'`, 'prérequis', 'NF04')

Bien entendu on peut le lire dans les deux sens :

Donc que sur la fiche de NF05, on aura :

prérequis> NF04

Et sur la fiche de NF04, on aura :

<prérequis NF05
majestyck commented 3 years ago

D'accord c'est plus clair. Merci. Je vais réécrire la stratégie pour coller à cela

TheoHoenen commented 3 years ago

done with @Antoine-thz

Création du lien dernière maquette

Affichage du lien crée dernière maquette 2

@benel