go to post John Murray · Apr 28, 2017 On this post the answer by @Dmitry Maslennikov might be useful for you.
go to post John Murray · Apr 27, 2017 By looking at the code of the InstanceGUID method in the %SYS.System class we can see where it's stored: /// Returns instance GUID. /// <br> /// An instance GUID is a 16 byte (128 bit) globally unique identifier, assigned per instance of Cache installation. ClassMethod InstanceGUID() As %String { s ns="^^"_$zu(12) if ('$d(^[ns]SYS("INSTANCEGUID"))) Set ^[ns]SYS("INSTANCEGUID")=$system.Util.CreateGUID() Q ^[ns]SYS("INSTANCEGUID") } It's in ^SYS("INSTANCEGUID") in the CACHESYS database. USER>w ##class(%SYS.System).InstanceGUID()C59DD3E8-8474-4045-B252-1AF1A0D94F3CUSER>w ^|"%SYS"|SYS("INSTANCEGUID")C59DD3E8-8474-4045-B252-1AF1A0D94F3CUSER>w $zvCache for Windows (x86-32) 2016.2.1 (Build 803U) Wed Oct 26 2016 13:33:05 EDTUSER> However I don't know what might happen if you change it. Best check with InterSystems.
go to post John Murray · Apr 27, 2017 Did you see my answer above? Did you look at using the ExportAllClasses method of %SYSTEM.OBJ to write a file? And then use the Import method from within another namespace to load the contents of that file?To help you get started, here's me running the first step:SAMPLES>s sc=$system.OBJ.ExportAllClasses("c:\s\samples-allclasses.xml") Exporting class: Aviation.AircraftExporting class: Aviation.Classification.UtilsExporting class: Aviation.Crew...Also, you may find the "Add new comment" links in Developer Community useful, instead of posting answers that are really questions. For example:Please also be aware that you can mark one answer to your question as "accepted" by clicking on that checkmark you see in my screenshot above.
go to post John Murray · Apr 27, 2017 Look at the methods of %SYSTEM.OBJ and in particular ExportAllClasses.
go to post John Murray · Apr 24, 2017 The AutheEnabled property is an integer value that is treated as a set of bitflags. Here's one way of decomposing it:%SYS>set sc=##class(Security.System).Get(,.props)%SYS>for bit=0:1:31 if $zboolean(props("AutheEnabled"),2**bit,1) write !,"Bit ",bit," is set" Bit 4 is setBit 5 is setBit 6 is setBit 10 is set%SYS>Documentation for the $ZBOOLEAN function is here. You can use the OR operation (third argument = 7) to set a specific bit within the existing value. For example, to ensure bit 4 (whose meaning is AutheOS) is set:set props("AutheEnabled")=$zboolean(props("AutheEnabled"),2**4,7)If you are satisfied with my answer please click on the checkmark alongside its title.
go to post John Murray · Apr 24, 2017 Your reference to LocalSystem means I assume you're running Cache on Windows. On this platform Cache processes started by Cache (e.g. telnet logins, web application handlers, Studio connections) will run at the OS level as whatever Windows account the Cache service is set to log on as (see Windows service control manager tab as shown below). If you make your Cache service run as a specific account rather than as Local System, then all of the processes started by Cache will run with those credentials. I don't know if this will help you. UPDATE: Starting at 2015.2 (I think), it is important to use the cinstall.exe utility (located in your installation's bin subdirectory) to change which account the service runs as: cinstall setserviceusername <InstanceName> <username> <password> If you don't do this but instead only change the setting in the Log On tab of the service (screenshot above), then in certain circumstances the $ZF() functions may return a -1 failure code. See http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... Search the docs for "setserviceusername" for more details.
go to post John Murray · Apr 24, 2017 Can you read the Caché ObjectScript code that implements the GetPatientInfo method in the com.siemens.med.hs.Country.WebServices.pats.ClassPatientServices class, and work out why it returns ErrDesc="Erreur: IPP manquant." ?
go to post John Murray · Apr 24, 2017 If you're trying to check that the first character is " then you need to double the quotes. In other words, test as follows:if $e(chunk,1,1)=""""
go to post John Murray · Apr 24, 2017 I expect it gets hit whenever an HTTP client accesses that URL.I expect it will consume a license in the normal way.Can you use web server logs to find out where the HTTP requests are coming from?Also, is this a duplicate of a previous question from you?
go to post John Murray · Apr 13, 2017 Maybe adding the /recursive=1 qualifier will give you what you want. If so, please click the checkmark to accept this answer.SAMPLES>d $system.OBJ.Export("Cinema.Film.cls","c:\s\exp1.xml") Exporting to XML started on 04/13/2017 09:49:36Exporting class: Cinema.FilmExport finished successfully. SAMPLES>d $system.OBJ.Export("Cinema.Film.cls","c:\s\exp2.xml","/recursive=1") Exporting to XML started on 04/13/2017 09:49:39Exporting class: Cinema.DurationExporting class: Cinema.FilmExporting class: Cinema.FilmCategoryExport finished successfully. SAMPLES>
go to post John Murray · Apr 12, 2017 Eduard, that only restricts access to the CSP Web Gateway Management pages. It has no effect on who can use the web applications that can be reached through this instance of the CSP Web Gateway.
go to post John Murray · Apr 12, 2017 Maybe define an extra Web Application in Portal for your REST/SOAP services to be available on. Choose whatever path suits you, making it one that doesn't overlap with one that Management Portal uses.
go to post John Murray · Apr 11, 2017 Launch an admin-level command window, then run csession.exe in the bin directory of your Caché install, giving your instance name as the argument, e.g.If this works for you please click the checkmark alongside the answer.
go to post John Murray · Mar 31, 2017 Assuming you aren't using a really old version of Caché (5.0 or earlier), and that your users have their own userids in Caché (i.e. $username is different for each of them), then you can configure things so that certain users aren't able to read the database of NS2. This will stop them switching to the namespace as well. See documentation here and here.If you find this answer useful please click the checkmark alongside it.
go to post John Murray · Mar 29, 2017 When Ensemble runs on Windows its background processes typically run with whatever Windows credentials the Ensemble service (see Windows Service Control Manager) is set to "Log on as". If that is LocalSystem then your background processes won't be able to access UNC paths.For more information, see my post here. If my answer here resolves your question please click the checkmark alongside it above.
go to post John Murray · Mar 23, 2017 I suggest you export the package to XML, then edit the XML, then import it.
go to post John Murray · Mar 16, 2017 Are you aware of the ChangePassword method of %SYSTEM.Security? You can call it from the $system SVN, i.e. something like:set blnOK=$system.Security.ChangePassword($username,newPW,oldPW,.status)If blnOK is false there should be more information in status.
go to post John Murray · Mar 15, 2017 Like most DC posts nowadays, this one got auto-crossposted to the intersystems-public-cache Google Group. When I checked this morning there were 5 responses from people trying to help the original poster. But since those answers don't automatically feed across to DC I'm drawing attention to them here. Because unless the OP knows to look there they may never see them.https://groups.google.com/forum/#!topic/intersystems-public-cache/fngd5j...
go to post John Murray · Mar 10, 2017 In COS the function $Char(10) returns the ASCII newline character. Or if you need a CRLF sequence you can use $Char(13,10)