The latest release of Serenji focuses on the debug experience. Not only can you now debug on the spot, no matter where you are or what you're doing, but we've also added some smaller features that will make debugging more straightforward. 

  • Run and Debug CodeLenses - clickable links above each class method, procedure, subroutine or extrinsic function.
  • Intuitive prompting for entrypoints and arguments - when debugging a class method, produce, subroutine or extrinsic function. 
  • Shaded read-only background - to clearly differentiate between documents which are editable and those that are read-only. 
  • Program output in debug console - output is shown in the debug console. 
  • Serenji commands on Server Manager's namespace trees - allowing you to launch Serenji through Server Manager. 

Find out more in our release notes here

10
1 0 67

Hi developers, 

We've incorporated VS Code's support for multiple concurrent debug sessions and consoles into the latest release of Serenji

So if you're working with processes that relate or are dependent on each other, you can now debug them together. Just launch a second Serenji debug session (F5) whilst the first one is still active. 

This short video below shows how it works. We hope you find this feature useful! 

Laurel 

Serenji 3.2 multiple concurrent debug sessions

00
0 0 46

The most recent release of Serenji features our innovative gj::locate technology. It was a standalone tool we originally created for a Developer Community contest earlier this year, but we've incorporated it into our debugger after some great feedback from developers. 

It works by navigating you directly to the source of your server-side errors in just a couple of clicks - enabling you to quickly fix errors without the need to count tedious lines of code... and let's be real, who has got time for that when you're under pressure to fix this bug? 

It's simple and straightforward to use:

1. Click on the gj::locate panel in the status bar

2. Enter the ObjectScript error message or line reference from a class/.mac routine..

3. gj::locate then does the work for you by taking you straight to the corresponding line in your source code.

Easy peasy... and with time to spare to make yourself a coffee before your deadline! 

The video below shows it in action - let us know if you've already given it a go. Or, if you're interested in trying it out we offer a free 30 day trial license, just drop me a message through the Developer Community or email us at info@georgejames.com.

Serenji 3.2.0 utilising gj::locate technology

20
0 0 58

Hi developers, 

Serenji 3.2.0, the latest version from George James Software, was released last week and our current users have been enjoying trying out the new features (which you can find more about here). 

