go to post Chris Stewart · Apr 20, 2017 "As far as I know the only change that can't be caught by find-and-replace is the one requiring COS expressions embedded within JSON to have parentheses"This was my understanding of the differences too, so I've (probably at my own expense) been very careful to only use the methods that I know I can do a basic Find-Replace on in the future. So, I've been assigning the results of any COS expressions to variables, then binding these to the Dynamic objects. It's a little more verbose, but it should allow an easier translation path between .1 and .2
go to post Chris Stewart · Apr 20, 2017 Hi JillYou busted me! I deliberately left off the Caché Security portion of the equation because it would have gotten very complex very fast. The apache config info is great. I was lucky enough to inherit a fully configured httpd instance on my dev systemMany thanksChrisP.S. Chasing up why the images keep disappearing from the post, hopefully will be resolved soon
go to post Chris Stewart · Apr 20, 2017 The code for this series is hosted at this github location: https://github.com/iscChris/CacheRESTStack
go to post Chris Stewart · Apr 20, 2017 Hi JoeThe sytnax is different and incompatible unfortunately. However, I've actually been doing all of my development against 2016.1, so the code I'm writing here is all feature compatible (I purposefully didn't explore any of the more advanced JSON functionality once I heard about the changes in the pipeline). Essentially, the only difference is that the % calls are instead $ calls in 2016.1. Since I've kept the logic basic, this means you should only need to convert a small amount of the code to make it compatible with 2016.1. Stefan wrote a great summary of the functionality here, and this contains the 2016.1 versions of the syntax. If I start referring to any new JSON functionality that does not have an equivilant syntax in 2016.1, I will make that very clear in the articleHTHChris
go to post Chris Stewart · Apr 19, 2017 Also, you will want to make sure that the ng-app is defined on the html tags, and that the ng-controller is defined for the body. Importing the javascript is only half the battle, the hints in the html tell the runtime where to look for the logic
go to post Chris Stewart · Apr 19, 2017 Hi JoeMy next article was going to be a debugging session, so this is a great question. The first thing to do when Angular misbehaves is to open your browser debugger using F12, and seeing if there are any errors being logged. The Angular errors very helpfully include a degree of self diagnosis. I will get the codebase up publicly (probably on github), and will post a link back on the articlesGlad you're getting some benefit from my ramblingChris
go to post Chris Stewart · Apr 19, 2017 Part 2: https://community.intersystems.com/post/lets-write-angular-1x-app-cach%C3%A9-rest-backend-part-2Part 3:https://community.intersystems.com/post/lets-write-angular-1x-app-cach%C3%A9-rest-backend-part-3
go to post Chris Stewart · Apr 19, 2017 That's weird. I've reuploaded the images and resaved, so hopefully they should stay uploaded now. I will double check Pts 2 and 3 also
go to post Chris Stewart · Jan 5, 2017 Thanks for the reply, MarkThis is a web application with links to binary attachments, that are stored as streams. The streams are accessed via links on the page, and return the stream based on the OID generated (at present these are FileStreams, and the OID is pointing at the path on the FS). I'm seperately looking to move these streams into GlobalStreams, to reduce some of the complexity around the file storage.
go to post Chris Stewart · Nov 14, 2016 A follow up question. I was able to push across a small filestream using my REST services, with the file stream encoded in BASE 64. I then tried a large file, and received a MAXSTRING error. I clearly need to use Streams to get round this, and was looking at the class documentation. I believe there aren't Stream capable versions of the following functions, but I thought I'd ask here before I started coding:1. Base64Encode (and Decode)2. toJSON() (and fromJSON)
go to post Chris Stewart · Oct 7, 2016 Thanks Tomas, I will rewrite my class to use the %GlobalCharacterStream
go to post Chris Stewart · May 27, 2016 This is excellent information. I've been spooling data out of SQL cursors manually so far (in 2016.1), and this is definitely making me consider another version upgrade to get access to these features.
go to post Chris Stewart · Mar 30, 2016 Fantastic. Thank you both for your help. I will migrate over to using %Object instead
go to post Chris Stewart · Jan 20, 2016 Fixed it. Was setting that property, but to "true" rather than to 1. Rookie mistake