Tom Fitzgibbon · Aug 24, 2017 go to post

Need more information (with examples) on what you're trying to do.

If you're talking about:

1) a user login on Cache, you can start a routine/method on login for a terminal type service. http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS_users

2) Cache startup and other events you can run routine/method. http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSTU_customize_startstop

3) many other variations

Tom Fitzgibbon | 9179331226 | gototomAtG...l

Tom Fitzgibbon · Aug 29, 2017 go to post

Where is the SQL residing and how do want to trigger it?

If it's sitting on a local Cache server you can start it any number of ways: web page, Cache routine menu, text/email a listener routine, hit a JSON service, "Alexa, start my SQL query", push a big red button, etc.

If on the cloud somewhere or on someone else's server behind a firewall you have to get past authentication/firewall to start the query.

- Tom Fitzgibbon | 9179331226 | gototomAtG...l

Tom Fitzgibbon · Sep 4, 2017 go to post

Evgeny -

Cache.dat file backup while Cache is down is fast and dependable for a 100MB DB. Or backup the entire AWS directory space if you have additional files (csp files, JS, etc.) and you can restore.

Cache backup is slower and only backs up Cache resources but has the great advantage of running while Cache is up.

Third party backup software can do a pretty good backup but it's still dirty and may have corruption.

An AWS snapshot should work, I've never tested extensively.

Tom Fitzgibbon | 917-933-1226 | gototomAtG...l

Tom Fitzgibbon · Sep 14, 2017 go to post

I don't recall any default system recording of routine use, which means no audit of routine execution in previous years.

There is an audit of last routine save/compile in the ^ROUTINE(NameOfRoutine) global.

We manually added a routine use audit log through our user menu page. Obviously, this only captured usage from that point forward. You can also add a Cache Audit user event in your menu page to record info in the Cache Audit log.

I don't think there is a Cache Audit event for routine use logging but perhaps someone at InterSystems has added or has a workaround. See http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS_audit.

Tom Fitzgibbon | gototomAtG...l | 9179331226 |

Tom Fitzgibbon · Nov 21, 2017 go to post

One thing to check is to make sure your users are not starting up multiple CSP sessions from the same or different browsers on the same device.

Some of our users learned that there was no limit, before we changed our software, to the number of simultaneous CSP application windows they could open.

Six months after we rolled out the application suddenly the entire user population started opening multiple windows and we ran out of license slots.

Bonne chance,

Tom Fitzgibbon | gototomAtG...l | 3474648531

Tom Fitzgibbon · Nov 23, 2017 go to post

Having a refreshable image of your Cache/Namespace test area is the way to go.

Use Docker, VM machine image, backup image or other techniques to quickly reset full Cache image back to baseline for more testing.

Tom Fitzgibbon | gototomAtG...l | 13474648531

Tom Fitzgibbon · Nov 30, 2017 go to post

I've rarely rebuilt indexes while moving Cache DBs. It's a complex added step that is probably not worth doing unless you have very large DB or limited copy throughput.

Tom Fitzgibbon gototomAtG...l

Tom Fitzgibbon · Dec 2, 2017 go to post

As Robert indicates Shadowing and Mirroring on the Cache level are the ways to go.

Shadowing creates a copy of the master via journal Sets, Kills and $Bit. It's slower to sync and, I think, more prone to desync issues.

Mirroring is fairly immediate sync, offers more flexibility and features, like automatic failover. It's pretty awesome.

Tom Fitzgibbon | gototomAtG...l | 3474648531

Tom Fitzgibbon · Mar 8, 2018 go to post

I agree with Benjamin: VMs (and containers) are the way to make testing environments. Once you set up your VM/container structure it's easy to create/delete identical testing instances.  Obviously make sure that you carefully isolate your cloned Cache from the real world or it may start interacting with real world production.

Tom Fitzgibbon | tom@tec.today | 3474648531

Tom Fitzgibbon · Apr 29, 2018 go to post

Some ISPs block port 25, see the SMTP server specs for other ports you can use (465, 587, etc).

Code below has worked for me in the past.

Tom Fitzgibbon | gototomATg...l.com

-------------------------------------------------------------------------------------------------------

SendMail(Message,SendTo,Subject) ;send mail

s s=##class(%Net.SMTP).%New()

s auth=##class(%Net.Authenticator).%New() ; use default auth

s auth.UserName="user@domain.com"

s auth.Password="xxxxxxxx"

s s.authenticator=auth

s s.smtpserver="smtpout.secureserver.net"

s s.timezone="Local"

s s.port="80" ;for secureserver

s m=##class(%Net.MailMessage).%New()

s m.Charset="iso-8859-1"

s m.From="person@domain.com"

Send ;where to?

d m.To.Insert(SendTo)

;subject

s m.Subject = Subject

d m.TextData.Write(Message)

s status=s.Send(m)

d m.%Close()

d auth.%Close()

q status

Tom Fitzgibbon · Apr 30, 2018 go to post

CLS is kept in the system globals in each namespace. With some work you could probably write a COS routine to display the CLS in a human readable format.

Tom Fitzgibbon | gototomATg...l.com

Tom Fitzgibbon · Jun 29, 2018 go to post

You've left out some info (OS, OS version, firewalls, where you are running CTTerm, data path, etc) but...here are some suggestions:

Does putting in wrong account/password yield same symptom?

1) If you are running CTTerm on the same box check to see if Cache Telnet server enabled, permissions good, local box firewall not interfering, Cache license appropriate/applied, etc.

2) If running CTTerm from network check above plus all applicable firewalls or network protections. Some networks may prevent old Telnet running across specific paths without opening up a hole.

3) If you are using terminal servers to old serial terminals or PCs check the terminal servers.

Tom Fitzgibbon | 3474648531 | gototomAtG...l