Tom Fitzgibbon · Jun 1, 2017 go to post

Recent InterSystems Cache works rather well and has a tendency to make us lazy about checking the DB. SQL, Mongo, etc. DB admins must check/fix/maintain DBs on a regular basis.

For our smallish 100GB-200GB Cache DBs we scheduled daily background integrity checking but would typically find small damage only once every 3 years or more due primarily to hardware failures.

Cache appears to be incredibly resilient compared to other DBs.

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

Tom Fitzgibbon · Feb 9, 2018 go to post

If you've had any experience with packet monitors you probably should try Wireshark since it's the most widely used. Various plugins, addons are available. I've used to monitor CSP, SOAP, JSON, Ensemble and other transactional comm.

Fiddler is a bit more user friendly but once you're in the packet details you have to spend time deciphering no matter what monitor.

Tom Fitzgibbon | gototomATG...l | 3474648531

Tom Fitzgibbon · Apr 30, 2018 go to post

SMTP servers can have different requirements (port, SSL level, etc). You have read AOL SMTP requirements? Sometimes it requires some fiddling.

From Lifewire: Enter these SMTP settings to send outgoing email through to your AOL Mail account from any email program.

  • Incoming Mail Server: imap.aol.com
  • SMTP Outgoing Server Address: smtp.aol.com. Set the port to 587
  • SMTP Username: "user@aol.com" (or @love.com, @games.com or @verizon.net)
  • SMTP password. The password you use to log in to AOL Mail
Tom Fitzgibbon · Mar 16, 2016 go to post

Dmitry - Have you tried Studio through VMware Fusion? Fusion seems to be more stable for me than Parallels.

Tom Fitzgibbon | Multidata | 212-967-6700 x537

Tom Fitzgibbon · Aug 5, 2016 go to post

What version of Cache and Windows are you trying to use?

You've probably already seen this but here is InterSystems primary doc: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_win.

Take a look at learning areas at InterSystems: https://learning.intersystems.com

Obviously, call InterSystems support.

CSP on Windows/Linux has worked well for me.  You can put together a data driven website quickly, integrate software (jQuery, HTML, CSS, Javascript, etc) and exercise good control over the stack.

Sorry I can't give you a simple step by step but there are many consultants that can help.

- Tom Fitzgibbon | Multidata | 347-464-8531

Tom Fitzgibbon · Sep 2, 2016 go to post

Dmitry is correct: do not try to upgrade on your production server. You may end up with a mess. Create a new server, move routines/globals/classes to the new server and test extensively.

Difficulty in upgrading Cache depends completely on your application. If you use exotic features like $ZU, calls to the OS, third party software, discontinued functions, it will be harder to upgrade.

Tom Fitzgibbon | Multidata | 347-464-8531

Tom Fitzgibbon · Sep 3, 2016 go to post

Sanasa -

Your upgrade difficulty will be determined by your current application. No way to provide specific information for your site.

A starting place: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY… for general information.

Suggest you hire someone very familiar with upgrading older Cache systems on a temp basis to help prepare an upgrade roadmap and then make the upgrade.

Tom Fitzgibbon | Multidata | 347-464-8531

Tom Fitzgibbon · Sep 7, 2016 go to post

Benjamin -

If you are moving to a distinctly new hardware platform (e.g. Windows to Linux) or 32 to 64 bit platform InterSystems will charge you for an upgrade. If you do not have current support for Cache you will have an upgrade charge.

But check with InterSystems or your representative because InterSystems can sometimes be flexible in pricing.

Tom Fitzgibbon | Multidata | 347-464-8531

Tom Fitzgibbon · Sep 10, 2016 go to post

An Arm chip on a SoC board running Linux is now the definition of low-medium end computing, whether we like it or not. More powerful variants will eat their way up market (see the iPhone 7).

Any young software engineer is learning computing on an ARM device or using OS X, some Linux/UNIX variety.

If a stripped down version of Cache DB (like GlobalsDB) can be produced/maintained by InterSystems, it would go a long way to feed future Cache/InterSystems growth, which is what anyone reading this opinion needs.

Tom Fitzgibbon | 347-464-8531

Tom Fitzgibbon · Sep 16, 2016 go to post

