Hi all, I have released the latest version of VSCode extension for ObjectScript already a month ago, and finally a time for the info about this new release.

So, what's new in the release:

What's new in this version

  • added export setting "objectscript.export.addCategory" if enabled uses the previous behaviour, adds category folder to export folder, disabled by default
  • added Server actions menu, by clicking on server info from status bar. Open Management portal, Class Reference and toggle connection.
  • Class Suggestion in ##class, Extends, As, CompileAfter, DependsOn, PropertyClass
  • $SYSTEM suggestion by Classes from %SYSTEM
  • Import and compile folder or file by context menu in File Explorer
  • Server Explorer, now possible to open any other namespace
  • Macros suggestion

For details how it works now, look further.

9 14
5 942
InterSystems Developer Community is a community of 17,763 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

An exciting position has arisen for an Application Support Analyst 3rd Line, in an established support team at CDS Computer Design Systems Ltd. CDS is an independent SME, based near Manchester City Centre (United Kingdom) specialising in the Oil and Gas distribution software market for over 45 years with strong ties throughout the industry - https://www.codas.com

0 0
0 335

For Cache client install automation, where are the remote server settings stored on a Windows 10 PC?

Are they stored in the registry? I found the Cache registry key, but it only lists the remote server address and not the ports.

Are they stored in an INI file? If so, I haven't found it yet.

I can push the client install via the very helpful CEDocs URL (https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCI_windows_silentinst)

0 2
0 369

Hi,

I have a method that has multiple parameters and is normally used from other classes in ObjectScript. Most of the parameters have default values. Withing the server code that's perfect. In some areas I can call myMethod(,,"sometext") or myMethod(tVariab) and thats fine... I use it as it's required in each place.

But now I want to expose it as a REST service so I need to buld a kind of wrapper., another method in a REST dispatcher class that will receive the parameters in a JSON object and will call the server method already implemented. Something like:

0 3
0 737

A SOLID Design in Cache Object

In this session, we will discussing SOLID Principle of Programming and will implement in a example.
I have used Cache Object Programming Language for examples.
We will go step by step to understand the requirement, then what common mistakes we use to do while designing, understanding each principles and then complete design with its implementation via Cache Objects.

3 7
2 468

Hi Everyone!

Please watch the new video on InterSystems Developers YouTube, recorded by @Sourabh Sethi in the "Coding Talks" format:

Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare

https://www.youtube.com/embed/fhwiSy54lyY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 397
Article
· Jul 31, 2019 2m read
Anti CSRF Methods

IRIS provides us with anti login CSRF attack mitigation, however this is not the same as a CSRF attack, as login attacks only occur on the login form. There are currently no built-in tools to mitigate CSRF attacks on api calls and other forms, so this is a step in mitigating these attacks.

See the following link from OWASP for the definition of a CSRF attack:

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

4 5
1 630

Good Afternoon,

I'm working on a API documentation that wil be interactive, it's based on a BS class on Ensemble.

The objective on making the documentation is simplify the undestanding of the operation for those who are not acquainted with the Ensemble environment.

My problem is, when using Postman to test a operation the indentation appears as such:

0 4
0 382

We are developing an interface in Ensemble (v.2018) and would like to have common data visible and updatable from more than one namespace (sort of a lookup, but with more fields).

I can create a table in one namespace and inserting into it, let's say using SQL from the portal. I can also map that table to another namespace. It becomes visible there as a table, but new records inserted in one cannot be seen from the another namespace.

I am reading the documentation, but still no answer. Any help to speed me up?

0 7
1 804
Question
· Aug 1, 2019
DeepSee security issue

Hey Guys,

Have enabled DeepSee on my cache db via

Do EnableDeepSee^%SYS.cspServer(0)

I have created user with access to a profile with all the %Deep_See options (%DeepSee_Admin, %DeepSee_Analyzer etc etc) as well as %All. I have also added %All to unknownuser

When click the DeepSee page and choose a namespace Architect, Analyzer, Reporting Data Definition and Reporting Builder are all greyed out with 'you do not have privilege to view this page

0 3
0 215

Pre-requisite - Basic knowledge of ENSEMBLE and ObjectScript

My both previous sessions were related to OBJECTSCRIPT.
This time, we are going to add a flavour Ensemble/Healthshare,
to be informative and fast.

In this session we are going to discuss about -
"Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare"

