Ben Spead · Mar 29, 2021 go to post

Thanks!  I see you updated the article with links.  Very helpful :)

Ben Spead · Mar 26, 2021 go to post

Very exciting!!  Congratulations to all involved in getting these out the door :)

Ben Spead · Mar 25, 2021 go to post

Terrific article Tim - thank you for writing it!  I have bookmarked it for future reference :)

Ben Spead · Mar 25, 2021 go to post

What is the system to use for enabling/disabling System Items?

Ben Spead · Mar 17, 2021 go to post

Phil - I wasn't suggesting that you use the Ens.Deployment.Utils but rather the Studio.Project utilities.  This will allow you to put in any specific classes that you wish to include (including the Production definition which should include all the pointers to the new BOs, BPs, and BSs) so that you can cherry pick what goes into your next environment.  I am not familiar with the Ens.Deployment.Utils so I can't compare the approproaches

Ben Spead · Mar 16, 2021 go to post

You could add the specific pieces you wish to deploy to a Project in Studio and export that project and then import it where you need it.  

Ben Spead · Mar 4, 2021 go to post

You should be able to use 'netstat -a' within the OS in order to see all of the ports currently in use.  It won't tell you what process is using it, but if you are simply looking for open ports then this is a quick way to do it

Ben Spead · Mar 4, 2021 go to post

There are different kernels but other than that you should be able to run the same ObjectScript code on both platforms and it will behalf identically.  If you are going to be doing file interactions, then I suggest using the %File library class which will make your code portable between Windows and UNIX file systems.  Likewise if you are calling out to other executables, you will need to instrument your code to call out appropriately based on your platform. 

Ben Spead · Feb 18, 2021 go to post

I am assuming you want to create a tag-based CSP page as a quick and dirty way to through up some data in a table?  If so, the basic steps would be:

  1. Load a JS library like https://www.tablefilter.com/ to make your filtering easy
  2. Write out your <table> and <th> tags 
  3. Create a <script language='cache' runat='server'> block to hold your ObjectScript which will fetch your result set 
  4. Use %SQL.Statement to create and run the query and fetch the data
  5. Iterate over the resultset, and write out a row of HTML for each row in the resultset using &html<>
  6. End your </script> tag and then end your </table> tag

Hope that gets you rolling!

Ben Spead · Jan 5, 2021 go to post

This is definitely possible, although it will be very painful :)  You can use Studio to edit any sort of flat files on the OS, and Studio has been used for years to edit .js and .css files.  You can use Studio to edit the source files for your React or Angular app, but you will then need to use the CLI in order to build your app for testing (you could also roll your own server side source control hooks to do this).  So if your organization is currently locked into Studio, this can be done but you'll need to do extra work to make it work.

If you have the flexibility, I would strongly recommend that you leverage VSCode rather than Studio for this.

Ben Spead · Dec 31, 2020 go to post

please share the doc link you are referring to.  ZF calls are still supported and we use them for our source control integration within InterSystems.  The zf(-1) has been deprecated and replaced with zf(-100) and you can certainly use that to do the same thing but may need to change your zf input slightly to use 100.

Ben Spead · Dec 15, 2020 go to post

No, no - *please* don't encourage the the use of eXecute ... that can make maintenance so very difficult :(  Most ObjectScript coding standards I have seen strictly forbid the use of this :) 

Ben Spead · Dec 11, 2020 go to post

@Rich Taylor - John is correct, server-side source control models are fully supported and that is the dominant model for many (including internal apps at ISC, and our implementations in the field).  I did a presentation at Virtual Summit on how to choose between Private / Shared Dev servers and Client-side vs Server-side source control and what the IDE options are for each.  Tim Leavitt also did a session on the topic of server-side source control with VSCode.  Here are the links:

https://learning.intersystems.com/course/view.php?id=1638

https://learning.intersystems.com/course/view.php?id=1615

My team has been very active in the VS Code plug-in testing and development to ensure that it will be fully functional for our serverside source control based workflows.

Ben Spead · Dec 3, 2020 go to post

The new UI is now live for all users!  Feel free to leave any questions or comments.  

Ben Spead · Nov 21, 2020 go to post

Unfortunately not - AppS.REST is only supported for InterSystems IRIS as it relies on enhanced JSON support that exists there but not Caché.

Ben Spead · Nov 19, 2020 go to post

Thanks for the update George - note, this really isn't a CCR-related question.  

Ben Spead · Nov 19, 2020 go to post

Sorry @Jeffrey England - I only just saw this now (feel free to use an @ mention in the future).

This control doesn't currently include any sort of dropdown.  It was based on the System lookup in the old UI where people could just drop in their SysCode to drive navigation.  Adding a dropdown of some sort is on the roadmap, but it's not trivial as some people have access to hundreds of Systems (so it's not a simple dropdown - it will eventually be a combination typeahead dropdown which pulls from all Orgs a user has access to).  

We will be moving live an update to this component soon which makes it more clear that SystemCode is optional (but it will still be a text field).

Hope that helps explain things!

Ben

Ben Spead · Oct 28, 2020 go to post

In that case I can't see how a 1.4 sec query could trigger any sort of timeout from a CSPGateway perspective.  I think you have something else going on - maybe an uncaught error in your code?

Ben Spead · Oct 28, 2020 go to post

Phuc,

Assuming the SQL is being run synchronously from within the CSP page, then the page will not be able to send it's response to the client while it waits for the SQL to complete.  Are you saying that the average response time of the query is 1.4 minutes?  If so then I think you need to see if you can speed up your query, call for the data asynchronously, or change your CSPGateway configuration so it has a longer timeout.

Ben Spead · Oct 5, 2020 go to post

You can get a Community Edition of InterSystems IRIS as Evgeny suggested, or if you need a new developer license for your Caché instance you should work with your Account Manager to get one.  If you are not sure who your account manager is, contact the WRC who should be able to help direct you.

Ben Spead · Sep 21, 2020 go to post

I agree with both Tim and Evgeny.  In addition, I will add that we also store our unit tests in a different location, which has a top level of /internal for all of our in-house applications.  We store unit tests and test data in /internal so our integration scripts can explicitly ignore changes in those branches when we're porting things to our LIVE branch.  This ensures that no testing code or testing data ever make it into production.  

Ben Spead · Sep 14, 2020 go to post

@Perla Escarcega  - taking a closer look at this, I think we had an issue with a historical file clean-up routine which was a little too overeager to reclaim space.  All of your source is safe and available but you may need to create a fresh ItemSet to push this source.  Note - you should always be making fresh ItemSets anyway because the head revision may be newer than what is in your historical ItemSet, and you don't want to get an older revision of something which breaks when interacting with a newer revision of other items.  So simply create a new ItemSet for BASE and deploy it and you should be all set.

P.S.  This does raise the question of why you are initializing a new Secondary BASE environment from old ItemSets as opposed to just grabbing the head revision of the BASE source and running Refresh to pull it all into the Namespace?  I am afraid your approach may be significantly more risky than the recommended approach.  

Ben Spead · Sep 14, 2020 go to post

Actually - I take back my statement now that I looked at the error more closely.  It appears as though it's trying to fetch an ItemSet by ID that doesn't actually exist.   What is the CCR in question?