Hi Ed!

One of the ways to expand the functionality in DeepSeeWeb is to expand the library of DSW widgets. 

The standard way is to implement the needed functionality in javascript (or take the one which already does what you want from the Internet) and make use of this javascript-widget as a new one with portlets.

Then introduce a new class derived from Portlet class (e.g. SmartMarkersPortlet) into the namespace and make sure that the name of the javascript file is equal to a classname.

Make sure to put the js file into /addons folder of dsw.

Then add the new SmartMarkerPortlet on a dashboard, provide the datasource and work with it as with usual widget.

Check how htmlViewer addon is implemented as an example.

Hi @Sourabh Sethi !

The LinkedIn page is nice! 

But I can advise for InterSystems Developer along with videos one of the best ways to highlight the skills for large audience is DC page with a set of articles with InterSystems experience (e.g. this one or that one) and OpenExchange page with a set of projects and solutions on InterSystems technologies like this, that or another one.

@Sourabh Sethi gives you reasonable advice.  You have a code which displays something on a terminal.

If display is done with "write" command (but not with some device-specific video-memory related commands) you can switch the device before calling the "program" and it will direct all the "writes" into the file. 

But maybe "your program" changes the device to terminal intentionally in the code - so I think you cannot go with USE device approach in this case - better change the code. You say "you cannot compile the program" - but do you have the source code to see what it really does? If yes you can easily answer yourself what it does and operate accordingly. 

Maybe another idea is to change the device "terminal" in your system - maybe you can log everything from the device to a file. I don't remember if we have this feature for device settings.

Where have you seen such a global?

Keys in global are unique. If you set the value of a global for the same key you'll override the value for the key.

Like @Eduard Lebedyuk wrote if you run 3 commands:

Set ^Data("Athens") = "5"
 Set ^Data("Athens") = "6"
 Set ^Data("Athens") = "7"

You'll first have 5, then override it with 6 and end up with value 7 for the key "Athens".