Cristiano Silva · Nov 8, 2022 go to post

Hi Andy.

Follows a very simple example:

Navigation Customized:

/// br.cjs.zen.TableNavigatorClass br.cjs.zen.TableNavigator Extends%ZEN.Component.tableNavigator
{

/// Este é o namespace XML para este componente.Parameter NAMESPACE = "br.cjs.zen";/// Contents of this composite component:/// This is a set of paging buttons as well as text controls/// to show the current page number.
XData Contents
{
<composite xmlns="http://www.intersystems.com/zen">
    <hgroup labelPosition="left" cellAlign="left">
        <!-- originally was a series of buttons -->
        <image id="btnFirst" onclick="zenThis.composite.gotoPage('first');" src="navigation/First.png"/>
        <image id="btnPrev"  onclick="zenThis.composite.gotoPage('prev');"  src="navigation/Previus.png"/>
        <image id="btnNext"  onclick="zenThis.composite.gotoPage('next');"  src="navigation/Next.png"/>
        <image id="btnLast"  onclick="zenThis.composite.gotoPage('last');"  src="navigation/Last.png"/>
        <!-- End -->
        <spacer width="20"/>
        <text id="pageNo" size="2" labelClass="tn-pageLabel" onchange="zenThis.composite.gotoPage(zenThis.getValue());" />
        <text id="pageCount" size="4" labelClass="tn-pageLabel" readOnly="true" />
        <spacer width="*"/>
    </hgroup>
</composite>
}

}

Sample usage:

Cristiano Silva · Nov 22, 2022 go to post

Hi @Martin Staudigel 

Create a custom client class, then override the method InvokeRequest. In the method set the property SSLCheckServerIdentity  of private property %HttpRequest to false .

Bellow a simple example:

Class User.FHIRRestClient Extends HS.FHIRServer.RestClient.HTTP
{

/// @API.Overridable<br>/// InvokeRequest takes the Private %HttpRequest object - passed in as pRequest here -/// and invokes the request. The HTTP response is stored as the HttpResponse property/// of the HTTP request object. This method returns a reference to that property.<br>/// @Input pRequest %Net.HttpRequest object.<br>/// @Input pRequestMethod HTTP verb.<br>/// @Input pPayload Input payload content, can be FHIR resource content or Patch content.<br>/// @Input pRequestPath Request path, as derived by the invoked interaction-specific method.<br>/// @Input pQueryString Query string, as derived by the invoked interaction-specific method.
Method InvokeRequest(pRequest As%RegisteredObject, pRequestMethod As%String, pRequestPath As%String, pQueryString As%String) As%RegisteredObject
{
  Set ..%HttpRequest.SSLCheckServerIdentity = 0Return##Super(pRequest, pRequestMethod, pRequestPath, pQueryString)
}

}
Cristiano Silva · Nov 29, 2022 go to post

Hi @Norman W. Freeman 

The way to achieve wat you need is: uncheck the database Mount Read-Only of IRISLIB in the Management Portal:

 Watchout because you can damage your instance.

Cristiano Silva · Nov 30, 2022 go to post

Hi @prashanth ponugoti 

Are you using the Private Webserver? If yes this can be the issue, because InterSystems don't recommends then use of Private Webserver in production environment. Bellow a snippet of documentation:

Conclusion

If you expect very low volume of HTTP traffic, have limited demands for high availability and secure operation, the private web server may be suitable for your development and testing needs. However, for production use, InterSystems recommends installing your own separate copy of Apache, ideally on its own server, and configuring it to use our Web Gateway to communicate with InterSystems products. If you expect a high amount of HTTP traffic, require high availability in your web server, need to integrate with other sources of web information, or need a high degree of control over your web server, you should not use the private web server.

See the documentation:  Application Use Of InterSystems Web Server

For production environment install a Webgateway in a separate machine/container if possible.

Installing the Web Gateway

Regards.

Cristiano Silva · Dec 13, 2022 go to post

Hi @Mark Sharman

In the Iris, the global where localized labels reside is ^IRIS.Msg("EnsColumns"):

This global is mapped from ENSLIB database that is read only, You can't set value to this Global. 

Uncheck the Mount Read-Only option, save then you can set the value of global:

I recommend that after you finish the configuration, comeback ENSLIB database to read only. 

Cristiano Silva · Jan 12, 2023 go to post

HI @Freddy Baier 

You can change your query, given alias to the columns:

SELECTid,room,client->nameas ClientName,functionary->nameas FunctionaryName FROM rooms ORDERBYid

Then in COS you access the columns by name:

Write rs.%Get("ClientName")
Write rs.%Get("FunctionaryName")
Cristiano Silva · Feb 3, 2023 go to post

Hi Pedro,

You can retrieve this information querying the class %Dictionary.PropertyDefinition.

An example:

SELECTNameFROM %Dictionary.PropertyDefinition
WHEREparent = "mypackage.MyClassName"

The field parent is fully qualified name of the class that you want to list properties name. 

Cristiano Silva · Apr 20, 2023 go to post

You can use add or remove programs too.

  • would I be correct to interpret 'CacheC' in the example command as the instance name of the Ensemble installation to be uninstalled? Or is that the folder name on the filesystem where it is in installed?

Is the instance name.

  • Not familiar with Windows Registry editing, so can I safely delete those two trees in the registry if i want a completely fresh start?

After uninstall and if you have only one installation yes.
 

Cristiano Silva · Apr 24, 2023 go to post

Hi @Punit 

Use the method LinkToFile below a example.

C:\temp before create the file:


Execute the code

Set file = ##Class(%Stream.FileBinary).%New()
Set statusCode = file.LinkToFile("c:\temp\test_file.txt")
If ($System.Status.IsError(statusCode))
{
  Do$System.Status.DisplayError(statusCode)
  Return
}
Do file.WriteLine($ListBuild("Some bin data"))
Write$System.Status.DisplayError(file.%Save())

After execution: