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-py...

@Nigel.Salm5021  - 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!!

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!

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?

Lookup Tables are covered by the Source Control hooks in the management portal so they will automatically be added to your uncommitted queue upon check-out so you can include it in a future ItemSet upload.  

See slides 12-14 of ftp://ftp.intersystems.com/isc/customers/ccrtraining/ICC530(Presentation)%20CCR%20Tier%201%20-%20Interoperability%20Components.pdf 

@Ron Sweeney  - this is really great, thank you!

My team at InterSystems is actually working on a project to move diff-based code changes between environments using GitLab.  My question for you is whether you have a suggestion for a strategy for only importing the changed files in the target environment?  As you know, applications can get large and complex and build-times can get pretty long.  If only a handful of files have changed, reimporting the entire application (or in the case of your example, 3 applications) would cause excess and unnecessary downtime for users.  What we have been doing with CCR around the world at HealthShare and TrakCare sites for over a decade is executing targeted imports which only reload changed code.  Is there a Git-based strategy that you can recommend for building out the foundation of doing something similar?   I.e. isolating the files impacted by the merge and only pulling those in?

Thanks for any thoughts on this.

(note: @Timothy Leavitt )

@Stephen Ali - thanks for asking the question (and welcome to the Developer Community!).

Typically detailed questions like this on TrakCare products are worked out directly with InterSystems Support.  Globally we have TrakCare product tuned to regional requirements so it's important to connect with you product specialists from your specific region.  

I suggest you go to https://www.intersystems.com/support-learning/support/ to see how to contact Support and they can help you get this question sorted out.