go to post Ben Spead · Oct 6, 2022 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.
go to post Ben Spead · Sep 23, 2022 "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.
go to post Ben Spead · Sep 23, 2022 @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-discipline...). 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).
go to post Ben Spead · Sep 20, 2022 @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"?
go to post Ben Spead · Sep 20, 2022 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
go to post Ben Spead · Sep 16, 2022 It is the actual code as it will be executed, so "Do ##class...."
go to post Ben Spead · Sep 13, 2022 @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.
go to post Ben Spead · Sep 6, 2022 sounds quite promising! Great to see Caelestinus getting some traction :)
go to post Ben Spead · Aug 26, 2022 excellent explanation - thank you @Steven Hobbs for taking the time to write this up :)
go to post Ben Spead · Aug 23, 2022 What an incredible set of starting recommendations! Thank you for taking the time to put this article together :)
go to post Ben Spead · Aug 22, 2022 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 ;)