If you're thinking about trying Serenji for the first time, we've made it easier to get set up by adding a walkthrough on the VS Code Welcome page. It takes you through: 

  • Setting up the server components.
  • Selecting a server namespace.
  • Saving and extending your workspace.
  • Requesting a debug license (don't forget we offer a free 30 day trial!) 

We've also added prompts and guidance throughout VS Code to open and add Serenji folders to your workspace and when going to run and debug code. 

This is just one of the ways we've enhanced the Serenji debugger to make straightforward and easy to use - so all you need to do is focus on your code. 

Serenji 3.2.0 Welcome Page Walkthrough

10
0 0 72

The latest release of Serenji by George James Software introduces zero configuration debugging, so it's ready to go in just one click - no matter where you are or what you're doing, your on-the-spot debugger is ready to go. 

We have introduced a host of new features to enhance the debugging experience so you can focus on identifying and fixing errors, without losing focus by spending time setting up a launch configuration. 

Check out the new features in our release notes

If you've already started using Serenji 3.2.0 let us know how you're getting on! 

30
2 0 87
Question
Sai Sai · Sep 15
Arranging Project

I want to start this project and wants to know the best practices, you guys using to arrange the project. I have done lot of mvc projects and API's in c#. But Intersystems is new to me. Please give me some suggestions like how can I Arrange the objects. Like for eg. Where can I store the productions objects like services,process and operations. will that be like under each resouces folder name? and what are the base classes, and how can I store them? basically please give me some idea about how Can I arrange them . 

 

Thank you 

Sai

00
0 8 158

Hi developers, 

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration. 

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?! 

   

In this latest release you will experience: 

  • Debugging in just one click with zero configuration. 
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console. 
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles. 
  • Shaded background for read-only documents. 

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging. 

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them. 

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging! 

60
4 0 109

Some time ago GitHub, has announced the new feature, GitHub Codespaces. It gives an ability to run VSCode in the browser, with almost the same power as it would run locally on your machine, but also with a power of clouds, so, you are able to choose the machine type with up to 32 CPU cores and 64 GB of RAM.

Looks impressive, is not it? But how it could help us, to work with projects driven by InterSystems IRIS? Let's have a look, how to configure it for us.

130
4 0 153

Hi developers, 

We have just published an update to the Deltanji version control extension for Visual Studio Code.

When used in certain Deltanji workflows, triggering an automatic checkout on first keystroke could result in the developer working on an outdated copy of the code and only being notified of this later when saving their changes. In order to prevent this from happening checkout now reloads the document immediately. 

Error messaging has been improved in two areas - when attempting to cancel code that is not checked out, and when trying to register new code onto a withdraw system. 

We have also improved interoperability between the Deltanji extension and the InterSystems ObjectScript one, as well as its handling of multi-component objects.

If you're already a user of Deltanji then your extension with automatically update. You can find out more information on Deltanji and the latest release here

20
0 0 75
Announcement
Nikita Savchenko · Jan 19, 2017
Caché WebTerminal v4 Release

Greetings, InterSystems community!

I am pleased to announce that the web terminal project, Caché WebTerminal version 4 gets its release! After long period of enhancing this web application from 2013, it came to the version 4, which features major stability and security improvements, intelligent autocomplete and syntax highlighting, convenient SQL mode and a lot of other useful features.

The goal of this article is to spread the knowledge about this project over the InterSystems community.

160
2 34 2,838

gj :: locate was the entry from George James Software for the Developer Tools competition back in April 2021. When an ObjectScript error is reported, gj :: locate takes the .int line location and navigates you directly to the line in the source file where the error originated. Over the past few months we've found it a very useful tool when it comes to debugging, especially when used alongside the Serenji debugger in Visual Studio Code.

Our first update, version 1.1.0, now includes support for multi-root workspaces. This enables gj :: locate to be used with every workspace folder. If your VS Code workspace has more than one root level folder, connecting to different namespaces or perhaps different servers, then gj :: locate will determine which workspace folder is current and locate the source code in that folder. If your workspace doesn't have any files open then gj :: locate will prompt you to select a folder from a pick-list.

This will particularly benefit VS Code power users who have workspaces with simultaneous connections to multiple namespaces, on multiple different IRIS and Caché servers.

If you would like to try it out then you can download it from the VS Code marketplace. Or if you’re already a user, then gj :: locate will automatically update. Let us know how you're getting on with it!

20
1 0 55
Announcement
Laurel James (GJS) · Jun 10
Serenji v3.1.4 update

We’ve published an update to the Serenji debug extension for Visual Studio Code, making it ready for the Workplace Trust feature in VS Code 1.57.

This allows the Serenji ObjectScript editor to work without restrictions across all workspaces and, by bringing it in line with the VS Code update, only allows the debugging feature to be used in trusted workspaces.

30
1 0 70

This time I want to talk about something not specific to InterSystems IRIS, but that I think is important if you want to work with Docker and your server at work is a PC or laptop with Windows 10 Pro or Enterprise.

As you likely know, containers technology comes basically from Linux world and, nowadays, is on Linux hosts were it shows maximum potential. Those who use Windows on a normal basis see that both, Microsoft and Docker, have done important efforts during these last years that allow us to run containers based on Linux images on our Windows system in a really easy way... but it's something not supported for production systems and, this is the big problem, is not reliable if we want to keep persistent data outside of containers, in the host system,... mostly due to the big differences between Windows and Linux file systems. In the end, Docker for Windows itself uses a small linux virtual machine (MobiLinux) to run the containers... it does it transparently for the windows user... and it works perfectly well if, as I said, you don't require that your databases survive longer than the container...

Well,...let's get to the point,... the point is that many times, to avoid issues and simplify, we need a full Linux system and, if our server is based on Windows, the only way of having it is through a virtual machine. At least till WSL2 in Windows is released, but that will be another story and sure it'll take a bit of time to become robust enough.

In this article, I'll tell you, step by step, how to install an environment where you'll be able to work, if you need it, with Docker containers on an Ubuntu system in your Windows server. Let's go...

140
3 11 12,643

 I'm trying to set up VS Code for ObjectScript using the instructions found here. I've got both Cache 2018.1.2.309.0 and IRIS 2020.1.0.215.0. When I try to connect to either one of them the connection fails, and I get a notification in the bottom right corner that says "Unexpected token < in JSON at position 0". I've checked the JSON settings file that VS Code uses, and they're fine and formatted properly. All of the settings I've entered are correct.

00
0 20 352
Article
Robert Cemper · Apr 26 3m read
SSH for IRIS container

Why SSH ?

If you do not have direct access to the server that runs your IRIS Docker container
you still may require access to the container outside "iris session" or "WebTerminal".
With an SSH terminal (PuTTY, KiTTY,.. ) you get access inside Docker, and then, depending
on your needs you run "iris session iris" or display/manipulate files directly.

Note: 
This is not meant to be the default access for the average application user
but the emergency backdoor for System Management, Support, and Development.

26
0 34 497

Announcing gj :: locate.  A simple extension for VS Code that will help you get to the source of your errors.

In VS Code, using either the Serenji extension or the basic InterSystems objectscript extension, this small add-on will open the appropriate class or routine and position you at the exact line where an error occurred.

No more tedious counting of lines to find <UNDEFINED>zCredit+206^Ledger.Invoice.1.  Instead, with gj :: locate you can get there with just a couple of clicks.

This 20 second video tells it all:

20
1 2 110
Article
Laurel James (GJS) · Apr 20 3m read
Why gj :: locate?

You may think it isn’t too difficult to get from label+offset^routine to the actual source line responsible for the error.  For an expert it isn't that hard... most of the time.  But there are enough oddities and special rules that even an expert can get it wrong, whilst spending a lot of time trying to get there.

gj :: locate is the latest tool from George James Software – it debugs any error, class or routine by converting the location of an error in compiled .int code to the corresponding location in your source, and then taking you right there.

Image this scenario…

40
1 0 120

In Studio you could open a class directly via it's name, without having to traverse the package tree with multiple clicks until arriving at the desired class.

You would Ctrl + O or (File -> Open) and be able to simply type in the class name, for example:

You press Enter, and viola - the class is opened.

How do you achieve this in VSCode?

30
0 1 196