Question Scott Beeson · Feb 4, 2016

I'm working on a proposal for a deployment tool development project and I was wondering if anyone had any experience with such a thing.  

We use Healthshare and implementations for new clients are tedius and lengthy.  Lots of ensemble service, registry value, lookup tables, namespaces and other things have to be created and configured. 

I would like to create a Zen or CSP page based deployment tool that can do all this with a few parameters and some custom code.

Has anyone done this?  What are some pitfalls you ran into?  Any unique ideas you included?  Other general thoughts?

15
0 1040
Announcement Evgeny Shvarov · Feb 12, 2016

Hello Community!

Win the Developer Community MVP (most valuable participant) award in February, and receive a free registration to the Solution Developers Conference at InterSystems Global Summit 2016!

The Solution Developers Conference is like the live version of the Developer Community. It’s where you can connect with your peers, and with InterSystems developers and product managers face-to-face! You’ll hear about our newest technologies, and how they can be used to super-charge your development projects. (Learn more about the Solution Developers Conference and InterSystems Global Summit. ) 

Wh

7
0 567
Article Steve Brunner · Feb 29, 2016 1m read

InterSystems is pleased to announce that Caché and Ensemble 2015.1.4 are now available as maintenance releases.
For a complete list of the corrections in 2015.1.4, please review the release notes.

Caché and Ensemble 2015.1.4 are available today for the same platforms as 2015.1.3.
The complete set of supported platforms, including specific point releases and/or patches, is detailed in the Supported Platforms document.

0
0 256
Announcement Evgeny Shvarov · Feb 28, 2016

Hi Community!

Meet the new group in Developer Community:

InterSystems Data Platform Blog!

In this group you'll find technical posts form InterSystems engineers and Community about InterSystems Data Platform technology cases which we consider as good or even best practices.

Every article in this blog passes InterSystems engineers' reviewing procedure and only then becomes available. You are very welcome to comment and share it!

We'll find best practices of InterSystems Technology implementations, will transform it into articles and will deliver for you in this group on a regular basis.

Don't miss

0
0 296
Question Luca Ravazzolo · Feb 13, 2016

Hi all,

I was wondering, what is your favourite public cloud provider?

What is your level of engagement with the cloud provider? Are you testing their infrastructure? In which case I'd expect you being progressing a parallel test with at least a second provider ;-) Or, are you already running a production environment?

--

OK, so, let me be the first one to share my experience with one specific cloud provider.

If I'm in a quick development POC project where I need to prove something very quickly, let's say I want to test a particular architecture or infrastructure with a firewalls or web servers or

8
0 535
Question Jenna Makin · Feb 24, 2016

Hi-

I'm curious to know what InterSystems clients are using for csp based web development methodology.

Are you doing tag based development, or class based development?

If you are using tag based development, what tools are you using to create the look and feel of your web pages?  Are you using tools like Adobe Dreamweaver, or do your developers sit down and code HTML using plain editors like Notepad and Notepad++

Are you doing prototyping of web pages and then adding CSP tags, or are you just developing the finished csp page with no prototype?

Thanks
Ken

2
0 497
Question Scott Beeson · Feb 12, 2016

In MSSQL I think you can do something like this:

select *
from HS_IHE_ATNA_Repository.COLUMNS
where TABLE_NAME='Aggregation'

 

How can I do this in Cache SQL?

[%msg: < Table 'HS_IHE_ATNA_REPOSITORY.COLUMNS' not found>]

11
1 2420
Article Sylvain Guilbaud · Feb 24, 2016 1m read

C:\data\backup.bat :

C:\InterSystems\Ensemble\bin\cache -s"C:\InterSystems\Ensemble\Mgr" -U%%SYS ##Class(Backup.General).ExternalFreeze() <C:\data\login.scr 

echo %ERRORLEVEL%

rem note that we need to check errorlevel from highest to lowest here....

if errorlevel 5 goto OK

if errorlevel 3 goto FAIL

echo errorlevel returned wrong value

goto END

:OK

echo SYSTEM IS FROZEN

xcopy c:\InterSystems\Ensemble\mgr\ z:\backup\Ensemble /s /e /y /i

echo %ERRORLEVEL%

goto END

:FAIL

echo SYSTEM FREEZE FAILED

:END

rem Now unfreeze the system

C:\InterSystems\Ensemble\bin\cache -s"C:\InterSystems\Ensemble\Mgr" -U%%SYS

0
0 1923
Announcement Evgeny Shvarov · Feb 23, 2016

Hi, Community!

There are only six days left to win InterSystems Developer Community MVP prize.

As it was announced in addition to Free Registration on InterSystems Global Summit winner gets 4 nights stay in the Arizona Baltimore, Waldorf Astoria Resort.

We measure contribution to Developer Community on valuable posts and comments and prepared special leaderboard built on InterSystems DeepSee.

By default, it shows all the members. We added the filter to the dashboard to show leaderboard without members who are InterSystems employees.

So here is current leaderboard without InterSystems members:

  

6
0 371
Question Graham Hartley · Feb 23, 2016

Hi,

Does anybody know when Ensemble 2016.1 will be general availability?

