@Rich Taylor
Working direct on the server using the isfs FileSystemProvider first arrived in 0.7.12 on Aug 29, 2019.
- Log in to post comments
@Rich Taylor
Working direct on the server using the isfs FileSystemProvider first arrived in 0.7.12 on Aug 29, 2019.
@Rich Taylor wrote:
One thing to keep in mind is that all code that you create or edit in VSCode is stored locally on your development machine
That is not necessarily true. The model of working in which code is stored and source-controlled on an InterSystems server is perfectly valid, fully supported, and suits some teams and organizations better than the model that uses client-side source files and file-based source control tools such as Git.
See here for how this is done when using the InterSystems ObjectScript extension in VS Code.
IIRC the internal applications team at InterSystems works this way.
Our Serenji extension also uses the server-side model.
That's one of the benefits of using George James Software's Deltanji for your source control. As well as code versioning you get highly configurable deployment facilities. Here's a recording of me using Deltanji integrated with VS Code to transfer to my test namespace the two classes I've been working on as part of a task.

What program are you starting?
Glad you like it! We just released 0.9.2, so everyone can try this out by simply updating extensions.
.png)
At the same time we released a new version of Server Manager. Now you can define a new connection direct from the server selection quickpick. Less need to go into the JSON files.
Feedback welcome, here or in the GitHub repos of the two extensions.
Sounds like your team all work in shared namespace(s) on a Caché server. Server-side source control is the way to go. We just gave a webinar about our Deltanji tool doing exactly this. Watch out for the recording appearing on the Developer Community YouTube channel soon.
Better compose an SQL string "SELECT name FROM "_table and process it with some ResultSet class
But take care you don't open your system up to an SQL Injection attack.
Correct, Thursday. This has now been fixed.
A tip for anyone trying to upload a different image for an already-published app. You need to unpublish it first, to make the "Upload image" option appear on the menu. See this GH issue comment.
A related tip is that when you send your unpublished-and-modified app for approval you can override the default next version number that appears in the dialog, setting it to the same as the current version. You'll still have to enter something in the Release Notes field, but when your changes are subsequently approved your published app won't show any change in the Version History tab.
Is a recording of this going to be available?
Yes, that's consistent with what I just discovered. If I log out of DC it'll give me the correct time for the event.
The event details at the top now show 10:00 AM EDT, so I guess the DC software isn't adjusting for Daylight Saving Time.
@Anastasia Dyubaylo please clarify what time this session is. Your post contains conflicting information:

@Anthony Rosania I suggest you report this to the author of the book.
We're not all dead yet! I still have a full set of MSM 4.4 printed documentation on my bookshelf. And several developers who worked for Micronetics are still on the staff at InterSystems (pinging @Chuck Sorenson)
I haven't tested this, but you may be able to use the ZFLUSH command to flush buffers to disk, after first setting switch 13 using D ^SWREG in the MGR UCI to disable database writes. SWREG has entrypoints to let you set and clear switches programmatically.
In case there are still some MSM experts out there who aren't on Developer Community, you might also try posting on https://groups.google.com/forum/#!forum/comp.lang.mumps
This sounds good to me.
A Gitpod bug was preventing our Serenji evaluation environment from launching. This has now been resolved. So if you previously tried
https://georgejames.com/dc-gitpod but it didn't work, please give it another go. And if you haven't yet tried it, please do so and give us your feedback.
Release notes for 2019.1.1 and 2018.1.3 list these issues among the fixes. Announcements are:
Maybe. It's being considered.
Any plans for a DC Meetup at this event?
Kyle, I guess you missed it when I told you this 2.5 years ago here
https://community.intersystems.com/post/where-am-i-adding-extra-informa…
A bit more about my session "Falling in love with Visual Studio Code":
According to the 2019 StackOverflow Developer Survey, Visual Studio Code is number 1. More than 50% of those surveyed said they use it. Why is it so popular? Why do I like it? Why do you?
To use the debug features of Serenji you will need a keyfile issued by us at George James Software. Free evaluation keyfiles are available on request, normally lasting 30 days. On the Extensions section of VSCode, select the Serenji extension and follow the link in the "Installation" section to get full instructions.
I'm guessing you opened a CLS file that implements your API, which I assume is a REST one. For debugging we use InterSystems' native debug support, which operates on the INT code that your class compiles into. Depending on how you compile your class, that INT code might not have been retained. After all, it is "intermediate" code from which the runtime OBJ code gets generated. The documentation I pointed you to above explains how to keep INT code.
With Serenji VSCode's F9 key (Toggle Breakpoint) currently only operates when you are in an INT file. It's on our roadmap to add support for the setting of breakpoints in CLS source.
Also on our roadmap is the addition of a mechanism to let you debug the web gateway's server-side process that services your Postman request. Meanwhile you may be able to use Serenji's 'Existing Process' debug configuration to attach to the right server-side process, but it's challenging to pick the right one. Alternatively, use the 'ClassMethod' debug configuration and call directly the server-side classmethod that implements the method in your REST API.
Incidentally, did the VMS directory you ran your ComplexDelete("MEMBER_EXTRACT.*;*") on contain any files other than MEMBER_EXTRACT.* ones? Because if it did, my hunch is they all had their latest version deleted by that call because of how the semicolon gets treated as a delimiter of wildcard patterns.
The ComplexDelete classmethod uses the FileSet query:
ClassMethod ComplexDelete(filename As %String, Output return As %Integer) As %Integer
{
Set resultset=##class(%ResultSet).%New("%File:FileSet"),return=0
Do resultset.Execute(..GetDirectory(filename),..GetFilename(filename))
Set exit=1
For {
Quit:'resultset.Next()
Set file=resultset.Data("Name")
Set r=$$$FileDeleteRet(file) If r,exit Set exit=0,return=r
}
Quit exit
}The problem is, that query treats ";" as a delimiter separating multiple search patterns.
You could replicate the method but specify another delimiter (e.g. comma) when you Execute the query to get the resultset (untested code):
Do resultset.Execute(..GetDirectory(filename),..GetFilename(filename),,,",")Maybe someday ISC will enhance ComplexDelete to take an optional delimiter argument.
Bear in mind that local variable arrays can hold orefs but PPGs cannot:
SAMPLES>w $zv
Cache for Windows (x86-32) 2017.2.2 (Build 865U) Mon Jun 25 2018 11:10:00 EDT
SAMPLES>
SAMPLES>s oP=##class(Sample.Person).%OpenId(1)
SAMPLES>w oP.Name
Gallant,Yan N.
SAMPLES>
SAMPLES>s LocalArray(1)=oP
SAMPLES>s ^||PPG(1)=oP
SAMPLES>w LocalArray(1).Name
Gallant,Yan N.
SAMPLES>w ^||PPG(1).Name
W ^||PPG(1).Name
^
<INVALID OREF>
SAMPLES>w $isobject(^||PPG(1))
0
SAMPLES>w ^||PPG(1)
1@Sample.Person
SAMPLES>
SAMPLES>w LocalArray(1)
1@Sample.Person
SAMPLES>w $isobject(LocalArray(1))
1
SAMPLES>After a couple of maintenance releases this week we're now up to version 3.0.5. The recent changes:
Maybe the lack of line indent in Marc's post confused you. Try this:
%Split(List,Array,del) ;;liberating a VB function
S del=$G(del,"|")
Do ##class(%ListOfDataTypes).BuildValueArray($lfs(List,del),.Array)
Q 1