Francisco

You could try using the Serenji extension for VSCode.  This avoids the problem of syncing altogether.

Serenji allows you to browse, edit and debug your code directly in the database where it is stored and executed.  So you don't have any problems with the sources being out of sync because it just can't happen.

George
www.georgejames.com

Roberto

If you have VSCode then  select the Extensions viewlet and type Serenji in the Marketplace search field.  Then click on the first result returned (Serenji 3.0.2).   In the right hand panel you will see Details about the extension including a section about Installation.

If you don't have VSCode installed yet, you can view the same information by following this link:  https://marketplace.visualstudio.com/items?itemName=georgejames.vscode-s...

In either case there is a link from the Installation section to an additional page on the georgejames.com website that gives more details about how to get started with Serenji.  The direct link to this is: https://georgejames.com/files-cgi/doc/serenji/3.0.2/GettingStarted.html

Ask here if you have any more questions.

George
www.georgejames.com

Dmitry

Indeed, one of our goals is to make it easy for Cache Studio users to adopt to vscode.  It will be very familiar to them.  While vscode is very lightweight it has many of the capabilities of the Eclipse platform without the complexity.

For those who don't know, Visual Studio Code is not the same as Visual Studio.  Although it is from Microsoft, It is free and open source and is gaining a lot of traction among developers everywhere.  Neither is it like Eclipse.  It's a nice tool that does its job very well.

George
www.georgejames.com

There was a short demo of what we have added to Visual Studio Code in one of the flash talks at the Global Summit.

The recording quality is not that good but this link takes you to the start of John Murray's talk where you can see a class being loaded into VS Code and then stepping through one of its methods with the debugger: https://youtu.be/1146vFuHoI8?t=1263

George
www.georgejames.com

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