We are holding off upgrading, providing the wait won't be too long.

Thanks,

Graham

3
0 413
Article Dmitry Maslennikov · Feb 23, 2016 14m read

Developing an idea with RuleEngine in XData, we could even refuse from editing full class and edit only valuable xml. Sometime ago I have already written an article(in russian) about such possibility, even more, in that article I wrote about compilable JavaScript to Caché. 

Opening File

This possible with %Studio.AbstractDocument. While extending this class, developer should add a Projection.

Projection RegisterExtension As %Projection.StudioDocument(
                                DocumentDescription = "RuleEngine file", 
                                DocumentExtension = "RULE", 
       
2
0 1145
Article Dmitry Maslennikov · Feb 21, 2016 6m read

Some days ago Alberto has written a very interesting article about the usefulness of ObjectGenerators available in Caché.

In this article, Alberto shows an example RuleEngine based on XData, and how it is possible to improve the process of filling such rules. Caché Studio has a Studio Asist for XData; you may have already seen examples of it if you use ZEN or %Installer.Manifest.

We can use the %XGEN.AbstractDocument class for our task.Unfortunately, InterSystems has marked these classes (all of classes in %XGEN, in fact) as for internal use only.

2
0 1008
Article Evgeny Shvarov · Feb 1, 2016 1m read

Hi, InterSystems Developer Community!

We are working to improve this site to make it comfortable to read, contribute, share and get answers from InterSystems Developer Community!

But while we haven't fixed some UI issues please find in this post some simple answers on how to deal with Developer Community.

How to add post?

Open Communities page, choose desired e.g. Caché and click "Create New Post" button.

How  to subscribe to the post's updates?

To subscribe to post's updates and get them via email click on Favorite link under the post digest.  For example:

How  can I manage post's header ?

Suppose

17
0 554
Article Alberto Fuentes · Feb 19, 2016 3m read

The attached file contains an example of code generation using ObjectGenerators which builds a very simple homemade RuleEngine. 

Code generation is an excellent way of increasing performance moving run-time calculations to compile-time.

We could generate code creating routines or implemeting methods using ObjectGenerators. In this example we are using ObjectGenerators.

Update: Rule Engine is now on GitHub https://github.com/intersystems-ib/cache-iat-ruleengine

A very simple code generated method

For starters, let's begin with a very basic code generated method:

  • We want to implement ConvertToCSV meth
0
0 977
Question Joel Solon · Feb 18, 2016

This morning on the old Caché Google Group, someone posed the following question, which I've decided to answer here, because it's interesting!

Is there a way to iterate ClassMethod's params, and get param's names and values?

The first answer I can come up with is: it's not easy! In any method, you could try to write code like this (where methodName is the name of your method):

    set method = ##class(%Dictionary.MethodDefinition).IDKEYOpen($classname(), methodName)
    set args = method.FormalSpec
    for i=1:1:$length(args, ",") {
        set arg = $piece($piece(args, ",", i), ":", 1)
1
1 1941
Question Tiago Ribeiro · Feb 18, 2016

The cache has error messages default, for example , " -139 SQLCODE : Competition impairment on the update: row versions are not the same. "

How i can exchange it for a more friendly to the user's message? I use the CSP.Page and form_save ( ).

What is best practice for this situation?

3
0 1129
Announcement Andreas Schneider · Feb 17, 2016

Caché Monitor is a database\sql tool primarily for InterSystems Caché but can also connect to MS SQL Server, MS Access and more databases. Within Caché Monitors Server Navigator you see all available Namespaces on your Caché Servers. No need to know the name of the Namespace, no need to configure many many JDBC Connections by hand. Just click on the namespace and see all objects like tables, views, classes and more...

There is a beta build available with some new features: A main new feature in this build is called Query Cloud. With this feature you can write SQL Statements across multiple

2
0 2538
Question Rich Taylor · Feb 8, 2016

In preparation for a presentation I need a  real-world LDAP schema that has been customized a bit beyond the basics.   Perferably this would be based on an OpenLDAP system which would make it easier to merge into this presentation. 

If you have such a schema you would be willing to share please respond or contact my directly at Rich.Taylor@InterSystems.com

Thanks in advance.

Rich Taylor

1
0 390
Question Scott Beeson · Feb 16, 2016

Here is my original query:

SELECT EventType, InitiatedAt, COUNT(*) as cnt
FROM HS_IHE_ATNA_Repository.Aggregation
WHERE EventType = 'LOGIN'
AND LocalDateTime > '2016-02-16 11:00:00'
GROUP BY EventType, InitiatedAt

This gives me data like this:

LOGIN %SYSTEM 69918
LOGIN OTHER 39


However, I need to get the data back as two columns with all but the last concatenated and delimited, more like this:

LOGIN;%SYSTEM 69918
LOGIN;OTHER 39

I tried this:

SELECT EventType + ';' + InitiatedAt as k, COUNT(*) as cnt
FROM HS_IHE_ATNA_Repository.Aggregation
WHERE EventType = 'LOGIN'
AND LocalDateTime > '2016-02-16
3
0 7180