Links to Article, Demo, and YouTube Video in ReadMe
http://localhost:52795/irisapp/irislogviewer.csp
iris-log-viewer provides an alternative to the Console Log Viewer web page available in IRIS Management Portal:
Read my first Article
You can find Online Demo here:
Watch my latest YouTube video
Make sure you have git and Docker desktop installed.
Clone/git pull the repo into any local directory
$ git clone https://github.com/oliverwilms/iris-log-viewer.git
I run containers on AWS EC2 instance. I needed to adjust directory permission:
$ chmod 777 iris-log-viewer
Open the terminal in this directory and call the command to build and run InterSystems IRIS in container:
$ docker-compose up -d
To open IRIS Terminal do:
$ docker-compose exec iris iris session iris -U IRISAPP
IRISAPP>
To exit the terminal, do any of the following:
Enter h, halt, HALT or H (not case-sensitive)
The template contains two test classes: TestObjectScript.cls
and TestPersistentClass.cls
To run the unit tests we can use the Package Manager environment.
IRISAPP>zpm
=============================================================================
|| Welcome to the Package Manager Shell (ZPM). ||
|| Enter q/quit to exit the shell. Enter ?/help to view available commands ||zpm:IRISAPP>load /home/irisowner/irisdev
[IRISAPP|iris-log-viewer] Reload START (/home/irisowner/irisdev/)
[IRISAPP|iris-log-viewer] requirements.txt START
[IRISAPP|iris-log-viewer] requirements.txt SUCCESS
[IRISAPP|iris-log-viewer] Reload SUCCESS
[iris-log-viewer] Module object refreshed.
[IRISAPP|iris-log-viewer] Validate START
[IRISAPP|iris-log-viewer] Validate SUCCESS
[IRISAPP|iris-log-viewer] Compile START
[IRISAPP|iris-log-viewer] Compile SUCCESS
[IRISAPP|iris-log-viewer] Activate START
[IRISAPP|iris-log-viewer] Configure START
[IRISAPP|iris-log-viewer] Configure SUCCESS
[IRISAPP|iris-log-viewer] Activate SUCCESS
zpm:IRISAPP>test iris-log-viewer[IRISAPP|iris-log-viewer] Reload START (/home/irisowner/irisdev/)
[IRISAPP|iris-log-viewer] Reload SUCCESS
[iris-log-viewer] Module object refreshed.
[IRISAPP|iris-log-viewer] Validate START
[IRISAPP|iris-log-viewer] Validate SUCCESS
[IRISAPP|iris-log-viewer] Compile START
[IRISAPP|iris-log-viewer] Compile SUCCESS
[IRISAPP|iris-log-viewer] Activate START
[IRISAPP|iris-log-viewer] Configure START
[IRISAPP|iris-log-viewer] Configure SUCCESS
[IRISAPP|iris-log-viewer] Activate SUCCESS
[IRISAPP|iris-log-viewer] Test START
Use the following URL to view the result:
http://172.28.0.2:52773/csp/sys/%25UnitTest.Portal.Indices.cls?Index=1&$NAMESPACE=IRISAPP
All PASSED
[IRISAPP|iris-log-viewer] Test SUCCESS
zpm:IRISAPP>
In case of test errors, you can find more details back in the UnitTest portal, which can be easily opened via ObjectScript menu in VSCode:
Read about Embedded Python in iris-log-viewer in this artilce
Contains two GitHub actions workflows:
github-registry.yml
objectscript-qaulity.yml
Both workflows are repo agnostic: so they work with any repository where they exist.
Contains two files to setup vscode environment:
Settings file to let you immediately code in VSCode with VSCode ObjectScript plugin)
Config file if you want to debug with VSCode ObjectScript
Contains source files.
src/iris contains InterSystems IRIS Objectscript code
Contains unit tests for the ObjectScript classes
A docker engine helper file to manage images building and rule ports mapping an the host to container folders(volumes) mapping
The simplest dockerfile which starts IRIS and imports code from /src folder into it.
Use the related docker-compose.yml to easily setup additional parametes like port number and where you map keys and host folders.
IPM Module’s description of the code in the repository.
It describes what is loaded with the method, how it is being tested and what apps neeed to be created, what files need to be copied.