I’ve hit the wall. I’m a one person shop who wants to start developing Cache on a mac using Eclipse/Atelier, after using Studio for the last 5 years. I’ve installed the 1.1 beta plugin, watched 6 or 7 videos from the September conference, tried several times to work through the cheat sheets, only to have connection issues or compilation issues, so at this point, I’m feeling very frustrated. The videos were interesting, but generally didn’t work as tutorials for fundamental programming operations, for me.
When a class containing a method generator is compiled, the code that implements the method at runtime is written according to the instructions in the method definition.
I am currently trying to add a condition to a routing rule that uses the %Source property of a routing rule. Unfortunately I am getting compile errors when I use the "%", and if I get PROPERTY DOES NOT EXIST if I try and use any of field. I have tried referencing the messages as "Message." , "Record.", "FullRecordMapClassName." , "Document." . Does anyone know how to reference the properties of a record map in a routing rule, or if it is even possible? Thanks!
Can someone give me an example of how to JOB a class method that requires an array of values to be passed to it by reference.
This is what I tried, but am getting compile errors because of the .params
job ##class(%SYSTEM.OBJ.FM2Class).All(.params)::5
Any thoughts on how to accomplish this, the simplest way. I would like to avoid writing all of this to some global and having to write some wrapper to pick it up and then call the class method, which I certainly could do. but is this the only way to do it?
Hello, I just noticed that the following query is not allowing when using cached queries.
The compiler will accuse the code about missing a closing quote. Just so you know, if I use this query dynamically it works, so I guess it's related to the code linting.
I am trying to import the SalesForce Enterprise WSDL in InterSystems Ensemble Studio using the SOAP Add-In. However, when I do so I receive a class dependency loop, Error #5316 during compilation. The WSDL is the standard WSDL provided with SalesForce and works fine in SoapUI. In the SalesForce WSDL it is allowed for an object A to include an object B as an element, while at the same time object B is allowed object A as an element. I think this is what causes the class dependency loop for InterSystems. Does anyone has any suggestion how I can circumvent this error?
I was wondering if there is any way to trigger the compilation of a class based on the compilation of another (unrelated) class. For example:
Class 1 = test.class
Class 2 = test.class.type.one
Class 3 = test.class.type.two
Every time class 2 or class 3 is compiled in Studio I would like to have class 1 automatically compiled as well.
The reason I need this is because class 1 has a method with CodeMode set to objectgenerator which generates some code based on what is found in classes 2 and 3.
Is there any way to change a class definition (especifically a query definition during the compilation time)? The idea is: I have an abstract class with a parameter where I will define the ROWSPEC of a query and some methods to populate e temporary table The implementation class will override the parameter, specifying the ROWSPEC of this implementation, and the methods will populate the rows in the same format as the ROWSPEC.
I'm looking at adding multilingual support to a couple of open source projects I'm working on. The solutions are already developed in CSP so I am not looking for alternative approaches.
I'm wondering what would be the best approach for CSP and separate JavaScript files.
Initially I was wondering if I should bake the default system language text at compile time, or provide the end user with a language selection option at run time.
I wonder if you could help me? I have a regular cache class that accepts a variable number of arguments in one of the methods. It works fine so I decided to add a method to my web service to make the call to the cache class. I get a compile error on the web service with error#5130.
Hi All,I got an error when i compile one class. the error was objects of class are (classname) instantiated in 1 processes.how can i recover the problem. my cache instance is Cache 5.0
I have classes A and B, B derived from A, A has method Abc.
From INT of class B I see that compiler copies implementation of Abc to class B, so that Abc exists both in A and B.
As result, when B invokes Abs, B.Abs() is executed instead of A.Abs(). In result debuger is not able to step into Abs and breakpoints in A.Abs never hit.
Why this happens and how can I avoid this?
Update:
OK, now I know the reason: compiler makes the copy if Abc has this line:
Due to a new project I'm getting involved inside %Installer stuff deeper than ever I'd be happy to. Most of it was pretty easy to get, thanks to documentation, articles and SAMPLES example, while I can't dig good solution for one problem.
I'm developing a mini-framework to implement annotations in Cache. I want to support two kind of annotations: metadata and method decorators. I've got stuck trying to implement the second one.
Metadata
With metadata annotations I can add metadata to any kind of target. A target can be a method/classmethod, parameter, property and class.
I'm new to Cache and trying to follow the Using Cache Studio PDF. In section 2.4.3(Adding a Zen form) it tells you insert the following code;
<button caption="Save" o select="zenPage.saveRecord();" />
Unfortunately that code fails compilation. If you try and use the tools there is no o select option nor a select or onselect option. I was wondering if anyone has used this PDF before and knows what the correct attribute should be?
I have just imported our Ensemble project (not a really big one, like two man-years) into my MacBook Air Ensemble 2016.3 instance to test many things (document model, etc.), Atelier among the others.
The "Production view" is not here, and I miss it.
The opening of Diagram Editor for BP is pretty hidden. I would even like having a switch, which would default to the Diagram Editor.
Anytime I click on the Open Diagram Editor, it waits for a while, ten produces an error and only then I can see the diagram.
I'm trying to create a method that will automatically create something I can save and use later, which will let me automate data migration from one version of a class to the next.
Is the default language (i.e., $$$DefaultLanguage, which is used as the basis for localization with $$$Text/etc. at compile time) always "en" for new Caché installations, or could it be different? How is this determined? I don't see an option to select a language during Caché installation.
Also, is there a supported/preferred API for setting the default language? Looking at %occMessages.inc, one option would be:
We need to use a bash script under Linux in order to export a namespace's clases (*.cls), project (*.prj), *.inc and all related stuff (except generated and mapped clases). All these elements must be stored on a XML file.
We need to use a bash script under Linux to import and compile previously exported XML file (from Studio, Management Portal, or Export Script) .
Can anyone help us to develop them?
Thanks in advance!
I am using &html<> to output some CSS to my page (which is a class-based and not a tag-based page), and the selectors contain the '>' character which the compiler chokes on. How can I escape the '>' so it still displays as such in the web page source but doesn't trip up the compiler?