Ben Spead · Nov 3, 2021 go to post

Well done @Pravin Barton !!  Thank you for getting this out the door.

I want to note for our readers that the new Community Edition download in Evaluation is intended to replace our long-standing download.InterSystems.com application.  So I would encourage all users of the Download application to give this new feature of Evaluation a try and let us know if you have any issues.  We intend to retire Download by the end of the year.  

Ben Spead · Nov 3, 2021 go to post

you can edit the article as long as you are the original author.  Thanks again for the great write-up!

Ben Spead · Nov 3, 2021 go to post

you can edit the article as long as you are the original author.  Thanks again for the great write-up!

Ben Spead · Nov 3, 2021 go to post

Could you please paste in the compiled code for zGo+181^mb.MbMainOperation.1 and the code preceding it?

Ben Spead · Nov 3, 2021 go to post

what sort of reformatting are you looking to do?  Like command expansion that Studio offers or something else?  

Ben Spead · Nov 2, 2021 go to post

@Nigel Salm  - a LOT of thought and time went into this ... thank you for sharing!

I am curious, have you considered publishing a working copy of this code to the Open Exchange?  Any particular reason that you haven't shared it in that way?

Ben Spead · Nov 2, 2021 go to post

Small suggest - use $zf(-100) rather than $zf(-1) as it is more secure and $zf(-1) is not supposed to be used anymore (it is kept in place for backward compatibility but it really is deprecated for use in new code)

Ben Spead · Oct 29, 2021 go to post

I agree Robert - I think ObjectScript, SQL and Embedded Python of the potential of a very powerful trifecta for customer logic (close to the data), data access, and re-usable library access!

Ben Spead · Oct 29, 2021 go to post

So you are saying that in order to Embedded Python to be able to be appropriately leveraged in places where it should be leveraged alongside ObjectScript, it is important for all developers to understand its potential, even if they don't have use-cases where they personally require its use?

Ben Spead · Oct 29, 2021 go to post

Thank you for confirming that renaming should work. We do in-place upgrades for our apps so I haven't tried that approach of renaming.

Ben Spead · Oct 29, 2021 go to post

You should not attempt to move the \mgr\CACHE.DAT as that is Caché CACHELIB core library code.

You need to identify the databases holding your custom code and data and those are the .DATs of interest to you.  Presumably you have your application in a different namespace?  Look at the the location for the routine and data databases in the Management Portal for that Namespace and start there. 

That being said - I am not sure if we support a rename of CACHE.DAT to IRIS.DAT - hopefully someone else can address that question 

Ben Spead · Oct 29, 2021 go to post

@Robert Cemper - I agree on the strong recommendation!  

I am curious, why do you see Embedded Python as central for all IRIS developers?

Ben Spead · Oct 28, 2021 go to post

@Michael Pine - I understand that frustration from when I was new and I think the biggest contributing factor (for me) to that frustration was a lack of resources for quickly finding code samples or getting my questions answered.  I think that the D.C. has started to fill in this hole for people, and the more we all use it to share ObjectScript Q&As, best practices and Tips & Tricks, the more we will lower that frustration for ourselves and for others coming to the language :)  So glad to have you as part of the Community!

Ben Spead · Oct 28, 2021 go to post

We would really love to see a rich set of beta testers trying out this exam!  I would encourage any and all CCR users to consider being a beta tester for us.  Thanks in advance for your help!

Ben Spead · Oct 28, 2021 go to post

This is pretty exciting work that InterSystems AppServices is thrilled to be involved with.  I hope that over time the Git/GitLab work can provide a great solution for customers looking for an easy way to add source control and environment-based change promotion to some of their existing processes.  We look forward to feedback from the Community.  Thank you for your work on this @Timothy Leavitt and team :)

Ben Spead · Oct 28, 2021 go to post

@Nigel Salm - I love the story about your being escorted out of the Oracle conference session.  However, should the question posed to you by the speaker be "Who are you?" rather than "How are you?"  .... it looks like it might be a typo or bad auto-correct :) 

Ben Spead · Oct 28, 2021 go to post

Closely related to this topic, make sure to catch the 4 sessions on Embedded Python at Virtual Summit 2021, and see my comment in this thread on how I see incredible power in being able to leverage the python ecosystem as an ObjectScript developer without having to actually write python code: https://community.intersystems.com/post/start-learning-about-embedded-p…

@Nigel Salm  - thank you for taking the time to write this *excellent* article ... I am going to make it required reading for my entire team in order to help them better understand the rich history of the ObjectScript language and Caché/InterSystems IRIS platform!!

Ben Spead · Oct 28, 2021 go to post

I just finished watching the first two videos and wow, wow, wow!!

I'll be honest, I hadn't followed the prior python interoperability work in IRIS because it always seemed to me to be more of a way to allow Python developers to get access to data and logic inside of InterSystems IRIS, and since I am already comfortable working natively inside of IRIS with ObjectScript, that didn't have any appeal to me (why would I want to learn Python in order to call into IRIS when I can already do what I need inside of IRIS?)  However, I was happy for those who already knew Python but didn't want to learn ObjectScript to have tools to reach fetch data out of IRIS, etc.

However, Embedded Python is not at all what I expected (true confession!)  With Embedded Python it looks like there is no reason for me to write Python code or work within Python in order to bring value into my IRIS-based applications running all of their business logic in ObjectScript.  I can leverage 10s of thousands of python modules (ref: https://www.quora.com/Is-there-a-comprehensive-list-of-Python-libraries) without writing a single line of Python code!  This immediately makes available all sorts of calculation, integration and translation packages which I would have had to write and maintain myself in ObjectScript or access via a more complicated self-built bridge into a Python runtime environment).  This is REALLY powerful and ATTRACTIVE to me as an ObjectScript developer, setting with an extraordinarily low bar to start using it (I only need to figure out management of .py files as part of my CICD).  I had no idea that Embedded Python would be so immediately relevant to me as an ObjectScript developer!

I think the best analogy I can come up with is the complementary power of ObjectScript and SQL which I rely on every day.  No one would want to use ObjectScript without the various ways of executing SQL from within the environment.  You could do it (iterate through objects / globals to fetch the data elements that you want) but why would you want to when you have the power and elegance of SQL to simplify data access for you?  I see Embedded Python as having the potential to be just as powerful as SQL within my ObjectScript application, but exposing *reusable logic* to me, rather than exposing *data*.  Leveraged properly, Embedded Python has the promise of drastically cutting down what I need to implement myself in ObjectScript ... if I can find a Python library that already does what I want, then I can wrap that in a couple lines of ObjectScript and start using it immediately.  That is so incredibly powerful.

Thank you @Bob Kuszewski  and team for bringing this new feature into InterSystems IRIS - I look forward to seeing how we can use it to make ObjectScript-based application development even faster than before!

Ben Spead · Oct 12, 2021 go to post

NOTE - initial set of new angular-based pages is now live for all users.  Beta testers will continue to get to see newer pages before they get rolled out to everyone.  To find the current list of pages in Beta test mode, see https://ccr.intersystems.com/ccr/ng/faqs and search for 'beta' in the search box 

Ben Spead · Oct 11, 2021 go to post

thanks @Luca Ravazzolo  ... so in the case of day2 operations you really can't take the source control rollback approach to back out the change to default behavior... unless you are versioning you CPF files post CPF Merge, you must do another CPF Merge change, and know what the prior values were in order to actually revert the change in the environmental, correct?

Ben Spead · Oct 8, 2021 go to post

great work JD!  thank you for making this available for beta testing :)