La classe %CSP.Login est la classe utilitaire fournie par InterSystems IRIS pour créer des pages de connexion personnalisées. Si vous souhaitez contrôler l'interface utilisateur d'authentification de votre application IRIS, vous devez étendre %CSP.Login et surcharger certaines méthodes en fonction de vos besoins. Cet article va détailler ces méthodes et ce que vous pouvez faire avec elles. En outre, vous obtiendrez une explication du mécanisme d'authentification déléguée fourni par la routine ZAUTHENTICATE.mac.
Salut les développeurs,
Obtenez une présentation d'InterSystems IRIS dans les différents rôles dans OAuth 2.0 et les menus de configuration de ces rôles. Regardez des démonstrations pratiques d'InterSystems IRIS dans ces rôles et voyez comment ils se connectent aux concepts OAuth 2.0 :
⏯ OAuth 2.0 en pratique avec les produits InterSystems au Global Summit 2023
Juste à temps pour la Saint-Valentin, nous vous montrons notre amour pour l'Adaptive Analytics ! InterSystems IRIS Adaptive Analytics version 2023.3 est désormais disponible sur la page InterSystems Software Distribution Cette version inclut AtScale 2023.
Dans cet article, je partagerai le thème que nous avons présenté lors du Global Summit 2023, dans la salle Tech Exchange. Moi et @Rochael.
Bonjour la communauté !
Nous avons publié une nouvelle version d'IrisApiTester. Il intègre plusieurs nouveautés telles que :
- Dépôts externes : nous avons ajouté la possibilité d'utiliser des collections d'un référentiel (GitHub ou Bitbucket) au lieu de faire glisser manuellement les fichiers de la collection vers votre page Web.
- Pull and Run : nous avons créé un nouveau point de terminaison qui extrait automatiquement les modifications du référentiel et exécute des tests.
- Tests unitaires/d'intégration : ajout d'exemples d'utilisation d'IrisApiTester dans les tests unitaires et d'intégration.
- CI/CD : nous avons ajouté de nouveaux points de terminaison pour les flux de travail tels que GitHub afin d'extraire automatiquement les modifications du référentiel de collection à chaque validation terminée, d'exécuter des tests et d'envoyer les résultats à Google Chat.
InterSystems FAQ rubric
Pour supprimer les produits InterSystems installés sur votre système Windows, utilisez Ajouter ou supprimer des programmes dans le Panneau de configuration (dans Windows 10, sélectionnez Apps dans les Paramètres Windows).
Comme nous allons apporter des modifications au système, vous devrez vous connecter en tant qu'utilisateur disposant de privilèges d'administrateur.
1) Connectez-vous au système en tant qu'administrateur.
Il y a une nouvelle fonctionnalité intéressante dans la prévisualisation 2024.1 récemment annoncée, JSON_TABLE. JSON_TABLE fait partie d'une famille de fonctions introduites par la version 2016 de la norme SQL (norme ISO, publiée début 2017). Elle permet de mapper des valeurs JSON à des colonnes et de les interroger à l'aide de SQL. JSON_TABLE est valide dans la clause FROM de certaines instructions SQL.
La syntaxe de JSON_TABLE est assez large, permettant des conditions exceptionnelles où les valeurs JSON fournies ne correspondent pas aux attentes, des structures imbriquées, etc.
InterSystems annonce la version de maintenance (MR) de Caché, Ensemble et Health Connect HSAP 2018.1.9. Il s'agit d'une version de maintenance avec de nombreuses mises à jour dans une grande variété de domaines.
Cache et Ensemble
Les kits d'installation complets du produit peuvent être téléchargés à partir du site Web de WRC Software Distribution :
Pour plus d'informations sur les corrections apportées à cette version, reportez-vous aux notes de modifications de la version
Salut la communauté,
Nous avons des nouvelles passionnantes! C'est l'heure du prochain concours de rédaction d'articles techniques InterSystems !
✍️ Concours d'articles techniques : Tutoriels InterSystems IRIS ✍️
Rédigez un article qui peut être considéré comme un tutoriel pour les programmeurs InterSystems IRIS de tout niveau : débutant/intermédiaire/sénior du 19 février au 17 mars 24 mars !
🎁 Des prix pour tous : Un prix spécial pour chaque participant au concours !
(4).jpg)
InterSystems FAQ rubric
Sous Linux, utilisez la commande iris pour exécuter une routine ou une méthode à partir d'un shell et obtenir la valeur de retour.
Pour plus d'informations, veuillez consulter le document "About Instance Connections".
Voici un exemple de commande.
iris terminal instname [arguments]La valeur de retour d'un script shell peut être spécifiée à l'aide d'une variable spéciale utilisant la méthode Terminate() de la classe %SYSTEM.
InterSystems FAQ rubric
Pour exécuter une sauvegarde en ligne à partir d'une commande, vous pouvez utiliser la routine API BACKUP^DBACK.
Voici un exemple de sauvegarde complète.
set status = $$ BACKUP ^DBACK( "" , "F" , "full backup" , "c:\backup\full.cbk" , "Y" , "c:\backup\full-log.log" , " NOINPUT" , "Y" , "Y" , "" , "" )La valeur de retour est 1 si la sauvegarde est réussie, et 0 si la sauvegarde échoue. Veuillez consulter le fichier journal pour plus de détails sur les échecs.
InterSystems FAQ rubric
Un outil (l'utilitaire ^GLOBUFF) est disponible pour vérifier l'utilisation du cache de la base de données pour chaque variable globale.
Vous pouvez exécuter l'utilitaire directement ou par programme dans l'espace de noms %SYS.
Voici comment exécuter l'utilitaire directement :
%SYS>do ^GLOBUFF
Find which globals are using the most buffers.
Display the top <25>: → Press Enter // Default is to display top 25 globals
Total buffers: 102400 Buffers in use: 6926 PPG buffers: 77 (1.
InterSystems FAQ rubric
La commande $ZF(-100) est utilisée suivant le format suivant.
$ZF(-100, flags, command name, command arguments)Le flag "/shell" est nécessaire pour exécuter les commandes du système d'exploitation.
Par exemple, utilisez mkdir comme suit :
// mkdir C:\temp\newdir
Write $ZF(-100, "/shell", "mkdir", "C:\temp\newdir")Si une commande a plusieurs arguments, mettez-les entre guillemets et séparez-les par des virgules, comme dans l'exemple ci-dessous.
// move C:\temp\a.txt C:\temp\a2.txt
Write $ZF(-100, "/shell", "move", "C:\temp\a.txt", "C:\ temp\a2.Bonjour à tous,
Je cherche le moyen de récupérer dans une globale le résultat de la commande ZW, est-ce possible ?
Pourquoi j'ai décidé d'écrire ceci
Dans mon dernier article, j'ai parlé du renvoi de valeurs avec Python. Mais les renvoyer est simple, ce qui peut rendre les choses plus difficiles, c'est ce dont je vais parler aujourd'hui : où la valeur est traitée.
Objet Python dans IRIS
En suivant l'exemple du dernier article, nous avons la méthode : objet dans IRIS
Class python.returnTest [ Abstract ]
{
ClassMethod returnSomething(pValue... As %String) As %Integer [ Language = python ]
{
return pValue
}
}Nous aurons ensuite en retour un objet Python, qu'IRIS interprète comme la classe %SYS.
Bonjour à tous,
Nous développons une application avec FrontEnd (angular) et BackEnd (objectscript Iris), nous utilisons l'identification intégrée grâce à la route /login fournie par %CSP.REST. Nous n'utilisons pas IAM, nous attaquons l'API directement.
Pour éviter les attaques automatisées, nous avons mis une temporisation sur le login (1s entre chaque tentative). Cela protège donc l'API dans le cadre de son utilisation via l'application.
Toutefois, cela ne protège pas complètement l'API, il est possible d'enchainer les logins avec postman sans délai entre les tentatives.
Lorsqu'il s'agit de créer une image d'IRIS, nous pouvons utiliser les fichiers merge.cpf.
Voici un exemple de merge.cpf :
[Actions]
CreateDatabase:Name=IRISAPP_DATA,Directory=/usr/irissys/mgr/IRISAPP_DATA
CreateDatabase:Name=IRISAPP_CODE,Directory=/usr/irissys/mgr/IRISAPP_CODE
CreateNamespace:Name=IRISAPP,Globals=IRISAPP_DATA,Routines=IRISAPP_CODE,Interop=1
ModifyService:Name=%Service_CallIn,Enabled=1,AutheEnabled=48
CreateApplication:Name=/frn,NameSpace=IRISAPP,DispatchClass=Formation.REST.Dispatch,AutheEnabled=48
ModifyUser:Name=SuperUser,PasswordHash=a31d24aecc0bfe560a7e45bd913ad27c667dc25a75cbfd358c451bb595b6bd52bd25c82cafaa23ca1dd30b3b4947d12d3bb0ffb2a717df29912b743a281f97c1,0a4c463a2fa1e7542b61aa48800091ab688eb0a14bebf536638f411f5454c9343b9aa6402b4694f0a89b624407a5f43f0a38fc35216bb18aab7dc41ef9f056b1,10000,SHA512
Suite à 2 webinaires locaux, nous avons mis l'accent sur VS Code ["Intro" et "Beyond Basics"; en hébreu], J'ai préparé pour les participants quelques liens vers des ressources pertinentes que nous avons envoyées en guise de suivi. Je les partage également ici pour le bénéfice de la Communauté.
Vous êtes bien sûr tous invités à ajouter d'autres ressources utiles.
Bonjour, j'ai besoin de faire un prompt de mots de passe sans afficher ce que l'utilisateur rentre avec le Terminal IRIS. Je veux utiliser la commande READ mais je ne suis pas sure si c'est possible avec.
Dans cet article, nous allons voir comment utiliser le service de messagerie instantanée WhatsApp depuis InterSystems IRIS pour envoyer des messages à différents destinataires. Pour ce faire, nous devons créer et configurer un compte dans Meta et configurer une opération métier pour envoyer les messages que nous souhaitons.
Examinons chacune de ces étapes plus en détail.
Créer un compte sur Meta
C'est peut-être le point le plus compliqué de toute la configuration, puisque nous devrons configurer une série de comptes jusqu'à ce que nous puissions avoir la fonctionnalité de messagerie.
InterSystems Rubrique FAQ
Sous Linux, suivez les étapes suivantes pour supprimer une instance d'InterSystems IRIS (ci-après dénommée IRIS).
(1) Arrêtez l'instance IRIS que vous souhaitez désinstaller à l'aide de iris stop
# iris stop <instance name>(2)Supprimez les informations de l'instance à l'aide de la commande suivante
# iris delete <instance name>(3) Supprimez le répertoire d'installation d'IRIS à l'aide de la commande rm -r
# rm -r <install directory>En plus du répertoire d'installation, IRIS utilise également (a) et (b) ci-dessous.
Django, un framework Web de haut niveau écrit en Python, est devenu un incontournable pour les développeurs à la recherche d'une solution robuste, efficace et facile à apprendre pour créer des applications Web. Sa popularité vient de sa polyvalence, offrant aux développeurs une boîte à outils efficace pour créer des applications Web. L'intégration de Django avec InterSystems IRIS introduit une synergie dynamique, offrant aux développeurs une solution complète de développement Web et de gestion de bases de données. C'est pourquoi sur le Portail des Idées, @Evgeny Shvarov a suggéré qu'avoir des Exemples pour travailler avec IRIS et Django serait bénéfique. Dans cet article, nous explorerons deux projets créés pour répondre à l'idée publiée —Django-iris par @Dmitry.Maslennikovet Iris-size-django par @Heloisa.Paiva.
Bonjour les développeurs,
Merci beaucoup d'avoir fait partie de l'écosystème des développeurs InterSystems pour une autre année !
Nous aimons que vous participiez à la vie de la Communauté des développeurs, de l’Open Exchange, des Global Masters et du Portail d’Idées.
Nous aimerions savoir à quel point nos portails vous sont utiles à ce stade. Veuillez prendre quelques instants pour nous faire savoir ce que vous pensez et ce qui pourrait être amélioré :
👉Enquête annuelle 2023 sur l'écosystème des développeurs InterSystems👈
.jpg)
Remarque : L'enquête prendra moins de 10 minutes et est en anglais.
Bonjour à tous,
Nous développons une application avec FrontEnd (angular) et BackEnd (objectscript Iris), nous utilisons l'identification intégrée grâce à la route /login fournie par %CSP.REST. Nous n'utilisons pas IAM, nous attaquons l'API directement.
Nous avons besoin de générer un traitement suite à un login qu'il soit réussi ou non (enregistrement dans une log applicative).
Nous avons essayé de créer une méthode Login dans notre classe d'API, avec un appel à super(), mais cela ne fonctionne pas car notre méthode n'est pas appelée par la route, qui appele Login de %CSP.Rest.
La nouveauté de la version 2023.3 (d'InterSystems IRIS for Health) est une fonctionnalité permettant d'effectuer une validation basée sur le profil FHIR.
(*)
Dans cet article, je vais fournir un aperçu de base de cette fonctionnalité.
Si FHIR est important pour vous, vous devriez absolument essayer cette nouvelle fonctionnalité, alors poursuivez votre lecture.
InterSystems Kubernetes Operator (IKO) 3.7 est désormais généralement disponible. IKO 3.7 ajoute de nouvelles fonctionnalités importantes ainsi que de nombreuses corrections de bugs. Les points forts incluent :
- Lors de l'utilisation d'IKO 3.7 avec IRIS 2024.1+, WebGateway peut s'authentifier auprès d'IRIS via TLS mutuel.
Bonjour,
Nous sommes confrontés à un problème sur notre environnement de pré-production, nous n'arrivons pas à corriger cette erreur qui n'apparait pas dans notre environnement local :
ERREUR <Ens>ErrGeneral: Failed to create instance of GESTION01.Prestataire.PostFusionIntervention BP 'Post Fusion Intervention' : ERREUR #5002: Erreur ObjectScript: OnInit+4^Grongier.PEX.BusinessProcess.1^2^ do ..%class."_dispatch_on_init"($this) *<class 'sqlalchemy.exc.OperationalError'>: (intersystems_iris.dbapi._DBAPI.OperationalError) Accès refusé (Background on this error at: https:Interagir avec les utilisateurs dans le terminal : Guide d'utilisation de %Library.Prompt dans IRIS
Vous êtes-vous déjà demandé comment des commandes telles que ^DATABASE interagissent avec les utilisateurs dans le terminal ? Ou peut-être écrivez-vous une routine d'automatisation et souhaitez-vous spécifier des options directement à partir du terminal. Heureusement, la classe %Library.Prompt d'IRIS offre un moyen simple de le faire !
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 :
ERREUR <Ens>ErrException: <FRAMESTACK>ProcessSearch+5^myDSO.operation.requeteLDAP.
Bonjour les développeurs !
Récemment, j'ai été impressionné par l'article de @Dan Pasco dans lequel il explique également comment il utilise les alias de terminal.
Les alias de terminal sont un outil très puissant pour les développeurs et les administrateurs système si vous avez souvent besoin d'appeler des expressions de terminal encombrantes et de les rendre plus courtes et plus propres. Voici le lien pour la documentation
de l'alias de terminal .
Mais qu'en est-il des environnements Docker ? Que faire si vous êtes fan des environnements de développement Docker mais que vous souhaitez continuer à utiliser vos alias préférés avec Docker ?
Il s'avère que c'est tout à fait possible.

