Evgeny Shvarov · Jul 31, 2018 go to post

Hi, Scott!

It's obvious, but what about this?

^OSUWMCInstance = "TestClin"

^OSUMCLDAP("LDAPKey") = "/ensemble/"_^OSUWMCInstance_"/mgr/LDAPKeyStore/"

Evgeny Shvarov · Jul 31, 2018 go to post

Actually I'm impressed how quickly you guys introduce in QEWD new trendy approaches for development. Though there is a difference here: what @Gevorg Arutunyan published supports Caché Objects and I doubt if QEWD does. Is there any Caché Objects support/mapping in QEWD?

Evgeny Shvarov · Jul 31, 2018 go to post

And, any stats, Rob? Is it the most popular API in EWD and EWD3?  And why it is not supported in QEWD?

Evgeny Shvarov · Jul 29, 2018 go to post

If you don’t use Studio, you can consider to try isc-dev tool, which is intended to simplify routine processes of import/export code, releases and patches.

Import it to e.g. USER and map to %All.

After that you’ll be able to import, export, release and patch in any namespace.

To work in a given namespace point the tool to a directory on the disk which contains repository in UDL or XML classes (preferablly UDL) with the following command:

d ##class(dev.code).workdir(“/work/github/myproject/src”)

Use following to import the code:

d ##class(dev.code).import()

To setup the mask introduce isc.json file into .../src folder with following content:

{“compileList”:”A*.INC,B*.CLS,C*.CLS,D*.DFI,E*.GBL”

”projectName”:”myproject”

”git”:0}

Example

Call Init class to let dev.code use settings in the given namespace:

d ##class(dev.code).init()

After that you’ll be able to export all the project in one file with the release command:

d ##class(dev.code).release()

it will export all into one /mgr/database/myproject_release_ddmmyyy.xml file.

Once you commit your changes to git repo you’ll be able to have a patch release. Call

d ##class(dev.code).patch()

to get all the changed code into one patch release in /mgr/database/myproject_patch_ddmmyyyy.xml file.

To export all source code (including DeepSee staff)  in UDL and organized in folders call:

d ##class(dev.code).export()

And call compile method to compile everything in your project, but not the whole namespace:

d ##class(dev.code).compile()

One of the projects which is maintained with this util is dsw-map: classes, globals, DFIs, releases.

   
   
   
Evgeny Shvarov · Jul 23, 2018 go to post

Jaqueline!

I do not get the aim: do you want to filter facts BEFORE building the cube? Or you want to filter cube data on the fly via dimensions and members somehow?

If you are looking for "any this values" in filter expression you could consider to try with %OR

Evgeny Shvarov · Jul 18, 2018 go to post

Hi, Fabian!

Could you share please the call to export the compiled classes without source code?

Evgeny Shvarov · Jul 18, 2018 go to post

And I think you can use IN operator in this Build Restriction expression - use everything which suitable to put in WHERE clause of a SELECT query.

Evgeny Shvarov · Jul 18, 2018 go to post

Hi, Jaqueline!

Have you tried Build Restriction field of the cube?

Build Restriction is in the properties of the cube.

Put there SQL Expression which goes after WHERE clause. It will filter the facts which will be included to your cube. E.g. if you base your cube on Samples.Person you can set the Cube Build Restriction as:

NAME='John' 

to limit the facts of the cubes to only records with 'John' in Name property.

HTH

Evgeny Shvarov · Jul 17, 2018 go to post

You could also check this small library isc-dev which could automate you on working with git on:

import/export code in UDL, exporting releases and patches upon commits.

Evgeny Shvarov · Jul 17, 2018 go to post

Hi, Murillo! You also can export all the classes, DFIs, globals or whatever of your project in one file with D $System.OBJ.Export(). E.g.: s

list="RMH*.CLS"

  D $System.OBJ.Export(list,"release16072018.xml")

Then just import it on a target system.

Evgeny Shvarov · Jul 13, 2018 go to post

Oleg, congrats with 1,500+ installations of VSCode-cos!

And I like the new features of "Save on Compile" and easy server connection settings.

Evgeny Shvarov · Jul 2, 2018 go to post

Thanks, Oleg!

But it's not about to map DeepSee  globals, though this is helpful. Do you want to provide more details on this repository? Why map and what are the globals?

Evgeny Shvarov · Jun 27, 2018 go to post

Que bueno! :)

But I would be happy even if you suggest the way how to contribute to your solution to introduce an another language support.

Evgeny Shvarov · Jun 27, 2018 go to post

Hi, Francisco!

Great stuff!

Could it be possible to add other languages support to your solution? E.g. Russian?

Evgeny Shvarov · Jun 21, 2018 go to post

Hi, Shameer!

As @Nicole Aaron mentioned, there is no officially proposed folder structure for your  InterSystems project, but I can share one typical approach.

The upper folder is basically named "src" assuming source code inside.

Files inside "src" could be splitted by source type. E.g.:

"cls" -  for ObjectScript classes,

"inc" -  for include files,

"mac" - for mac routines,

"dfi" - for DeepSee dashboards and pivots.

Every class name consists of package(s) and class itself. So class package could be projected to a folder. E.g. source code for the class Sample.Person will be stored in the file with following path:

/src/cls/Sample/Person.cls

There are numerous projects on Github which use similar approach. You can find examples of such projects via these cacheobjectscript-udl tag, e.g. this project.

HTH

Evgeny Shvarov · Jun 19, 2018 go to post

Thank you, Lucas. But the thanks should go to @Oleg Dmitrovich

As for CSP - it is a file, and can be edited via VS-Code just as a file in a versioned folder.

If you are looking for exporting tools, I can recommend isc-dev module, which can export code as single files in a dedicated folder structure (including DeepSee stuff), can export a single kits - large xml kits, say releases, and also patches which a commit, or a set of commits in git.