Just tried command s x=$zf(-1,"dir > tkfdir.txt") in Cache 2016.2 on Windows 10 (installed with all defaults) and it worked fine. The process created a text file in Windows with the current directory information.

Let us know what you're trying to do.

Tom Fitzgibbon | 347-464-8531

Tom Fitzgibbon · Sep 17, 2016 go to post

HealthShare built with Ensemble and Cache. HealthShare appeals to RHIOs, HIEs, providers, payers and managed care organizations, health information networks. Developers use InterSystems HealthShare® to share health information, collaborate for better, safer care, and to create innovative solutions to healthcare challenges.

It's a little dated but look at http://www.intersystems.com/who-we-are/newsroom/news-item/intersystems-introduces-healthshare-high-performance-massively-scalable-information-delivery-framework-targets-rhios-hie-networks-forming-worldwide/.

Ensemble is a platform supporting a diverse set of applications, not just healthcare.  See: http://www.intersystems.com/our-products/ensemble/ensemble-overview/.

Tom Fitzgibbon | 347-464-8531

Tom Fitzgibbon · Mar 3, 2017 go to post

Vijay - As you were suggesting it seems like COS might be the most efficient way to quickly validate HL7. I've written simple checking scripts but as you know HL7 has some significant variations.

Tom Fitzgibbon | 347-464-8531 | gototomAtg...l.com

Tom Fitzgibbon · Mar 3, 2017 go to post

A late comment on Cache security.

Installers are tempted to use "minimal security" instead of "standard" when installing Cache. I suggest always use "standard", change default passwords, etc. You should figure out Cache security before installation, rather than trying to jam more security in later, otherwise admin will be more pain.

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…

Tom Fitzgibbon | 347-464-8531 | gototomAtg...l.com

Tom Fitzgibbon · Mar 23, 2017 go to post

No good answer here but always wondered why this was not easier to do in Studio.

In the past I've copied/pasted classes in small packages to new package, or exported to XML, edited and imported as others have suggested.

Tom Fitzgibbon | 347-464-8531 | gototomAtG...l.com

Tom Fitzgibbon · Mar 24, 2017 go to post

Sansa -

Many licensing issues are best taken up with InterSystems. We'd have to know what kind of Cache license you had (how many users, etc.), how all users are connecting to your Cache 5.02 platform (SSH, Telnet, CSP, etc), system settings and other info. Even then we could only make some guesses without being able to test your platform in real time.

InterSystems has been helpful to me in the past concerning licensing issues.

Tom Fitzgibbon | 347-464-8531 | gototomAtG...l.com

Tom Fitzgibbon · Mar 27, 2017 go to post

A Cache script also allows you to do other user management, like look for similar named users across all instances, construct interesting user tables for permissions, etc.

Should be fairly straightforward for simple user adds, for example.

Tom Fitzgibbon | 347-464-8531 | gototomAtG...l.com

Tom Fitzgibbon · Mar 31, 2017 go to post

Scott -

We've had this problem many times with HL7 messages being "lost" after the sender claims they sent messages to our receiver software. Most of the time we found the sender actually did not send out the HL7 message or sent out a "malformed" message that our receiver rejected. Plus most HL7 sender software has filters that will not send particular messages for a variety of conditions.

Since HL7 is somewhat predictable text, it's pretty easy to parse. You can ask the sender for the missing message number and search for it in your capture stream, for example.

Receiving data from another vendor often creates arguments about "missing" data.

We troubleshot problems as below:

1) Examine any audit information given by Ensemble for errors, rejections, retransmissions and the like.

2) Set up a passive listener that records all data (not just HL7 messages) and examine with tools or your own diagnostic software.

3) Set up additional HL7 receiver software which takes the incoming messages and creates files on your platform (while doing the ACK/NACK with the sender). Then you can examine the files and later process with Ensemble.

Tom Fitzgibbon | 347-464-8531 | gototomAtG...l.com

Tom Fitzgibbon · Apr 5, 2017 go to post

I've written COS that uses $System.License object to check license counts. Just loop every X seconds and use COS to send yourself an email or text when LU exceeds your threshold.

