Bonjour a tous,

Dans le cadre d'un projet, j'ai mis en place à l'aide de quelques classes objectscript une solution de tests d'integration.

Son principe est basique, les tests sont rassemblés dans des suites elles mêmes incluses dans un fichier par classe ou ensemble de classes testé.

Mon outil m'affiche à l'écran le bon passage des tests et utilise des séquences d'échappement terminal pour mettre en exergue les échecs (écriture en rouge) .

Mon souci est maintenant que j'aimerai obtenir les résultat dans un fichier tcommunicable à mon client.

0 4
0 43
La communauté des développeurs d'InterSystems compte 23,473 développeurs incroyables
Ici, les programmeurs d'InterSystems IRIS apprennent et partagent, se tiennent informés, évoluent ensemble et s'amusent !
import os

# Récupérer les variables d'environnement
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_namespace = os.getenv('DB_NAMESPACE')
db_username = os.getenv('DB_USERNAME')
db_password = os.getenv('DB_PASSWORD')

# Créer une connexion à la base de données
conn = irisnative.createConnection(db_host, db_port, db_namespace, db_username, db_password)

# Créer une instance IRIS à partir de cette connexion
iris_native = irisnative.createIris(conn)

status = iris_native.classMethodValue('%SYSTEM.OBJ', 'Load', 'Production.cls', 'ck')

if status == 1:
1 4
1 98

Actuellement, les privilèges SQL (SELECT, INSERT, UPDATE, DELETE) sont gérés au niveau des tables, ce qui peut s'avérer très fastidieux lorsque vous devez administrer de nombreux rôles dans une organisation et les synchroniser avec des modèles de données en constante évolution.
En gérant les privilèges au niveau des schémas, cela permettra d'accorder des privilèges SELECT et d'autres privilèges DML à *tous* ou *plusieurs schémas* à un rôle|utilisateur, corrigeant ainsi le besoin de synchroniser manuellement les nouvelles tables|vues avec les rôles.

1 4
0 71

Si Iris propose bien de créer des clés suivant une séquence, comment faire pour obtenir un n° séquentiel dans un autre contexte ?

Dans mon cas, je créé automatiquement des centres de soins, et je souhaite leur fixer une numéro du type :

APP-DD-999

  • APP = Nom de l'application utilisée par le centre
  • DD = n° du département du centre
  • 999 : n° séquentiel dans le département

Il est bien sur possible que des centres soient créés de manière concurrente, il faut donc gérer cette concurrence éventuelle.

3 4
0 71

Salut tout le monde !

Ce n'est pas un secret qu'InterSystems Global Masters Advocate Hub est connecté à la communauté des développeurs via l'API. Lorsque vous faites une contribution à DC, cela vous rapporte des points et des badges sur Global Masters.

Nous avons préparé un petit guide sur la meilleure façon de gagner des points sur Global Masters :

COMMENT GAGNER DES POINTS SUR LES GLOBAL MASTERS

Chaque article publié sur Developer Community

Article publié sur DC ES / PT / JP / CN / FR

200
400

1er commentaire sur DC / Chaque commentaire*

Commentaire sur DC ES / PT / JP / CN / FR

300 / 30

60

1ère réponse marquée comme acceptée / Chaque réponse acceptée

1 000 / 150

Traduction d'un article / d'une question

150 / 30

Publier 1 / 5 / 10 / 25 / 50 articles sur DC

1 500 / 7 500 / 15 000 / 40 000 / 75 000

Publier 1 / 5 / 10 / 25 / 50 questions sur DC

500 / 2 000 / 5 000 / 15 000 / 30 000

Chaque application sur Open Exchange
Points bonus pour chaque application ZPM
Publiez 1 / 5 / 10 / 25 applications sur
Open Exchange

800
400

1 000 / 10 000 / 25 000 / 75 000

1 / 5 / 10 / 25 / 50 réponses acceptées sur DC

1 000 / 4 000 / 8 000 / 20 000 / 40 000

Vos articles DC ont recueilli 750+ / 2000+ / 5000+ / 15000+ vues

600 / 2 500 / 7 000 / 20 000

Lire un article sur DC
Regarder la vidéo

Partager un article/vidéo sur les réseaux sociaux

10
20
40

Rédigez 1 / 2 / 3 / 4 / 5 articles avec la balise Meilleures pratiques

1000 / 3000 / 7000 / 10 000 / 15 000

50 / 100 / 250 / 500 / 1000 téléchargements de votre application sur Open Exchange

2 500 / 5 000 / 7 500 / 12 500 / 25 000

Donnez votre avis sur InterSystems / les produits d'InterSystems

2 000 - 3 000

Invitez votre collègue à la communauté des développeurs

600

Créez une vidéo sur votre application OEX 3000

*n'a compté que les commentaires publiés après l'inscription sur le Global Masters Advocate Hub.

1 4
0 102

Bonjour la communauté !

