go to post Tirthankar Bachhar · Feb 28, 2017 Yes, if you have idkey in index, that has to be Exact collation. But I can tell you one way around it, lets see if you like it. Its tricky though. Property UniqueStringValue As %String; Property CopyUniqueStringValue As %String [ SqlComputeCode = { set {CopyUniqueStringValue}={UniqueStringValue}}, SqlComputed, SqlComputeOnChange = UniqueStringValue ]; Index ValueIndex On UniqueStringValue [ IdKey, Unique ]; Index ValueIndex2 On CopyUniqueStringValue As SQLUPPER; Now, if you do ValueIndex2Exists("hello") or ValueIndex2Exists("Hello") or ValueIndex2Exists("hELLO") you will find match. This will also work on SQL as well if you do - 'Where CopyUniqueStringValue=?'. This should solve your purpose though, but the space will be duplicated for same index though.
go to post Tirthankar Bachhar · Feb 28, 2017 True John, agree with you. Its only available from %SYS.
go to post Tirthankar Bachhar · Feb 27, 2017 There are many predefined methods defined by Cache under Security.* package to maintain/manage Roles/Users/Resources ...ect. Specific to your query, you can use below command to export/import Roles: Write ##class(Security.Roles).Export("C:\RolesExport.xml") Write ##class(Security.Roles).Import("C:\RolesExport.xml") Roles: Please refer to below class doc for more: http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25sys&CLASSNAME=Security.Roles&CSPCHD=000000000000gt0xiwWBxf8D77QROEE$c2JR50xdHrcUuUzSzc&CSPSHARE=1 Resources:http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25sys&CLASSNAME=Security.Roles&CSPCHD=000000000000gt0xiwWBxf8D77QROEE$c2JR50xdHrcUuUzSzc&CSPSHARE=1
go to post Tirthankar Bachhar · Feb 27, 2017 Property UniqueStringValue As %String(COLLATION = "SQLUPPER"); Index ValueIndex On UniqueStringValue [ Unique ]; Use COLLATION as above, to specify the manner in which property values are transformed for indexing.Below is how data and index will look like,ZW ^DataGlobal^DataGlobal=1^DataGlobal(1)=$lb("",,"Hello") ZW ^IndexGlobal^IndexGlobal("NameIDX"," HELLO",1)=""^IndexGlobal("ValueIndex"," HELLO",1)=""Test:Write ##class(Package.Data).ValueIndexExists("hello") = 1Write ##class(Package.Data).ValueIndexExists("HELLO") = 1Write ##class(Package.Data).ValueIndexExists("heLLO") = 1Write ##class(Package.Data).ValueIndexExists("hello") = 1Write ##class(Package.Data).ValueIndexExists("Hello") = 1Write ##class(Package.Data).ValueIndexExists("HelloGuys") = 0ISC DocBook: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_basics#GSQL_basics_collation
go to post Tirthankar Bachhar · Jan 25, 2017 You can use the WSDL of NTLM based SOAP Service, and use SOAP Wizard to create the web service client.http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSOAP_webclients#GSOAP_soapwizardFollow below steps. Details are documented in above url.Please let me know if you have any specific issue further.Regards,Tirthankar
go to post Tirthankar Bachhar · Nov 14, 2016 Eduard, if I have understood this correctly, this is going to only for %Library.DynamicObject right? Not for any other classes, correct? Your posts title looks generic, is that true?
go to post Tirthankar Bachhar · Nov 7, 2016 Started writing long, back but posted the same just now. but I see you have solution from Nikita.
go to post Tirthankar Bachhar · Nov 7, 2016 Can you try with any of the below, and let me know if that works.Set %session.EndSession=1Set %session.NewSession=1
go to post Tirthankar Bachhar · Nov 7, 2016 Hey thanks for your response again. Managed alert will keep notifying in case no action is taken, and escalation level is increased, that I have implemented.But in this scenario, I believe I'll have to extend Ens.MonitorService.cls and write the custom code to monitor the queue count if its increasing even after crossing the threshold.
go to post Tirthankar Bachhar · Nov 4, 2016 Thanks for your response. I have quoted the same in my post as well. how do I get an alert if the queue size does not comes down even after long time. which might be because of some issues to be looked upon. On this sceneries how do we configure to get an alert.
go to post Tirthankar Bachhar · Nov 4, 2016 Thanks so much for your help. This is what exactly I was trying to find. Thanks again Alexey.
go to post Tirthankar Bachhar · Nov 4, 2016 I believe you have figured out the solution for this.I have just mentioned below list of methods for different fields.NAME - Name()SSN - SSN()COMPANY - Company()TITLE - Title()PHONE - USPhone()CITY - City()STREET - Street()ZIP - USZip()MISSION - Mission()STATE - USState()COLOR - Color()PRODUCT - Product()DocBook Link:docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_populate
go to post Tirthankar Bachhar · Nov 4, 2016 I would suggest to use client side javascript API to check the file size, instead of uploading it to server and check it. I got a nice article on a blog. <script language='JavaScript'> function checkFileSize(inputFile) { var max = 3 * 512 * 512; if (inputFile.files && inputFile.files[0].size > max) { alert("File is too large to upload."); inputFile.value = null; } } </script>
go to post Tirthankar Bachhar · Nov 4, 2016 You are right, using Wizard Installer you need to activate the production. Did you still had issues after that?
go to post Tirthankar Bachhar · Oct 27, 2016 Hey, thanks for your response.The solution you gave is to track any changes in data.But, what I was looking for was, how do we track any changes in class definition [Code Changes made].
go to post Tirthankar Bachhar · Oct 27, 2016 Earlier in Ensemble there was a settings in routing rule to execute all or execute till it succeed.Interesting part is, now we don't have that.But, many of us often do this mistake. Look at your individual rules, if you have "return" in it. If so, then it is doing what is expected. If you want all your rules to be executed, you need to remove those 'return'.
go to post Tirthankar Bachhar · Oct 27, 2016 I would suggest to look at both the below classes,Ens_Util.IOLog, and Ens_Util.Log
go to post Tirthankar Bachhar · Oct 20, 2016 Thanks for your response. I looked into the github utcov. But still, the entire approach is w.r.t the INT code rather than the actual lines of code in classes. Also, when you have thousands of classes running in production for many clients, its difficult to even change the comment with #;. That's a huge effort though. But, adding the unit test cases even for a old code is like covering the tech debt, and that's a ongoing practice.Having said that, I was really looking for something easy solution like any other language has. May be once we star using Atelier, there could be some addin or frameworks to use with Cache Object Scripts.
go to post Tirthankar Bachhar · Oct 20, 2016 One article I would like to refer for you. Please go through it. It was been presented by Kyle Baxter.https://community.intersystems.com/post/global-summit-2016-painless-sql-upgrades
go to post Tirthankar Bachhar · Oct 20, 2016 Typically this is a very common issue I have observed many times.If I have understood this correctly, you have comma(,) in values. You want to export that values into a comma(,) separated CSV file. So, the comma(,) in values are also being considered as delimiter.Easy solution would be enclosed it with double quote. by default if you open the csv file into EXCEL, commas in values will not be considered as delimiter if its enclosed in double quote.So, with reference to your code:S file="C:\Export.CSV"O file:("RSN"):2U file w """"_name_""","""_details_"""",!C fileTwo double quote will represent one double quote finally in the output ("")->(").Please let me know if you tried this, and this resolved your problem.Thanks,Tirthankar