Web API can be REST or SOAP. We will taking example of SOAP in this session.
However, whatever I demonstrate today, will also be applicable for REST.

0 0
0 325

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in July 2019!

New Applications

Metrics example published by David Underhill

A simple example of collating database and license metrics

Dynamic SQL to Dynamic Object published by David Crawford

ObjectScript function to convert any SQL query into a dynamic object

Cogs JSON Class published by Sean Connelly

Convert JSON to and from InterSystems ObjectScipt classes

Objectscript Roman Numeral Converter published by David Crawford

Converts numbers into roman numerals using ObjectScript

Random Read IO Storage Performance Tool published by Tony Pepper

Random Read IO Performance Tool for InterSystems IRIS Database

Port published by Rubens Silva

Port is a VCS-agnostic Caché Studio utility to export or import Caché files based on projects instead of namespaces

Forgery published by Rubens Silva

An auxiliary tool used to mimic requests to %CSP.REST and Frontier Router-based classes.

Log Production Queue Counts published by Robert Hanna

A simple scheduled task and persistent table for logging production queue counts.

EnsDemo Iris installer published by Guillaume Rongier

ENSDEMO port to IRIS without HL7 and DICOM examples

Anti CSRF CSP published by David Crawford

A method for mitigating anti CSRF attacks on CSP derived API calls

Frontier published by Rubens Silva

%CSP.REST on steroids. Frontier is a REST framework made with the purpose of reducing boilerplate code and imposing a clean coding style

Python Gateway Samples published by Eduard Lebedyuk

Examples of PythonGateway Usage. Python Gateway for InterSystems Data Platforms

2 0
0 135
Article
· May 31, 2017 28m read
Cogs Library

Cogs Library

Over the next few months I will be releasing a number of open source libraries and tools to the Caché community.

Most of the code has evolved from previous production grade solutions over the years and I am collating it together under a single overarching library package that I am calling Cogs.

17 38
4 1.4K

Hi developers!

Every day coding with IRIS and docker I call the following 3 commands in VSCode terminal. Always the same for any projects:

docker-compose build   ; to build the container

docker-compose up -d   ; to run the IRIS in container

docker-compose exec iris iris session iris ; to open the IRIS terminal

Is there any way to map the key sequence which will type me the rest?

e.g.

0 2
0 463

Preview releases are now available for the 2019.3 version of InterSystems IRIS and IRIS for Health!

Container images are available via the WRC's preview download site.

The version number for these releases is 2019.3.0.302.0

Public announcements will be made shortly, with separate announcements for each product.

InterSystems IRIS Data Platform 2019.3 is a CD (continuous delivery) release of InterSystems IRIS. It has many new capabilities including:

Continuous Delivery Releases of InterSystems IRIS

InterSystems API Manager

Node-level Architecture for Sharding and SQL Support

Infrastructure and Cloud Deployment Improvements

Port Authority for Monitoring Port Usage in Interoperability Productions

X12 Element Validation in Interoperability Productions

New Framework for Coding Business Hosts in Java

Java and .NET Gateway Reentrancy

5 1
4 465
Article
· Aug 1, 2019 3m read
Nested set model for ObjectScript

In many projects I was faced with storing hierarchical data (tree) in classes.
By tree, I mean such data, where each node has a parent node — an object of the same class.
Many examples of such data can be given. For example, a catalog in the online store. Suppose that this online store sells books, in this case, the category tree might look like this:

6 1
1 881
Discussion
· Jul 31, 2019
CodeGolf: FizzBuzz

Let's have a round of CodeGolf!

As usual the goal is to write the shortest solution for a specified problem.

Today we have one of the classics: FizzBuzz.

Write a program that prints the numbers from 1 to 100.

But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”.

For numbers which are multiples of both three and five print “FizzBuzz”

4 22
1 618

Hi Community!

New video is already on InterSystems Developers YouTube Channel:

Leveraging an Open Analytics Platform

https://www.youtube.com/embed/Vv3ENnaF2fE
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 251
Question
· Jul 16, 2019
Interface Monitoring

Hi all,

I'm looking to set up monitoring for several interfaces. I understand that I can set an Inactivity Timeout. However, obviously there are messages coming through more frequently during certain hours than other hours.

Is there a way to set an Inactivity Timeout for each hour of the day instead of one value that is used all day long?

Best,

Erin

0 12
3 701