Henrique Dias · Jul 13, 2016 go to post

Nice recommendation! 

Another SQL external client is DataGrip from JetBrains https://www.jetbrains.com/datagrip/

The connection method is the exactly the same used in Squirrelsql.

The interface and tools are great !

DataGrip is a tool that at least worth a try!

Henrique Dias · Jul 22, 2016 go to post

Paul, 

When the command ^%GSIZE asked if you wanted "All Globals", your aswer was No


All Globals? No => No
Global ^
0 globals selected from 187 available globals.

So, the command do not selected no globals of your 187 globals.


Try to answer Yes instead and look what happens after.

Henrique Dias · Jan 15, 2019 go to post

Hi, 

Excellent extension ! My personal preference VSCode over Eclipse Atelier. 

Just one thing. Anyone is editing CSP files using VSCode? How do you deal with syntax highlight for CSP ? 

Henrique Dias · Jul 16, 2019 go to post

I tried DataGrip in the past, and the software is outstanding. 

Nowadays I'm using DBeaver Community Edition.  It's an alternative to DataGrip, and it's free. laugh

DBeaver also has code completion for table/field names and standard SQL syntax. 

Henrique Dias · Aug 21, 2019 go to post

@Julian Matthews the original project was in a non-docker environment.

But my suggestion is to put the folder Csp  in the same path that you choose in: <Default Name="APPPATH" Dir="/opt/app/" /> 

Change the /opt/app/ to whatever directory you want.

Next, you can use the class Installer.cls to create the Database, Namespace, and Web Application.

So, run the following lines of the Dockerfile in the Caché Terminal: 

Do $system.OBJ.Load("/opt/app/Installer.cls","ck")

Set sc = ##class(App.Installer).setup(,3)

Or you can also go totally Old School and create everything manually and import all classes and CSP files smiley

Let me know if you want a Studio Project in an XML format. So you can import CLS and CSP files easily using the Studio.

Henrique Dias · Sep 23, 2019 go to post

Hi @Evgeny Shvarov 

Discussing the system monitoring with @Renan Lourenco He gave me the idea for a new Message Viewer.

So I decided to try in a different Namespace using Interoperability to use Manifest features a little more :) 

Should I make it simpler to avoid people getting confused?
 

Henrique Dias · Oct 10, 2019 go to post

Wow! 
@Kyle Baxter simple and awesome trick! I'm working with InterSystems technologies since Caché 5.0 in 2003 and never figure this out!

This trick is helpful

Henrique Dias · Oct 11, 2019 go to post

A friend of mine @VICTOR GALVAO used your approach and modified a little bit: 

Using the parameters "1,8,3,2" you can get SERVER:INSTANCE:NAMESPACE>  

Henrique Dias · Dec 19, 2019 go to post

Neerav, 

For my projects, I've been using this framework https://js.devexpress.com/; good HTML5 JavaScript Components with excellent features.

I'm developing using a more simple approach with:

- Simple HTML + jQuery

- REST services from Caché/InterSystems IRIS

DevExpress components are perfect for dealing with large datasets.

If you take a look at this project, you can see what the components are capable of:

https://community.intersystems.com/post/dashboard-iris-history-monitor
​​​​​​​Best Regards,

Henrique 

Henrique Dias · Dec 23, 2019 go to post

Hi Neerav, 

Answering your question: 

1. Yes, the only connection to Caché is the REST Services. The exception in IRIS History Monitor is the following line to show the Server Name | Instance Name :

#($piece($SYSTEM,":",1))# | #($piece($SYSTEM,":",2))#
2. If you don't want a docker environment, you can follow these steps :

https://community.intersystems.com/post/dashboard-iris-history-monitor#comment-73721I

3. The project IRIS History Dashboard was created using CSP files, but if you change, than to .html should work just fine. The only consideration is answer #1 above

4. Yes, there is no Angular or Node.js envolved.
 

Henrique Dias · Jan 9, 2020 go to post

Hi Raj, 

Just like others in the community, I use different IDE's. 

I like the Caché Studio; it's fast, reliable, and useful for debugging.

My favorite IDE right now it's VSCode with the vscode-objectscript extension from Dmitry Maslennikov. To work with Docker, Github, and other extensions that make my workflow faster.

I tried to use Atelier, but comparing with others that I mentioned above, it's the last IDE for me.

Do you expect to be writing code in a web-based editor five years from now?

No, I agree with @Eduard Lebedyuk answer. 

