Nicki Vallentgoed · Mar 7, 2016 go to post

It is tedious to delete classes from multiple packages.

And also that query is dangerous, new devs will cause havoc with it. cheeky

Nicki Vallentgoed · Mar 8, 2016 go to post

Hi

$ZV: Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2016.2 (Build 605U) Thu Feb 25 2016 19:24:57 EST

'nicki' user is a copy of _SYSTEM so role is %All

I get all our namespaces when I log into studio with 'nicki'

As a test, I have changed the credentials in the atelier server connection to _SYSTEM, and I get the same issue

Nicki Vallentgoed · Mar 9, 2016 go to post

I think I found the issues, there are 2.

1) The server dropdown looks grayed out even though it is useable.

So after selecting my connection there I can select a namespace

I'm used to this for non disabled dropdowns:

2)  However when I configure a server via the "configure server..." option on the New project screen I still get the error.

Here are my steps

1 Select "configure server..."

2 Type in an existing connection name, select "continue editing", click "Finish"

3. Get the error message and no namespaces

Nicki Vallentgoed · Mar 9, 2016 go to post

No

Your website seems to keep the image file names and mine are all captureX.png from taking screenshots.

So you have one from my other posts cached,  try ctrl+F5

Nicki Vallentgoed · Mar 10, 2016 go to post

The package is "Test".

How does the syncing work?

If I change the class in project A must it automatically update project B?

Nicki Vallentgoed · May 2, 2018 go to post

Classes all the way.

I have yet to see a compelling argument to use routines the later versions of cache.

Nicki Vallentgoed · May 3, 2018 go to post

I might be misunderstanding you, but I do not agree.

Class is in A and mapped to B.

ClassMethod t1() As %Status
{
w $NAMESPACE,!
q 1
}

A>d ##class(Test.PopNicki).t1()
A

A>zn "B"

B>d ##class(Test.PopNicki).t1()
B

B>
 

Nicki Vallentgoed · Jul 18, 2018 go to post

What would be nice though is if IS creates an in memory stream version of the zip classes.

That would be useful for generating files and zipping the stream for email etc, without hitting the disk.

Nicki Vallentgoed · Aug 2, 2018 go to post

That will not work. 

I am not in control of the software on a client pc, but most pc's will have a built in zip handler.

So zip would be more useful.

Nicki Vallentgoed · May 2, 2019 go to post

I think he was referring to the excel xml format:  wiki link

I've used it previously:

Create  an example file in excel and save it in the xml format.

View the source in a text editor to see what it looks like.

Write out similar code to a file via COS.

Save as .xls

Ugly example:

xls=##class(%Stream.FileCharacter).%New()
xls.LinkToFile("/ensemble/nicki/a.xls")
xls.WriteLine("<?xml version=""1.0""?><?mso-application progid=""Excel.Sheet""?><Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:x=""urn:schemas-microsoft-com:office:excel"" xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:html=""http://www.w3.org/TR/REC-html40""> <DocumentProperties xmlns=""urn:schemas-microsoft-com:office:office""> <Author>me</Author> <LastAuthor>me</LastAuthor> <Created>"_$ZDT($H,3,8)_"</Created> <Company>AMPATH</Company> <Version>1.0</Version> </DocumentProperties>")
xls.WriteLine("<Styles><Style ss:ID=""header""><Font ss:Bold=""1"" ss:Size=""12""/></Style><Style ss:ID=""a1""><Font ss:Color=""#ff3333""/></Style><Style ss:ID=""a2""><Font ss:Color=""#FFA500""/></Style></Styles>")
xls.WriteLine("<Worksheet ss:Name=""Sheet1""><Table>"
_"<Column ss:Width=""120""/>"
_"<Column ss:Width=""80""/>"
_"<Column ss:Width=""100""/>"
_"<Column ss:Width=""100""/>")
xls.WriteLine("<Row ss:Height=""20"">"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 1</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""Integer"">2</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 3</Data></Cell>"
    _"<Cell ss:StyleID=""header""><Data ss:Type=""String"">Col 4</Data></Cell></Row>")
    
    xls.WriteLine("<Row ss:StyleID=""a1"">"
    _"<Cell><Data ss:Type=""String"">Col 1</Data></Cell>"
    _"<Cell><Data ss:Type=""Integer"">2</Data></Cell>"
    _"<Cell><Data ss:Type=""String"">Col 3</Data></Cell>"
    _"<Cell ss:StyleID=""a2""><Data ss:Type=""String"">Col 4</Data></Cell></Row>")
    
xls.WriteLine("</Table></Worksheet></Workbook>")
xls.%Save()

Nicki Vallentgoed · Oct 7, 2019 go to post

The query plan is the same in this instance, however the relative cost is vastly different.

Without TOP 1 = 72497300   (which should give you some idea of the table size)

With TOP 1  = 11

Nicki Vallentgoed · Jun 30, 2022 go to post

Nope, does not seem to work.

Creating the async goes fine but as soon as I promote it, primary ensemble sees it as down.

You can also not revert back to an async afterwards.

Nicki Vallentgoed · Oct 12, 2022 go to post

Answering incase someone has the same issue.

docs

It does not support the <fault> element. That is, if you include a <fault> element within the <operation> element of the binding, the <fault> element is ignored.

Nicki Vallentgoed · Nov 9, 2023 go to post

Thanks for the response Brett.

In regards to check if a file is out of date, doing it on save is fine, however that's where the inconsistency problem is. Using a private development server is not really an option in our environment where we have to test with data coming from external sources e.g via HL7 TCP integrations.

Nicki Vallentgoed · Nov 30, 2023 go to post

Good info!
What happens if the particular task takes longer than a minute and the busines sservice is invoked again?

Nicki Vallentgoed · Jan 30, 2024 go to post

My code:

try{
  Set jsonob = ##class(%DynamicObject).%FromJSON(httprequest.HttpResponse.Data)
  w !,"statusCodes: "_jsonob.%Get("statusCode"),!
  Set iter = jsonob.value.labReports.%GetIterator()
  While iter.%GetNext(.key, .labReport) {
  w !,"reportName: "_labReport.%Get("reportName")
  Set pdf=labReport.%Get("pdf",,"stream<base64")
  w !,"pdf: "_pdf.Read(20),!
  }
} catch(tException) {		
  w !,tException.DisplayString(),!
}

JSON looks like this( pdf the offending big string):

Output:

statusCodes: 200

reportName: Long-Oeloff-Badenhorst.pdf
<MAXSTRING> 5 ztestpdf+36^Test.Testy.1

ztestpdf+36 = Set pdf=labReport.%Get("pdf",,"stream<base64")

Nicki Vallentgoed · Feb 1, 2024 go to post

Thanks, the .%Get("pdf",,"stream<base64") works.

It is super frustrating though.
This produces an error: <PARAMETER> 127 %GetNext^%Iterator.Array.1
 

Set iter = jsonob.value.labReports.%GetIterator()
While iter.%GetNext(.key,.labReport,.type) {
    w !,"type: "_type
}

I do not know if it a bug on my side or the documentation:

Nicki Vallentgoed · Nov 8, 2024 go to post

Fair point but I do find it odd.
Using e.g the Native SDK for Python I can have multiple applications on different servers all communicate directly with the IRIS kernel.
But I cannot do the same with IRIS to IRIS.
There are some benefits:
No added complexity.
Easy separation of applications.
Easier development management.
Easier deployment of application updates.
 

Nicki Vallentgoed · Nov 11, 2024 go to post

Thank you very much.
Quick question about the port.
Is it the standard port the IRIS instance is running on?
I do not need an external language server connection on the host?