go to post Ben Spead · Nov 10, 2016 My guess is that you are passing data somewhere as a string (because that is around the string limit). You need to use streams instead to store the uploaded file.
go to post Ben Spead · Nov 1, 2016 Assuming you are a supported customer, you can download this from the Distributions page in the WRC application.
go to post Ben Spead · Oct 31, 2016 This is not a Caché utility - it must be supplied by your application partner. Also, the AP must be storing their own users at the application level because if they were using Caché users there would be no way to create a utility that shows Caché users' passwords (see Patrick's answer below).I suggest you reach out to your application partner with this question (or if it is an inhouse development, speak with the development team)
go to post Ben Spead · Oct 27, 2016 Use Find In Files:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Ben Spead · Oct 27, 2016 Sorry - I missed that.Getting the "When" is easy - there is a timestamp in the header of the generated .INT code showing when the source was last compiled. E.g: ;Sample.Address.1 ;(C)InterSystems, generated for class Sample.Address. Do NOT edit. 10/27/2016 09:12:38AM ;;7A2F686C;Sample.Address ;However the "Who" might prove to be more challenging. You might be able to accomplish this with a Method Generator that records the $Username and timestamp for access via a method or parameter? See http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Ben Spead · Oct 27, 2016 You can add logic in %OnAfterSave() for your object which will grab the object ID, $Username and the timestamp and tuck them away in an auditing table somewhere. Alternatively you could add LastChangedBy and LastChangedTimestamp properties to your object and then populate them inside of %OnAddToSaveSet() (this is probably the most straightforward way to do it).Hope that helps!
go to post Ben Spead · Oct 27, 2016 http://www.intersystems.com/assets/Embedded-Real-time-Business-Intelligence-Discover-the-Treasures.pdf(credit to Anthony B)
go to post Ben Spead · Oct 26, 2016 Paul,Have you looked at the details in the Caché SQL manual about optimizing performance:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...Play particular attention to the section about using TuneTable to properly set the meta-data around table extent size, selectivity, etc. Lot of people miss this and it's very important because the query plans rely on this metadata to optimize performance.
go to post Ben Spead · Sep 29, 2016 Excellent idea to post this John - this isn't necessarily common knowledge but it is really useful to know!
go to post Ben Spead · Sep 19, 2016 Anyone who doesn't need to support 2016.1 code should just use the new syntax. This is intended as a 'bridge' solution to allow a code-base to run on both versions, and then after the code no longer needs to run on 2016.1 the macros should be removed when it is convenient.
go to post Ben Spead · Sep 14, 2016 Caché Object Script is a super-set of Mumps. If you really want to know the differences you should look at the Mumps standard and know that anything you find in Caché which is not in the Mumps standard can be considered unique to Caché ObjectScript.Hope that helps.
go to post Ben Spead · Sep 6, 2016 There are a couple of articles on OAuth 2.0 which might be of interest:https://community.intersystems.com/post/cach%C3%A9-open-authorization-fr...https://community.intersystems.com/post/cach%C3%A9-open-authorization-fr...Hope that helps!
go to post Ben Spead · Sep 1, 2016 I think I better understand now - you want 'other' tabs to dynamically update (without the user hitting Refresh) if the user changed namespaces in a separate tab, is that correct?I think there are probably Javascript events that fire when a tab comes back into focus (you'd have to check) and you could use those to trigger a call to the server to see if the namespace has changed - if it has then redraw the tab to show the context of the proper namespace. It would have more moving parts but it should be possible if you really want to do it.Good luck!
go to post Ben Spead · Sep 1, 2016 Playing around with it a little bit, I came to the following conclusions:- *some* pages rely on the $Namespace url parameter in order to initialize what namespace it is pulling data from- this doesn't appear to be stored in the session (and therefore it isn't shared between tab); I think it is only effective in the url- there are some pages which don't honor the $Namespace url parameter (e.g. they still show %SYS even if $Namespace is defined to a different value); this is probably because those pages don't act on any namespace-specific data (or they act on data which lives ONLY in %SYS)It sounds like if you want to keep your tabs in sync, you should put something in the session, and switch namespaces in your page logic. Probably in OnPreHttp (although you'd need to test to make sure that the namespace sticks for the OnPage method as well)
go to post Ben Spead · Sep 1, 2016 Laura,Unless you are using web sockets, whenever someone makes a request from a web client it will issue a call back to the Caché server and it will be handled by a csp process which will spin up and go to a namespace and get the appropriate session variables, etc. If I understand properly what you are looking to do, you could store the namespace as a session variable and then on each of your pages you can test the session variable on the request and reset to a different namespace if it isn't the default. I believe that this is how the SMP does it (or something very similar).HTH,Ben
go to post Ben Spead · Sep 1, 2016 Mike - it would be helpful if you hyperlink to "Newbie's Corner Index"
go to post Ben Spead · Aug 30, 2016 Matthew - I can replicate what you see on b721 with my unit tests class that I wrote. I'll do some digging and get back to you with what I find.
go to post Ben Spead · Aug 29, 2016 That is a really old build from before the JSON changes were put in place. Could you please do any testing with the macros on the released version of 2016.1 or the latest 2016.2 FT (https://wrc.intersystems.com/wrc/BetaPortal20162.csp). Let me know if you find any issues there.