Beginner

Syndicate content 16 

Hi Developers!

Recently we launched InterSystems Package Manager - ZPM. And one of the intentions of the ZPM is to let you package your solution and submit into the ZPM registry to make its deployment as simple as "install your-package" command.

To do that you need to introduce module.xml file into your repository which describes what is your InterSystems IRIS package consists of.

This article describes different parts of module.xml and will help you to craft your own.

I will start from samples-objectscript package, which installs into IRIS the Sample ObjectScript application and could be installed with:

zpm: USER>install samples-objectscript

It is probably the simplest package ever and here is the module.xml which describes the package:

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="samples-objectscript.ZPM">
    <Module>
      <Name>samples-objectscript</Name>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="ObjectScript.PKG"/>
    </Module>
  </Document>
</Export>

Last reply 5 days ago
+ 5   3 1
244

views

+ 5

rating

Throughout my years working within HealthShare\Ensemble, I have been able to mimic the Data Lookup page trimming it down to give our Ancillary areas access to modify their own data Lookup tables.

I am currently working on building a CSP application to allow certain users to update MS SQL tables by going through HealthShare. I thought all I had to was create the CSP pages and grant access. I am able to access it off my desktop, but when I have a user try to access the application, they get the sign in but then it doesn't do anything.  So I think I might be missing something.

Last reply 13 days ago
0   1 1
69

views

0

rating

When do implicit assumptions in code and arithmetic operators pose a real danger, and how can this danger be overcome?

Constantinople in the 5th century AD

Constantinople in the 5th century AD

(It was possible for people to build grandiose buildings and vehicles without the use of computers and robots 1,600 years ago.)

 

Last reply 13 days ago
+ 2   0 3
125

views

+ 2

rating

Ok so I am way outside of my comfort zone, and had to build an application using CSP to give users the ability to access SQL configuration tables. These SQL Configuration tables will affect the data that is sent to the downstream system. 

I saw in the examples where we were able to import GIF's/IMAGES into the CSP folders to use as a reference in our CSP pages. My question is how do you do that? If I try to import through studio, it tells me the file is invalid.

Just trying to make it a little more user friendly then blocks on a page.

0   0 2
49

views

0

rating

Hello community,

I'm new to Objectscript and Intersystems development. I've read documentation and some examples and succeded to import my Java class  file into HealthShare using the Java Gateway Service. To import my class i tryed both methods (Wizard, or scripting) with success.

Everything works great, i see my imported class inside the namespace, and i can call the methods.

Last reply 16 January 2020
0   0 1
61

views

0

rating

How do I rename class programmatically?

This discussion touches on data move which, is not a concern in my case (BPL renames).

I also don't care about external references.

The best I got is:

  1. Get class text as string
  2. Replace class name in this string
  3. Save new string as new class
  4. Open new class as object
  5. Delete storage
  6. Compile class

Are there any better alternatives?

Last reply 16 January 2020
+ 1   0 1
92

views

+ 1

rating

I need to know if given package exists or not.

Currently found two solution - one doesn't work, another works but I don't like it.

 

Solution 1.

I started, of course, with %Dictionary package - it has PackageDefinition class after all.

However, %ExistsId returned 0 on packages that clearly do exist, so I went to %LoadData, it uses this macro to determine if the package exist:

Last reply 16 January 2020
0   0 3
70

views

0

rating

While and for are pretty similar, but sometimes you need to do a not recommended thing - change cycle boundaries.

In this situation while and for are different. For calculates boundaries once per run and while calculates boundaries on every iteration.

Consider this code sample:

set x = 5
for i=1:1:x {
     write "i: ", i,", x: ", x,!
     set x = x+1
}

You'll get this output:

Last reply 13 January 2020
+ 1   0 2
174

views

+ 1

rating

