During testing your code you are often confronted with the need to examine the actual content of an object. Either using ZWRITE or $system.OBJ.Dump() you get a picture of simple properties as "--- attribute values ---" while "--- swizzled references ---" are more confusing than informative and with "--- calculated references ---" you are just left in the lurch.
This small helper class allows you to dump an object to terminal or e.g in background to some stream for later review. By default, you see just properties with content,
I'm pleased to announce version 2.6.0 of the VS Code ObjectScript extension, containing a number of enhancements that make a developer's life easier. Some highlights are described below. As always, find the full list of modifications in the CHANGELOG, including many bug and vulnerability fixes.
Once again I'm here to talk about the ObjectScript extension for Visual Studio Code, and this time we are excited to announce the release of version 1.0!
The community has come together in an unprecedented way to deliver this product with InterSystems, and its only fitting that a tool so critical to developer productivity would be built with community testing, feedback and source code from the very beginning.
I'm reasonably sure that a lot of you would've liked to be present at the Global Summit 2023 but for one reason or another, you couldn't be present. Here is a brief recount of what went on on 4th and 5th of June.
During the development of the Terminal Multi-Line Command Editor I discovered in my IRIS installation a piece of software that I just can classify as a historic artifact. And it is still fully operational !!!
As it dates back to times before InterSystems was founded in 1978 you may understand my surprise. I personally stepped into that environment in 1978 and used it then for daily work.
If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).
A good writer is supposed to draw you in with the title and bury the answer somewhere in the article. I suppose this makes me a bad writer – don’t think less of me, my whole feeling of self-worth comes from the opinions of internet strangers!
I run most of my reviews using Docker Desktop on Windows 10. According to the recommendations, I clean up docker and downloaded repositories after tests: Repos are simple but Docker is somewhat resistant to release the consumed disk space.
In some of the last few articles I've talked about types between IRIS and Python, and it is clear that it's not that easy to access objects from one side at another.
Fortunately, work has already been done to create SQLAlchemy-iris (follow the link to see it on Open Exchange), which makes everything much easier for Python to access IRIS' objects, and I'm going to show the starters for that.
To begin, you need to click on the "New post" button in the top menu of the Developer Community site:
After that, you will see the editor that will give you the choice of creating a Question, an Announcement, an Article, or a Discussion. Different types of posts have their own sets of mandatory and optional fields.
The question has come up several times and I saw mixed answers and no quick example
My personal preference is using CPIPE device as you get back exactly the output you will get at the command line interface of your OS . The tricky thing is to stop reading in time. The example just displays what you normally see in your console. it becomes useful if you look for things that you can't get from any $system.whatever()
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own package. The rating reflects the experience of the reviewer with the status found at the time of review. It is kind of a snapshot and might have changed meanwhile. Reviews by other members of the community are marked by * in the last column.