absolutely!
- Log in to post comments
absolutely!
Once again, an excellent article from @Benjamin De Boe - thank you!
@Benjamin De Boe - if you could weigh in on this (or get someone else to ... @Bob Kuszewski ?) it would be really helpful. We are still using XML exports for my team and this would be a big blocker from going to UDL.
@Jean Millette - I love it! Thank you for this fun contribution to the Developer Community :)
@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 :)