Currently, when we want to write data to a file that will be viewed in Excel, we parse the data in tab deliminated format to the file and name it with .xls at the end.  That is sent to end users via email.  They get a warning that the data is not formatted properly (it's not really an Excel file after all) but it does display somewhat correctly as the tabs are understood (this does not work if we deliminated with commas however).

Last reply 4 January 2020
+ 3   3 13
1,264

views

+ 3

rating

Hi Developers!

Often we need to use relatively small arrays with constants, static arrays in algorithms, etc where we need to do something with each element of an array. There are several ways to deal with it in ObjectSctipt. 

Previously I used to use globals, locals, PPG for this but not so long time ago figured out that %List is a way too handy.

Indeed, suppose we have an array of months and need to set up and use it in our code.

Last reply 28 December 2019
+ 2   1 2
323

views

+ 2

rating

I am having trouble configuring the environment in eclipse have download eclipse  for java script and web developers  followed the video but could not connect to the server I have my Apache server 7.0 added to the java environment and I can start and stop the server through eclipse IDE but when I fire atelier and add server I get the above error any help please .This is the first time I am trying to use the plug in through eclipse .Just in case There is another installation I need to do please advice but I am guessing something to do with atelier not seeing my configurations or permissions

Last reply 16 December 2019
+ 1   0 5
215

views

+ 1

rating

If you work with anything other than English, you would earlier or later encounter the characters from the title or just plain ??????????.

Encodings are usually known, but sometimes you just get gibberish and need to make sense of it.

In this cases $zcvt is your friend, the three argument form specifically.

But there are a lot of options. So here's an utility script to check how the text would look like in different encodings:

Last reply 11 December 2019
+ 3   0 1
157

views

+ 3

rating

%objlasterror is a useful reference to the last error.

Every time $$$ERROR is called, %objlasterror is set to a result of this call.

It's important in cases where you want to convert exception to status:

Try {
   //  quality code
} Catch ex {
   Set sc = $g(%objlasterror, $$$OK)
   Set sc = $$$ADDSC(sc, ex.AsStatus())
}

Because AsStatus calls $$$ERROR under the wraps, the order is important, first you need to get %objlasterror and  convert exception after that.

Last reply 9 December 2019
+ 2   1 1
130

views

+ 2

rating

Hello Everyone,

I'm want to know, what is more common for your company to use, the abbreviation syntax or the complety name of commands, and why?

Ex. 

S VAR=10 / D FUNC^ROUTINE F 1:1:1000

Set VAR=10 / Do Func^Routine / For 1:1:1000

set var=10 / do func^routine / for 1:1:1000

Here in my company, we are familiar with the abbreviation syntax, because to spell is more faster.

Last reply 20 November 2019
+ 2   0 11
515

views

+ 2

rating

Hi Developers!

Often I find questions on how to install IRIS, connect to IRIS from IDE, setup the environment, compile, debug, maintain the repository.

Here below possibly the shortest way to set up all the environment and start development with ObjectScript on InterSystems IRIS.

Prerequisites

Make sure you have Git, Docker, and VSCode installed

Install Docker and ObjectScript extensions into VSCode

Sign in or Create an account on Github

Here we go!

Last reply 17 November 2019
+ 5   5 2
527

views

+ 5

rating

I want to edit this routine to replace "Cache" with "IRIS" how do I do that in Intersystems Google Cloud environment?  The portal  System > Routines  doesn't seem to show much. 

RPMS>ZL %RCR ZP

DIRCR    ;SFISC/GFT-DELETE THIS LINE AND SAVE AS '%RCR'*** ;12:18 PM  20 Apr 1993 [ 04/02/2003   8:23 AM ]

         ;;22.0;VA FileMan;**1001**;APR 1, 2003

Last reply 15 November 2019
0   0 4
148

views

0

rating

Hi, 

What is a Foundation Production and what does it do?

We are currently on HealthShare Health Connect  15.03 and we are starting the process of moving to HealthShare Health Connect 2019.1.

The 2019.1 Installation Guide is pretty clear that it is essential, but I'm having trouble working out exactly what it does?

Leading on from this is what should I call it?

From the installation guide: 

Last reply 21 October 2019
0   0 2
179

views

0

rating

Hi All, I'm in the process of trying to rollout the git version control system with our current code base within Atelier.  We use Ensemble to develop interfaces but are looking to move to IRIS in the near future.  Our code is structured similar to below:

 Site

Last reply 8 October 2019
0   0 3
125

views

0

rating

Hi All, I am a Data Architect and am trying a method of deploying alter statements onto Cache DB.

My Data Modeling tool generates alters as this.. So question is if the Cache has a way to rename table? If so what is it?

ALTER TABLE <SchemaName>.GROUP_TYPE_NODES RENAME TO GROUP_TYPE_10082019140110000
;

This is giving error.

Last reply 8 October 2019
0   0 1
74

views

0

rating