go to post David Crawford · Sep 7, 2018 Have you taken a look at some of the related documentation yet, like this?https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...Namely this segment as well for obtaining an rpm build, for example:https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...
go to post David Crawford · Jul 10, 2018 Are you wrapping your expression in quotes? This indicates that Matches only accepts strings as the pattern. If that doesn't work I'm really not sure what the issue is, and I would try to pass your values to a custom function where you can examine what's really going on, and see if you can replicate the problem. This is essentially what Jeffrey Drumm was suggesting.
go to post David Crawford · Jul 10, 2018 Have you been able to reproduce this in essentially an empty delegated web app? If it works there then we know it's probably just a logic problem with your code.The next thing I would try for nailing down the culprit is looking at where the 401 is generated. %CSP.Rest on its own contains two functions that output 401 errors, Page and Login. I'm brainstorming now, but if it's coming from Page, I'd think your logic is trying to load something after being logged out (a login page it can't find maybe?), and if it's from Login, that'd be odd to me but probably something in your logic trying to immediately log back in with empty or bad credentials.If you're able to see those 401 calls being fired in the rest class, try overriding the functions and capturing more information from them to see what's really going on and why they're being called with improper authentication.
go to post David Crawford · Jul 10, 2018 Needs some SQL troubleshooting according to a similar question here:https://community.intersystems.com/post/help-sql-error
go to post David Crawford · Jul 10, 2018 Oops! Sorry I forgot it was for a rule. Also edited for redundancy as I see there's more comments now. Does the visual expression editor give any indication of failure?
go to post David Crawford · Jul 10, 2018 I use a similar setup with some projects, albeit not with delegation. But appending the param to my url has never given me 401 messages. What kind of permissions do you have setup for your web app? If you manually insert this param at any point in the app, does it always give 401? Are you still redirected to your login page? Where are you capturing the 401, or is it sent on its own?
go to post David Crawford · Jul 10, 2018 What do you mean you're not having luck? For example, what happens when you call on the $match or $locate functions on your field? I can make regex on your three examples without issue for simple strings, like below which works:$locate("123dsd534","[a-z]")
go to post David Crawford · Jul 9, 2018 I've never seen anything like that in the docs before, just working with either regex or the pattern match operator. To get what you're looking for you may very well have to make those extra calls. Alternatively a cool project would be to make your own converter. That'd be pretty interesting to do, but before I'd look into it I'd like to make sure there isn't some function out there I've never heard of in Cache that does it. It never ceases to amaze me how many obscure functions exist out there for Cache that I have yet to discover.
go to post David Crawford · Jun 22, 2018 Hey, I think these are still glitched for me. The commenter and question posting badges and also the corresponding challenges are never unlocking for me, after over a week of activity.
go to post David Crawford · Jun 18, 2018 Right that's a big one. But unless it's severely delayed, the last log in there for me was a couple hours ago and I just now made the error again.
go to post David Crawford · Jun 18, 2018 Do you mean like %SYS or whatever else is available in the application log page? If so unfortunately there's only %sys and ensemble, which both don't have anything new in them.
go to post David Crawford · Jun 18, 2018 As I said, the error in question is not being generated in this location.
go to post David Crawford · Jun 18, 2018 Hey check this doc out for updatinghttp://docs.intersystems.com/atelier/latest/index.jsp?topic=%2Fcom.intersys.eclipse.help%2Fhtml%2Fconcepts%2Fatelier-update.html
go to post David Crawford · Jun 18, 2018 Hey thanks for looking into the source! This should hopefully suffice for what we need.
go to post David Crawford · Jun 15, 2018 Thank you for the suggestion, unfortunately we don't have the option of having local Cache installs. Perhaps if I knew more about how the credentials are stored that would help, or where they go?I wonder if this is related:https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-securestorage-start.htm
go to post David Crawford · Jun 11, 2018 Unfortunately I don't know how to go about altering that value after or before it's been generated. You may have to experiment with including custom functions in your tags that output page numbers, or try to get the value from the special tag into one of your custom tag functions. Whatever you do, there doesn't seem to be a native way and you'll have to do something custom.
go to post David Crawford · Jun 8, 2018 I'll try to answer just the conversion question. It looks like someone has asked about roman numerals before here:https://community.intersystems.com/post/roman-number-converterHowever the conclusion was that the referenced article in that question here:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.FrameSet.cls?KEY=GVRF_basicfeaturesDoesn't support roman numeral conversion. Now there's a billion ways to do this yourself, and I was inspired by the unary method in one of the answers here, instead of complex loops:https://stackoverflow.com/questions/12967896/converting-integers-to-roman-numerals-javaSo I made something similar for ObjectScript, and it gets the job done in a very simple way. Note that it doesn't use a full Subtractive method for conversion, for that you'll need more cases. The replaces could be structured differently too but I wanted it to be as understandable as possible. Call it in your report however you like. ClassMethod RomanNumeralConversion(pNum) As %Status { set roman = "" for x=1:1:pNum { set roman = roman_"I" } set roman = $REPLACE(roman,"IIIII", "V") set roman = $REPLACE(roman,"IIII","IV") set roman = $REPLACE(roman,"VV","X") set roman = $REPLACE(roman,"VIV", "IX") set roman = $REPLACE(roman,"XXXXX", "L") set roman = $REPLACE(roman,"LL", "C") set roman = $REPLACE(roman,"LXL", "XC") set roman = $REPLACE(roman,"CCCCC", "D") set roman = $REPLACE(roman,"CCCC", "CD") set roman = $REPLACE(roman,"DD", "M") set roman = $REPLACE(roman,"DCD", "CM") return roman }
go to post David Crawford · Feb 20, 2018 What you've shown me inspired me to try something else...I can't draw from %request.Content.Data directly because it's always undefined, so I've had to use Read() all of the time whenever I need Data values from POST messages. This seems to be working for any size so far, and I think I can come up with something more efficient later, but at least it's working! set stream = ##class(%Stream.GlobalCharacter).%New() While (%request.Content.AtEnd = 0) { Set len = $$$MaxStringLength do stream.Write(%request.Content.Read(.len)) } //etc.. Set outputStream = ##class(%Stream.GlobalCharacter).%Open(oid) While (outputStream .AtEnd = 0) { Set len = $$$MaxStringLength Write outputStream .Read(.len) }