David Underhill · Sep 29, 2016 go to post

Thanks for bringing this up, I had forgotten to review this issue myself.  I would assume any performance loss could be negated using Cache's own buffers.

David Underhill · Sep 30, 2016 go to post

Thanks for the update, I will study the tuning article in case it throws up anything new and also plan to do some benchmarking.

David Underhill · Nov 1, 2018 go to post

$P is how I do it as well and due to a quirk of $P you don't even have to set the variable first although if it is possible a value might already exist it is reccommended.

David Underhill · Nov 2, 2018 go to post

That's a good point and the code base example is useful but the question was specifically for leading zero's and the code base version might be overkill for this.

David Underhill · Dec 19, 2018 go to post

This is a good idea, hopefully everyone will do this but I did have a problem.

Perhaps I have done this incorrectly but I could not see a way to submit screenshots in the challenge and when you click the "lets review" button,  or whatever the actual text was,  it closes it as completed and there seems no way to submit a screenshot.  Also, the link to the challenge is for the same challenge number as it appears in and it takes you to the Global Masters front page.

Also, you don't seem able to review both as suggested, if you use the link again or search for the platform you haven't reviewed yet it will simply state you have already submitted a review.  I suspect this is because using the link you have to choose between Iris or Cache and so the offer is for one or the other but not both.

David Underhill · May 9, 2019 go to post

Alternatively you can wrap it in brackets

$zf(-100,"/SHELL", "(ps -Af | grep username)" ,"")

David Underhill · May 10, 2019 go to post

