ORDA: Nommer les liens en structure

4D ne sauvegarde pas un nom de lien copier-coller directement dans l’interface:

[]27654365;“Nommer les liens…”[/]

Normal ? Bug :?:

Pire, il affiche cette erreur :

[]27654369;“C’est quoi ce message ?”[/]

si on met le meme nom en lien aller et en lien retour; sauf que, là, il laisse le mauvais nom en place et le sauvegarde… :evil:

Testé en 4D v17.0 build 17.230889 en 32 bit Fr sous macOS 10.14.2.

Pas évident à reproduire, ton truc ; j’arrive à avoir le doublon affiché (mais comment y suis-je arrivé ???) :
[]27654765;“Your comment here…”[/]
mais si je quitte relance il n’est plus là…

Par contre je peux donner le même nom à des liens de la même table :
[]27655200;“Your comment here…”[/]
Madame Orda va s’y retrouver, ou je rate un truc ?

Plus subjectif : je trouve déprimant de renommer mes liens dans cet interface palette.

: Arnaud DE MONTARD

Plus subjectif : je trouve déprimant de renommer mes liens dans cet
interface palette. Et si en plus le copier-coller ne marche pas… :cry:

Concrètement ma user story c’est : quand tu codes en ORDA sur une ancienne base et que t’as besoin d’utiliser un lien tu copies-colles le nom que tu inventes à la volée dans ton code et tu vas le modifier seulement à ce moment là en structure (je passe sur le fait que tu doives redémarrer 4D pour tester ton code… :twisted:) Je vais pas m’amuser à renommer en lot tous mes liens pour le plaisir (si on peut appeler cela un plaisir cette corvée :roll:)

Aaaah les joies d’une interface qui date d’y a 20 ans… :mrgreen:

Le code a eu droit à sa mise à jour (ORDA), il reste à remanier l’interface qui va avec :pray:.

: Manuel PIQUET

le nom que tu inventes à la volée dans ton code
Ha oui, marrant… Mais quand on est plusieurs à coder, c’est intenable, ne serait-ce qu’à cause du redémarrage. Et puis j’ai dans l’idée qu’un nommage qu’on pourra difficilement changer après coup mérite mûre réflexion (enfin, surtout pour moi qui ai coutume de créer des noms tout pourris). En clair, je suis parti à l’opposé : lister tous les liens, les nommer hors 4D, puis la corvée.

: Manuel PIQUET

Aaaah les joies d’une interface qui date d’y a 20 ans… :mrgreen:
Rhôoo, tu exagères, la structure date de ce siècle (v11).

Reste que c’est pas ergonomique pour un brin. En plus j’ai l’impression que la saisie est conservée à la vitesse du vent, des fois je reviens sur un nom que j’ai saisi, je retrouve l’ancien. Cette @#&$* palette a l’air de communiquer quand elle a envie avec le serveur, en client (très) distant c’est une calamité.

Quelle est la limite de longueur de nom de relation ?

Bon, soyons rationnels :
a/ palettes 4D = j’aime pas
b/ gilet jaune = brûler palettes
a&b/ => enfiler gilet jaune et en prendre prétexte pour brûler palettes 4D

C’est bizarre, ayant fait le travail hors 4D, tu as donc eu le mérite de tout retaper à la main les noms des liens car le copier-coller dans la palette ne fonctionnant pas… Bravo, quel courage :pray:

