John Murray · Aug 5, 2024 go to post

If you open the browser's DevTools (usually achieved by pressing F12) does that reveal any errors when you try accessing the page?

John Murray · Aug 5, 2024 go to post

Well done all. I wonder if we'll see improved versions of any of these apps in the 2024 Grand Prix (assuming there's going to be one this year).

John Murray · Aug 2, 2024 go to post

Not with Studio, but if you use VS Code, enable proposed APIs, and create a multi-root workspace with one folder for each namespace then I think you can search across them all.

John Murray · Aug 2, 2024 go to post

I expect the IRIS Portal URLs for these two instances look like this:

In that case, use the bold section as the "pathPrefix" property within the "webServer" object in the server's entry in the "intersystems.servers" settings object.

When setting up a connection definition step-by-step this part is referred to as Path prefix of instance.

See https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cl…

John Murray · Aug 1, 2024 go to post

On this screen of yours:

does "Open" succeed?

If not, get back to that screen and try "New", then create a new production in a new package, e.g. Robert.PlayProduction

Can you use the configuration page on that?

John Murray · Aug 1, 2024 go to post

When you get this prompt:

Global ^

Please type exactly this:

EnsPortal.Settings(,"LastProduction")

Then press Enter.

John Murray · Jul 31, 2024 go to post

When you access the IRIS Portal of your local instance from a web browser, what is the browser URL?

John Murray · Jul 29, 2024 go to post

You seem to have omitted the crucial caret symbol required between the HELP and the %G

John Murray · Jul 24, 2024 go to post

I also spotted an apparent typo in line 660 in the second screenshot. See if you can too.

John Murray · Jul 24, 2024 go to post

@Ben Spead sometime we'd love to show your Internal Apps team the kind of codebase insights Yuzinji can provide. Please DM me if you are interested.
 

John Murray · Jul 24, 2024 go to post

Maybe the page is trying to display details of a previously-opened prodclass that is giving it a problem.

I suggest you use the %G utility in an IRIS Terminal in your namespace (INTERFACES?) to see what this lists:

INTERFACES>d ^%G
 
Device:
Right margin: 80 =>
Screen size for paging (0=nopaging)? 24 =>
For help on global specifications DO HELP^%G
Global ^EnsPortal.Settings(,"LastProduction")
^EnsPortal.Settings("XXX","LastProduction")="Foo.Bar"
 
Global ^
John Murray · Jul 24, 2024 go to post

Other answers here cover exporting the application definition.

To transfer the application files it may be simplest to copy the files from the host OS path that the application definition points to.

Another option is to create a Studio project, add the webapp to the project, then export the project.

John Murray · Jul 22, 2024 go to post

But your earlier screenshots show you trying to create entities in the INFORMATION.SCHEMA package and in the %Api package. These are always mapped to the IRISLIB database (see the error dialogs), which is always readonly.

You should enter a non-percent package name of your own (e.g. Robert).

John Murray · Jul 22, 2024 go to post

I came up with a better technique for using Yuzinji and Structure101g Studio to reveal which deprecated classes an app's codebase uses. Here's a screenshot showing the results for the Web Terminal 4.9.6 package on IRIS 2024.1

I adapted the tagging technique to identify the use of deprecated methods in non-deprecated classes. In the case of the Web Terminal codebase, no such usage was found.

If anyone reading this is interested in trying this on your own codebase please contact me through DC's DM facility, or email info@georgejames.com

John Murray · Jul 21, 2024 go to post

You are trying to create your test entities in InterSystems library packages that are mapped to/from a readonly database. 

John Murray · Jul 19, 2024 go to post

Here's one way to verify from VS Code (but independent of the InterSystems ObjectScript extension) that the /api/atelier REST APIs are available on that server.

  1. Start a new VS Code window (no workspace open)
  2. In Extensions view, use the filter @id:humao.rest-client to find and install the REST Client extension.
  3. From the File menu create a New Text Document, setting its language to http.
  4. Paste this content:
GET http://localhost/api/atelier/v1/%25SYS HTTP/1.1
Authorization: Basic _system:SYS

Now click on the "Send Request" codelens that appears above the first line.

John Murray · Jul 19, 2024 go to post

I think it's possible to do this using our Yuzinji tool. Here's my idea:

  1. Go to https://structure101.com/downloads/, fill in your details, and download Structure101g Studio (S101g) for your desktop platform (one of the 3 icons circled red below):
  2. Read the instructions in https://structure101.com/help/generic/flavors/yuzinji/index.pdf to install Yuzinji into S101g, then to add Yuzinji's server-side component to your InterSystems server.
  3. Analyze all your classes and load the results into Structure101g Studio.

But how to identify which deprecated methods or classes are being referenced?

S101g has facility for tagging items on its diagrams. Its "Tag" menu can also export and import a list of tags.

  1. Tag an arbitrary class and an arbitrary method.
  2. Export your tags.
  3. Examine the file.
  4. Write a SQL query to list deprecated classes:

    select ID from %Dictionary.ClassDefinition where deprecated=1 order by ID
     

  5. Format the output to match the structure of the exported tags file, and write this to a file. I'm leaving this as an exercise for the reader.
  6. Import the file into S101g
  7. Repeat previous steps to create a tags file for deprecated methods.
  8. Explore your diagrams to pinpoint the tagged (and therefore deprecated) items.
John Murray · Jul 19, 2024 go to post

Maybe the trace facility on the Web Gateway Management page will yield clues.