We made some announcements about this at Global Summit this week.  More information will be coming soon.

The next version of Serenji will provide code editing and debugging within Visual Studio Code.  Alongside this we will be releasing the next version of Deltanji which will provide file explorer and source control capabilities within Visual Studio Code.   We expect these to be available in about a month or so.

George
www.georgejames.com

This week at Global Summit we announced extensions for Visual Studio Code that will provide Explorer, Editing, Debugging and Source Control for InterSystems IRIS, Cache and Ensemble.

Those at the GS conference we able to see all this being demonstrated at our partner pavilion booth.  We expect these extensions to be available in a month or so.

And to answer the original question directly,  I've been running Cache Studio on Linux Mint very successfully using Wine.  There are one or two glitches but they are mainly cosmetic and not unusual with many complex applications that run under Wine.

George
www.georgejames.com

Evgeny

I think you have come to the wrong conclusion.  It is never ok to export the class without the storage schema. 

The case of the deleted property is just one example of how things can go wrong.  A manual change to the schema of any kind (like changing the global name) would also get lost if you don't export it.  It's even possible that future versions of Cache might use a different algorithm that gives a different result.  You just can't second guess all the constraints that you need to watch for.

In short.  Never export a persistent class definition without the storage schema.

Regards
George

www.georgejames.com

 

Alexy

Providing the storage schema is exported along with the class definition (it will be, automatically, unless you mess with the default export options) then you will not have a problem reverting to a previous definition.  The scheme evolution mechanism used by Studio ensures the consistency of the data locations from previous versions. 

This works well unless you make some deliberate schema changes that include a manual data migration.  In this case if you reverted to a previous version then you would also need to undo the manual data migration.  So there is a danger here if you are not aware of it or prepared for it.

The documentation on this is quite sketchy but worth reading anyway: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

Regards
George

www.georgejames.com

 

Evgeny

Try this experiment:

  1. Create a class containing two properties a and b.
  2. Populate the class with a couple of rows of data.
  3. Delete property a.
  4. Export the class without it's storage schema.
  5. Import the class, regenerate the storage.
  6. View the data created earlier.

I think you'll find that the regenerated class will incorrect values for property b.  This would be a very nasty surprise if it happened to some real application.

Regards
George

www.georgejames.com

Evgeny

What method are you using that even gives you the choice to not export the storage schema?  I don't see anything that allows this, other than if you export the class before the schema has even been generated.  Is that what you do?

George

www.georgejames.com

Evgeny

If you have customised the storage schema, or even added and then deleted properties, then a regenerated schema will not match the original schema. 

This can have serious consequences as data may get stored in a different place from data stored by previous versions of the class.

George
www.georgejames.com