go to post Alexander Koblov · Jan 10, 2018 Hi Francisco. Besides defining "/myapi" application in IIS you also need to add mapping of "*" extension to CSPms, as in "Registering Additional File Types with CSP" section of documentation. When adding this mapping ensure that "Invoke handler only if request is mapped to" is unchecked. Hope this helps, Alexander.
go to post Alexander Koblov · Dec 26, 2017 I think this is fixed in 2017.1.2: http://docs.intersystems.com/documentation/cache/releasenotes/201712/rel...
go to post Alexander Koblov · Dec 6, 2017 Hi Tani. Having said that this seem to work OK on my Atelier 1.1.386 + Caché 2017.2, you might check Error log and Network Activities for hints: Window -> Show view -> Other -> General -> Error Log and Atelier -> Network Activities
go to post Alexander Koblov · Nov 19, 2017 You might use %NOFLATTEN keyword. Also, you might check if extentsize for the tables and selectivities for the columns are correct (http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...).
go to post Alexander Koblov · Nov 16, 2017 You might use $ZEOF to check for file end. It should be enabled first: do $system.Process.SetZEOF(1) Then you can read file line-by-line as follows: do $system.Process.SetZEOF(1) set filename = "c:\temp\qq.txt" open filename:"R":2 if '$Test { write "cannot open file ", filename, ! quit } for { use filename read str quit:$ZEOF=-1 use $Principal write str,! } close filename
go to post Alexander Koblov · Nov 10, 2017 Best book for beginners that I can recommend is book "Caché Programming Orientation Guide" from internal documentation: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... Also (although it's not a book) there is https://learning.intersystems.com/totara/coursecatalog/courses.php with many courses on different sides of Caché and Ensemble
go to post Alexander Koblov · Oct 10, 2017 I would suggest you to run the query in terminal in $system.SQL.Shell() or using external tools via JDBC (DBVisualizer, Squirrel). By default Management Portal timeouts when query takes longer than 60 seconds. Also, see Caché SQL Optimization Guide, especially section "Interpreting an SQL Query Plan". Maybe the chosen plan is not optimal.
go to post Alexander Koblov · Oct 10, 2017 Documentation says following: For a table containing more than 1 million records, a bitmap index is less efficient than a standard index when the number of unique values exceeds 10,000. Therefore, for a large table it is recommended that you avoid using a bitmap index for any field that is contains (or is likely to contain) more than 10,000 unique values; for a table of any size, avoid using a bitmap index for any field that is likely to contain more than 20,000 unique values. These are general approximations, not exact numbers.
go to post Alexander Koblov · Sep 5, 2017 Notice that if you put space after ':' then it compiles OK: Query T() As %SQLQuery [ SqlProc ] { SELECT TOP 3 JSON_OBJECT('lit': 'Employee from','t':%TABLENAME,'name':Name,'num':SSN) FROM Sample.Employee }
go to post Alexander Koblov · Sep 4, 2017 To autofill password fields, Atelier (Eclipse) stores password that developer enters in different wizards. For example password for connection to Caché, password for connection to Git repository, etc. Atelier stores passwords in secure place called secure storage. Passwords are stored in encrypted form. Access to the secure storage is protected by master password. So, when you open some wizard with password field first time after Atelier lunch Atelier asks for master password in order to get password from secure storage and autofill corresponding field. Let us know what exactly you don't understand and I (or maybe someone else) else will try to explain it.
go to post Alexander Koblov · Sep 2, 2017 To store passwords that you enter Eclipse as a platform for Atelier uses secure storage. This secure storage is protected by master password. For more information on secure storage and master password please see https://docs.intersystems.com/atelier/latest/topic/org.eclipse.platform....
go to post Alexander Koblov · Aug 30, 2017 Have you looked at $IsValidNum? ClassMethod AssertNumberEquals(v1, v2) As %Boolean { if '$isvalidnum(v1) quit 0 if '$isvalidnum(v2) quit 0 //both are numbers -- let's compare them as numbers quit +v1=+v2 }
go to post Alexander Koblov · Aug 25, 2017 Notice, that in some cases it might produce different results: USER>write ##class(%Library.Collate).SetLocalName("Cache standard"),! 1 USER>write "0.12345"]]$c(0) 1 USER>write ".12345"]]$c(0) 0 USER>write ##class(%Library.Collate).SetLocalName("Cache standard string"),! 1 USER>write "0.12345"]]$c(0) 1 USER>write ".12345"]]$c(0) 1
go to post Alexander Koblov · Aug 22, 2017 Hi Mike. You can open view's popup menu by right-clicking inside view. Please notice that "Workbench User Guide" is user-guide for Eclipse that is Atelier based on. For Atelier guide, please see "InterSystems Atelier User Guide" located below "Workbench User Guide".
go to post Alexander Koblov · Aug 21, 2017 $THIS is object reference (OREF) -- unique identifier of object in memory. Different objects might have the same OREF during process lifetime And subscript of local/global can be only numeric or a string -- not an object reference. So, while indeed $GET(a($THIS)) triggers something wrong, the construction itself is not correct. Timothy's suggestion converts OREF to string: if $GET(seen(""_$THIS)) quit making command correct. Notice, that in workaround you proposed -- you are using OID, that is unique identifier of object on disk. Different objects cannot have the same OID.
go to post Alexander Koblov · Aug 11, 2017 You have Atelier 1.0.190 and released version is 1.0.262. Please try released version: https://download.intersystems.com/download/atelier.csp This problem might be fixed there
go to post Alexander Koblov · Aug 10, 2017 I don't have any particular recomendations about openssl. I use openssl that icomes with linux I use. If connection works Ok on 2016.1 (or 2016.2?) you might try to uncheck tls1.1 and tls1.2 in SSL/TLS configuration settings on 2016.1 installation, leaving only tls1.0 and see if connection succeeds. If no -- probably server requires tls1.1 or tls1.2.