A valid point but it can depend on how the command string is formed in the first place, unless you write a parser to break a command string down into a command plus arguements.  I agree that you may as well use $zf(-1 but as the documentation will point you to use $zf(-100 then it can be valid.

It's also usefull to know you can use brackets in this way for general knowledge.

David Underhill · Jul 12, 2019 go to post

No, this works independantly. 

It could be a lack of understanding but the problem we had is that the monitor is just that, it provides warnings and alerts based on parameters or out of norm measurements.

We wanted an easy way to report on usage so we could spot trends/growth over time and possible future issues.

David Underhill · Aug 21, 2019 go to post

Yes, when Cache was up we had a class that would run in Cache Task Manager which would alert on issues and also log metrics.

In Windows we had a script that ran in Scheduled Tasks which would alert if the Cache status was invalid (i.e. not "running" or "down") using "ccontrol list nodisplay > outputfile" or if alerts.log existed.

David Underhill · Oct 1, 2019 go to post

Hello Evgeny,

Slightly off-topic but it is interesting you are using VSCode.

I have asked at various times, including the last symposium, what the plans are for development tools given that both Studio and Atelier have essentially been end of life for quite a while now, well over a year, but the response is always the same, there is a plan but we cannot announce it yet. 

Is VSCode the way Intersystems is going?  Does this mean we are now relient on 3rd party development tools?  Are there plans to create some way to replicate functionality such as the SOAP wizard in VSCode?

I was hoping there might be some details out of the summit but I haven't seen anything yet.

Regards

David

David Underhill · Oct 1, 2019 go to post

Hello Evgeny,

Thanks for the response, of course I am aware of the various plugins hence my question of relying on 3rd party tools.

That old post does not really answer the question on what Intersystems future plans for development tools are, it just confirms effective end of life for the current ones.   Also, only fixing critical issues means reported problems will generally not be fixed anymore as they are pretty stable, something I have already experienced.

I don't have a particular problem with moving to VSCode supported by 3rd parties but some confirmation of this from Intersystems so developers can plan to move in that direction would be appreciated but noone seeems to want to commit to any answers.  It also starts the question of how will Intersystems provide the ability for these 3rd party tools to replicate and extend the functionality available already, again there are no answers.

Regards

David

David Underhill · Oct 3, 2019 go to post

Hello Dmitry,

I have used the extension and am very impressed but obviously any change in toolset has to be agreed accross the business and will require changes to the development and version control process, hence a reluctance until we know what Intersystems have planned.

Apologies if I have missed a feature post but does the extension replicate the Studio Add-Ins such as the SOAP Wizard as these are very useful to us.

Regards

David

David Underhill · Oct 3, 2019 go to post

Just a quick note.

I found that when creating a new database it was best to initially use SYS.Database so you can specifiy max size etc..

db=##class(SYS.Database).%New()db.Directory=directorydb.Size=initialSizedb.MaxSize=maxSizedb.GlobalJournalState=3Status=db.%Save()

Then finalise with Config.Database

Properties("Directory")=directoryStatus=##Class(Config.Databases).Create(name,.Properties)Obj=##Class(Config.Databases).Open(name)Obj.MountRequired=1Status=Obj.%Save()

This might not be the best way to do it, I'm open to improvements.

David Underhill · Oct 14, 2019 go to post

I second having the conatiners available in the same place.

Also could you show the version number available before downloading and are these production releases or previews?

David Underhill · Oct 17, 2019 go to post

Thanks for the clarification.

The fact that the current download is slightly different from the norm due to a Global Summit launch does highlight the need for a brief explanation of the version you are downloading though.

David Underhill · Oct 22, 2019 go to post

Thanks for adding that, in the case of a preview it might be worth adding this to the "Notes" section to save cross referencing with release notifications or the usual downloads page.

David Underhill · Oct 28, 2019 go to post

I am in the same position as you, only selectively using full commands or function names, being too much in the habit of MUMPs abbrevations.  Like you though I tend to extend when iterating or using something less usual in the code, I have also found curly braces to be much better for readability than the old block structure.

I also agree that I find it faster to read and write abbrevated code for things like sets and do's and especially for functions such as $p and $g.  Hopefully I can get into the habit of less abreviation as I do notice the new programmers finding this harder.

Probably the biggest habit I have broken is also shown in the bad examples given and shows how long I have been using MUMPS, yes it's entering everything in UPPERCASE.  I finally use camel case and also more meaningful/longer routine and variable names.

David Underhill · Oct 28, 2019 go to post

That looks better than the WRC supplied code when I fist noticed the binary rather than hex values returned.

set text = "message digest"
  set md5hash = $system.Encryption.MD5Hash(text)
  set md5HashHex = ""
  for i=1:1:$Length(md5hash) {
   set md5HashHex = md5HashHex _ $Zhex($Ascii($Extract(md5hash,i)))
  }
  write md5HashHex, !


 

David Underhill · Nov 1, 2019 go to post

I know Jeff and Raj are busy people but there never was a response.

Intersystems simply need to commit to an answer as at this point the actual answer isn't really important anymore, just getting an answer so commitments to any change can be made.

David Underhill · Nov 7, 2019 go to post

Could you tell us the OS and open command you are using, it might help with suggestions.

David Underhill · Nov 8, 2019 go to post

As this is a printer I assume X is "|PRN|printername_or_UNC" ?

If you can't see it open already then a failure to open can also indicate a problem with the printer.

We commonly get sites log an issue and it turns out they have changed UNC path/permissions, or the printer is offline/showing an error, and it is this which is the issue.

David Underhill · Nov 8, 2019 go to post

Does the instance on the test server run with the same credentials as the production server, it could be permissions, also is the test server the same OS as some server versions are more strict if this is a shared printer on another machine.

David Underhill · Nov 20, 2019 go to post

As you are talking about locks and transactions, and as others have noted, you can nest transactions it might be worth warning people about locks inside transactions and the fact that the unlock will not take place until the tcommit.

These can cause issues, especially where this is a method using transactions and locks which calls another that does the same.

David Underhill · Jan 10, 2020 go to post

It is interesting that you are asking this as we have tried, for well over a year, via various mediums, at various levels within Intersystems, to get an answer as to the future of IDE's given that previous announcements and responses from WRC state that both Atelier and Studio are end-of-life.

We have never received a response even after Evgeny pinged such a request to John fried and others after some posts.

Your statements seem to indicate that Studio is not end-of-life so it would be nice to have some clarification as even WRC are saying non-critical fixes or changes will not be done.  You also indicate work being done on VSCode integration, again any details would be appreciated.

The reason for wanting to know is that is difficult to commit to a particular toolset or plan changes to DevOps etc... if the future of the tools to be used is unknown, the actual answer and whether it is an individuals or companies preference is immaterial, it is simply that an answer is required but everyone has been reluctant for a long time now to commit to anything.

Coming back to your questions, we use Studio with our own version control based on StudioHooks and some use of Serenji for debugging.

We have tried Atelier but noone liked using it and we have worked in VSCode via Dmitry's plugin and have also tried the Serenji plugin both of which were generally a good experience but migration would require changes to development processes and version control. 

We are likely to move to a GIT based Version control and whether this is intergrated with Studio or VSCode will likely depend on Intersystems commitment to the IDE though I suspect there would be a preference to stick with Studio as it is familiar and has integration to Cube etc... though as we continue to do more Web based development in VSCode this may change.

David Underhill · Jan 15, 2020 go to post

This is one of the things I have tried but it is always undefined wherever I place this code.

David Underhill · Jan 15, 2020 go to post

That was very helpfull as it shows the value is not available, it does not appear in the list of CGI variables.

However, both the clients log and the CSP Gateway trace show the request had this in

Client record from SoapUI

CSP trace

CGI Variables from the details provided by the suggested output is attached as a PDF <update> attaching is failing unfortunately.

I am obviously doing something wrong so any pointers would be helpfull

David Underhill · Jan 15, 2020 go to post

Ok this was actually very helpful in conjunction with the previous debug advice as adding X to create x-application-id now sees the value as available and I can retrieve it as expected.

Thank you both for the help.

David Underhill · Jan 15, 2020 go to post

Combined with the other answer this is working now, seems you MUST prefix a custom header value with an X.