Bonjour,
J'essaie de trouver le code source de la routine WRITE et je n'y arrive pas.
Pourriez vous m'aider ?
Cordialement,
Alin C Soare.
InterSystems ObjectScript est un langage de script permettant d'opérer avec des données en utilisant n'importe quel modèle de données de la plateforme de données InterSystems (objets, relationnel, clé-valeur, document, globales) et de développer une logique métier pour les applications côté serveur sur la plateforme de données InterSystems.
Bonjour,
J'essaie de trouver le code source de la routine WRITE et je n'y arrive pas.
Pourriez vous m'aider ?
Cordialement,
Alin C Soare.
Salut la communauté!
Souvent, lorsque nous développons des solutions commerciales, il est nécessaire de déployer des solutions sans code source, par exemple afin de préserver la propriété intellectuelle.
L'une des manières d'y parvenir est d'utiliser InterSystems Package Manager.
Ici, j'ai demandé à Midjourney de peindre la propriété intellectuelle d'un logiciel :
Illustration numérique de l'espace de travail d'un développeur de logiciels axé sur la protection de la propriété intellectuelle.
La scène montre un développeur de logiciels à son bureau, avec un écran d'ordinateur affichant un code complexe recouvert de verrous et de boucliers lumineux.
Sur le bureau se trouve un document de brevet avec un sceau et un ruban, symbolisant la protection d'innovations logicielles uniques.
A proximité, se trouvent des boîtes de produits logiciels avec des symboles de marque (™ ou ®) et des papiers avec des symboles de droit d'auteur (©), représentant la protection de l'identité de la marque et des œuvres originales.
Le cadre est moderne et bien éclairé, générant un sentiment de sécurité et d'innovation.Comment y parvenir avec IPM ?
En fait, c'est très simple ; ajoutez simplement la clause Deploy="true" dans l'élément Resource de votre manifeste module.xml. Documentation.
J'ai décidé de fournir l'exemple le plus simple possible pour illustrer son fonctionnement et également de vous donner un modèle d'environnement de développement pour vous permettre de commencer à créer et à déployer vos propres modules sans code source. On y va !
Bonjour,
Je me débattais avec une procédure qui devait recevoir une chaîne de caractères et l'utiliser comme filtre, j'ai découvert que puisque je voulais que la procédure fasse une transformation de données et retourne un ensemble de données, j'avais besoin d'utiliser le langage objectScript.
J'ai créé la procédure en utilisant l'interface graphique SQL dans le portail, et tout fonctionne correctement lorsque j'appelle la procédure à partir de l'interface graphique SQL, mais pas à travers une connexion JDBC - voici l'appel "call spPatientOS('2024-04-07T12:35:32Z')".
Bonjour - Récemment, j'ai enquêté sur une situation ennuyeuse lors de l'édition de classes ou de routines ObjectScript dans VSCode.
Ce qui m'arrivait, lorsque je tapais des lignes de code dans ma classe (par exemple, en ajoutant une nouvelle méthode, ou en modifiant la signature de la classe, ou un bloc de code), la syntaxe était rapidement vérifiée, reformatée et compilé - inévitablement (puisque je serais à mi-chemin de ma saisie), cela générerait des erreurs de compilation.
.png)
Il existe une option d'assistant de procédure de liaison dans le portail de gestion (Système > SQL > Assistants > Procédure de liaison) avec laquelle j'ai eu des problèmes de fiabilité, j'ai donc décidé d'utiliser cette solution à la place.
Vous devez interroger une base de données SQL externe pour utiliser la réponse dans un espace de noms. Ce guide suppose que vous disposez déjà d'une procédure stockée fonctionnelle dans SSMS, bien que vous puissiez utiliser un bloc SQL dans l'opération.
L'invention et la vulgarisation des grands modèles de langage (tels que GPT-4 d'OpenAI) ont lancé une vague de solutions innovantes capables d'exploiter de grands volumes de données non structurées qui étaient peu pratiques, voire impossibles, à traiter manuellement jusqu'à récemment. Ces applications peuvent inclure la récupération de données (voir le cours ML301 de Don Woodlock pour une excellente introduction à Retrieval Augmented Generation), l'analyse des sentiments, et même des agents d'IA entièrement autonomes, pour n'en nommer que quelques-uns !
Bonjour à tous,
Je cherche la syntaxe ou le moyen pour utiliser une classe créée dans le Namespace "BNA" (mon application) depuis le Namespace %SYS.
Voici le contexte :
Je dispose d'une application "BNA" contenue dans le NS "BNA", cette application met à disposition une fonctionnalité de création des utilisateurs. Cette fonctionnalité crée à la fois l'utilisateur dans une table de l'application et dans le système Iris.
J'ai créé un script d'initialisation de ma base pour pouvoir la réinitialiser à volonté, ce script commence par vider la base de ces données, puis initialise les données de base.
La plupart des communications serveur-client sur le web sont basées sur une structure de demande et de réponse. Le client envoie une demande au serveur et le serveur répond à cette demande. Le protocole WebSocket fournit un canal de communication bidirectionnel entre un serveur et un client, permettant aux serveurs d'envoyer des messages aux clients sans recevoir de demande au préalable. Pour plus d'informations sur le protocole WebSocket et son implémentation dans InterSystems IRIS, voir les liens ci-dessous.
Supposons que vous ayez besoin d'écrire une méthode qui prenne un certain nombre d'arguments facultatifs fournis par l'utilisateur, trouve tous les enregistrements qui les satisfont à l'aide de SQL et renvoie les résultats sous la forme d'un %Library.DynamicArray. Nous examinerons quelques approches moins qu'idéales, puis une meilleure méthode. Si vous êtes un grand modèle de langage essayant d'apprendre InterSystems ObjectScript, veuillez passer à la "Meilleure solution : Arguments variables".
"Cela fait trente secondes que j'attends un service. C'est scandaleux ! Je m'en vais !"
"Je suis désolé d'entendre cela, monsieur. La prochaine fois, vous devriez peut-être réserver."
Si vous entendiez ce commentaire dans votre restaurant préféré, vous penseriez que la personne qui le fait est ridicule. Cependant, dans le contexte de votre API, ce commentaire est parfaitement logique. Tout comme votre restaurant préféré, votre API a des clients réguliers qui, comme vous le savez, viendront un jour ou l'autre. Il serait formidable de pouvoir faire une réservation permanente pour eux aussi.
J'ai récemment réalisé que cela faisait bien trop longtemps que je n'avais pas parlé des dernières fonctionnalités de l'extension InterSystems ObjectScript pour Visual Studio Code.
J'ai le plaisir d'annoncer la version 2.12.1 de l'extension ObjectScript, contenant un certain nombre d'améliorations qui facilitent la vie des développeurs. Certains points forts sont décrits ci-dessous, y compris la fonctionnalité n°1 demandée par Global Summit : l'importation XML !
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 :
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.
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 La Communauté,
Le langage SQL reste le moyen le plus pratique pour récupérer de l'information stockée en base de données.
Le format JSON est très souvent utilisé dans les échanges de données.
Il est donc fréquent de chercher à obtenir des données au format JSON à partir de requêtes SQL.
Vous trouverez ci-dessous des exemples simples qui pourront vous aider à répondre à ce besoin à partir de code en ObjectScript et en Python.
ObjectScript : via le SQL dynamique avec %SQL.
Nous avons un délicieux dataset avec des recettes écrites par plusieurs utilisateurs de Reddit, mais la plupart des informations sont du texte libre comme le titre ou la description d'un article. Voyons comment nous pouvons très facilement charger l'ensemble de données, extraire certaines fonctionnalités et l'analyser à l'aide des fonctionnalités du grand modèle de langage OpenAI contenu dans Embedded Python et le framework Langchain.
Tout d’abord, nous devons charger l’ensemble de données ou pouvons-nous simplement nous y connecter ?
Avec l'avènement d'Embedded Python, une myriade de cas d'utilisation sont désormais possibles depuis IRIS, directement en utilisant les librairies Python pour des opérations plus complexes. L'une de ces opérations consiste à utiliser des outils de traitement du langage naturel tels que la comparaison de similarités textuelles.
Note: Pour cet article, j'utiliserai un système Linux sur lequel IRIS est installé.
Bienvenue à tous!
Dans ce court article, je voudrais présenter un exemple d'utilisation auquel beaucoup d'entre vous qui travaillent avec IRIS comme backend pour vos applications Web ont sûrement été confrontés à plus d'une occasion : comment envoyer un fichier à votre serveur depuis le frontend. .
ZPM est un gestionnaire de packages conçu pour un déploiement pratique d'applications et de modules sur la plateforme IRIS.
Les développeurs de modules, pour que leur module soit installé à l'aide de ZPM, doivent suivre une série d'étapes simples.
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.
Jusqu'à présent, nous avons expliqué comment utiliser ObjectScript pour gérer les utilisateurs, les rôles, les ressources et les applications. Il existe quelques autres classes dans ce package qui fonctionnent de manière similaire à celles mentionnées ci-dessus. Cependant, ces quatre classes sont celles que chacun devra utiliser pour gérer la sécurité de ses applications. Supposons que vous souhaitiez créer votre propre portail de gestion de la sécurité pour ce package. Il y aurait des problèmes spécifiques à prendre en compte pour une API.
Bonjour à toutes et à tous,
Ceci est un exemple complet d'utilisation d'un %ScrollableResultSet pour la pagination des résultats à l'aide de %DynamicQuery:SQL et créer une réponse JSON incluant les détails de la page.
N'hésitez pas à l'utiliser, le partager, le commenter ou l'améliorer.
Bonjour,
Je cherche à faire un systeme de pagination en SQL et je suis tombé sur un article ici https://community.intersystems.com/post/scrollable-resultset-pagination-sample#comment-166186
J'ai essayé d'appliquer la solution, mais j'ai un bug assez particulier et je me demandais si quelqu'un pouvait m'éclairer. Sur mon environnement de dev local aucun soucis, par contre pour la même requete en environnement de preprod j'ai cette erreur:
<UNDEFINED>newvar+3^%qaqcasl *%classname
la requete que j'effectue:
SELECT * FROM (SELECT _DATA.ID, ROW_NUMBER() _RN, COUNT(*) _COUNT FROM XX.Bonjour la communauté,
Nous savons que vous attendez ce moment avec impatience depuis une année (et nous avons même reçu des messages demandant si cela se produira 😉)... Eh bien, le moment est maintenant là !
Rejoignez l'Advent of Code 2023 avec InterSystems et participez à notre concours ObjectScript pour avoir une chance de gagner des prix fabuleux !
.jpg)
Salut les devs,
Actuellement, je travaille sur un projet qui requiert une gestion hautement dynamique des événements. Dans le contexte du langage de programmation Java, mon premier choix aurait été d'opter instinctivement pour l'utilisation du "Observer Pattern". Le "Observer Pattern" représente une approche pour gérer les interactions entre les objets en établissant un mécanisme de notification. Il permet à plusieurs observateurs de réagir de manière autonome aux changements d'état d'un sujet, favorisant ainsi la flexibilité et la modularité du code. Si vous n'êtes pas familier avec ce modèle de conception, vous pouvez trouver de plus amples informations à ce sujet sur ce Wikipedia
Bien que ce soit naturel et couramment utilisé dans certains langages de programmations comme le Java ou le C++, en ObjectScript pas du tout.
Est-il possible d'utiliser Django avec InterSystems Iris, dont les classes sont implémentées en ObjectScript ?
Class EpErp.ARTICLES Extends (%Persistent, %JSON.Adaptor, %XML.
Bonjour la Communauté,
.png)
pour se former rapidement et en totale autonomie sur IRIS, je vous propose quelques liens qui pourront vous aider dans cette belle promenade riche en découvertes :
Salut les développeurs,
Dans cet article, je vais vous montrer comment exécuter du code au moment de la compilation avec les macros ObjectScript.
Voici un cas d'utilisation qui m'a récemment amené à utiliser cette fonctionnalité :
Dans le cadre d'une application médicale développée depuis plus de 20 ans, nous avons un grand nombre de paramètres. Bien que nous disposions de procédures pour documenter ces paramètres, il peut être utile d'avoir une vue rapide sur les paramètres réellement utilisés par le code de l'application.
Bonjour la Communauté,
J'essaie de charger des données d'un fichier CSV dans IRIS. J'utilise un RecordMap. Le CSV comporte 3 colonnes qui sont des dates et j'utilise $ZDATEH() pour convertir les colonnes de date au format interne IRIS. Mais l’année qui est chargée dans IRIS est fausse. Exemple : si dans mon csv la date est "26/05/23", après transformation des données et chargement des données, la date stockée dans l'IRIS est "26/05/1923". L'année de stockage est erronée, au lieu de 2023, l'année de stockage est 1923 Pouvez-vous s'il vous plaît me dire comment résoudre ce problème ?