Peter Steiwer · Jun 22, 2020 go to post

Hi Reid,

There is no current way to change the Axis Scale in a standard DeepSee chart. However, if you are using a third party charting library you are able to implement this. I added this capability to my Third Party Chart Library project.

For example you can turn your chart from:

into:


By just modifying one setting in the UI.

Peter Steiwer · Apr 30, 2020 go to post

I believe it is 3 days. I think this is to confirm posts are real and not spam. Also to allow them to get some votes and confirm it has a positive rating.

Peter Steiwer · Mar 23, 2020 go to post

If you are using %INSTALLER, you can use GRANT to assign a role:

<CSPApplication
   Url="/api/pivotsubscriptionsunsubscribe"
   Directory="${CSPDIR}"
   DispatchClass="PivotSubscriptions.UI.Unsubscribe"
   Grant="PivotSubscriptionsUnsubscribe"
   AuthenticationMethods="64"
/>

I have tested and confirmed that this does add the Application Role.

Peter Steiwer · Mar 13, 2020 go to post

To add a little more to this, I would say it is basically the same as using SET vs WRITE:

SAMPLES>set person=##class(Sample.Person).%OpenId(1)
 
SAMPLES>w person.CurrentAge($h-1000)
2
SAMPLES>set person.CurrentAge($h-1000)=1
 
SET person.CurrentAge($H-1000)=1
^
<PROPERTY DOES NOT EXIST> *CurrentAge,Sample.Person

Peter Steiwer · Mar 13, 2020 go to post

Based on the documentation, it seems like this may be expected since $GET is expecting a variable, not a value returned from a method call. The main purpose is to protect against undefined references which a method call should never return since an empty string is different than undefined. Since the documentation mentions it accepts multidimensional object properties, it seems like it is assuming this is what the passed in reference is.

Documentation on expected values here.

Peter Steiwer · Mar 13, 2020 go to post

Have you tried using a JOIN to get the desired results?

If you have already tried using a JOIN, what are you seeing that is not expected?

Peter Steiwer · Mar 13, 2020 go to post

Hi Michel,

I am not exactly sure which type of stream you are using, but different types appear to override the Read methods.

For example:
%Stream.FileCharacter does not implement a Read method, but it extends %Stream.FileBinary. In %Stream.FileBinary, the Read method is defined as:

Method Read(ByRef len As %Integer = 32000, ByRef sc As %Status) As %RawString

Peter Steiwer · Mar 12, 2020 go to post

Something like this may work:

SELECT parent FROM %Dictionary.CompiledProperty where name like 'Name' and NOT %ID %Startswith '%'

This will give you all tables that aren't % classes that have a "Name" property

Peter Steiwer · Mar 11, 2020 go to post

Even though it isn't throwing an error it is not creating the Web App correctly. If you view your Web App, the Dispatch class is not set

Peter Steiwer · Mar 11, 2020 go to post

You can use GetOneStatusText:

USER>w $system.Status.GetErrorText(x)
ERROR #5002: ObjectScript error: <UNDEFINED> *yy
USER>w $system.Status.GetOneStatusText(x)
ObjectScript error: <UNDEFINED> *yy

Peter Steiwer · Mar 11, 2020 go to post

I seem to get an error when I do not specify Directory:

2020-03-11 08:29:03 0 PivotSubscriptions.Installer: ERROR #5001: - ERROR when creating Portal application: Application name, namespace and directory must not be null

Peter Steiwer · Mar 10, 2020 go to post

 One thing to note: the final ELSEIF is not going to be true ever since the third parameter of $LISTGET is the default value if the requested list value is undefined. Since i will never be = "", this will never quit.

As Marc mentioned, it may just be easiest to build a new list out of segments that aren't [ or ]

Peter Steiwer · Mar 10, 2020 go to post

After further testing, it looks like this isn't working as I originally thought. It looks like our only option at this point is to use Security.Applications sad

Peter Steiwer · Mar 10, 2020 go to post

Hi David,

I see you used the "VSCode" tag. The couple of times I have done this in VSCode, I typically just import the XML classes into my system and then once they are loaded, I use the VSCode ObjectScript Explorer and export my classes from there into my project. I've only done it once or twice, so I don't know if there is a better way of doing it.

If you are interested, these are some methods for doing it manually as well that could be scripted to do all your files:

USER>do $system.OBJ.Load("C:\Users\psteiwer\Desktop\Class.xml")
 
Load started on 03/10/2020 17:40:03
Loading file C:\Users\psteiwer\Desktop\Class.xml as xml
Imported class: PivotSubscriptions.Utils
Load finished successfully.
 
