Eduard Lebedyuk · Mar 9, 2018 go to post

You can use assign action:

<assign property='..%Process.%SessionId' value='""'/>

Still, I'd recommend the same trick but in BS not BP:

set ..%SessionId = ""
Eduard Lebedyuk · Mar 9, 2018 go to post

Set SessionId property to empty string and Ensemble would automatically start a new session.

Also why are you iterating over a result set in a BP and not in BS? It would probably be better.

Eduard Lebedyuk · Mar 9, 2018 go to post

I want to know if it's possible that when I selected a date in one widjet affected also the other widjet with the same date. '

Yes. When you specifying the target for the widget control you can specify:

  • Empty string for current widget
  • * for all widgets
  • Widget name for some specific widget
  • Comma-separated string of widget names - to specify arbitrary number of widgets

Fourth case sounds like what you need.

If exists the possibility to create a generic date and when the user choose the range of date, will affect all of the widjets, independent that are different dates.

Can you elaborate on that? Do you mean filtering by week/month/season/year/etc.? That's possible.  There are a lot of ranges available, but you can add your own by extending %DeepSee.Time.AbstractLevel.

Eduard Lebedyuk · Mar 9, 2018 go to post

Also, if I happen to close Studio while the menu bar is "loose", the menu bar remains missing when I open a new Studio Session.
Is there a way to get the menu bar back in such a situation?

Vew -> Panels -> Uncheck missing panel

Vew -> Panels -> Check missing panel

Eduard Lebedyuk · Mar 8, 2018 go to post

Cache runs under different user. Check that this user (default: System) has access to \\backupsrv

If you're in a terminal, it would run under your OS user, have you tried writing the file from a terminal?

Eduard Lebedyuk · Mar 5, 2018 go to post

For password authenticated web applications it is possible by following these steps:

  1. All brokers effectively have Parameter UseSession = 1;
  2. REST web application and client web application allow only authenticated (i.e. password) access.
  3. REST web application and client web application have reasonable Session timeout (i.e. 900, 3600).
  4. REST web application and client web application have the same GroupById value.
  5. REST web application and client web application have the same cookie path.

If all these conditions are met, user would only consume one license slot per session and perform only one login.

Check out my upcoming webinar, we definitely would be discussing authentication.

Eduard Lebedyuk · Mar 2, 2018 go to post

Not directly. You receive the whole response and can process it line by line, terminating wherever you wish.

I'd recommend using WebSockets if possible.

Eduard Lebedyuk · Mar 2, 2018 go to post

Default namespace has a priority over script namespace. Remove user's default namespace.

Added as an answer.

Eduard Lebedyuk · Mar 2, 2018 go to post

Default namespace has a priority over script namespace. Remove user's default namespace.

Eduard Lebedyuk · Mar 1, 2018 go to post

You need to press "View other code" button (or Ctrl+Shift+V) and post zMypropertyGetSwizzled routine.

Eduard Lebedyuk · Mar 1, 2018 go to post

Please post this line of code (Open myClass -> See other code -> zMypropertyGetSwizzled routine, third line) :

zMypropertyGetSwizzled+3^myClass.2

Eduard Lebedyuk · Mar 1, 2018 go to post

Hello, everyone!

It's my first big webinar in English so I'm starting with the topic I'm familiar with  - REST APIs.

The main goal of this webinar is to  discuss REST APIs and how can we design them so they can evolve and grow without causing too much problems for everyone involved. Versioning, software layers separation, Broker separation - that kind of thing,

I would also like discuss some common challenges and how can we bypass them.

Then the tooling for the whole development life-cycle (dev-debug-test-document) would be presented.

And finally I'll show some REST API examples. Well, mainly UI clients for these APIs.

If you have a question about REST that sounds more or less relevant to the topics above - please post it here (or mail directly to me), I'll try to cover it too if possible.

Eduard Lebedyuk · Feb 27, 2018 go to post

First of all, you're calling class methods, so you don't need a file object. Instead of:

s file=##class(%File).%New()
d file.CopyFile(File,ArchivePath)
d file.Delete(File)

It's enough to write:

do ##class(%File).CopyFile(File,ArchivePath)
do ##class(%File).Delete(File)

Other things to consider:

  • You have file and File variables. That makes understanding what's going on more difficult than it should be.
  • Using full command names (set instead of s, do instead of d, etc.)

But, %File class has a method specifically for moving, so it's better to call it:

set Success = ##class(%File).Rename(File, ArchivePath, .RetCode)
write:(Success=$$$NO) "Rename failed with code: " _ RetCode
Eduard Lebedyuk · Feb 23, 2018 go to post

That's not a system macro.

Try searching (Edit -> Search in Files) for: '#define Fza' in'*.inc'

That should find you a macro definition.

Or you can check int code (Ctrl + Shift + V) to see what it compiled into.

Eduard Lebedyuk · Feb 22, 2018 go to post

That's probably unrelated problem?

Check application error log (SMP >  System Operation > System Logs> Application Error Log)?

Eduard Lebedyuk · Feb 21, 2018 go to post

Also can be used in class queries:

/// do ##class(class).subclassQueryFunc(baseclass).%Display()
Query subclassQuery(base) As %SQLQuery
{
SELECT 
  c.Name
FROM %Dictionary.ClassDefinitionQuery_SubclassOf(:base)
}
Eduard Lebedyuk · Feb 21, 2018 go to post

Here's a sample task.

tl;dr:

  • Should extend %SYS.Task.Definition
  • Parameter TaskName = "TASK NAME";
  • OnTask method is called once every time the task is run
  • Class properties become task parameters
Eduard Lebedyuk · Feb 21, 2018 go to post

I have encountered the exact same problem but was unable to reproduce it. In my case recompilation helped. Try to  recompile SALUTIC.MyUsers.BO.UsersREST. Please contact the WRC if you can reproduce this behavior.