Regards, 

Henrique

Henrique Dias · Jan 29, 2020 go to post

Hi @Joao Palma 

To add new widget to the dashboard page, edit the dashboard.csp

The CSP page use bootstrap, javascript, and just a few tags of   <script language="Cache" runat="server">

To retrieve the information,  the ClassMethod  ##(VAR.infra.dashboard.dashboard).getMetrics() is called by the javascript function: 

function getSamples() {  $.getJSON(urlPreparacao, {  method: "getMetrics"}


The ClassMethod give to you the following properties:

  • "ApplicationErrors": 1,
  • "CSPSessions": 1,
  • "CacheEfficiency": "140.55",
  • "DatabaseSpace": "Normal",
  • "DiskReads": 4747741,
  • "DiskWrites": "40290",
  • "ECPAppServer": "OK",
  • "ECPAppSrvRate": "0",
  • "ECPDataServer": "OK",
  • "ECPDataSrvRate": "0",
  • "GloRefs": 672977994,
  • "GloRefsPerSec": "15740.00",
  • "GloSets": 2575733,
  • "JournalEntries": 480333,
  • "JournalSpace": "Normal",
  • "JournalStatus": "Normal",
  • "LastBackup": "",
  • "LicenseCurrent": 3,
  • "LicenseCurrentPct": "2",
  • "LicenseHigh": 4,
  • "LicenseHighPct": "3",
  • "LicenseLimit": 150,
  • "LicenseType": "Ensemble 2012.2 Enterprise, Multi-Server, Platform Independent, Development License, Web Add-On, DeepSee Analyzer, DeepSee Mode",
  • "LockTable": "Normal",
  • "LogicalReads": 472186661,
  • "Processes": "12",
  • "RouRefs": 247229866,
  • "SeriousAlerts": 0,
  • "ShadowServer": "OK",
  • "ShadowSource": "OK",
  • "SystemUpTime": "0d  4h 31m",
  • "WriteDaemon": "Normal"

In case none of the properties helps you, create a new ClassMethod with the information that you want and modify the dashboard.csp

Adding a new javascript function, it will retrieve the information that fits your needs.

I hope that helps. 

Best Regards,

Henrique

Henrique Dias · Jul 11, 2016 go to post

If you use the command d ^%GSIZE the result will be something like this:
      Global        Blocks       Bytes Used  Packing   Contig.
      --------    --------  ---------------  -------   -------
      Aviation.AircraftD
                        64          455,452     87 %        62
      Aviation.AircraftI
                         4           27,300     84 %         2
      Aviation.Countries
                         1            4,300     53 %         0
      Aviation.CrewI
                         5           36,824     90 %         3
      Aviation.EventD
                     1,153        6,980,501     74 %       649
      Aviation.EventI
                         3           19,020     78 %         1
      Aviation.States
                         1              820     10 %         0
      CacheMsg           6           30,040     61 %         0
      Cinema.ReviewD
                         1            4,012     49 %         0

Maybe this command could help you.

I hope that helps

Henrique Dias · Jan 27, 2020 go to post

Hi, 

If you want to try J-Report, here is a link for the trial version: 

https://www.jinfonet.com/product/download-jreport/
For an OpenSource alternative, you can take a look at Jasper Reports Community Edition 

https://community.jaspersoft.com/

I used to work with Jasper Reports to generate PDF reports for my customers. To connect to InterSystems IRIS, use the ODBC and voilá.

As mentioned by @Carmen Logue , if you tell us your reporting requirements, that should be easier to discuss alternatives.

Henrique Dias · Feb 13, 2020 go to post

Hi @Evgeny Shvarov 
Thanks for the link to the updated article. 

I found out the error using the Google Chrome DevTools.

I was trying to upload an image in a Published App.

In the DevTools console I got the error: 

POST https://openexchange.intersystems.com/mpapi/packages/image/446 500 (Internal Server Error)

Using the Network tab, I could see the details in the Response: 

{
    "errors":[ {
            "code":5001,
            "domain":"%ObjectErrors",
            "error":"ERROR #5001: You can't to change title image of the published package. Please, unpublish package or create draft.",
            "id":"GeneralError",
            "params":["You can't to change title image of the published package. Please, unpublish package or create draft."
            ]
        }
    ],
    "summary":"ERROR #5001: You can't to change title image of the published package. Please, unpublish package or create draft."
}

As a suggestion, this response could be shown in a toast message?