J’avoue, je suis un soliste (mais qui dit inventer le nom à la volée, ne veut pas forcement dire mettre n’importe quoi sans réfléchir. Mais, c’est quand même une tache compliquée. Ça serait sympa de nous faire un petit article sur le blog pour nous donner des pistes de nommage de lien :idea:

Wakanda nous propose un système de nomage des liens qui me paraît être une bonne piste et rend la lecture logique et explicite.

Par exemple : avec une table Employee et une table Company

Le lien de la table Employee vers Company = company (Many to One)

Le lien de la table Company vers Employee = allEmployees (one to many)

Merci pour cette info; j’aime bien la 2ème façon avec le “all” devant mais pour le premier, est-ce que le seul fait de changer la capitale suffit ? cela ne rend il pas plus difficile la lecture ou le risque d’erreur ?

:idea: 4D pourrait-il pas nous proposer un outil de renommage automatique des liens d’une structure existante sur cette base ?

Le lien de la table N vers 1 = X+Nom de la table 1 (Many to One) avec X choisissable par exemple
Le lien de la table 1 vers N = X+Nom de la table N (one to many) avec X = “all” ou autre

Dommage que je ne connaisse pas wakanda ; ça me plait vachement (surtout que ça ressemble à ce que j’ai commencé à faire hier :wink: )
Si j’ai cette relation :
• [facture]FK_client -> [client]PK (toutes mes clés primaires/reportées sont nommées comme ça)
je nomme les liens comme ça :
• “client_P” le lien aller (vers la primary key => N vers 1)
• “facture_F” le lien retour (vers la foreign key => 1 vers N)
Ça fait “technique”, mais je préfère cela à alterner singulier/pluriel pour faire semblant de parler français à une machine. Ça m’évite surtout les nœuds au cerveau pour des tables dont le nom est déjà un pluriel, termine déjà par “s”, prend un “x” au pluriel, commence déjà par “tous / les / all”, etc.

Pour en revenir à l’ergonomie, heureusement qu’on ne renomme qu’une fois. J’ai bidouillé http://forums.4d.com/Post/FR/24944477/1/26339147#26339147ce truc> pour que, quand je double clic une relation, le nom à coller dans la structure qui s’affiche soit prêt dans le presse papier.

Bonjour,

Effectivement, actuellement, il est possible de donner des noms de liens identiques sur une même table.
C’est à ne pas faire.
De même que donner au lien le nom d’un champ de la table.

Nous avons pris note de ce point. Merci de nous l’avoir signalé.

: Marie-Sophie LANDRIEU

Effectivement, actuellement, il est possible de donner des noms de
liens identiques sur une même table.
C’est à ne pas faire.

Juste pour info : les liens sur une ancienne base convertie ONT le même nom !!!

[]27666425;“Ce n’est pas moi qui ai nommé ainsi les liens…”[/]

Arnaud, je ne pige pas comment tu l’utilises ton nom dans ton presse papier vu que le copier-coller ne fonctionne PAS… :roll:

: Manuel PIQUET

C’est bizarre, ayant fait le travail hors 4D, tu as donc eu le mérite
de tout retaper à la main les noms des liens car le copier-coller
dans la palette ne fonctionnant pas… Bravo, quel courage :pray:
Non, ça c’est du masochisme :lol:
Je me suis mal exprimé, j’ai http://forums.4d.com/Post/FR/24944477/1/26339147#26339147de quoi tout voir> et de là j’essaie de trouver la solution la moins fatigante. Comme dit dans le message précédent, ce même outil me permet d’afficher sur double clic le champ N et de placer un texte prêt à coller dans le presse papier, pour le lien aller ou le retour, selon où j’ai double cliqué. Je ne devrais pas dire hors 4D, donc, mais avec des trucs que je me suis fait en 4D.

Pardon, mais j’ai toujours pas saisie où tu colles ton nouveau nom de lien ?

Non, tu extrapoles : TON coller à toi ne marche pas mais MON coller à moi, y marche.

(et ce malgré une palette qui, en distant, me fatigue énormément)

: Manuel PIQUET

Pardon, mais j’ai toujours pas saisie où tu colles ton nouveau nom de
lien ?
a/ je double clique le lien à renommer dans flatStructure ; si c’est le champ départ, je mets dans le presse papier un nom de lien aller, sinon un nom de lien retour
b/ le double clic affiche et sélectionne le champ N en structure ; je clique sur la petite bouboule à coté (départ du lien), la palette propriété affiche les caractéristiques du lien
c/ je colle le nom de lien aller ou retour selon a/

C’est plus clair ?

Je viens de retester sur une base vierge avec la version 4D v17.0 build 17.230889 sous macOS 10.14.2 que ce soit en 32 ou 64 bit lorsque je teste de coller un nom de lien dans la palette 4D le nom n’est pas sauvegardé lorsque je ferme puis réouvre la palette sur le lien… :evil: :twisted: :razz:

: Marie-Sophie LANDRIEU

Effectivement, actuellement, il est possible de donner des noms de
liens identiques sur une même table.
Bonjour Marie-Sophie,
je ne suis pas sûr de comprendre “sur une même table”…

Je vais prendre un exemple, ce sera plus facile (pour moi, du moins), avec cette structure :
facture -> client * nom lien aller = “client_1” * nom lien retour = “facture_N”
employe -> client * nom lien aller = “client_1” * nom lien retour = “employe_N”

Si j’ai une dataclass.query qui pose comme “point de départ” de la requête facture, il me semble qu’il n’y a pas d’ambiguïté possible sur le nom de lien “client_1” dans la requête, c’est forcément de facture -> client qu’il s’agit.

Bonne interprétation ?

C’est peut-être le fait de la fermer (la palette, je veux dire, pas toi :lol: ).
Après le coller, en général je tabule, je clique un autre truc en structure, etc.
Et je bosse de préférence avec la R2 en 64 bits (surtout pour ça).