I do agree Tim!!
- Log in to post comments
I do agree Tim!!
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!!
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!
My pleasure @Jean Millette - it is great work which is worthy of a "shout out" !! :)
Thanks for the great example!
I completely agree with @Robert Cemper! Great job highlighting the D.C., OEX and Global Masters!!
Looking forward to it!!
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
@Janne Korhonen - typically these are managed using System Default Setting: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
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?
great work JD! thank you for making this available for beta testing :)
great competition!! I hope .any people get engaged with it!!
Thanks Mike for your work on this - it is great seeing more of the application move over to the new UI!!
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(Presentatio…;
Very nice article @Brendan Bannon - thank you for boiling it down to a set of core things that developers will care most about!
@sween - 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 )
Thank you very much @Vitaliy Serdtsev ! The Scalar Functions and Streams Doc got me what I needed (along with your example). Here was my query:
select RecordID, ImportTimeStamp, Name, SUBSTRING(LogHistory,DATALENGTH(LogHistory)-200) As LogTail from MyClass.withStreamProperty where ORDER BY RecordID, ImportTimeStamp
@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.
Thanks Chris! Interesting article and it got me what I needed :) I ended up writing and testing the same thing as Muhammad posted for an answer and it works for Outlook (which is good enough for me for now)
Thanks again!
Thank you @Muhammad Waseem!! I had just written this out based on @Chris Stewart's answer.
Just curious - where are you seeing this? Could you please include a URL?
The InterSystems SSO account is what controls your access to open as well as restricted applications provided by InterSystems to help customers and prospects get stuff done. If you go to Login.InterSystems.com you can see the various apps available to you (after you sign in). This would include things like D.C., OEX, Learning, Download, etc for Prospects, and supported customers would also get access to WRC, iService, HS Docs, CCR, etc (depending on what products they have).
Hope that helps - let me know if any additional clarification is needed.
@Timothy Leavitt - did you notice that he is looking to launch a window from the SMP via UserAction?
Great tip ... I never knew this!! Thank you for sharing as this always bugged me not to he able to use these keyboard shortcuts:)
Great tip ... I never knew this!! Thank you for sharing as this always bugged me not to he able to use these keyboard shortcuts:)
Thank you for the very thoughtful article @Robert Cemper !! Definitely some good ideas to muse on ....
I completely agree with @Timothy Leavitt here. Besides the speed of the DB, the core value of Caché (now IRIS) for the past 2 decades that I have used it has been the ability to create just about anything I needed within an application without needing to bolt on additional tools, additional layers, additional languages, or additional dependencies. Directly access business logic on the server from the web page, directly instantiate and work against objects anywhere in your code - there is no 'throwing things over the wall' to the DB guy, or to the microservice guy, you just code what you need in ObjectScript and be done with it.
To @Robert Cemper 's point below, I really don't think it takes an Artist to be able to write and support this kind of code, just a talented developer with some good OO skills. I do think you need to be able to find Artists to support the legacy M applications which are still floating around, but it is pretty straight-forward to get the full power of the stack for new applications while avoiding modes of use which would require a "Priest" to be able to interpret it in the future.
Having recently been involved in another initiative for several months that was not DB-centric development, and having witnessed how much harder it seemed to be and more time intensive to piece together the different disparate technologies at different levels of the stack in order to make a full solution, it reminded me of why I fell in love with Caché in the first place and made me excited to get back to full stack dev in on a single integrated platform :)
Thanks for the heads up @Bren Mochocki! This is being looked into as we speak. No eta on when it will be restored as of right now....
We're excited to announce that the offering went live on AWS Marketplace on July 15th:
https://aws.amazon.com/marketplace/pp/prodview-q7ryewpz75cq2
I have updated the article to reflect this. We are still looking for more feedback so please create your account and give it a try for free when you have time!
Thanks @Raymond Rebbeck - we would love for you to give it a try and let us know what you think!