go to post Yaron Munz · Jul 1, 2019 Hello,If you mean to use "Internal" keyword, this will prevent the Class (Web) method from being displayed in the class documentation.https://irisdocs.intersystems.com/iris20191/csp/docbook/DocBook.UI.Page.cls?KEY=ROBJ_method_internalIf this SOAP web service if for internal use, and should not be used elsewhere, I would go for an approach of secure this specific web service.https://irisdocs.intersystems.com/iris20191/csp/docbook/DocBook.UI.Page.cls?KEY=GSOAPSEC
go to post Yaron Munz · Jun 28, 2019 Hello,If you need to save your class in more than 1 namespace, and you are using studio, you may do it automatically with studio hooks.This is done in that way:1. You create your own source control class which inherit from %Studio.SourceControlBase2. you put your code in that class. For example you may use OnAfterSave method to run on all namespaces that your class need to be saved, loop on this list (except the current one of course) and save + compile your class (programmatically) in each namespace. https://irisdocs.intersystems.com/iris20191/csp/docbook/DocBook.UI.Page.cls?KEY=GSTD_Intro#GSTD_intro_schookshttps://irisdocs.intersystems.com/iris20191/csp/documatic/%25CSP.Documatic.cls?APP=1&LIBRARY=%25SYS&CLASSNAME=%25Studio.SourceControl.Base
go to post Yaron Munz · Jun 25, 2019 If someone want to have this new studio on IRIS 2019.1.0 cube:After install of 2019.2 studio :1. backup your IRIS/bin folder.2. Copy everything from "C:\Program Files (x86)\InterSystems\IRIS Studio" to "C:\InterSystems\IRIS\bin"and you will have a direct access from the cube to the new studio.
go to post Yaron Munz · Jun 19, 2019 Hi.You could do that with the following way1. Define your own custom event class (inherit from %CSp.SessionEvents) then you may interact with the session creation/deletion:2. In OnStartSession() callback in the event class, you may store the sessionId in your own global/table.3. In OnEndSession() callback in the event class you may delete/kill your own data.4. Pass the SessionId from the parrent window to the child (if you do not have it there already)5. Have a timeout JS code to call the server using #server or #call every x sec. with a check of your own global/table for this SessionId.If not exist - preform a "windowsClose" or a in-window message...Here is more documentation abourt it :https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCSP_sessions
go to post Yaron Munz · Jun 18, 2019 Hello,As I understand, you want to have Cache as a client, doing a post toward a secure web page.For this you need to define an SSL "Client".1. Go to "System Administration" --> "Security" --> "SSL/TLS configuration" --> "Create new configuration"2. Give any name you want in "Configuration name" for example : SSL3. Default values for "Type" = "client" and "Enabled"4. Clisk "Test" button (before save) enter a web site (google.com) click "ok" then enter port = 443. You should get the following:"SSL connection succeeded" 5. Save the configuration.Using that SSL with %Net.Httprequest - https://irisdocs.intersystems.com/iris20191/csp/documatic/%25CSP.Documatic.cls?APP=1&LIBRARY=%25SYS&CLASSNAME=%25Net.HttpRequestThe trick is to use the "SSLConfiguration" property of %Net.HttpRequest class to store the name of the SSL configuration you have devfined earlier.Here is a sample code : S Req = ##class(%Net.HttpRequest).%New()S Req.Server = "www.server.com"S Req.SSLConfiguration = "SSL"D Req.InsertFormData("name","value")D Req.Post("/location/path")S Res = Req.HttpResponseI $IsObject(Req) D Res.OutputToDevice()
go to post Yaron Munz · May 16, 2019 Hello,I'm using Atelier 1.3 with eclipse photon. I could not find an option to override (refactor) a classmethod function as was in studio.Can someone help ?
go to post Yaron Munz · May 10, 2019 Hello,1. A deeper look on how you implement ed your indexes According to the "cost" it looks that the query is not optimized.2. Do you have an index on "TranEffectDate" on "SDS_DATA._Transaction" table ?3. I would recommend that you run this query (after improve of the "cost") with parallel processing.
go to post Yaron Munz · May 6, 2019 The class Security.SSLConfigs can give you an API to create SSL configurations.Look at the "Create" classmethod.
go to post Yaron Munz · May 2, 2019 Hi,Methods and call to methods, like any other code you write, need to be reviewed and tested.When you type in studio you will see a tool-tip with the current parameter position in bold. Some times, when you need to pass a huge number of parameters to a function/method you might put there in a key=value array and simply pass this by ref.
go to post Yaron Munz · Apr 23, 2019 Hi Ryan,Ens.Request class does not contain any properties. so you should make a sub class and put a %String property. Json is basically a string.Example:Class User.REQ.JsonRequest Extends Ens.RequestProperty JSON As %String(MAXLEN = "");
go to post Yaron Munz · Apr 12, 2019 Every class (with its methods) is compiled into an INT routine.MOMLBL will help you diagnose performance on executed lines of code.https://docs.intersystems.com/iris20181/csp/docbook/DocBook.UI.Page.cls?...
go to post Yaron Munz · Mar 26, 2019 Hi,Take a look on %Dictionary.ClassDefinition class.you may get all the properties from Properties
go to post Yaron Munz · Nov 14, 2018 Hi,To get information about a namespace, You may use this code :(run it only in %sys" namespace) Properties variable is passed by ref (i.e. it has a point at the beginning)%SYS>S Status=##Class(Config.Namespaces).Get("user", .Properties)%SYS>zw PropertiesProperties("Globals")="USER"Properties("Library")="CACHELIB"Properties("Routines")="USER"Properties("SysGlobals")="CACHESYS"Properties("SysRoutines")="CACHESYS"Properties("TempGlobals")="CACHETEMP"