USER>do $system.OBJ.ExportUDL("PivotSubscriptions.Utils.CLS","C:\Users\psteiwer\Desktop\Class.cls")

Peter Steiwer · Mar 10, 2020 go to post

I tested this in a 2020.2 IRIS development build.

(Also my code example will be included in PivotSubscriptions v1.6 wink)

Peter Steiwer · Mar 10, 2020 go to post

A sample would be helpful, but have you tried using a WHILE loop instead? Without a sample, it is hard to give any more suggestions

Peter Steiwer · Mar 10, 2020 go to post

I tried this out and it works as expected:

        <CSPApplication
            Url="/api/pivotsubscriptionsunsubscribe"
            Directory="${CSPDIR}"
            DispatchClass="PivotSubscriptions.UI.Unsubscribe"
            AuthenticationMethods="64"
        />

Peter Steiwer · Mar 9, 2020 go to post

The code for CSPApplication appears to accept DispatchClass (even though documentation does not say it). I have not yet tested it. But in PivotSubscriptions I create my WebApp the way that Eduard says, but I was planning on changing it to use %Installer this week or next.

Peter Steiwer · Mar 4, 2020 go to post

Is putting all this in the main directory of the repository necessary?

I believe the two git files (.gitignore and .gitattributes) need to be there. But perhaps all files related to docker can be put in a "Docker" directory to avoid adding so many files to the main directory.

My main fear is people seeing all these files and not knowing where to start.

Peter Steiwer · Feb 29, 2020 go to post

If you can access it on the machine it is installed on, it is probably the case that there is just a firewall preventing access from other machines.

In a more advanced configuration, you will also need to consider settings on the web server

Peter Steiwer · Feb 28, 2020 go to post

Hi Ali,

Here is a sample of using %ListOfObjects:

SAMPLES>set list=##class(%ListOfObjects).%New()
 
SAMPLES>set t1=##class(HoleFoods.Transaction).%OpenId(1)
 
SAMPLES>d list.Insert(t1)
 
SAMPLES>w list.Count()
1
SAMPLES>set t2=##class(HoleFoods.Transaction).%OpenId(2)
 
SAMPLES>d list.Insert(t2)
 
SAMPLES>w list.Count()
2
SAMPLES>w list.GetAt(1)
2@HoleFoods.Transaction
SAMPLES>w list.GetAt(1).%Id()
1
SAMPLES>w list.GetAt(2).%Id()
2
SAMPLES>w list.GetAt(2).AmountOfSale
6.95

Peter Steiwer · Feb 26, 2020 go to post

I typically leave it for some amount of time. I sometimes go through my repos and delete the stale forks.

Even though it does have the broken links back to the deleted repo, the PR merge will show the commit history in the new repo, which I think is the important part

Peter Steiwer · Jan 30, 2020 go to post


<dataListBox  sql="select id from deepsee_study.doctor" onclick="alert('onclick');onchange="alert('onchange');ondblclick="alert('ondblclick');">
</dataListBox>

I tested this in the SAMPLES namespace on Cache for Windows (x86-64) 2018.1.2 (Build 309_5U) Wed Jun 12 2019 20:02:36 EDT. When clicking an item, I see the onchange alert. After double clicking the item I previously selected, I see the ondblclick alert.

Peter Steiwer · Jan 30, 2020 go to post

System Management Portal -> System Administration -> Configuration -> National Language Settings -> Locale Definitions

Please note that your browser will often localize content based on your browser settings, so the Management Portal may not look different after doing this, but if you open terminal you should see your newly selected Locale and if you do things like compile classes in Studio, you should see your output messages in the new Locale also

Peter Steiwer · Jan 29, 2020 go to post

It looks like the component's built in clickItem method does not call out to the contents of onclick. However, the component's dblClickItem method calls out to ondblclick.

Peter Steiwer · Jan 23, 2020 go to post

Hi Scott,

The CSP folders will be located on your system where you have installed HealthShare. This means you can just move your images to this directory and then your apps should be able to reference them.

The documentation for the <image> tag has a few hints:

"If provided, src is the URI of an image to display. If src is the relative pathname of a file, it is understood to be relative to the Caché installation directory. Typically this path identifies the images subdirectory for your Zen application, for example:
<image id="myFrame" src="/csp/myApp/images/myPic.png" />"

Peter Steiwer · Jan 23, 2020 go to post

Are you still able to type?

Is it just Ctrl+C -> Ctrl+V that doesn't work?

Can you right click and use Copy and Paste?

When you use Copy, can you Paste to something that isn't Studio?