much appreciated @Muhammad Waseem - it's a real pleasure :)
- Log in to post comments
much appreciated @Muhammad Waseem - it's a real pleasure :)
Thank you @Robert Cemper! Working with you on the Hermes application was a great joy to me as well, and I am very thankful that we have been able to stay in touch via the D.C. after your retirement :) I continue to learn from your deep technical expertise!!
@John Murray - thank you for the great investment that you and George James makes into tooling for our community! I am always very impressed with what you come up with :)
thank you for taking the time to write all of this out :)
very clear answer - thank you @Pravin Barton!
Calling @Stefan Wittmann, @Timothy Leavitt and @Pravin Barton
If you can move to isc.rest, I know it takes care of OpenAPI (aka Swagger) spec generation automatically.
I second this - using Do LOG^%ETN is very useful for grabbing the full stack and in memory values for later debugging ... this is where I usually start
@Evgeny Shvarov - I recommend you start a new thread with these questions
great summary, thanks Tim!!
I think that is a really good idea. IPM should definitely play a role in the future with %Zen
very well articulated! there was absolutely some great Rapid Application Development value inherit in Zen which is hard to replicate with a 3rd party library providing UI to an IRIS backend
nice summary Dan - thank you!
@Benjamin De Boe - thank you for weighing in!
if the folder includes files referenced by the running instance (xslt or js) then it's absence would have an impact on those functions which try to use the files at runtime
Yes - this will work in that case above case (see my example which preserves all of them in the middle)
If you know that it begins and ends with CRLF then it is as simple as:
USER>Set string = "[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)" USER>Write $piece(string,"[line feed](carriage return)",2,*-1) str [line feed](carriage return) ing
Could you please provide an example with screenshots?
Could you please describe the situations where it does something "bad" or where you see things as not working correctly?
We use nightly IRIS backups which are moved to a network share, so Test can restore the backups to an alternate application data DB via a script. We always have 2 application DBs defined, so we can script a restore on a weekly basis so the data is readily available if a developer needs it - they simply swap from the active data DB to the alternate (the alternate is always the target of the automated restore so as not to interrupt any data depending testing which may be actively going on at the time of restore).
We have found this to be very effective for our needs for multiple internal applications.
Thank you for all of your hard work!!
I recommend reaching out to the WRC to help you dig into this specific error.
Voted! Nice write-up, thank you Jean. (boy .. the MS community pages don't work nearly as well as the InterSystems D.C.!) Have you considered posting your content above in the appropriate MS Discussion Forum for PowerBI in order to drum up some more support? It is very well articulated :)
Great work Developer Relations Team!! It was a great conference and it was wonderful to see so many people connecting on so many different levels. The culture is contagious :) We all appreciate your hard work!
if you are wanting to completely render the page within the context of another page, then using <iframe src="package.page.csp" </iframe> is going to be your best bet. Remember that a csp page isn't just a static HTML snippet - it is an entire renderable page, along with pre-page headers, etc. That is why OnPreHttp(), OnBody() and OnPostHttp() are all included in the page framework for a .csp. If you simply want to show what is 'rendered' when you call the page directly, you can play with calling OnPage() (which contains the compiled version of the entire body of your .csp file), but that may not operate correctly when called in isolation - it is intended to be called as part of a full pageload process, which the iframe approach above would provide.
just like you would call any class - "write ##class(csp.package.page).method()"
It's been a while since I had to look these up. You probably have to select the option for 'show generated code' order to find it. Unless you overwrote the default package, they should show up as csp.****.cls classes (in the "csp" package)
the .csp file compiles into a subclass of type %CSP.Page. When it is called, on the back end the various methods of the subclass of %CSP.Page are involved in order to stream the content of the .csp page. Please see the documentation link above for more details.
Actually, you should read this doc: https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=GC…
there are other callbacks you will need to call besides OnBody(). Make sure to call them in succession to get full page functionality.
look at the generated class from the csp. you should be able to call the OnBody() method to create the text stream containing the html
a CSP page will actually compile into a .cls, so you can call specific methods of your CSP page by calling the method using ##class(mycsppackage.mycsppage).methodname() (the csp package name is configurable but defaults to 'csp')