The VS Code docs on IntelliSense and Code Snippets should help provide more information:

You may want to take a look at the IntelliSense features you have enabled in VS Code now. You can do that by searching your User and Workspace preferences for 'IntelliSense'. You can also hit Ctrl+Space while coding to get autocomplete suggestions.

Do you have a more specific example of the autocomplete feature you are looking for? When I am working in a routine that has been compiled with a HelloWorld entry point, I can see the following as I'm writing ObjectScript code:

 

After I set a variable I can see autocomplete options including that variable:

 

Atelier still only works with Eclipse Photon. Eclipse changed some underlying mechanisms with newer versions of their product, and InterSystems has not had the dev cycles to find the root cause + make the necessary corrections to the Atelier plugin.

Atelier is technically only supported with Java 8. I have heard about other versions of Java working just fine, but these have not been tested by InterSystems' QD team. If you have other Java-based apps that you would like to be using a later version of Java with, you can have multiple Java installs and configure Eclipse to look at Java 8. You should be able to Google to find out more to about how to configure that for your OS.

The answer to this question really depends on the context and where in the process you are at. If you would like to have a more in-depth discussion with someone about that, I would suggest that you reach out to your InterSystems account team or Support.

Typically when you are sending SOAP requests from an InterSystems product, you would get a WSDL from the SOAP service endpoint and use our SOAP Wizard to generate client classes. Then those client classes can be used at the object level to send requests. You can find documentation on the SOAP wizard here. To use the generated SOAP client classes, see our documentation here. Then this section in the documentation discusses how to add security elements to your SOAP request.

If you would just like a more object-friendly way to build up XML you can consider using the %XML.Writer API's, documented here and here.

I would suggest enabling the Caché SOAP log to capture inbound, outbound, and security information - "ios" - then reproducing the error. (Be sure to disable the SOAP log by killing the ^ISCSOAP global when you are done.) This will print the error message in a more readable format, show the outbound message sent by your Caché SOAP client, etc.

If you are having trouble understanding the data in the SOAP log I would suggest opening a new case with the InterSystems Support staff, either by calling into +1 617-621-0700 or emailing support@intersystems.com.

The two most common problems when we see behavior like this are:

  1. An unsupported version of Eclipse is installed - Eclipse Photon is the only supported version for Atelier. You can check your Eclipse version by going to the "About Eclipse" menu.
  2. An unsupported version of Java is installed - Java 8 is the only supported version for Atelier. You can check your Java version by entering "java -version" in an OS command prompt.

If you are still having trouble feel free to comment here in the Developer Community, or open a new WRC case (by emailing support@intersystems.com) to investigate with InterSystems Support.

Dave is working with InterSystems Support on this one. An update on the investigation:

This error is thrown when trying to import a file that is not UTF-8 encoded. Starting with Atelier 1.3.144 (the current beta version), the error message in this case is clearer:

com.intersystems.atelier.utils.CheckedExceptionWrapper: Failed to decode as UTF-8

Atelier requires that all files not stored as globals on the server be in UTF-8 format. Examples include HTML, CSS, TXT, and JS. So the solutions are either to convert files to UTF-8 encoding so that they can be synchronized using Atelier, or to modify the files directly on the file system.

It looks like Visual Studio Team Services (VSTS) is now Azure DevOps. There is an associated plugin for Eclipse called Visual Studio Team Explorer Everywhere (TEE). However Microsoft only supports that plugin for Eclipse 4.2 (Juno) - 4.6 (Neon). There is a note about this in the Microsoft Azure documentation here. Unfortunately this does not match up with the Atelier requirement of Eclipse 4.8 (Photon).

You may just be able to use a generic Git plugin, like EGit, since it seems like TEE is Git-based.


As far as your numbered questions go:

1. In general the best practice for storing code from an InterSystems product in source control is to use the UDL format rather than XML. UDL is the more human-readable format which is used for the local copies of files in Atelier projects. You can use the $SYSTEM.OBJ.ExportUDL() class method to export classes and routines in the UDL format from your Cache server.

2 & 3. I'm going to let other developers in the Community speak on their experience here. InterSystems does not provide tooling or our own published best practices for this, but rather suggests following industry standards + what works best for your organization specifically.

My understanding is that the BPL and DTL graphical editors in Atelier always use Eclipse's internal browser. It may be that your IE 11 browser is running in compatibility mode when embedded in Eclipse. Within the internal browser in Eclipse you can right click and select "View source". You may see something like this at the top:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

You can find more information about Eclipse's internal browser and use of the X-UA-Compatible meta tag here. Can you send the contents of this <meta> line on your system?


It also may help to check the User-Agent header sent by the internal browser to the server. To find that:

  1. In a Caché Terminal enter the commands:
    kill ^%ISCLOG
    set ^%ISCLOG = 3
  2. Open a BPL or DTL in Atelier and switch to the graphical view
  3. Enter this command in Terminal:
    set ^%ISCLOG = 0

When you look at the ^%ISCLOG global there will be a $LISTBUILD like:

^%ISCLOG("Data",640,0) = $lb(900,,0,5628773246,"A"_$c(151,27)_"S"_$c(136)_"hÇ"_$c(155)_"ÙW¢·¡«"_$c(133)_"¤"_$c(148,159)_"©þÔ"_$c(20)_")5"_$c(144)_"ë"_$c(147,141)_"k"_$c(134)_"¢ë",2,"ENSDEMO","000000010000UnXM5atTr5Ar5MJaHkIPotZHaHeXwjNBDx3Mg3",,0,"","UnXM5atTr5",2,1,"/csp/ensdemo/",$lb("UnknownUser","%All","%All",64,-559038737),"","","","2019-05-14 19:52:24","2019-05-14 19:52:26","","Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko","","",0,"","","","%iscmgtportal:6NkD8rSSEIGztlvX2WoQ0Q--",0,"",$lb("%iscmgtportal:6NkD8rSSEIGztlvX2WoQ0Q--"),"","","")

Send the User-Agent value (bolded in my example) as well.


The other option that might help is to change your system default browser. Can you test by making a different browser the default on your machine?


If none of these options do the trick it will probably be worth opening a new WRC case (by calling +1 617-621-0700 or emailing support@intersystems.com). That way an advisor can take a look at additional system-specific information.

Hi Martin, thanks for the additional explanation. I was able to reproduce this on my system with custom variables defined in a %ZLANGV routine. I will report this internally to the development team.

In the meantime, the workaround I came up with was to set a local variable equal to the $z custom variable then work with that local variable instead. For example this did not throw any syntax errors on my Atelier client:

    set var = $zsomething

    write var.Property

    do var.Method()

I'm not sure whether you are seeing this when writing new code, where this should be easy enough to implement, or if you are working with an existing code base, in which case this would likely be a bigger undertaking.

I do not see this behavior when working with custom functions that return objects. So again if this is new development you could consider defining custom functions using a %ZLANGF routine instead of variables in %ZLANGV.

There are two types of errors in the sample that you sent, one of which has been corrected and one of which is being actively investigated. The workaround while this is under investigation is to use the graphical DTL editor in the System Management Portal.

ERROR #5001: attribute 'sourceclass' is not declared for element 'transform'

ERROR #5001: attribute 'sourcedoctype' is not declared for element 'transform'

ERROR #5001: attribute 'targetclass' is not declared for element 'transform'

ERROR #5001: attribute 'targetdoctype' is not declared for element 'transform'

These errors have been reported to the Atelier development team here at InterSystems and are being investigated. We do not have a timeline for the fix, but you can always reach out to the WRC to check in on the status of the internal report.

ERROR #5001: element 'assign' is not allowed for content model '(annotation?)'

This error has been corrected, starting with Ensemble 2017.2.1. If you are seeing this when compiling against later versions of the product please send us your version string (by clicking the About link in the top-left of the System Management Portal).

Hi Connor, I've been working with Michelle Stolwyk on this one and I do not think this is a large-scale issue with the stable Atelier repository. I just installed Java 8, Eclipse Photon, and Atelier 1.3.139 (from the stable repo https://atelier.jfrog.io/atelier/updates/stable/1.3/) on a fresh machine without any problems.

I think the issue on your system does boil down to a security/proxy problem. Here is an article I've used to help with this type of issue in the past: https://stackoverflow.com/questions/21076179/pkix-path-building-failed-and-unable-to-find-valid-certification-path-to-requ.

If you are still having trouble I would suggest reaching out to InterSystems Support (by calling +1 617-621-0700 or emailing support@intersystems.com) for help with your specific configuration. InterSystems will not be the authority on how to configure a proxy, Java certs, etc. But we can point you in the right direction and send some resources that our customers have used in the past.

I would suggest first checking the browser you have selected in your Eclipse settings. From the preferences page, select General > Web Browser and confirm that the expected browser is selected.

Next take a look at the settings in your IE 11 browser to check the Emulation settings. (In the F12 Developer Tools make sure that the Document Mode selected there is not 7.)

If you are still having trouble I think we'll need to look into your system-specific settings, such as the operating system, exact build of IE, etc.. That would probably be best handled by InterSystems Support.

As an aside - Atelier is supported on the Eclipse Photon release, not on the 2018-12 release. I do not necessarily think this will solve the problem you are seeing now, but we have seen this cause other problems when using the Atelier plugin. So I would suggest getting a fresh install of the Eclipse Photon client here then install Atelier on this new client.

My best guess from the description here is that the CSP application was not created properly in the Atelier Project. Currently you cannot create a new CSP application at the Atelier Project level - you need to copy the CSP app from the server. For example:

1. Create a new web application in Caché:

2. In the Atelier Server Explorer, right-click that new CSP application and copy to an Atelier Project (you may need to refresh the server connection for the new application to show up):

3. Create a new CSP page and select the newly copied CSP application:

4. The CSP page should compile as expected in the new web application:

If you would like someone to dial into your system and debug this with you, you can always contact InterSystems Support (by emailing support@intersystems.com or calling +1 617-621-0700).

Development is aware of this issue. We do not have a timeline on when it will be fixed.

If you would like to track the progress of the development change, I would suggest opening up a WRC case (email support@intersystems.com or call +1 617-621-0700). A Support advisor will be able to link the relevant development change to the WRC case then you can keep track of it using the new UX in the WRC application.