Ben Spead · Aug 29, 2023 go to post

Ahh ... if they need to be used elsewhere then that is a different story.  

I forget off the top of my head exactly how this would work, but you could potentially subclass your Org class and just add the parent cardinality relationship.  I *think* that should force the extent of the subclass to be embedded in the parent class ( @Dan Pasco?), which should automate the cascading delete for you without impacting the Orgs stored independently.  

Ben Spead · Aug 28, 2023 go to post

Thanks chad - scripting automatic review failure is more involved than just scripting the calling of the API at deployment time (and not relying on RELOAD=1) so we'd probably go that route.  

If RELOAD = null is hardcoded for immediate removal than probably relying on that would be the more risky approach to change control in this case.  So we'd likely rely on "Set status = %CSP.Mgr.GatewayMgr.ActivateCSPIni()" for automation.

Ben Spead · Aug 28, 2023 go to post

@Dan Pasco - anytime I see you respond to a D.C. question I always take the time to read it carefully as I know I will definitely learn something (and this response did not disappoint!)  Quick question - what is the use of $$$QN() as I can't find it in the docs?

I think you should consider publishing this as a standalone article.

Ben Spead · Aug 24, 2023 go to post

thank you for the excellent summary!  I recommend that you create a standalone article highlighting what you have learned.  

Ben Spead · Aug 24, 2023 go to post

@Hannah Sullivan  ... does Organizations have to be a list?  If it is a Parent/Child relationship then I believe the children are stored by default in the extent of the parent so deletion of the parent automatically deletes the children.  

Ben Spead · Aug 23, 2023 go to post

Thanks @Bernd Mueller  ... this is very helpful!

Do you see an issue with having RELOAD = 1 always in source control, even if it is removed from the environment copy?

I really like the idea of it reloading, but am concerned about RELOAD = 1 being removed from the copy sitting on our DEV environment where all changes originate ... it would be too easy for someone to accidentally upload a new version of the file without RELOAD = 1 being in the file, meaning it would propagate through our CICD pipeline without that value present and not automatically be activated in higher level environments.

Do you know if there is a way to prevent RELOAD = 1 from being removed from the CSP.ini?

Ben Spead · Aug 15, 2023 go to post

Please note - I updated the article to highlight the new Usage Warnings in the Overview tab (nice work @Alexander Obolenskiy!)

Please provide feedback as to whether this is useful and how it could be more helpful!
 

Ben Spead · Aug 14, 2023 go to post

Great course!  I strongly recommend it for any Tier 1 sites using CCR if you haven't taken the training yet :)

Ben Spead · Aug 14, 2023 go to post

The issue is that you need the logic to run synchronously in process so that it can actually write out the JavaScript as part of the response to the web client. If you job off the logic it will run in a separate process and there is no way to return the JavaScript to the caller because this is done asynchronously and the response has already been sent by the time your job will finish in all likelihood. If you need something to run asynchronously then use the #call() command in your CSP page.

Ben Spead · Aug 12, 2023 go to post

@Pietro Montorfano - VSCode use with CCR is definitely supported.  You just need to make sure that your workspace is properly defined with isfs, etc to get you access to the files on the server.  Since CCR uses server-side source control hooks, you can actually have people using Studio and VSCode concurrently against your BASE Environment.

We've tried to make it as easy as possible by allowing you to export the VSCode workspace definition directly from CCR (credit: @Timothy Leavitt ).  Go to your Environment Details page and use the "Export (VSCode)" button on the top of your Environment list:

Please try it and let us know if it works for you.  P.S. would you mind adding the #ccr tag to your question so others can easily find it?

Ben Spead · Aug 11, 2023 go to post

community edition will not have the PWS removed, in order to make it as easy as possible for people to kick the tires on IRIS

Ben Spead · Aug 10, 2023 go to post

... and we suceeded!!

"VSCodeTriageBot commented 5 hours ago

🙂 This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!"

Ben Spead · Aug 10, 2023 go to post

can you please show your actual variable being set and then your command and its execution?  as you can see from my example above, I was able to get DD for a single digit day with 09 yesterday.  

Ben Spead · Aug 9, 2023 go to post

agreed - which is why I always recommend forcing 4 digit years using yearopt with $zdate()  :)   Keep in mind that $zdate() preceeded Y2K which is why is has behavior that defaults to 2 years in certain circumstances (to keep the API calls backwards compatible).  

Ben Spead · Aug 9, 2023 go to post

Please see details on the yearopt parameter for $zdate (https://docs.intersystems.com/iris20232/csp/docbook/DocBook.UI.Page.cls…) ... depending on the locale and on the year in question, if you don't specify yearopt you risk have a 2 digit year rather than a 4 digit year (default for my locale is yearopt = 0 which would show 20th century years as 2 digits).  You probably want to specify a yearopt of 4 to force 4 digits all the time.

Ben Spead · Aug 9, 2023 go to post

Or, to make it work for any international locale:

USER>write $replace($ZDate($h,4,,4),##class(%SYS.NLS.Format).GetFormatItem("DateSeparator"),"")
09082023