Sergey Mikhailenko · Jun 20, 2019 go to post

If the developer does not have access to SMP, but has access to %SYS through the studio, then he can programmatically create a web application.

Sergey Mikhailenko · Jun 20, 2019 go to post

Hello,
  in Studio in the Output panel you can execute COS commands.
Copy the file you need to the CSP directory. For example for Windows:
 

 write $zf(-1,"copy g:\readme.txt c:\InterSystems\IRIS\CSP\aaa\readme2.txt")

After editing, copy it back.
Or another way, create a new application with the file storage you need.

Sergey Mikhailenko · Mar 27, 2020 go to post

You can store user pages in your favorites, with this command
Set tSC=##class(%SYS.Portal.Users).%AddFavorite("AppTools","/ apptools/App.LogInfo.cls")

Hi Katherine.
I agree with you, and the problem of minimizing processes launched from root, my module will not solve

Sergey Mikhailenko · Sep 28, 2020 go to post

Hi, Evgeny
I would add a question to your poll: Do you allow the return of a value other than Status in your functions. If so, in what cases. Then I think the survey would have been not so clear.

Sergey Mikhailenko · Sep 30, 2020 go to post

Hi, Bob
It may be easier to make an analogue of ^% G ?
Something like this:
```
ClassMethod 
AlterG(gn = "", Output rep) As %Status
{
   OPEN 2:$job USE 2
 zwrite @gn ;
 CLOSE 2
 set i="",rep=""
 for set i=$order(^SPOOL($job,i),1,s) quit:i=""
  set rep=rep_s
 }
 KILL ^SPOOL($job)
}

Sergey Mikhailenko · Oct 12, 2020 go to post

I really like the opportunity to see which modules are installed in which namespaces. And quickly go there without leaving the shell of the ZPM.

zpm: USER>help zn

namespace [<name>]

Alias: zn

  See list modules in namespace and go to the namespace

  Arguments

    name

      Name namespace, * or context name*

  Examples

zn *

      Show all modules in all namespaces

zn sql*

      Show all modules in namespaces by context

Hey.
It's easier ?
```
ClassMethod 
setValue(params...) As %Status
{
  quit:params<2 0
  s name="%session.Data"
  for i=1:1:params-1 set:$GET(params(i))'="" name=$NA(@name@(params(i)))
  set @name=params(params)
  quit $$$OK
}
```

Sergey Mikhailenko · Feb 21, 2021 go to post

Oh, how unexpected! Let's cut it down a bit to get another nice number of characters.

zn "%SYS",n="SL" d:'##class(Security.SSLConfigs).Exists(n) ##class(Security.SSLConfigs).Create(n) s u="https://pm.community.intersystems.com/packages/zpm/latest/installer" D ##class(%Net.URLParser).Parse(u,.c) s h=##class(%Net.HttpRequest).%New(),h.Server=c("host"),h.Port=443,h.Https=1,h.SSLConfiguration=n,s=h.Get(c("path")) q:'s $System.Status.GetErrorText(s) s x=##class(%File).TempFilename("xml"),f=##class(%Stream.FileBinary).%New(),f.Filename=x d f.CopyFromAndSave(h.HttpResponse.Data) d h.%Close(),$system.OBJ.Load(x,"ck") do ##class(%File).Delete(x)
Sergey Mikhailenko · Mar 16, 2021 go to post

If your projects have a Description attribute in the module, please republish anyway. There was a crash and some Descriptions were not included in the register.

Hello Mary
I solved this problem in this way. Found by context Prevent page refresh at session end - #;YSD2224
method  ##class(%CSP.Util.AutoPage) .DrawAutoLogout ()
Modified the place:
...
If % request.URL'["UtilSqlQuery.csp" {
...
I think there is something similar in the Healthshare portal.
But you'd better contact WRC.

Sergey Mikhailenko · Apr 20, 2021 go to post

Thanks a lot, Robert.
It's better not to look into the source code, I'm afraid to look there myself. Some parts of the global editor's code still remember DSM11, and the release took place in 1991.

Hi Nick!
Thanks for the good article.
There is a typo in the program code associated with a variable name and username

Hi, Guillaume!
It’s very nice, I scattered this code in all my projects on openexchange, so that it was always at hand