Nous avons décidé de lancer une nouvelle rubrique passionnante pour rendre vos visites sur la Communauté encore plus enrichissantes. Ainsi, chaque vendredi, nous sortirons de la communauté, trouverons quelque chose d'intéressant lié à la technologie pour vous permettre de lire et d'élargir vos horizons, et créerons un court résumé pour vous donner un avant-goût d'un article complet ! N'est-ce pas excitant?

4 4
0 147

Salut la Communauté !

Je suis exaltée à vous annoncer qu'InterSystems va prendre part dans le Hacking Health Camp 2023 - la 10ème édition, le plus grand hackathon santé au monde !

Hacking Health Camp est un événement d’innovation en santé numérique qui permet de transformer les idées pour répondre aux problématiques du quotidien en prototypes fonctionnels en 3 jours.

📅 Dates: vendredi 24 mars à partir de 13h jusqu’au dimanche 26 mars vers 18h

📌 Lieu : Faculté de médecine de Strasbourg (4 rue kirschleger, 67000 Strasbourg)

4 4
0 126
Article
· Déc 21, 2023 4m de lecture
Gagner du temps avec ChatGpt

Je reprends ici une expérience vécue qui m'a fait changer ma manière d'aborder le développement d'une fonctionnalité nouvelle pour moi.

Dans le cadre d'un projet, je devais générer un fichier excel assez complexe (rapport avec des variables calculées sur différents intervalles de temps et sur des ensembles dépendants d'un contexte).

2 3
0 69

Je recherche dans DBeaver un moyen efficace permettant de filtrer les tables systèmes (ex: appartenant à un schéma commençant par "%").

En utilisant un utilisateur possédant le rôle %All, DBeaver nous affiche une longue liste de schémas systèmes, qui nous oblige à descendre la liste avant d'accéder aux tables utilisateurs.

En créant un utilisateur dans IRIS avec des droits restreints permet de réduire cette liste, mais on perd l'intérêt du rôle %All.

1 3
0 396
Question
· Oct 24, 2023
Stream dans un objet dynamique

Bonjour,

J'ai un petit soucis je souhaite renvoyé via une API REST des données IRIS mais j'ai une erreur sur le renvoi de données de type Stream.GlobalBinary, j'essaie de faire un "CopyFrom" via $METHOD mais je récupère un "INVALID OREF" :

2 3
1 88
Article
· Avr 27, 2024 3m de lecture
Recherche vectorielle géographique #2

Surprises techniques à l'aide de VECTORs

La construction de mon exemple technologique m'a permis de faire un certain nombre de découvertes que je souhaite partager.
Les premiers vecteurs que j'ai touchés sont apparus avec l'analyse de texte et plus de 200 dimensions.
Je dois avouer que je me sens bien dans le monde à 4 dimensions d'Einstein.
Les 7 à 15 dimensions qui peuplent la théorie des cordes dépassent quelque peu la frontière.
Mais 200 et plus, c'est définitivement bien au-delà de mon horizon mathématique.

Ndt : Je partage avec Robert la difficulté d'abstraction pour un grand nombre de dimensions, ce qui pour moi, rend l'exemple suivant très pertinent

2 3
0 50
Question
· Oct 17, 2023
Dézipper avec objectScript

Bonjour,

Je cherche à dézipper un fichier zip que je récupère via HTTP avec ObjectScript.

Je récupère de ma requête HTTP un %Stream.GlobalBinary, et via mon BusinessOperation, je crée le fichier Zip.

J'aimerais savoir s'il y a une méthode pour dézipper directement le %Stream.GlobalBinary et avoir le dossier dézipper en sortie ?

Ou sinon quelle méthode permet de dézipper un fichier Zip en ObjectScript ?

Merci d'avance pour votre aide

1 3
0 74

Je me demande si je suis au bon endroit pour poser ma question. En tant que représentant de notre succursale française d'une entreprise-mère basée aux États-Unis, j'ai été chargé de télécharger la documentation InterSystems pour la gestion de nos finances. Cependant, je dois admettre que je trouve la documentation difficile à comprendre en raison de mon niveau d'anglais médiocre.

1 3
0 57
Question
· Jan 17, 2024
Requête LDAP

Bonjour,

je dois faire une requête LDAP pour récupérer des infos sur une équipe spécifique d'employés. J'ai un service custom qui instancie un message de type EnsLib.LDAP.Message.Search avec un filtre correspondant à la recherche et qui le redirige vers une opération de type EnsLib.LDAP.Operation.Standard. Je ne récupérais pas d'erreur mais pas de résultat non plus. J'ai donc créé une opération qui hérite de EnsLib.LDAP.Operation.Standard et j'ai surchargé la méthode pour récupérer qqch. Je récupère ceci :

0 3
1 111

Est-il prévu que LOAD DATA prenne en compte plusieurs formats de DATE/DATETIME avec, par exemple un paramètre de indiquant le format utilisé dans les données sources ?

exemple :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
2 3
0 82