Depending on your user habits, app software, platform and InterSystems license Cache users can exceed the max before you know.

And yes, once users exceed limits it's difficult to remote troubleshoot. We ended up stopping new users from signing on before user limit was reached.

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_license

Tom Fitzgibbon | 346-464-8531 | gototomAtG...l.com

Tom Fitzgibbon · Apr 10, 2017 go to post

NYC needs a Cache/Ensemble/etc. user group. User groups generate sales and provide support for InterSystems.

I'm willing to volunteer some time to publicize and organize.

Anyone know about a space? We could try a meet to see who might be interested.

I'm assuming InterSystems (like a lot of vendors) would prefer to keep an arm's length approach to any user groups.

Tom Fitzgibbon | 3474648531 | gototomAtG...l.com

Tom Fitzgibbon · May 15, 2017 go to post

Licensing issues are best taken up directly with InterSystems. Most likely free test Cache software tricked up to not accept license to slow piracy.

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

Tom Fitzgibbon · May 22, 2017 go to post

Cache has different mechanisms for calling in from the OS to start Cache functionality. See http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY….

Several other possibilities I've used:

1) Your BAT file creates a "trigger" file (for example: MyTrigger.txt) when you want to do a backup. A Cache routine checks for the existence of the trigger file every five minutes and when the Cache routine notices the file, it deletes the trigger file and does ^DBACK.

2) Your BAT file stops Cache by doing cstop.exe in Intersystem/Cache/bin, then you OS copy the Cache.dat file (Cache namespace/database file), then does cstart.exe. Note: Cache will be DOWN while the copy is being made. You can dirty copy Cache.dat while Cache is running but there's no guarantee your copy DB will not be corrupt.

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

Tom Fitzgibbon · Jun 12, 2017 go to post

Obviously each project will have different requirements. But here are some generalizations from my experience:

Cache SQL: use when you want to expose your data to report writers who use SQL. Use Cache SQL write capability if you must but may be slower. Fairly easy to read code. But you do NOT need Cache SQL to create an app.

Cache Objects: used most often, especially if you are an object oriented programmer. Hard to not see the advantages of objects in most projects. Reasonable speed and code readability.

Cache Direct Global access: used for legacy programs (lots out there) and may be faster performance (depending on read/write code structure). Difficult to read after years of code changes.

Tom FItzgibbon | gototomAtG...l.com | 347-464-8531

Tom Fitzgibbon · Jun 14, 2017 go to post

Cache has a slightly Windows tilt, but that's changing fast. For example, Cache Studio IDE works in Windows, not Linux or Mac. Cache Studio will eventually be replaced with InterSystems Atelier IDE (based on Eclipse). Doc and community support is still slightly Windows oriented but have plenty of info about Linux based Cache.

Linux is a great stable platform for running Cache, either on top of Red Hat (Centos), Ubuntu (Debian) OS or other variations.

I use a Mac running VMware Windows or Centos emulations for testing, developing Cache applications. Then put the production Cache application on a Windows or Linux server, Virtual Private Server or cloud server.

If I have a choice I typically go with Linux. But if you have more experience in Windows, stick with Windows. I don't think you're missing much in Cache running on Windows.

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

Tom Fitzgibbon · Jun 15, 2017 go to post

Windows Cache or Linux Cache Mirroring and Clustering are available for mission critical systems.  Cache is one of most stable DBs around without any extra steps but you probably want to go further for critical production servers.

I ran mirrored Windows servers without data loss. Fairly easy to set up and maintain. Clusters a bit more complicated but may fit with your production model.

See http://www.intersystems.com/our-products/cache/provisioning-monitoring-managing-applications/high-availability/ and http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_failover.

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

Tom Fitzgibbon · Jul 20, 2017 go to post

Without more info on writing/reading patterns the answer can't be knowable. For example, your application may have thousands of random write/reads looking for small amounts of vals OR fairly uniform write/reads looking for complete chunks of vals.

Best thing for you to do is to simulate your data usage on your target platform and do the timings yourself. Testing is fairly easy.

That being said the second method may be more efficient because you can write/read larger chunks of persistent data.

But it all comes down to your specific use case.

Tom Fitzgibbon | 9179331226 | gototomAtG...l.com