Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 2.7 KB

dev.md

File metadata and controls

70 lines (55 loc) · 2.7 KB

Developer Notes

This file complements the main README with additional background on how this sample can be set up and what automation was added.

Files used in this repository

Sample code

  • src/cls/: This folder contains the main ObjectScript code for this sample and its contents is described in the main README
  • src/gbl/ZipCodeData.xml contains a global export with static data used in the sample

Setup options

  • Manual setup:
    • buildsample/Build.SampleBI.xml has the ObjectScript code to manually configure and populate the sample, as explained in the main README
  • ZPM setup:
    • module.xml is the main descriptor file for setting up the sample through ZPM, as an alternative to the manual setup procedure
  • Docker setup:
    • Dockerfile has the build recipe for building an entire Docker image out of this sample repository
    • iris.script has ObjectScript code to set up the sample namespace and then invokes ZPM for setting up the actual sample as described above.
    • Installer.cls is an installation manifest called by iris.script to set up the sample namespace
    • .dockerignore is a standard Docker configuration file to leave some repository contents out of the Docker build scope
    • docker-compose.xml adds convenience by scripting how to launch a container based on that image.

Miscellaneous

  • .vscode is a configuration file for Visual Studio Code, the recommended editor for ObjectScript code on InterSystems IRIS
  • .gitattributes and .gitignore are configuration files for Git source control and otherwise don't impact the sample
  • .github/workflows/ has a few scripts for automated CI/CD workflows, leveraging GitHub Actions

Useful commands

Build container with no cache

docker compose build --no-cache --progress=plain

Open terminal to docker in a NAMESPACE

docker compose exec iris iris session iris -U USER

Clear docker fs

docker system prune -f

docker system prune -a
docker rm -f $(docker ps -qa)

Open SQL shell

d $System.SQL.Shell()

export IRIS Analytics artifacts

d ##class(dev.code).export("*.DFI")

build cube

do ##class(%DeepSee.Utils).%BuildCube("CubeName")

export globals

do $System.OBJ.Export("dc*.GBL","/irisdev/app/src/gbl/globals.xml",,.errors)
zw errors