@Murray Oldfield - great write-up, thank you!!
- Log in to post comments
@Murray Oldfield - great write-up, thank you!!
@Benjamin De Boe - this is a great article ... thank you for the write-up!
Bumping the thread as more people should be reading from this and can benefit from it :)
well done @George James and team!!
Really impressive feature! I am curious (if you're willing to divulge), is this built on top of "Ens.Deployment.Utils" or did you create your own secret sauce at a lower level?
Nice work! This is definitely a pain point for interoperability sites, no question :)
@Matthew Giesmann - well done and thank you for making this available!
@Shane Nowack - congratulations on his launch!! Very exciting and a great addition to the Professional Certification Exam portfolio for ISC technology :)
@Colin Brough - all great questions! I'll provide some thoughts and I am sure others will chime in as well. One question that I have which may impact the answers is what your current source control approach is? Are you using serverside source control hooks with Studio or some other approach?
This video may also be helpful to you: https://community.intersystems.com/post/video-visual-studio-code-object…;
Hope this is a good starting point.
bravo Tim!!
Thanks Raj! Good to know :)
Congrats!!!
excellent!! thanks for confirming!
Well put Evgeny! I have frequently accessed parameters from within ObjectScript and as Python is a full first class citizen alongside ObjectScript then we need to be able to access parameters from within Python as well.
thank you for your continued work!
Nice work!!
Very helpful post - thank you!
well done - thank you for taking the time to write this up!
"But, to make MergeCPF truly follow idempotent, it should be only one like CreateOrModifyNamespace or to make it declarative way just Namespace. "
That is a great point, I agree.
@Dmitry Maslennikov - I agree with all of your points above except for one:
"CreateNamespace on existing namespace should fail, and so on."
Per Luca's original statement - "The utility was created to be idempotent" ... this is very important to us - we need to make sure that the same command can be run multiple times and if it is creating new changes to the config that it does so, but if it being asked to create what is already there it will ensure that it is already there and will return success (https://www.infoworld.com/article/3263724/idempotence-and-the-disciplin…). With this design philosophy in mind, CreateNamespace on existing namespace should succeed and not fail (but of course, verbose output should make it clear that CreateNamespace was a no-op due to the previously existing namespace).
@Chip Gore - if it is returning the value and you get it back, then I don't understand what you mean by "it won't/doesn't seem to work when I call the code from a #server() call from my webpage." What isn't happening resulting in your classification of "not working"?
Does your CSP application have sufficient Call-out Privs? Check the audit log to see if there are any security failures from the #server() call
It is the actual code as it will be executed, so "Do ##class...."
#4 is my personal favorite :) Closely followed by #10
This is an excellent article and is worth bumping the thread :)
@Scott Roth - you can create a New Task instance via the "Task Schedule Wizard" in the System Management Portal, and in the "Task Type" field, select "RunLegacyTask". Then in the ExecuteCode field, simply type the command to run the desired method in your class. Then you can enter the rest of the details of the Task accordingly (when to run, how often, etc) and it will make the call to your class whenever the Task runs.
Please let me know if more clarification would be helpful.
Nice work all :)
sounds quite promising! Great to see Caelestinus getting some traction :)
excellent explanation - thank you @Steven Hobbs for taking the time to write this up :)
Thank you for your continued investment in the D.C. platform :)
What an incredible set of starting recommendations! Thank you for taking the time to put this article together :)
what a great demo! Thank you for writing it up - I hope to be able to experiment with this at some point. Years ago I wrote my own web scraper in ObjectScript to watch the classified section of my local newspaper for cars going up for sale so I could find something undervalued and jump on it quickly - purchased my favorite used car that way thanks to my ObjectScript web scraper :) But this library looks like a much easier approach ;)